Index: c/src/lib/libbsp/m68k/idp/ChangeLog
===================================================================
--- c/src/lib/libbsp/m68k/idp/ChangeLog	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/idp/ChangeLog	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -1,2 +1,9 @@
+2008-09-16	Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	* Makefile.am, configure.ac, clock/ckinit.c, startup/bspstart.c,
+	startup/linkcmds: 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.
+
 2008-09-10	Joel Sherrill <joel.sherrill@oarcorp.com>
 
Index: c/src/lib/libbsp/m68k/idp/Makefile.am
===================================================================
--- c/src/lib/libbsp/m68k/idp/Makefile.am	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/idp/Makefile.am	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -30,5 +30,5 @@
     ../../shared/bsppredriverhook.c \
     ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
-    ../../m68k/shared/m68kpretaskinghook.c \
+    ../../shared/bsppretaskinghook.c ../../m68k/shared/m68kbspgetworkarea.c \
     ../../shared/sbrk.c ../../m68k/shared/setvec.c \
     ../../shared/gnatinstallhandler.c
Index: c/src/lib/libbsp/m68k/idp/clock/ckinit.c
===================================================================
--- c/src/lib/libbsp/m68k/idp/clock/ckinit.c	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/idp/clock/ckinit.c	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -27,7 +27,6 @@
 
 #include <bsp.h>
-#include <rtems/libio.h>
 
-uint32_t         Clock_isrs;        /* ISRs until next tick */
+uint32_t                  Clock_isrs;        /* ISRs until next tick */
 volatile uint32_t         Clock_driver_ticks;
                                     /* ticks since initialization */
Index: c/src/lib/libbsp/m68k/idp/configure.ac
===================================================================
--- c/src/lib/libbsp/m68k/idp/configure.ac	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/idp/configure.ac	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -16,4 +16,6 @@
 RTEMS_PROG_CCAS
 
+RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
+
 # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile])
Index: c/src/lib/libbsp/m68k/idp/startup/bspstart.c
===================================================================
--- c/src/lib/libbsp/m68k/idp/startup/bspstart.c	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/idp/startup/bspstart.c	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -15,9 +15,5 @@
  */
 
-#include <string.h>
-
 #include <bsp.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
 
 unsigned char *duart_base;
@@ -29,26 +25,14 @@
 
 /*
- *  Use the shared implementations of the following routines
- */
-
-void bsp_libc_init( void *, uint32_t, int );
-void bsp_pretasking_hook(void);               /* m68k version */
-
-/*
  *  bsp_start
  *
  *  This routine does the bulk of the system initialization.
  */
-
 void bsp_start( void )
 {
-  m68k_isr_entry *monitors_vector_table;
-  int             index;
-  extern void          *_WorkspaceBase;
-  extern void          *_RamSize;
-  extern unsigned long  _M68k_Ramsize;
+  m68k_isr_entry       *monitors_vector_table;
+  int                   index;
 
   /* RAM size set in linker script */
-  _M68k_Ramsize = (unsigned long)&_RamSize;
   duart_base    = (unsigned char *)DUART_ADDR;
 
@@ -56,5 +40,4 @@
    *  Set the VBR here to the monitor's default.
    */
-
   monitors_vector_table = (m68k_isr_entry *)0;
    /* This is where you set vector base register = 0 */
@@ -62,5 +45,6 @@
 
   /* The vector interrupt table for the 680x0 is in appendix B-2
-	 of the M68000 Family Programmer's reference table */
+   *  of the M68000 Family Programmer's reference table
+   */
   for ( index=2 ; index<=255 ; index++ )
     M68Kvec[ index ] = monitors_vector_table[ 32 ];
@@ -79,8 +63,4 @@
   rtems_cache_enable_data();
 
-  Configuration.work_space_start = (void *) &_WorkspaceBase;
-
 /*  led_putnum('e'); * for debugging purposes only */
-
-  /* Clock_exit is done as an atexit() function */
 }
Index: c/src/lib/libbsp/m68k/idp/startup/linkcmds
===================================================================
--- c/src/lib/libbsp/m68k/idp/startup/linkcmds	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/idp/startup/linkcmds	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -23,5 +23,5 @@
 _RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
 _RamSize = DEFINED(_RamSize) ? _RamSize : 2M;
-_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
+_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
 _StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
 
Index: c/src/lib/libbsp/m68k/mvme147/ChangeLog
===================================================================
--- c/src/lib/libbsp/m68k/mvme147/ChangeLog	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme147/ChangeLog	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -1,2 +1,9 @@
+2008-09-16	Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	* Makefile.am, configure.ac, clock/ckinit.c, startup/bspstart.c,
+	startup/linkcmds: 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.
+
 2008-09-10	Joel Sherrill <joel.sherrill@oarcorp.com>
 
Index: c/src/lib/libbsp/m68k/mvme147/Makefile.am
===================================================================
--- c/src/lib/libbsp/m68k/mvme147/Makefile.am	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme147/Makefile.am	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -29,7 +29,7 @@
 startup_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
     ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
-    ../../m68k/shared/m68kpretaskinghook.c ../../shared/bsppredriverhook.c \
-    ../../shared/sbrk.c ../../m68k/shared/setvec.c \
-    ../../shared/gnatinstallhandler.c
+    ../../shared/bsppretaskinghook.c ../../shared/bsppredriverhook.c \
+    ../../m68k/shared/m68kbspgetworkarea.c ../../shared/sbrk.c \
+    ../../m68k/shared/setvec.c ../../shared/gnatinstallhandler.c
 clock_SOURCES = clock/ckinit.c
 console_SOURCES = console/console.c ../../shared/dummy_printk_support.c
Index: c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c
===================================================================
--- c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme147/clock/ckinit.c	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -25,5 +25,4 @@
 
 #include <bsp.h>
-#include <rtems/libio.h>
 
 #define MS_COUNT          65376    /* 1ms */
Index: c/src/lib/libbsp/m68k/mvme147/configure.ac
===================================================================
--- c/src/lib/libbsp/m68k/mvme147/configure.ac	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme147/configure.ac	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -16,4 +16,6 @@
 RTEMS_PROG_CCAS
 
+RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
+
 # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile])
Index: c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c
===================================================================
--- c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme147/startup/bspstart.c	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -19,16 +19,5 @@
  */
 
-#include <string.h>
-
 #include <bsp.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
-
-/*
- *  Use the shared implementations of the following routines
- */
-
-void bsp_libc_init( void *, uint32_t, int );
-void bsp_pretasking_hook(void);               /* m68k version */
 
 /*
@@ -40,12 +29,6 @@
 void bsp_start( void )
 {
-  m68k_isr_entry *monitors_vector_table;
-  int             index;
-  extern void          *_WorkspaceBase;
-  extern void          *_RamSize;
-  extern unsigned long  _M68k_Ramsize;
-
-  /* RAM size set in linker script */
-  _M68k_Ramsize = (unsigned long)&_RamSize;
+  m68k_isr_entry       *monitors_vector_table;
+  int                   index;
 
   monitors_vector_table = (m68k_isr_entry *)0;   /* 135Bug Vectors are at 0 */
@@ -69,5 +52,3 @@
   rtems_cache_enable_instruction();
   rtems_cache_enable_data();
-
-  Configuration.work_space_start = (void *) &_WorkspaceBase;
 }
Index: c/src/lib/libbsp/m68k/mvme147/startup/linkcmds
===================================================================
--- c/src/lib/libbsp/m68k/mvme147/startup/linkcmds	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme147/startup/linkcmds	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -22,6 +22,6 @@
 _RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;
 _RamSize = DEFINED(_RamSize) ? _RamSize : 4M;
-_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
 _StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
+_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
 
 MEMORY
Index: c/src/lib/libbsp/m68k/mvme162/ChangeLog
===================================================================
--- c/src/lib/libbsp/m68k/mvme162/ChangeLog	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme162/ChangeLog	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -1,2 +1,9 @@
+2008-09-16	Joel Sherrill <joel.sherrill@oarcorp.com>
+
+	* Makefile.am, configure.ac, clock/ckinit.c, startup/bspstart.c,
+	startup/linkcmds: 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.
+
 2008-09-10	Joel Sherrill <joel.sherrill@oarcorp.com>
 
Index: c/src/lib/libbsp/m68k/mvme162/Makefile.am
===================================================================
--- c/src/lib/libbsp/m68k/mvme162/Makefile.am	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme162/Makefile.am	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -38,7 +38,8 @@
 startup_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
     ../../shared/bsppredriverhook.c ../../shared/bsppost.c \
-    startup/bspstart.c ../../shared/bootcard.c \
-    ../../m68k/shared/m68kpretaskinghook.c \
-    startup/page_table.c ../../shared/sbrk.c ../../m68k/shared/setvec.c \
+    startup/bspstart.c ../../shared/bootcard.c  \
+    ../../shared/bsppretaskinghook.c startup/page_table.c \
+    ../../m68k/shared/m68kbspgetworkarea.c startup/page_table.c \
+    ../../shared/sbrk.c ../../m68k/shared/setvec.c \
     ../../shared/gnatinstallhandler.c
 clock_SOURCES = clock/ckinit.c
Index: c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c
===================================================================
--- c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme162/clock/ckinit.c	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -28,5 +28,4 @@
 
 #include <bsp.h>
-#include <rtems/libio.h>
 
 #define MS_COUNT          1000            /* T2's countdown constant (1 ms) */
Index: c/src/lib/libbsp/m68k/mvme162/configure.ac
===================================================================
--- c/src/lib/libbsp/m68k/mvme162/configure.ac	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme162/configure.ac	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -23,4 +23,6 @@
 AM_CONDITIONAL([HAS_FPSP],[test "$RTEMS_CPU_MODEL" = "m68040"])
 
+RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION
+
 # Explicitly list all Makefiles here
 AC_CONFIG_FILES([Makefile])
Index: c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c
===================================================================
--- c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme162/startup/bspstart.c	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -22,17 +22,6 @@
  */
 
-#include <string.h>
-
 #include <bsp.h>
-#include <rtems/libio.h>
-#include <rtems/libcsupport.h>
 #include <page_table.h>
-
-/*
- *  Use the shared implementations of the following routines
- */
-
-void bsp_libc_init( void *, uint32_t, int );
-void bsp_pretasking_hook(void);               /* m68k version */
 
 /*
@@ -41,14 +30,8 @@
  *  This routine does the bulk of the system initialization.
  */
-
 void bsp_start( void )
 {
   m68k_isr_entry       *monitors_vector_table;
   int                   index;
-  extern void          *_WorkspaceBase;
-  extern void          *_RamSize;
-  extern unsigned long  _M68k_Ramsize;
-
-  _M68k_Ramsize = (unsigned long)&_RamSize;  /* RAM size set in linker script */
 
   /*
@@ -85,5 +68,3 @@
 
   page_table_init();
-
-  Configuration.work_space_start = (void *) &_WorkspaceBase;
 }
Index: c/src/lib/libbsp/m68k/mvme162/startup/linkcmds
===================================================================
--- c/src/lib/libbsp/m68k/mvme162/startup/linkcmds	(revision 2c5862d1f898216d6fc06493ec0ce1937d0365cc)
+++ c/src/lib/libbsp/m68k/mvme162/startup/linkcmds	(revision 47733692fbbf2991c852e68cecb4b289728a3b6f)
@@ -25,5 +25,5 @@
 _RamBase = DEFINED(_RamBase) ? _RamBase : 0x20000;
 _RamSize = DEFINED(_RamSize) ? _RamSize : 1M;
-_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
+_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
 _StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
 
