forked from Imagelibrary/rtems
2010-06-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/start/start.S, shared/startup/linkcmds.base, shared/include/linker-symbols.h: Added and use bsp_vector_table_begin, bsp_vector_table_size and bsp_vector_table_end.
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2010-06-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* shared/start/start.S, shared/startup/linkcmds.base,
|
||||
shared/include/linker-symbols.h: Added and use bsp_vector_table_begin,
|
||||
bsp_vector_table_size and bsp_vector_table_end.
|
||||
|
||||
2010-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* shared/include/start.h: Define start section attributes.
|
||||
|
||||
@@ -102,6 +102,10 @@ LINKER_SYMBOL(bsp_section_stack_begin)
|
||||
LINKER_SYMBOL(bsp_section_stack_end)
|
||||
LINKER_SYMBOL(bsp_section_stack_size)
|
||||
|
||||
LINKER_SYMBOL(bsp_vector_table_begin)
|
||||
LINKER_SYMBOL(bsp_vector_table_end)
|
||||
LINKER_SYMBOL(bsp_vector_table_size)
|
||||
|
||||
/** @} */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -168,7 +168,7 @@ bsp_start_hook_0_done:
|
||||
* vectors and the pointers to the default exception handlers.
|
||||
*/
|
||||
|
||||
ldr r0, =bsp_section_vector_begin
|
||||
ldr r0, =bsp_vector_table_begin
|
||||
adr r1, vector_block
|
||||
ldmia r1!, {r2-r9}
|
||||
stmia r0!, {r2-r9}
|
||||
|
||||
@@ -58,6 +58,8 @@ bsp_stack_svc_size = ALIGN (bsp_stack_svc_size, bsp_stack_align);
|
||||
bsp_stack_und_size = DEFINED (bsp_stack_und_size) ? bsp_stack_und_size : 128;
|
||||
bsp_stack_und_size = ALIGN (bsp_stack_und_size, bsp_stack_align);
|
||||
|
||||
bsp_vector_table_size = DEFINED (bsp_vector_table_size) ? bsp_vector_table_size : 64;
|
||||
|
||||
SECTIONS {
|
||||
.start : {
|
||||
/*
|
||||
@@ -91,7 +93,7 @@ SECTIONS {
|
||||
* BSP: Reserve space for the the exception vector table and
|
||||
* the pointers to the default exceptions handlers.
|
||||
*/
|
||||
. = . + 64;
|
||||
. = . + bsp_vector_table_size;
|
||||
|
||||
/*
|
||||
* BSP: Reserve space for mode stacks
|
||||
@@ -134,6 +136,9 @@ SECTIONS {
|
||||
|
||||
bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin;
|
||||
|
||||
bsp_vector_table_begin = bsp_vector_table_size != 0 ? bsp_section_vector_begin : bsp_section_start_begin;
|
||||
bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size;
|
||||
|
||||
.vbarrier : {
|
||||
. = ALIGN (bsp_section_vbarrier_align);
|
||||
} > REGION_VECTOR
|
||||
|
||||
Reference in New Issue
Block a user