FreeCalypso > hg > fc-selenite
annotate src/nucleus/gcc/asm_defs.h @ 174:097e25b925a2
doc/Compiling: gtm900 target added
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 19 Jun 2019 06:15:56 +0000 |
parents | d076885a0669 |
children |
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 */ |