diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-18 17:54:14 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2008-09-18 17:54:14 +0000 |
commit | bcb9f8c3300c3acdebe1f5aebf489602f368ae8f (patch) | |
tree | 34f859571838d8ea961a6aa9f4bf46ea3ac4e969 | |
parent | 2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-bcb9f8c3300c3acdebe1f5aebf489602f368ae8f.tar.bz2 |
2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, include/bsp.h, startup/bspstart.c: Use
PowerPC level shared bsp_get_work_area() implementation.
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme5500/ChangeLog | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme5500/Makefile.am | 1 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme5500/configure.ac | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h | 5 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c | 26 |
5 files changed, 15 insertions, 24 deletions
diff --git a/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog b/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog index 633d16e278..5c4d9ce414 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog +++ b/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog @@ -1,3 +1,8 @@ +2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com> + + * Makefile.am, configure.ac, include/bsp.h, startup/bspstart.c: Use + PowerPC level shared bsp_get_work_area() implementation. + 2008-09-15 Joel Sherrill <joel.sherrill@oarcorp.com> * startup/bspstart.c: Add use of bsp_get_work_area() in its own file diff --git a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am index d9d29f1847..0af857d947 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am +++ b/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am @@ -32,6 +32,7 @@ EXTRA_DIST = startup/bootpstuff.c startup_SOURCES = startup/bspstart.c \ ../../powerpc/shared/startup/pgtbl_setup.c startup/pgtbl_activate.c \ ../../powerpc/shared/startup/pretaskinghook.c \ + ../../powerpc/shared/startup/bspgetworkarea.c \ ../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \ ../../shared/bsppredriverhook.c startup/bspclean.c \ ../../shared/bsplibc.c ../../shared/bsppost.c \ diff --git a/c/src/lib/libbsp/powerpc/mvme5500/configure.ac b/c/src/lib/libbsp/powerpc/mvme5500/configure.ac index 38e27fd432..4781179480 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/configure.ac +++ b/c/src/lib/libbsp/powerpc/mvme5500/configure.ac @@ -31,6 +31,8 @@ RTEMS_BSPOPTS_HELP([PPC_USE_DATA_CACHE], of PowerPC 603e revisions and emulator versions. The BSP actually contains the call that enables this.]) +RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION + # Explicitly list all Makefiles here AC_CONFIG_FILES([Makefile]) diff --git a/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h b/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h index 1ec58622b9..ed0a91a311 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h @@ -78,6 +78,11 @@ #define BSP_UART_BAUD_BASE 115200 /* + * system init stack + */ +#define BSP_INIT_STACK_SIZE 0x1000 + +/* * Vital Board data Start using DATA RESIDUAL */ /* diff --git a/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c index 5cd38e6c61..24bb0b292d 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c @@ -124,11 +124,6 @@ unsigned char ConfVPD_buff[200]; static char cmdline_buf[CMDLINE_BUF_SIZE]; char *BSP_commandline_string = cmdline_buf; -/* - * system init stack - */ -#define INIT_STACK_SIZE 0x1000 - void BSP_panic(char *s) { printk("%s PANIC %s\n",_RTEMS_version, s); @@ -243,7 +238,6 @@ void bsp_start( void ) #endif uint32_t intrStackStart; uint32_t intrStackSize; - unsigned char *work_space_start; ppc_cpu_id_t myCpu; ppc_cpu_revision_t myCpuRevision; Triv121PgTbl pt=0; @@ -283,7 +277,7 @@ void bsp_start( void ) * so that it can be printed without accessing R1. */ stack = ((unsigned char*) __rtems_end) + - INIT_STACK_SIZE - PPC_MINIMUM_STACK_FRAME_SIZE; + BSP_INIT_STACK_SIZE - PPC_MINIMUM_STACK_FRAME_SIZE; /* tag the bottom (T. Straumann 6/36/2001 <strauman@slac.stanford.edu>) */ *((uint32_t *)stack) = 0; @@ -296,7 +290,7 @@ void bsp_start( void ) /* * Initialize the interrupt related settings. */ - intrStackStart = (uint32_t) __rtems_end + INIT_STACK_SIZE; + intrStackStart = (uint32_t) __rtems_end + BSP_INIT_STACK_SIZE; intrStackSize = rtems_configuration_get_interrupt_stack_size(); BSP_heap_start = intrStackStart + intrStackSize; @@ -369,22 +363,6 @@ void bsp_start( void ) bsp_clicks_per_usec = BSP_bus_frequency/(BSP_time_base_divisor * 1000); - printk( - "rtems_configuration_get_work_space_size() = %x\n", - rtems_configuration_get_work_space_size() - ); - - work_space_start = - (unsigned char *)BSP_mem_size - rtems_configuration_get_work_space_size(); - - if ( work_space_start <= ((unsigned char *)__rtems_end) + INIT_STACK_SIZE + - rtems_configuration_get_interrupt_stack_size()) { - printk( "bspstart: Not enough RAM!!!\n" ); - bsp_cleanup(); - } - - Configuration.work_space_start = work_space_start; - /* * Initalize RTEMS IRQ system */ |