@@ -17,8 +17,6 @@ SECTIONS {
17
17
.text : {
18
18
/* The vector table must come first */
19
19
*(.vector_table)
20
- /* Our exception handling routines */
21
- *(.text.handlers)
22
20
/* Now the rest of the code */
23
21
*(.text .text*)
24
22
} > CODE
@@ -72,36 +70,38 @@ SECTIONS {
72
70
}
73
71
74
72
/*
75
- We reserve some space at the top of the RAM for our stacks. We have an IRQ stack
76
- and a FIQ stack, plus the remainder is our system stack.
73
+ We reserve some space at the top of the RAM for our exception stacks. The
74
+ remainder is our system mode stack.
77
75
78
76
You must keep _stack_top and the stack sizes aligned to eight byte boundaries.
79
77
*/
80
78
PROVIDE (_stack_top = ORIGIN(DATA ) + LENGTH (DATA));
81
- PROVIDE (_fiq_stack_size = 0x400 );
82
- PROVIDE (_irq_stack_size = 0x1000 );
83
- PROVIDE (_abt_stack_size = 0x400 );
84
79
PROVIDE (_und_stack_size = 0x400 );
85
- PROVIDE (_svc_stack_size = 0x1000 );
80
+ PROVIDE (_svc_stack_size = 0x400 );
81
+ PROVIDE (_abt_stack_size = 0x400 );
82
+ PROVIDE (_irq_stack_size = 0x400 );
83
+ PROVIDE (_fiq_stack_size = 0x400 );
86
84
87
- ASSERT (_stack_top % 8 == 0, "ERROR(cortex-a-rt) : top of stack is not 8-byte aligned");
88
- ASSERT (_fiq_stack_size % 8 == 0, "ERROR(cortex-a-rt) : size of FIQ stack is not 8-byte aligned");
89
- ASSERT (_irq_stack_size % 8 == 0, "ERROR(cortex-a-rt) : size of IRQ stack is not 8-byte aligned");
90
- ASSERT (_fiq_stack_size % 8 == 0, "ERROR(cortex-a-rt) : size of FIQ stack is not 8-byte aligned");
91
- ASSERT (_abt_stack_size % 8 == 0, "ERROR(cortex-a-rt) : size of ABT stack is not 8-byte aligned");
92
- ASSERT (_und_stack_size % 8 == 0, "ERROR(cortex-a-rt) : size of UND stack is not 8-byte aligned");
93
- ASSERT (_svc_stack_size % 8 == 0, "ERROR(cortex-a-rt) : size of SVC stack is not 8-byte aligned");
85
+ ASSERT (_stack_top % 8 == 0, "ERROR(cortex-r-rt) : top of stack is not 8-byte aligned");
86
+ ASSERT (_und_stack_size % 8 == 0, "ERROR(cortex-r-rt) : size of UND stack is not 8-byte aligned");
87
+ ASSERT (_svc_stack_size % 8 == 0, "ERROR(cortex-r-rt) : size of SVC stack is not 8-byte aligned");
88
+ ASSERT (_abt_stack_size % 8 == 0, "ERROR(cortex-r-rt) : size of ABT stack is not 8-byte aligned");
89
+ ASSERT (_irq_stack_size % 8 == 0, "ERROR(cortex-r-rt) : size of IRQ stack is not 8-byte aligned");
90
+ ASSERT (_fiq_stack_size % 8 == 0, "ERROR(cortex-r-rt) : size of FIQ stack is not 8-byte aligned");
94
91
95
92
/* Weak aliases for ASM default handlers */
93
+ PROVIDE (_start =_default_start );
96
94
PROVIDE (_asm_undefined_handler =_asm_default_undefined_handler );
95
+ PROVIDE (_asm_svc_handler =_asm_default_svc_handler );
97
96
PROVIDE (_asm_prefetch_handler =_asm_default_prefetch_handler );
98
97
PROVIDE (_asm_abort_handler =_asm_default_abort_handler );
98
+ PROVIDE (_asm_irq_handler =_asm_default_irq_handler );
99
99
PROVIDE (_asm_fiq_handler =_asm_default_fiq_handler );
100
100
101
101
/* Weak aliases for C default handlers */
102
102
PROVIDE (_undefined_handler =_default_handler );
103
- PROVIDE (_abort_handler =_default_handler );
103
+ PROVIDE (_svc_handler =_default_handler );
104
104
PROVIDE (_prefetch_handler =_default_handler );
105
+ PROVIDE (_abort_handler =_default_handler );
105
106
PROVIDE (_irq_handler =_default_handler );
106
- PROVIDE (_svc_handler =_default_handler );
107
- PROVIDE (_start =_default_start );
107
+ /* There is no default C-language FIQ handler */
0 commit comments