annotate src/nucleus/gcc/asm_defs.h @ 74:d076885a0669

src/nucleus/gcc: initial import from Citrine
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 20 Jul 2018 05:40:33 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
74
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ************************************************************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * Copyright Mentor Graphics Corporation 2002
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * All Rights Reserved.
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 * THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 * THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 * SUBJECT TO LICENSE TERMS.
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 ************************************************************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 ************************************************************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 * FILE NAME VERSION
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 * asm_defs.inc Nucleus PLUS\ARM925\Code Composer 1.14.1
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 * COMPONENT
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 * IN - Initialization
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 * DESCRIPTION
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 * This file contains the target processor dependent initialization
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 * values used in int.s, tct.s, and tmt.s
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 * HISTORY
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 * NAME DATE REMARKS
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 * B. Ronquillo 08-28-2002 Released version 1.13.1
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 ************************************************************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 /*
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 **********************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 * BOARD INITIALIZATION CONSTANTS *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 **********************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 * Begin define constants used in low-level initialization.
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 /* CPSR control byte definitions */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 #define LOCKOUT 0xC0 /* Interrupt lockout value */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 #define LOCK_MSK 0xC0 /* Interrupt lockout mask value */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 #define MODE_MASK 0x1F /* Processor Mode Mask */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 #define SUP_MODE 0x13 /* Supervisor Mode (SVC) */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 #define IRQ_MODE 0x12 /* Interrupt Mode (IRQ) */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 #define IRQ_MODE_OR_LOCKOUT 0xD2 /* Combined IRQ_MODE OR'ed with */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 /* LOCKOUT */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 #define FIQ_MODE 0x11 /* Fast Interrupt Mode (FIQ) */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 #define IRQ_BIT 0x80 /* Interrupt bit of CPSR and SPSR */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 #define FIQ_BIT 0x40 /* Interrupt bit of CPSR and SPSR */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 #define IRQ_BIT_OR_FIQ_BIT 0xC0 /* IRQ or FIQ interrupt bit of CPSR */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 /* and SPSR */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 #define ABORT_MODE 0x17
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 #define UNDEF_MODE 0x1B
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 /*
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 ********************************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 * TC_TCB and TC_HCB STRUCT OFFSET DEFINES *
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 ********************************************
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 #define TC_CREATED 0x00 /* Node for linking to created task */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 /* list */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 #define TC_ID 0x0C /* Internal TCB ID */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 #define TC_NAME 0x10 /* Task name */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 #define TC_STATUS 0x18 /* Task status */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 #define TC_DELAYED_SUSPEND 0x19 /* Delayed task suspension */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 #define TC_PRIORITY 0x1A /* Task priority */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 #define TC_PREEMPTION 0x1B /* Task preemption enable */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 #define TC_SCHEDULED 0x1C /* Task scheduled count */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 #define TC_CUR_TIME_SLICE 0x20 /* Current time slice */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 #define TC_STACK_START 0x24 /* Stack starting address */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 #define TC_STACK_END 0x28 /* Stack ending address */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 #define TC_STACK_POINTER 0x2C /* Task stack pointer */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 #define TC_STACK_SIZE 0x30 /* Task stack's size */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 #define TC_STACK_MINIMUM 0x34 /* Minimum stack size */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 #define TC_CURRENT_PROTECT 0x38 /* Current protection */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80 #define TC_SAVED_STACK_PTR 0x3C /* Previous stack pointer */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 #define TC_ACTIVE_NEXT 0x3C /* Next activated HISR */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 #define TC_TIME_SLICE 0x40 /* Task time slice value */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 #define TC_ACTIVATION_COUNT 0x40 /* Activation counter */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 #define TC_HISR_ENTRY 0x44 /* HISR entry function */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 #define TC_HISR_SU_MODE 0x58 /* Sup/User mode indicator for HISRs */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 #define TC_HISR_MODULE 0x5C /* Module identifier for HISR's */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 #define TC_SU_MODE 0xA8 /* Sup/User mode indicator for Tasks */
d076885a0669 src/nucleus/gcc: initial import from Citrine
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 #define TC_MODULE 0xAC /* Module identifier for Tasks */