From 3c6d7ae543ec3831234d41f8e2d3d8f5315e4e57 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 24 Apr 2012 14:00:54 +0200 Subject: bsps/stackalloc: Use stack section symbols --- c/src/lib/libbsp/arm/lpc24xx/configure.ac | 4 ---- c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c | 9 --------- c/src/lib/libbsp/arm/lpc32xx/startup/bspstart.c | 19 +++++++---------- c/src/lib/libbsp/shared/include/stackalloc.h | 22 +++++++------------- c/src/lib/libbsp/shared/src/stackalloc.c | 27 +++++++++++-------------- 5 files changed, 26 insertions(+), 55 deletions(-) (limited to 'c/src/lib/libbsp') diff --git a/c/src/lib/libbsp/arm/lpc24xx/configure.ac b/c/src/lib/libbsp/arm/lpc24xx/configure.ac index e2d23bca35..9bdfc4c717 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/configure.ac +++ b/c/src/lib/libbsp/arm/lpc24xx/configure.ac @@ -77,10 +77,6 @@ RTEMS_BSPOPTS_HELP([LPC24XX_EMC_SST39VF3201],[enable SST39VF3201 configuration f RTEMS_BSPOPTS_SET([LPC24XX_EMC_TEST],[*],[]) RTEMS_BSPOPTS_HELP([LPC24XX_EMC_TEST],[enable tests for EMC]) -RTEMS_BSPOPTS_SET([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[lpc23*],[]) -RTEMS_BSPOPTS_SET([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[*],[1]) -RTEMS_BSPOPTS_HELP([LPC24XX_SPECIAL_TASK_STACKS_SUPPORT],[enable special task stack support for task stacks in internal RAM]) - RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_CONSOLE],[*],[0]) RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_CONSOLE],[configuration for console (UART 0)]) diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c index 905336b4aa..a68e6b8f4c 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstart.c @@ -28,7 +28,6 @@ #include #include #include -#include #include #include @@ -94,12 +93,4 @@ void bsp_start(void) /* DMA */ lpc24xx_dma_initialize(); - - /* Task stacks */ - #ifdef LPC24XX_SPECIAL_TASK_STACKS_SUPPORT - bsp_stack_initialize( - bsp_section_stack_begin, - (uintptr_t) bsp_section_stack_size - ); - #endif } diff --git a/c/src/lib/libbsp/arm/lpc32xx/startup/bspstart.c b/c/src/lib/libbsp/arm/lpc32xx/startup/bspstart.c index c685e27146..ec900a518f 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/startup/bspstart.c +++ b/c/src/lib/libbsp/arm/lpc32xx/startup/bspstart.c @@ -7,12 +7,13 @@ */ /* - * Copyright (c) 2009, 2010 - * embedded brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * + * Copyright (c) 2009-2012 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -24,7 +25,6 @@ #include #include #include -#include #include void bsp_start(void) @@ -32,9 +32,4 @@ void bsp_start(void) if (bsp_interrupt_initialize() != RTEMS_SUCCESSFUL) { _CPU_Fatal_halt(0xe); } - - bsp_stack_initialize( - bsp_section_stack_begin, - (uintptr_t) bsp_section_stack_size - ); } diff --git a/c/src/lib/libbsp/shared/include/stackalloc.h b/c/src/lib/libbsp/shared/include/stackalloc.h index 9462ed5f2a..b8516ef85f 100644 --- a/c/src/lib/libbsp/shared/include/stackalloc.h +++ b/c/src/lib/libbsp/shared/include/stackalloc.h @@ -7,12 +7,13 @@ */ /* - * Copyright (c) 2009 - * embedded brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * rtems@embedded-brains.de + * Copyright (c) 2009-2012 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at @@ -50,15 +51,6 @@ extern "C" { * @{ */ -/** - * @brief Task stack management initialization. - * - * This function should be called in bsp_start() with the designated task stack - * area begin address @a begin and task stack area size @a size in bytes. The - * area boundaries have to be aligned properly. - */ -void bsp_stack_initialize(void *begin, uintptr_t size); - /** * @brief Task stack allocator for @ref CONFIGURE_TASK_STACK_ALLOCATOR. * diff --git a/c/src/lib/libbsp/shared/src/stackalloc.c b/c/src/lib/libbsp/shared/src/stackalloc.c index e6145d5873..be84057aae 100644 --- a/c/src/lib/libbsp/shared/src/stackalloc.c +++ b/c/src/lib/libbsp/shared/src/stackalloc.c @@ -7,22 +7,25 @@ */ /* - * Copyright (c) 2009 - * embedded brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * rtems@embedded-brains.de + * Copyright (c) 2009-2012 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * * * The license and distribution terms for this file may be * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. */ +#include + #include #include -#include +#include #define BSP_STACK_MAGIC 0xdeadbeef @@ -30,12 +33,6 @@ static Heap_Control bsp_stack_heap = { .page_size = BSP_STACK_MAGIC }; -void bsp_stack_initialize(void *begin, uintptr_t size) -{ - bsp_stack_heap.area_begin = (uintptr_t) begin; - bsp_stack_heap.area_end = size; -} - void *bsp_stack_allocate(size_t size) { void *stack = NULL; @@ -43,8 +40,8 @@ void *bsp_stack_allocate(size_t size) if (bsp_stack_heap.page_size == BSP_STACK_MAGIC) { uintptr_t rv = _Heap_Initialize( &bsp_stack_heap, - (void *) bsp_stack_heap.area_begin, - bsp_stack_heap.area_end, + bsp_section_stack_begin, + (uintptr_t) bsp_section_stack_size, CPU_STACK_ALIGNMENT ); if (rv == 0) { -- cgit v1.2.3