diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-14 08:42:22 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-14 08:43:07 +0100 |
commit | a13b89bb173728aa66c258ba17f9a8a36bd0aea2 (patch) | |
tree | 27a1803c66676be63d2aa135c8b1b0b7e91a3438 | |
parent | bsp/or1k: Use interrupt stack for init stack (diff) | |
download | rtems-a13b89bb173728aa66c258ba17f9a8a36bd0aea2.tar.bz2 |
bsp/i386: Use interrupt stack for init stack
Update #3459.
-rw-r--r-- | bsps/i386/pc386/start/bspgetworkarea.c | 5 | ||||
-rw-r--r-- | bsps/i386/pc386/start/start.S | 12 |
2 files changed, 4 insertions, 13 deletions
diff --git a/bsps/i386/pc386/start/bspgetworkarea.c b/bsps/i386/pc386/start/bspgetworkarea.c index 21cb472607..f869c38c5b 100644 --- a/bsps/i386/pc386/start/bspgetworkarea.c +++ b/bsps/i386/pc386/start/bspgetworkarea.c @@ -49,15 +49,12 @@ static uintptr_t rtemsWorkAreaStart; */ uint32_t bsp_mem_size = 0; -/* Size of stack used during initialization. Defined in 'start.s'. */ -extern uint32_t _stack_size; - static void bsp_size_memory(void) { uintptr_t topAddr; /* Set the value of start of free memory. */ - rtemsWorkAreaStart = (uint32_t)WorkAreaBase + _stack_size; + rtemsWorkAreaStart = (uint32_t)WorkAreaBase; /* Align the RTEMS Work Area at beginning of free memory. */ if (rtemsWorkAreaStart & (CPU_ALIGNMENT - 1)) /* not aligned => align it */ diff --git a/bsps/i386/pc386/start/start.S b/bsps/i386/pc386/start/start.S index 51cd4711f0..06fd8b22ad 100644 --- a/bsps/i386/pc386/start/start.S +++ b/bsps/i386/pc386/start/start.S @@ -51,8 +51,6 @@ #error "Missing header ? CPU_STACK_ALIGNMENT NOT DEFINED" #endif -.set STACK_SIZE, 0x1000 - /*----------------------------------------------------------------------------+ | CODE section +----------------------------------------------------------------------------*/ @@ -176,9 +174,9 @@ speakl: jmp speakl # and SPIN!!! PUBLIC (_establish_stack) SYM (_establish_stack): - movl $_end, eax # eax = end of bss/start of heap - addl $STACK_SIZE, eax # make room for stack - subl $4, eax # reserve room for arg to 'boot_card' + movl $_ISR_Stack_area_begin, eax # eax = end of bss/start of heap + addl $_ISR_Stack_size, eax # make room for stack + subl $4, eax # reserve room for arg to 'boot_card' andl $ - CPU_STACK_ALIGNMENT, eax # align SP on CPU_STACK_ALIGNMENT boundary movl eax, esp # set stack pointer movl eax, ebp # set base pointer @@ -305,10 +303,6 @@ SYM(_boot_multiboot_cmdline): .byte 0 .endr - PUBLIC(_stack_size) -SYM(_stack_size): - .long STACK_SIZE - #ifdef DEBUG_EARLY_START PUBLIC (welcome_msg) |