diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-16 19:06:45 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-16 19:06:45 +0000 |
commit | e76068d31feda0483fb2a83fcafe366c08dfc76c (patch) | |
tree | 203af67b4834dc0aad94da9a3b2f253fc17c6f53 /c/src/lib/libbsp/powerpc/mpc55xxevb/startup | |
parent | 2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-e76068d31feda0483fb2a83fcafe366c08dfc76c.tar.bz2 |
2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, startup/bspstart.c: Add use of bsp_get_work_area() in
its own file and rely on BSP Framework to perform more
initialization. Remove unnecessary includes of rtems/libio.h and
rtems/libcsupport.h.
* startup/bspgetworkarea.c: New file.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb/startup')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c | 46 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c | 26 |
2 files changed, 56 insertions, 16 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c new file mode 100644 index 0000000000..301d9b82e1 --- /dev/null +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c @@ -0,0 +1,46 @@ +/** + * @file + * + * @ingroup mpc55xx + * + * @brief BSP Get Work Area of Memory. + */ + +/* + * Copyright (c) 2008 + * Embedded Brains GmbH + * Obere Lagerstr. 30 + * D-82178 Puchheim + * Germany + * rtems@embedded-brains.de + * + * 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 <bsp.h> +#include <bsp/bootcard.h> +#include <libcpu/powerpc-utility.h> + +#define MPC55XX_INTERRUPT_STACK_SIZE 0x1000 + +/* Symbols defined in linker command file */ +LINKER_SYMBOL(bsp_ram_start); +LINKER_SYMBOL(bsp_ram_end); +LINKER_SYMBOL(bsp_external_ram_start); +LINKER_SYMBOL(bsp_external_ram_size); +LINKER_SYMBOL(bsp_section_bss_end); + +void bsp_get_work_area( + void **work_area_start, + size_t *work_area_size, + void **heap_start, + size_t *heap_size +) +{ + *work_area_start = bsp_section_bss_end; + *work_area_size = bsp_ram_end - 2 * + MPC55XX_INTERRUPT_STACK_SIZE - bsp_section_bss_end; + *heap_start = bsp_external_ram_start; + *heap_size = (size_t) bsp_external_ram_size; +} diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c index 32c9f9aa69..13d207eae5 100644 --- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c @@ -23,8 +23,6 @@ #include <mpc55xx/edma.h> #include <rtems.h> -#include <rtems/bspIo.h> -#include <rtems/libcsupport.h> #include <libcpu/powerpc-utility.h> @@ -43,11 +41,11 @@ #define MPC55XX_INTERRUPT_STACK_SIZE 0x1000 /* Symbols defined in linker command file */ -LINKER_SYMBOL( bsp_ram_start); -LINKER_SYMBOL( bsp_ram_end); -LINKER_SYMBOL( bsp_external_ram_start); -LINKER_SYMBOL( bsp_external_ram_size); -LINKER_SYMBOL( bsp_section_bss_end); +LINKER_SYMBOL(bsp_ram_start); +LINKER_SYMBOL(bsp_ram_end); +LINKER_SYMBOL(bsp_external_ram_start); +LINKER_SYMBOL(bsp_external_ram_size); +LINKER_SYMBOL(bsp_section_bss_end); unsigned int bsp_clock_speed = 0; @@ -79,14 +77,6 @@ void _BSP_Fatal_error( unsigned n) } } -void bsp_get_work_area( void **work_area_start, size_t *work_area_size, void **heap_start, size_t *heap_size) -{ - *work_area_start = bsp_section_bss_end; - *work_area_size = bsp_ram_end - 2 * MPC55XX_INTERRUPT_STACK_SIZE - bsp_section_bss_end; - *heap_start = bsp_external_ram_start; - *heap_size = (size_t) bsp_external_ram_size; -} - void bsp_predriver_hook() { rtems_status_code sc = RTEMS_SUCCESSFUL; @@ -193,7 +183,11 @@ void bsp_start(void) /* Initialize exceptions */ DEBUG_PRINT( "Initialize exceptions ...\n"); - ppc_exc_initialize( PPC_INTERRUPT_DISABLE_MASK_DEFAULT, interrupt_stack_start, interrupt_stack_size); + ppc_exc_initialize( + PPC_INTERRUPT_DISABLE_MASK_DEFAULT, + interrupt_stack_start, + interrupt_stack_size + ); DEBUG_DONE(); /* Initialize interrupts */ |