diff options
Diffstat (limited to 'bsps/sh')
-rw-r--r-- | bsps/sh/gensh1/include/bsp.h | 7 | ||||
-rw-r--r-- | bsps/sh/gensh1/start/cpu_asm.c | 10 | ||||
-rw-r--r-- | bsps/sh/gensh1/start/linkcmds | 5 | ||||
-rw-r--r-- | bsps/sh/gensh1/start/start.S | 10 | ||||
-rw-r--r-- | bsps/sh/gensh2/include/bsp.h | 6 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/cpu_asm.c | 10 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/linkcmds | 5 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/linkcmds.ram | 5 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/linkcmds.rom | 5 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/start.S | 10 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/start.ram | 10 | ||||
-rw-r--r-- | bsps/sh/gensh2/start/start.rom | 10 | ||||
-rw-r--r-- | bsps/sh/gensh4/include/bsp.h | 7 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/cpu_asm.c | 9 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/linkcmds | 8 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/linkcmds.rom | 12 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/linkcmds.rom2ram | 12 | ||||
-rw-r--r-- | bsps/sh/gensh4/start/start.S | 10 | ||||
-rw-r--r-- | bsps/sh/shared/start/bspstart.c | 8 | ||||
-rw-r--r-- | bsps/sh/shsim/include/bsp.h | 6 | ||||
-rw-r--r-- | bsps/sh/shsim/start/cpu_asm.c | 10 | ||||
-rw-r--r-- | bsps/sh/shsim/start/linkcmds | 14 | ||||
-rw-r--r-- | bsps/sh/shsim/start/start.S | 12 |
23 files changed, 10 insertions, 191 deletions
diff --git a/bsps/sh/gensh1/include/bsp.h b/bsps/sh/gensh1/include/bsp.h index b757a010d6..b70e8382a5 100644 --- a/bsps/sh/gensh1/include/bsp.h +++ b/bsps/sh/gensh1/include/bsp.h @@ -49,13 +49,6 @@ extern "C" { /* Constants */ /* - * Defined in the linker script 'linkcmds' - */ - -extern void *CPU_Interrupt_stack_low; -extern void *CPU_Interrupt_stack_high; - -/* * BSP methods that cross file boundaries. */ void bsp_hw_init(void); diff --git a/bsps/sh/gensh1/start/cpu_asm.c b/bsps/sh/gensh1/start/cpu_asm.c index 99d9cc9a6a..57c5c11796 100644 --- a/bsps/sh/gensh1/start/cpu_asm.c +++ b/bsps/sh/gensh1/start/cpu_asm.c @@ -44,9 +44,7 @@ /* from cpu_isps.c */ extern proc_ptr _Hardware_isr_Table[]; -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - unsigned long *_old_stack_ptr; -#endif +unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); @@ -135,7 +133,6 @@ void __ISR_Handler( uint32_t vector) _Thread_Dispatch_disable(); -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) if ( _ISR_Nest_level == 0 ) { /* Install irq stack */ @@ -143,8 +140,6 @@ void __ISR_Handler( uint32_t vector) stack_ptr = _CPU_Interrupt_stack_high; } -#endif - _ISR_Nest_level++; _ISR_Local_enable( level ); @@ -159,12 +154,9 @@ void __ISR_Handler( uint32_t vector) _ISR_Nest_level--; -#if(CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - if ( _ISR_Nest_level == 0 ) /* restore old stack pointer */ stack_ptr = _old_stack_ptr; -#endif _ISR_Local_enable( level ); diff --git a/bsps/sh/gensh1/start/linkcmds b/bsps/sh/gensh1/start/linkcmds index bb190f8c5a..1ede3a2fb9 100644 --- a/bsps/sh/gensh1/start/linkcmds +++ b/bsps/sh/gensh1/start/linkcmds @@ -192,9 +192,6 @@ SECTIONS *(SORT(.rtemsstack.*)) } > onchip_ram - _CPU_Interrupt_stack_low = 0x0f000000 ; - _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -228,7 +225,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - - stack : { _stack = .; *(.stack) } > onchip_ram /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh1/start/start.S b/bsps/sh/gensh1/start/start.S index 66b1c4e091..6a2941c7e2 100644 --- a/bsps/sh/gensh1/start/start.S +++ b/bsps/sh/gensh1/start/start.S @@ -66,7 +66,7 @@ SYM (start): .align 2 stack_k: - .long SYM(stack) + .long SYM(_Configuration_Interrupt_stack_area_end) edata_k: .long SYM(edata) end_k: @@ -80,11 +80,3 @@ vects_k: .long SYM(vectab) vects_size: .word 255 - -#ifdef __ELF__ - .section .stack,"aw" -#else - .section .stack -#endif -SYM(stack): - .long 0xdeaddead diff --git a/bsps/sh/gensh2/include/bsp.h b/bsps/sh/gensh2/include/bsp.h index 1a08df9a43..38e2c49208 100644 --- a/bsps/sh/gensh2/include/bsp.h +++ b/bsps/sh/gensh2/include/bsp.h @@ -63,12 +63,6 @@ extern "C" { /* Constants */ /* - * Defined in the linker script 'linkcmds' - */ -extern void *CPU_Interrupt_stack_low; -extern void *CPU_Interrupt_stack_high; - -/* * BSP methods that cross file boundaries. */ void bsp_hw_init(void); diff --git a/bsps/sh/gensh2/start/cpu_asm.c b/bsps/sh/gensh2/start/cpu_asm.c index 47bc859dbd..7d6e09c4c4 100644 --- a/bsps/sh/gensh2/start/cpu_asm.c +++ b/bsps/sh/gensh2/start/cpu_asm.c @@ -42,9 +42,7 @@ /* from cpu_isps.c */ extern proc_ptr _Hardware_isr_Table[]; -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - unsigned long *_old_stack_ptr; -#endif +unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); @@ -136,7 +134,6 @@ void __ISR_Handler( uint32_t vector) _Thread_Dispatch_disable(); -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) if ( _ISR_Nest_level == 0 ) { /* Install irq stack */ @@ -144,8 +141,6 @@ void __ISR_Handler( uint32_t vector) stack_ptr = _CPU_Interrupt_stack_high; } -#endif - _ISR_Nest_level++; _ISR_Local_enable( level ); @@ -160,12 +155,9 @@ void __ISR_Handler( uint32_t vector) _ISR_Nest_level--; -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - if ( _ISR_Nest_level == 0 ) /* restore old stack pointer */ stack_ptr = _old_stack_ptr; -#endif _ISR_Local_enable( level ); diff --git a/bsps/sh/gensh2/start/linkcmds b/bsps/sh/gensh2/start/linkcmds index e6db97e0c3..d083d33330 100644 --- a/bsps/sh/gensh2/start/linkcmds +++ b/bsps/sh/gensh2/start/linkcmds @@ -203,9 +203,6 @@ SECTIONS *(SORT(.rtemsstack.*)) } > onchip_ram - _CPU_Interrupt_stack_low = 0xFFFFF000; - _CPU_Interrupt_stack_high = 0xFFFFFFFF; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -239,7 +236,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - - .stack 0xFFFFFEC0 : { _stack = .; *(.stack) } > onchip_ram /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh2/start/linkcmds.ram b/bsps/sh/gensh2/start/linkcmds.ram index 8b53cd4f39..01765f683d 100644 --- a/bsps/sh/gensh2/start/linkcmds.ram +++ b/bsps/sh/gensh2/start/linkcmds.ram @@ -205,9 +205,6 @@ SECTIONS *(SORT(.rtemsstack.*)) } > onchip_ram - _CPU_Interrupt_stack_low = 0xFFFFF000; - _CPU_Interrupt_stack_high = 0xFFFFFFFF; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -241,7 +238,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - - .stack 0xFFFFFEC0 : { _stack = .; *(.stack) } > onchip_ram /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh2/start/linkcmds.rom b/bsps/sh/gensh2/start/linkcmds.rom index 9f50cd7e64..d6a1bee744 100644 --- a/bsps/sh/gensh2/start/linkcmds.rom +++ b/bsps/sh/gensh2/start/linkcmds.rom @@ -210,9 +210,6 @@ SECTIONS *(SORT(.rtemsstack.*)) } > onchip_ram - _CPU_Interrupt_stack_low = 0xFFFFF000; - _CPU_Interrupt_stack_high = 0xFFFFFFFF; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -246,7 +243,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - - .stack 0xFFFFFEC0 : { _stack = .; *(.stack) } > onchip_ram /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh2/start/start.S b/bsps/sh/gensh2/start/start.S index cba17af740..b8b3f50156 100644 --- a/bsps/sh/gensh2/start/start.S +++ b/bsps/sh/gensh2/start/start.S @@ -155,7 +155,7 @@ SYM (start): .align 2 stack_k: - .long SYM(stack) + .long SYM(_Configuration_Interrupt_stack_area_end) edata_k: .long SYM(edata) end_k: @@ -176,14 +176,6 @@ vects_size: .word 255 #ifdef __ELF__ - .section .stack,"aw" -#else - .section .stack -#endif -SYM(stack): - .long 0xdeaddead - -#ifdef __ELF__ .section .bss,"aw" #else .section .bss diff --git a/bsps/sh/gensh2/start/start.ram b/bsps/sh/gensh2/start/start.ram index 04e68238a6..7f6b5faf65 100644 --- a/bsps/sh/gensh2/start/start.ram +++ b/bsps/sh/gensh2/start/start.ram @@ -158,7 +158,7 @@ SYM (start): .align 2 stack_k: - .long SYM(stack) + .long SYM(_Configuration_Interrupt_stack_area_end) edata_k: .long SYM(edata) end_k: @@ -179,14 +179,6 @@ vects_size: .word 255 #ifdef __ELF__ - .section .stack,"aw" -#else - .section .stack -#endif -SYM(stack): - .long 0xdeaddead - -#ifdef __ELF__ .section .bss,"aw" #else .section .bss diff --git a/bsps/sh/gensh2/start/start.rom b/bsps/sh/gensh2/start/start.rom index 87fadd50f3..79068daa82 100644 --- a/bsps/sh/gensh2/start/start.rom +++ b/bsps/sh/gensh2/start/start.rom @@ -67,7 +67,7 @@ SYM (start): .align 2 stack_k: - .long SYM(stack) + .long SYM(_Configuration_Interrupt_stack_area_end) edata_k: .long SYM(edata) end_k: @@ -81,11 +81,3 @@ vects_k: .long SYM(vectab) vects_size: .word 255 - -#ifdef __ELF__ - .section .stack,"aw" -#else - .section .stack -#endif -SYM(stack): - .long 0xdeaddead diff --git a/bsps/sh/gensh4/include/bsp.h b/bsps/sh/gensh4/include/bsp.h index b70c2ffdac..f29957cfa5 100644 --- a/bsps/sh/gensh4/include/bsp.h +++ b/bsps/sh/gensh4/include/bsp.h @@ -53,13 +53,6 @@ extern "C" { /* Constants */ /* - * Defined in the linker script 'linkcmds' - */ - -extern void *CPU_Interrupt_stack_low; -extern void *CPU_Interrupt_stack_high; - -/* * Defined in start.S */ extern uint32_t boot_mode; diff --git a/bsps/sh/gensh4/start/cpu_asm.c b/bsps/sh/gensh4/start/cpu_asm.c index 52a033bb75..7618db3e27 100644 --- a/bsps/sh/gensh4/start/cpu_asm.c +++ b/bsps/sh/gensh4/start/cpu_asm.c @@ -42,9 +42,7 @@ /* from cpu_isps.c */ extern proc_ptr _Hardware_isr_Table[]; -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - unsigned long *_old_stack_ptr; -#endif +unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); @@ -60,7 +58,6 @@ void __ISR_Handler( uint32_t vector) _Thread_Dispatch_disable(); -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) if ( _ISR_Nest_level == 0 ) { /* Install irq stack */ @@ -68,8 +65,6 @@ void __ISR_Handler( uint32_t vector) stack_ptr = _CPU_Interrupt_stack_high; } -#endif - _ISR_Nest_level++; _ISR_Local_enable( level ); @@ -84,11 +79,9 @@ void __ISR_Handler( uint32_t vector) _ISR_Nest_level--; -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) if ( _ISR_Nest_level == 0 ) /* restore old stack pointer */ stack_ptr = _old_stack_ptr; -#endif _ISR_Local_enable( level ); diff --git a/bsps/sh/gensh4/start/linkcmds b/bsps/sh/gensh4/start/linkcmds index 21e0fdc5c9..df1c157865 100644 --- a/bsps/sh/gensh4/start/linkcmds +++ b/bsps/sh/gensh4/start/linkcmds @@ -144,20 +144,12 @@ SECTIONS __bss_end = .; } > ram - .stack : { - . = . + 4096; - } > ram - .rtemsstack (NOLOAD) : { *(SORT(.rtemsstack.*)) } > ram _WorkAreaBase = . ; - . = ALIGN(16); - _CPU_Interrupt_stack_low = . ; - _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } diff --git a/bsps/sh/gensh4/start/linkcmds.rom b/bsps/sh/gensh4/start/linkcmds.rom index 5e37f06941..49b5b08884 100644 --- a/bsps/sh/gensh4/start/linkcmds.rom +++ b/bsps/sh/gensh4/start/linkcmds.rom @@ -193,17 +193,6 @@ SECTIONS _WorkAreaBase = . ; - . = ALIGN(16); - .stack . : { - stack_start = .; - . = . + 4096; - stack_end = .; - } - - . = ALIGN(16); - _CPU_Interrupt_stack_low = . ; - _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -237,6 +226,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - .stack : { _stack = .; *(.stack) } /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh4/start/linkcmds.rom2ram b/bsps/sh/gensh4/start/linkcmds.rom2ram index 2fff0d1f98..99a4a89147 100644 --- a/bsps/sh/gensh4/start/linkcmds.rom2ram +++ b/bsps/sh/gensh4/start/linkcmds.rom2ram @@ -197,17 +197,6 @@ SECTIONS _WorkAreaBase = . ; - . = ALIGN(16); - .stack . : { - stack_start = .; - . = . + 4096; - stack_end = .; - } - - . = ALIGN(16); - _CPU_Interrupt_stack_low = . ; - _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -241,6 +230,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - .stack : { _stack = .; *(.stack) } /* These must appear regardless of . */ } diff --git a/bsps/sh/gensh4/start/start.S b/bsps/sh/gensh4/start/start.S index a695daaf8a..711583ed6d 100644 --- a/bsps/sh/gensh4/start/start.S +++ b/bsps/sh/gensh4/start/start.S @@ -215,7 +215,7 @@ _vbr_base_k: __VBR_Saved_k: .long SYM(_VBR_Saved) stack_k: - .long SYM(stack) + .long SYM(_Configuration_Interrupt_stack_area_end) __bss_start_k: .long __bss_start __bss_end_k: @@ -255,14 +255,6 @@ boot_mode_k: .long _boot_mode #ifdef __ELF__ - .section .stack,"aw" -#else - .section .stack -#endif -SYM(stack): - .long 0xdeaddead - -#ifdef __ELF__ .section .bss,"aw" #else .section .bss diff --git a/bsps/sh/shared/start/bspstart.c b/bsps/sh/shared/start/bspstart.c index 57b2c9e1ef..a2b0110874 100644 --- a/bsps/sh/shared/start/bspstart.c +++ b/bsps/sh/shared/start/bspstart.c @@ -49,14 +49,6 @@ void bsp_start( void ) #endif /* - * initialize the interrupt stack for this BSP - */ - #if ( CPU_ALLOCATE_INTERRUPT_STACK == FALSE ) - _CPU_Interrupt_stack_low = &CPU_Interrupt_stack_low; - _CPU_Interrupt_stack_high = &CPU_Interrupt_stack_high; - #endif - - /* * initialize the device driver parameters */ bsp_clicks_per_second = CPU_CLOCK_RATE_HZ; diff --git a/bsps/sh/shsim/include/bsp.h b/bsps/sh/shsim/include/bsp.h index 7b8236b09a..ff63b3849b 100644 --- a/bsps/sh/shsim/include/bsp.h +++ b/bsps/sh/shsim/include/bsp.h @@ -46,12 +46,6 @@ void *clock_driver_sim_idle_body(uintptr_t); #define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body /* - * Defined in the linker script 'linkcmds' - */ -extern void *CPU_Interrupt_stack_low; -extern void *CPU_Interrupt_stack_high; - -/* * BSP methods that cross file boundaries. */ int _sys_exit (int n); diff --git a/bsps/sh/shsim/start/cpu_asm.c b/bsps/sh/shsim/start/cpu_asm.c index 2ca8926a24..1b8135ee0a 100644 --- a/bsps/sh/shsim/start/cpu_asm.c +++ b/bsps/sh/shsim/start/cpu_asm.c @@ -18,9 +18,7 @@ #include <rtems/score/threaddispatch.h> #include <rtems/score/sh.h> -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - unsigned long *_old_stack_ptr; -#endif +unsigned long *_old_stack_ptr; register unsigned long *stack_ptr __asm__ ("r15"); @@ -37,7 +35,6 @@ void __ISR_Handler( uint32_t vector) _Thread_Dispatch_disable(); -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) if ( _ISR_Nest_level == 0 ) { /* Install irq stack */ @@ -45,8 +42,6 @@ void __ISR_Handler( uint32_t vector) stack_ptr = _CPU_Interrupt_stack_high; } -#endif - _ISR_Nest_level++; _ISR_Local_enable( level ); @@ -61,12 +56,9 @@ void __ISR_Handler( uint32_t vector) _ISR_Nest_level--; -#if (CPU_HAS_SOFTWARE_INTERRUPT_STACK == TRUE) - if ( _ISR_Nest_level == 0 ) /* restore old stack pointer */ stack_ptr = _old_stack_ptr; -#endif _ISR_Local_enable( level ); diff --git a/bsps/sh/shsim/start/linkcmds b/bsps/sh/shsim/start/linkcmds index 932d94161f..c0381c0b14 100644 --- a/bsps/sh/shsim/start/linkcmds +++ b/bsps/sh/shsim/start/linkcmds @@ -202,22 +202,12 @@ SECTIONS _end = . ; PROVIDE (end = .); - .stack : { - . += 0x1000; - *(.stack) - _stack = .; - } > ram - _stack = .; - .rtemsstack (NOLOAD) : { *(SORT(.rtemsstack.*)) } > ram _WorkAreaBase = . ; - _CPU_Interrupt_stack_low = 0x00080000 ; - _CPU_Interrupt_stack_high = _CPU_Interrupt_stack_low + 4096 ; - /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } @@ -251,9 +241,5 @@ SECTIONS .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } - -/* - .stack 0x00081ff0 : { _stack = .; *(.stack) } > onchip_ram -*/ /* These must appear regardless of . */ } diff --git a/bsps/sh/shsim/start/start.S b/bsps/sh/shsim/start/start.S index cc4727b9ff..e116704370 100644 --- a/bsps/sh/shsim/start/start.S +++ b/bsps/sh/shsim/start/start.S @@ -68,7 +68,7 @@ SYM (start): .align 2 stack_k: - .long SYM(stack) + .long SYM(_Configuration_Interrupt_stack_area_end) edata_k: .long SYM(edata) end_k: @@ -82,13 +82,3 @@ vects_k: .long SYM(vectab) vects_size: .word 255 - -#ifdef __ELF__ - .section .stack,"aw" -#else - .section .stack -#endif -SYM(stack): - .long 0xdeaddead -monvects_k: - .long SYM(monvects) |