From 0a09ac58ac2844792dd496aa3c35ce692779d9bd Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 13 Apr 2018 09:14:56 +0200 Subject: bsps: Move stackalloc.c to bsps This patch is a part of the BSP source reorganization. Update #3285. --- bsps/shared/start/stackalloc.c | 65 ++++++++++++++++++++++ c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am | 2 +- c/src/lib/libbsp/arm/atsam/Makefile.am | 2 +- c/src/lib/libbsp/arm/beagle/Makefile.am | 2 +- c/src/lib/libbsp/arm/imx/Makefile.am | 2 +- c/src/lib/libbsp/arm/lm3s69xx/Makefile.am | 2 +- c/src/lib/libbsp/arm/lpc176x/Makefile.am | 2 +- c/src/lib/libbsp/arm/lpc24xx/Makefile.am | 2 +- c/src/lib/libbsp/arm/lpc32xx/Makefile.am | 2 +- c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 2 +- c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am | 2 +- c/src/lib/libbsp/arm/stm32f4/Makefile.am | 2 +- c/src/lib/libbsp/arm/tms570/Makefile.am | 2 +- c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am | 2 +- c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am | 2 +- c/src/lib/libbsp/or1k/generic_or1k/Makefile.am | 2 +- c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am | 2 +- c/src/lib/libbsp/riscv/riscv_generic/Makefile.am | 2 +- c/src/lib/libbsp/shared/src/stackalloc.c | 65 ---------------------- 19 files changed, 82 insertions(+), 82 deletions(-) create mode 100644 bsps/shared/start/stackalloc.c delete mode 100644 c/src/lib/libbsp/shared/src/stackalloc.c diff --git a/bsps/shared/start/stackalloc.c b/bsps/shared/start/stackalloc.c new file mode 100644 index 0000000000..3e3b83e95e --- /dev/null +++ b/bsps/shared/start/stackalloc.c @@ -0,0 +1,65 @@ +/** + * @file + * + * @ingroup bsp_shared + * + * @brief Stack initialization, allocation and free functions. + */ + +/* + * Copyright (c) 2009-2013 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.org/license/LICENSE. + */ + +#include + +#include +#include +#include + +#include + +static Heap_Control bsp_stack_heap; + +void bsp_stack_allocate_init(size_t stack_space_size) +{ + _Heap_Initialize( + &bsp_stack_heap, + bsp_section_stack_begin, + (uintptr_t) bsp_section_stack_size, + CPU_STACK_ALIGNMENT + ); +} + +void *bsp_stack_allocate(size_t size) +{ + void *stack = NULL; + + if (bsp_stack_heap.area_begin != 0) { + stack = _Heap_Allocate(&bsp_stack_heap, size); + } + + if (stack == NULL) { + stack = _Workspace_Allocate(size); + } + + return stack; +} + +void bsp_stack_free(void *stack) +{ + bool ok = _Heap_Free(&bsp_stack_heap, stack); + + if (!ok) { + _Workspace_Free(stack); + } +} diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am b/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am index 3bb06479ab..4e94bec90a 100644 --- a/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am +++ b/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am @@ -85,7 +85,7 @@ librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../../shared/timerstub.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bsp-fdt.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/arm/atsam/Makefile.am b/c/src/lib/libbsp/arm/atsam/Makefile.am index 930aa7b8c7..d043dec2df 100644 --- a/c/src/lib/libbsp/arm/atsam/Makefile.am +++ b/c/src/lib/libbsp/arm/atsam/Makefile.am @@ -39,7 +39,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c # libchip librtemsbsp_a_SOURCES += libraries/libchip/source/acc.c diff --git a/c/src/lib/libbsp/arm/beagle/Makefile.am b/c/src/lib/libbsp/arm/beagle/Makefile.am index 838d83df06..5e26065ae8 100644 --- a/c/src/lib/libbsp/arm/beagle/Makefile.am +++ b/c/src/lib/libbsp/arm/beagle/Makefile.am @@ -43,7 +43,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/gpio.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/timerstub.c diff --git a/c/src/lib/libbsp/arm/imx/Makefile.am b/c/src/lib/libbsp/arm/imx/Makefile.am index 14c5f93018..816ac5a822 100644 --- a/c/src/lib/libbsp/arm/imx/Makefile.am +++ b/c/src/lib/libbsp/arm/imx/Makefile.am @@ -37,7 +37,7 @@ librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../../shared/timerstub.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bsp-fdt.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/arm/lm3s69xx/Makefile.am b/c/src/lib/libbsp/arm/lm3s69xx/Makefile.am index f53187e249..5f158b393a 100644 --- a/c/src/lib/libbsp/arm/lm3s69xx/Makefile.am +++ b/c/src/lib/libbsp/arm/lm3s69xx/Makefile.am @@ -38,7 +38,7 @@ librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterread.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c # Startup librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S diff --git a/c/src/lib/libbsp/arm/lpc176x/Makefile.am b/c/src/lib/libbsp/arm/lpc176x/Makefile.am index 61d788a3fa..e1059fe3ac 100644 --- a/c/src/lib/libbsp/arm/lpc176x/Makefile.am +++ b/c/src/lib/libbsp/arm/lpc176x/Makefile.am @@ -45,7 +45,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/src/uart-output-char.c # Startup diff --git a/c/src/lib/libbsp/arm/lpc24xx/Makefile.am b/c/src/lib/libbsp/arm/lpc24xx/Makefile.am index 81e2b0ddfb..ea6f3c36ba 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/Makefile.am +++ b/c/src/lib/libbsp/arm/lpc24xx/Makefile.am @@ -54,7 +54,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/src/uart-output-char.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c diff --git a/c/src/lib/libbsp/arm/lpc32xx/Makefile.am b/c/src/lib/libbsp/arm/lpc32xx/Makefile.am index 388df7a0a1..bf633287d4 100644 --- a/c/src/lib/libbsp/arm/lpc32xx/Makefile.am +++ b/c/src/lib/libbsp/arm/lpc32xx/Makefile.am @@ -46,7 +46,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/src/uart-output-char.c librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am index f916855ae8..eeb82c9d00 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am +++ b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am @@ -43,7 +43,7 @@ librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterread.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c if BSP_START_IN_HYP_SUPPORT diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am b/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am index b87e32803f..d91daa28fb 100644 --- a/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am +++ b/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am @@ -44,7 +44,7 @@ librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../../shared/timerstub.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/arm/stm32f4/Makefile.am b/c/src/lib/libbsp/arm/stm32f4/Makefile.am index 3b2d9bb1b4..959c86448b 100644 --- a/c/src/lib/libbsp/arm/stm32f4/Makefile.am +++ b/c/src/lib/libbsp/arm/stm32f4/Makefile.am @@ -37,7 +37,7 @@ librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterread.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c # Startup librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S diff --git a/c/src/lib/libbsp/arm/tms570/Makefile.am b/c/src/lib/libbsp/arm/tms570/Makefile.am index 79ed6e5b46..37e736843a 100644 --- a/c/src/lib/libbsp/arm/tms570/Makefile.am +++ b/c/src/lib/libbsp/arm/tms570/Makefile.am @@ -44,7 +44,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am b/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am index e9c2409d89..6330db2959 100644 --- a/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am +++ b/c/src/lib/libbsp/arm/xilinx-zynq/Makefile.am @@ -42,7 +42,7 @@ librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c librtemsbsp_a_SOURCES += ../../shared/timerstub.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am b/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am index 056eb2857a..73f8e54767 100644 --- a/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am +++ b/c/src/lib/libbsp/epiphany/epiphany_sim/Makefile.am @@ -39,7 +39,7 @@ librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c # clock diff --git a/c/src/lib/libbsp/or1k/generic_or1k/Makefile.am b/c/src/lib/libbsp/or1k/generic_or1k/Makefile.am index 41a097e324..fff6b8262d 100644 --- a/c/src/lib/libbsp/or1k/generic_or1k/Makefile.am +++ b/c/src/lib/libbsp/or1k/generic_or1k/Makefile.am @@ -46,7 +46,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c # Console librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/serial/legacy-console.c diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am index 1034a3e622..56371f32ac 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am @@ -43,7 +43,7 @@ librtemsbsp_a_SOURCES = librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../shared/src/bsp-start-zero.S librtemsbsp_a_SOURCES += ../shared/src/memcpy.c librtemsbsp_a_SOURCES += ../shared/src/tictac.c diff --git a/c/src/lib/libbsp/riscv/riscv_generic/Makefile.am b/c/src/lib/libbsp/riscv/riscv_generic/Makefile.am index 77c8d35ab5..1ef08c9ca7 100644 --- a/c/src/lib/libbsp/riscv/riscv_generic/Makefile.am +++ b/c/src/lib/libbsp/riscv/riscv_generic/Makefile.am @@ -40,7 +40,7 @@ librtemsbsp_a_SOURCES += ../../shared/bspclean.c librtemsbsp_a_SOURCES += ../../shared/bsppredriverhook.c librtemsbsp_a_SOURCES += ../../shared/getentropy-cpucounter.c librtemsbsp_a_SOURCES += ../../shared/sbrk.c -librtemsbsp_a_SOURCES += ../../shared/src/stackalloc.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c librtemsbsp_a_SOURCES += ../../shared/bspgetworkarea.c # clock diff --git a/c/src/lib/libbsp/shared/src/stackalloc.c b/c/src/lib/libbsp/shared/src/stackalloc.c deleted file mode 100644 index 3e3b83e95e..0000000000 --- a/c/src/lib/libbsp/shared/src/stackalloc.c +++ /dev/null @@ -1,65 +0,0 @@ -/** - * @file - * - * @ingroup bsp_shared - * - * @brief Stack initialization, allocation and free functions. - */ - -/* - * Copyright (c) 2009-2013 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.org/license/LICENSE. - */ - -#include - -#include -#include -#include - -#include - -static Heap_Control bsp_stack_heap; - -void bsp_stack_allocate_init(size_t stack_space_size) -{ - _Heap_Initialize( - &bsp_stack_heap, - bsp_section_stack_begin, - (uintptr_t) bsp_section_stack_size, - CPU_STACK_ALIGNMENT - ); -} - -void *bsp_stack_allocate(size_t size) -{ - void *stack = NULL; - - if (bsp_stack_heap.area_begin != 0) { - stack = _Heap_Allocate(&bsp_stack_heap, size); - } - - if (stack == NULL) { - stack = _Workspace_Allocate(size); - } - - return stack; -} - -void bsp_stack_free(void *stack) -{ - bool ok = _Heap_Free(&bsp_stack_heap, stack); - - if (!ok) { - _Workspace_Free(stack); - } -} -- cgit v1.2.3