summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-18 17:54:14 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2008-09-18 17:54:14 +0000
commitbcb9f8c3300c3acdebe1f5aebf489602f368ae8f (patch)
tree34f859571838d8ea961a6aa9f4bf46ea3ac4e969
parent2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-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/ChangeLog5
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/Makefile.am1
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/configure.ac2
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h5
-rw-r--r--c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c26
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
*/