[rtems commit] Obsolete and remove m68k/ods68302 BSP

Joel Sherrill joel at rtems.org
Sat Jan 23 22:53:03 UTC 2016


Module:    rtems
Branch:    master
Commit:    482d4974b86d43ede7a24aeb5f3dd0d251901319
Changeset: http://git.rtems.org/rtems/commit/?id=482d4974b86d43ede7a24aeb5f3dd0d251901319

Author:    Joel Sherrill <joel at rtems.org>
Date:      Sat Jan 23 16:47:35 2016 -0600

Obsolete and remove m68k/ods68302 BSP

closes #2544.

---

 c/ACKNOWLEDGEMENTS                                 |    5 -
 c/src/lib/libbsp/m68k/acinclude.m4                 |    2 -
 c/src/lib/libbsp/m68k/ods68302/Makefile.am         |   65 --
 c/src/lib/libbsp/m68k/ods68302/README              |   77 --
 c/src/lib/libbsp/m68k/ods68302/bsp_specs           |   13 -
 c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c      |  102 --
 c/src/lib/libbsp/m68k/ods68302/configure.ac        |   36 -
 c/src/lib/libbsp/m68k/ods68302/console/console.c   |  183 ----
 c/src/lib/libbsp/m68k/ods68302/include/bare.h      |  244 -----
 c/src/lib/libbsp/m68k/ods68302/include/bsp.h       |  100 --
 c/src/lib/libbsp/m68k/ods68302/include/coverhd.h   |  117 ---
 c/src/lib/libbsp/m68k/ods68302/include/crc.h       |   24 -
 c/src/lib/libbsp/m68k/ods68302/include/debugport.h |   40 -
 c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h |   32 -
 .../ods68302/make/custom/ods68302-testsuite.tcfg   |   10 -
 .../libbsp/m68k/ods68302/make/custom/ods68302.cfg  |   31 -
 c/src/lib/libbsp/m68k/ods68302/preinstall.am       |   91 --
 c/src/lib/libbsp/m68k/ods68302/start/debugreset.S  |   88 --
 c/src/lib/libbsp/m68k/ods68302/start/reset.S       |  882 ----------------
 c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c   |  140 ---
 c/src/lib/libbsp/m68k/ods68302/startup/crc.c       |   86 --
 c/src/lib/libbsp/m68k/ods68302/startup/debugger    |   76 --
 c/src/lib/libbsp/m68k/ods68302/startup/debugport.c |  160 ---
 c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c |   79 --
 c/src/lib/libbsp/m68k/ods68302/startup/linkcmds    |  223 ----
 c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c |  146 ---
 c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c | 1087 --------------------
 c/src/lib/libbsp/m68k/ods68302/startup/rom         |   77 --
 c/src/lib/libbsp/m68k/ods68302/startup/trace.c     |  171 ---
 c/src/lib/libbsp/m68k/ods68302/timer/timer.c       |  108 --
 c/src/lib/libbsp/m68k/ods68302/timer/timerisr.S    |   26 -
 31 files changed, 4521 deletions(-)

diff --git a/c/ACKNOWLEDGEMENTS b/c/ACKNOWLEDGEMENTS
index 7590f6c..bfa5c7d 100644
--- a/c/ACKNOWLEDGEMENTS
+++ b/c/ACKNOWLEDGEMENTS
@@ -81,11 +81,6 @@ The following persons/organizations have made contributions:
   performance issues and licensing concerns, Eric followed this up
   by replacing the KA9Q TCP/IP stack with a port of the FreeBSD stack.
 
-+ Chris Johns (cjohns at plessey.com.au) submitted the ods68302 BSP which
-  offers easier configuration than its counterpart gen68302.  Chris
-  also submitted the RTEMS++ C++ class library and test code for
-  that library.
-
 + Katsutoshi Shibuya (shibuya at mxb.meshnet.or.jp) of BU-Denken Co., Ltd. 
   (Sapporo, Japan) submitted the extended console driver for the 
   MVME162LX BSP and the POSIX tcsetattr() and tcgetattr() routines.
diff --git a/c/src/lib/libbsp/m68k/acinclude.m4 b/c/src/lib/libbsp/m68k/acinclude.m4
index 13dc717..750746b 100644
--- a/c/src/lib/libbsp/m68k/acinclude.m4
+++ b/c/src/lib/libbsp/m68k/acinclude.m4
@@ -34,8 +34,6 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
     AC_CONFIG_SUBDIRS([mvme162]);;
   mvme167 )
     AC_CONFIG_SUBDIRS([mvme167]);;
-  ods68302 )
-    AC_CONFIG_SUBDIRS([ods68302]);;
   uC5282 )
     AC_CONFIG_SUBDIRS([uC5282]);;
   *)
diff --git a/c/src/lib/libbsp/m68k/ods68302/Makefile.am b/c/src/lib/libbsp/m68k/ods68302/Makefile.am
deleted file mode 100644
index 97a1fea..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/Makefile.am
+++ /dev/null
@@ -1,65 +0,0 @@
-ACLOCAL_AMFLAGS = -I ../../../../aclocal
-
-include $(top_srcdir)/../../../../automake/compile.am
-include $(top_srcdir)/../../bsp.am
-
-include_bspdir = $(includedir)/bsp
-
-dist_project_lib_DATA = bsp_specs
-
-include_HEADERS = include/bsp.h
-include_HEADERS += ../../shared/include/tm27.h
-
-nodist_include_HEADERS = include/bspopts.h
-nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
-DISTCLEANFILES = include/bspopts.h
-noinst_PROGRAMS =
-
-EXTRA_DIST =
-
-include_HEADERS += include/bare.h
-include_HEADERS += include/crc.h
-include_HEADERS += include/debugport.h
-include_HEADERS += include/m68302scc.h
-include_HEADERS += include/coverhd.h
-
-# FIXME: Better merge both files into one and use #ifdef GDB_MONITOR_ACTIVE
-if ODS68302_DEBUG
-EXTRA_DIST += start/debugreset.S
-start.$(OBJEXT): start/debugreset.S
-	$(CPPASCOMPILE) -o $@ -c $<
-else
-EXTRA_DIST += start/reset.S
-start.$(OBJEXT): start/reset.S
-	$(CPPASCOMPILE) -o $@ -c $<
-endif
-
-project_lib_DATA = start.$(OBJEXT)
-
-dist_project_lib_DATA += startup/linkcmds startup/rom startup/debugger
-
-noinst_LIBRARIES = libbsp.a
-libbsp_a_SOURCES =
-
-# startup
-libbsp_a_SOURCES += startup/cpuboot.c startup/crc.c startup/debugport.c \
-    startup/gdb-hooks.c ../../shared/bootcard.c \
-    startup/m68302scc.c startup/m68k-stub.c \
-    ../../shared/bspgetworkarea.c \
-    startup/trace.c ../../shared/gnatinstallhandler.c ../../shared/bsplibc.c \
-    ../../shared/bsppredriverhook.c ../../shared/bsppost.c \
-    ../../shared/bspstart.c ../../shared/bspclean.c ../../shared/sbrk.c \
-    ../../shared/setvec.c
-# clock
-libbsp_a_SOURCES += clock/ckinit.c
-# console
-libbsp_a_SOURCES += console/console.c ../../shared/dummy_printk_support.c
-# timer
-libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
-
-libbsp_a_LIBADD = \
-    ../../../libcpu/@RTEMS_CPU@/shared/cache.rel \
-    ../../../libcpu/@RTEMS_CPU@/shared/misc.rel
-
-include $(srcdir)/preinstall.am
-include $(top_srcdir)/../../../../automake/local.am
diff --git a/c/src/lib/libbsp/m68k/ods68302/README b/c/src/lib/libbsp/m68k/ods68302/README
deleted file mode 100644
index 3c6a4c8..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/README
+++ /dev/null
@@ -1,77 +0,0 @@
-BSP NAME:	    ods68302
-BOARD:              proprietary (see below for relevant information)
-BUS:                none
-CPU FAMILY:         MC68000
-COPROCESSORS:       68302 communications co-processor
-MODE:               not applicable
-
-DEBUG MONITOR:      gdb
-
-PERIPHERALS
-===========
-TIMERS:             two 68302 timers, one 68302 watchdog timer
-  RESOLUTION:         ?
-SERIAL PORTS:       three 68302 SCCs
-REAL-TIME CLOCK:
-DMA:                built-in 68302, not used
-VIDEO:              none
-SCSI:               none
-NETWORKING:         none
-
-DRIVER INFORMATION
-==================
-CLOCK DRIVER:       68302 (TIMER1)
-IOSUPP DRIVER:      68302 SCC2
-SHMSUPP:            none
-TIMER DRIVER:       68302 TIMER2
-
-STDIO
-=====
-PORT:               SCC3 for ROM build, SCC1 for DEGUB build
-ELECTRICAL:         EIA-232
-BAUD:               9600
-BITS PER CHARACTER: 8
-PARITY:             None
-STOP BITS:          1
-
-DEBUG MONITOR
-=============
-PORT:               SCC3
-ELECTRICAL:         EIA-232
-BAUD:               57600
-BITS PER CHARACTER: 8
-PARITY:             None
-STOP BITS:          1
-
-NOTES
-=====
-
-This BSP is based on the gen68302. The main differences are C code for
-boot parameters, the gdb monitor, and variant support.
-
-The boot code which changes is written in C and the parameters used to
-control the configuration of the chip select registers and parallel
-ports are held in variant specific header files. These file also
-control the other hardware specific definitions such the processor
-freqency.
-
-The gdb monitor currently uses two serial ports. One for the debugger
-and one for stdio. This is costly in terms of the 68302 processor.
-
-The build configuration contains the memory map. The bsp code does not
-contain any memory map parameters. That is the ods68302.cfg contains
-the link addresses.
-
-To build a version to download via gdb use the command line parameters
-to make or "RTEMS_DEBUGGER=yes". This will change the memory map to
-place the code, and data above the RAM used by the gdb stub.
-
-TODO
-====
-
-1) Lower the set size of the gdb monitor. This can be made to be about
-10K or RAM. The code is about 14K.
-
-2) Add the production memory test code. This will be C and asm
-code. The asm will be a faster version of the C.
-
diff --git a/c/src/lib/libbsp/m68k/ods68302/bsp_specs b/c/src/lib/libbsp/m68k/ods68302/bsp_specs
deleted file mode 100644
index 5154de8..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/bsp_specs
+++ /dev/null
@@ -1,13 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-%rename link old_link
-
-*startfile:
-%{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e start}}
-
-*link:
-%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
-
-*endfile:
-%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
diff --git a/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c b/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c
deleted file mode 100644
index e0a8074..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/clock/ckinit.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- *  This routine initializes Timer 1 for an MC68302.
- *  The tick frequency is 1 millisecond.
- */
-
-/*
- *  COPYRIGHT (c) 1989-2014.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  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 <stdlib.h>			/* for atexit() */
-
-#include <bsp.h>
-#include <rtems/m68k/m68302.h>
-
-#define CLOCK_VECTOR 137
-
-#define TMR1_VAL (  RBIT_TMR_RST	/* software reset the timer */\
-		  | RBIT_TMR_ICLK_MASTER16 /* master clock divided by 16 */\
-		  | RBIT_TMR_FRR	/* restart timer after ref reached */\
-		  | RBIT_TMR_ORI)	/* enable interrupt when ref reached */
-#define TRR1_VAL 1000			/* 1000 ticks @ 16MHz/16
-					 *    = 1 millisecond tick.
-					 */
-
-/*
- *  Clock_driver_ticks is a monotonically increasing counter of the
- *  number of clock ticks since the driver was initialized.
- */
-volatile uint32_t         Clock_driver_ticks;
-
-/*
- *  Clock_isrs is the number of clock ISRs until the next invocation of
- *  the RTEMS clock tick routine.  The clock tick device driver
- *  gets an interrupt once a millisecond and counts down until the
- *  length of time between the user configured microseconds per tick
- *  has passed.
- */
-uint32_t         Clock_isrs;
-
-void Clock_exit( void );
-
-/*
- *  ISR Handler
- */
-static rtems_isr Clock_isr(
-  rtems_vector_number vector
-)
-{
-  Clock_driver_ticks += 1;
-
-  m302.reg.isr  = RBIT_ISR_TIMER1;	/* clear in-service bit */
-  m302.reg.ter1 = (RBIT_TER_REF | RBIT_TER_CAP); /* clear timer intr request */
-
-  if ( Clock_isrs == 1 ) {
-    rtems_clock_tick();
-    Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000;
-  }
-  else
-    Clock_isrs -= 1;
-}
-
-static void Install_clock(
-  rtems_isr_entry clock_isr
-)
-{
-
-  Clock_driver_ticks = 0;
-  Clock_isrs = rtems_configuration_get_microseconds_per_tick() / 1000;
-
-  set_vector( clock_isr, CLOCK_VECTOR, 1 );
-
-  m302.reg.trr1 = TRR1_VAL;		/* set timer reference register */
-  m302.reg.tmr1 = TMR1_VAL;		/* set timer mode register & enable */
-  /*
-   * Enable TIMER1 interrupts only.
-   */
-  m302.reg.imr |= RBIT_IMR_TIMER1;	/* set 68302 int-mask to allow ints */
-
-  atexit( Clock_exit );
-}
-
-void Clock_exit( void )
-{
-  /* TODO: figure out what to do here */
-  /* do not restore old vector */
-}
-
-rtems_device_driver Clock_initialize(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void *pargp
-)
-{
-  Install_clock( Clock_isr );
-
-  return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/configure.ac b/c/src/lib/libbsp/m68k/ods68302/configure.ac
deleted file mode 100644
index d06dbe3..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/configure.ac
+++ /dev/null
@@ -1,36 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.69])
-AC_INIT([rtems-c-src-lib-libbsp-m68k-ods68302],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
-AC_CONFIG_SRCDIR([bsp_specs])
-RTEMS_TOP(../../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
-RTEMS_BSP_CONFIGURE
-
-RTEMS_PROG_CC_FOR_TARGET
-RTEMS_CANONICALIZE_TOOLS
-RTEMS_PROG_CCAS
-
-AC_ARG_ENABLE(ods68302-debug,
-[AS_HELP_STRING(--enable-ods68302-debug,whether to support bsp debugging)],
-[case $enable_ods68302_debug in
- yes ) ODS68302_DEBUG=yes;;
- * )   ODS68302_DEBUG=no;;
- esac],
-[ODS68302_DEBUG=no])
-
-AM_CONDITIONAL(ODS68302_DEBUG,[test "$ODS68302_DEBUG" = "yes"])
-
-# FIXME: Something seem to be very broken inside of this BSP
-#        It plays tricks with VARIANT
-#        For now, deactivate it.
-# BSP_VARIANT=${BSP_VARIANT-bare}
-# AC_DEFINE_UNQUOTED([VARIANT],[${BSP_VARIANT}],[missing explanation])
-
-RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/m68k/ods68302/console/console.c b/c/src/lib/libbsp/m68k/ods68302/console/console.c
deleted file mode 100644
index 4077904..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/console/console.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Initialize the MC68302 SCC2 for console IO board support package.
- */
-
-/*
- *  COPYRIGHT (c) 1989-2014.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  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.
- */
-
-#define GEN68302_INIT
-
-#include <debugport.h>
-#include <bsp.h>
-#include <rtems/libio.h>
-
-/*  console_initialize
- *
- *  This routine initializes the console IO driver.
- */
-rtems_device_driver console_initialize(
-  rtems_device_major_number  major,
-  rtems_device_minor_number  minor,
-  void                      *arg
-)
-{
-  rtems_status_code status;
-
-/*  debug_port_initialise(); */
-
-  status = rtems_io_register_name(
-    "/dev/console",
-    major,
-    (rtems_device_minor_number) 0
-  );
-
-  if (status != RTEMS_SUCCESSFUL)
-    rtems_fatal_error_occurred(status);
-
-  return RTEMS_SUCCESSFUL;
-}
-
-/*  is_character_ready
- *
- *  Check to see if a character is available on the MC68302's SCC2.  If so,
- *  then return a TRUE (along with the character).  Otherwise return FALSE.
- */
-static bool is_character_ready(
-  char *ch				/* -> character  */
-)
-{
-  if (debug_port_status(0))
-  {
-    *ch = debug_port_in();
-    return true;
-  }
-  return false;
-}
-
-/*  inbyte
- *
- *  Receive a character from the MC68302's SCC2.
- */
-static char inbyte( void )
-{
-  char ch;
-
-  while (!is_character_ready(&ch));
-
-  return ch;
-}
-
-/*  outbyte
- *
- *  Transmit a character out on the MC68302's SCC2.
- *  It may support XON/XOFF flow control.
- */
-static void outbyte(
-  char ch
-)
-{
-  debug_port_out(ch);
-}
-
-/*
- *  Open entry point
- */
-rtems_device_driver console_open(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  return RTEMS_SUCCESSFUL;
-}
-
-/*
- *  Close entry point
- */
-rtems_device_driver console_close(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  return RTEMS_SUCCESSFUL;
-}
-
-/*
- * read bytes from the serial port. We only have stdin.
- */
-rtems_device_driver console_read(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  rtems_libio_rw_args_t *rw_args;
-  char *buffer;
-  int maximum;
-  int count = 0;
-
-  rw_args = (rtems_libio_rw_args_t *) arg;
-
-  buffer = rw_args->buffer;
-  maximum = rw_args->count;
-
-  for (count = 0; count < maximum; count++) {
-    buffer[ count ] = inbyte();
-    if (buffer[ count ] == '\n' || buffer[ count ] == '\r') {
-      buffer[ count++ ]  = '\n';
-      break;
-    }
-  }
-
-  rw_args->bytes_moved = count;
-  return (count >= 0) ? RTEMS_SUCCESSFUL : RTEMS_UNSATISFIED;
-}
-
-/*
- * write bytes to the serial port. Stdout and stderr are the same.
- */
-rtems_device_driver console_write(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  int count;
-  int maximum;
-  rtems_libio_rw_args_t *rw_args;
-  char *buffer;
-
-  rw_args = (rtems_libio_rw_args_t *) arg;
-
-  buffer = rw_args->buffer;
-  maximum = rw_args->count;
-
-  for (count = 0; count < maximum; count++) {
-    if ( buffer[ count ] == '\n') {
-      outbyte('\r');
-    }
-    outbyte( buffer[ count ] );
-  }
-
-  rw_args->bytes_moved = maximum;
-  return 0;
-}
-
-/*
- *  IO Control entry point
- */
-rtems_device_driver console_control(
-  rtems_device_major_number major,
-  rtems_device_minor_number minor,
-  void                    * arg
-)
-{
-  return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/bare.h b/c/src/lib/libbsp/m68k/ods68302/include/bare.h
deleted file mode 100644
index 825acaf..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/include/bare.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*****************************************************************************/
-/*
-  Card Definition for a bare board.
-
-  This is an example file which actually builds a BSP for a 68302 card
-  called an MVF (Multi-Voice-Frequency). The card is one of a range
-  which run in a 100Mbit voice/video/data switch used for high end
-  applications such as Air Traffic Control. The transport is
-  FDDI-2. Yes it alive and well and working in real systems.
-
-  Chip selects are programmed as required. Three are controlled in the
-  boot code. They are RAM, ROM, and peripherals. You can optionally
-  configure the other two chip selects.
-
-  SYSTEM_CLOCK - You must defined this. It is used for setting the
-  baud rate.
-
-  CSEL_ROM, CSEL_RAM - Must be defined, and made to be a single number
-  with brackets.
-
-  ROM_WAIT_STATES, RAM_WAIT_STATES - Must be defined. This sets the
-  speed for the ROM and RAM.
-
-  ROM and RAM size is passed on the command line. The makefile holds
-  them. This allows a single place to defined it. The makefile allows
-  them to be passed to the linker.
-
-  CSEL_1, CSEL_2 - If defined the other macros needed to define the
-  chip select must be defined. If not defined they are not programmed
-  and registers are left in the reset state.
-
-  Card Specific Devices - The MVF card uses a chip select to address a
-  range of peripherials (CSEL_2). These include front panel leds, and
-  4 digit diagnostic display device. Put what ever you need.
-
-  LED_CONTROL - If defined the boot code will set leds as it goes.
-
-  UPDATE_DISPLAY - A four digit display device will also be updated to
-  show the boot state.
-
-  CARD_PA, CARD_PB - The default configuration, data direction and
-  data must be specified.
-
-  This file allows a range of common parameters which vary from one
-  variant of card to another to placed in a central file.
-
-*/
-/*****************************************************************************/
-
-#ifndef _BARE_H_
-#define _BARE_H_
-
-#if __cplusplus
-extern "C"
-{
-#endif
-
-/* name of the card */
-#define CARD_ID "m68302-odsbare"
-
-/* speed of the processor */
-#define SYSTEM_CLOCK (15360000)
-
-#define SCR_DEFAULT  (RBIT_SCR_IPA | RBIT_SCR_HWT | RBIT_SCR_WPV | RBIT_SCR_ADC | \
-                      RBIT_SCR_HWDEN | RBIT_SCR_HWDCN1 | RBIT_SCR_EMWS)
-
-/* define the chip selects */
-#define CSEL_ROM           0            /* token pasted so no brackets */
-#define ROM_WAIT_STATES    (OR_DTACK_1) /* 100nsec at 16MHz */
-#define CSEL_RAM           3
-#define RAM_WAIT_STATES    (OR_DTACK_0) /* 70nsec at 16MHz */
-
-/* The remaining chip selects are called 1 and 2 */
-/*
-#define CSEL_1             1
-#define CSEL_1_BASE        (0x00?00000)
-#define CSEL_1_SIZE        (0x00?00000)
-#define CSEL_1_WAIT_STATES (OR_DTACK_1)
-*/
-#define CSEL_2             2
-#define CSEL_2_BASE        (0x00800000)
-#define CSEL_2_SIZE        (0x00040000)
-#define CSEL_2_WAIT_STATES (OR_DTACK_EXT)
-
-/*
- * Need to define a watchdog period
- */
-#define WATCHDOG_TIMEOUT_PERIOD (3000 * 2)
-
-/*
- * Console and debug port allocation, 0=SCC1, 2=SCC3
- */
-
-#define CONSOLE_PORT  1
-#define CONSOLE_BAUD  SCC_9600
-#define DEBUG_PORT    2
-#define DEBUG_BAUD    SCC_57600
-
-/* ----
-   Parallel Port Configuration, and default data directions
-
-   PORT  BITS - NAME                 , WHO       , DEFAULT WHAT
-   ------------------------------------------------------------
-   PPA:: 1: 0 - Serial               , PERIPHERAL, -
-   PPA:: 7: 2 - MVF_PPA:7:2          , IO        , INPUTS
-   PPA:: 9: 8 - Serial               , PERIPHERAL, -
-   PPA::15:10 - MVF_PPB:15:10        , IO        , INPUTS
-
-   PPB:: 1: 0 - Setup                , IO        , INPUTS
-   PPB:: 3: 2 - SYNC_HIGHWAY_1:2     , IO        , INPUTS
-              - SYNC_HIGHWAY_2:3     , IO        , INPUTS
-   PPB:: 4: 4 - HARDWARE_RESET:4     , IO        , OUTPUT
-   PPB:: 6: 5 - SOFTWARE_OVERRIDE_1:6, IO        , OUTPUT
-              - SOFTWARE_OVERRIDE_2:5, IO        , OUTPUT
-   PPB:: 7: 7 - Watchdog             , PERIPHERAL, -
-   PPB::11: 8 - Interrupt            , PERIPHERAL, -
-   PPB::15:12 - Not implemented on the 68302
-
-         15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
-   ------------------------------------------------------
-   PACNT  0  0  0  0  0  0  1  1  0  0  0  0  0  0  1  1 = 0x0303
-   PBCNT  -  -  -  -  -  -  -  -  1  0  0  0  0  0  0  0 = 0x0080
-
-   PADDR  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 = 0x0000
-   PBDDR  0  0  0  0  0  0  0  0  0  1  1  1  0  0  0  0 = 0x0070
-
-   PADAT  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 = 0x0000
-
- */
-#define CARD_PA_CONFIGURATION       0x0303
-#define CARD_PB_CONFIGURATION       0x0080
-
-#define CARD_PA_DEFAULT_DIRECTIONS  0x0000
-#define CARD_PB_DEFAULT_DIRECTIONS  0x0070
-
-#define CARD_PA_DEFAULT_DATA        0x0000
-#define CARD_PB_DEFAULT_DATA        (HARDWARE_RESET_DISABLE | \
-                                     SOFTWARE_OVERRIDE_1_DISABLE | \
-                                     SOFTWARE_OVERRIDE_2_DISABLE)
-
-/* these are specific to the card and are not required */
-#define HARDWARE_RESET_ENABLE       0x0000
-#define HARDWARE_RESET_DISABLE      0x0010
-
-#define SOFTWARE_OVERRIDE_1_ENABLE  0x0000
-#define SOFTWARE_OVERRIDE_1_DISABLE 0x0040
-#define SOFTWARE_OVERRIDE_2_ENABLE  0x0000
-#define SOFTWARE_OVERRIDE_2_DISABLE 0x0020
-
-/*
- * Card Specific Devices, these are not required. Add what ever you
- * like here.
- */
-
-/* Write */
-#define WRITE_REGISTER_8(address, data) \
-                 *((uint8_t*) (address)) = ((uint8_t) (data))
-#define WRITE_REGISTER_16(address, data) \
-                 *((uint16_t*) (address)) = ((uint16_t) (data))
-#define WRITE_REGISTER_32(address, data) \
-                 *((uint32_t*) (address)) = ((uint32_t) (data))
-/* Read */
-#define READ_REGISTER_8(address, data) data = *((uint8_t*) (address))
-#define READ_REGISTER_16(address, data) data = *((uint16_t*) (address))
-#define READ_REGISTER_32(address, data) data = *((uint32_t*) (address))
-
-/* CS2 : Peripherials */
-#define PERIPHERIALS_BASE         (CSEL_2_BASE)
-
-#define STATUS_REGISTER_BASE      (PERIPHERIALS_BASE + 0x00000000)
-
-#define PERIPHERIALS_SIZE         (0x00040000)
-
-#define LEDS_BASE                 (PERIPHERIALS_BASE + 0x00004000)
-#define MSC_BASE                  (PERIPHERIALS_BASE + 0x00008000)
-#define SPARE_1_BASE              (PERIPHERIALS_BASE + 0x0000C000)
-#define DISPLAY_BASE              (PERIPHERIALS_BASE + 0x00010000)
-#define PIO_INT_BASE              (PERIPHERIALS_BASE + 0x00014000)
-#define UART_BASE                 (PERIPHERIALS_BASE + 0x00018000)
-#define PIA_BASE                  (PERIPHERIALS_BASE + 0x0001C000)
-
-#define LED_1         0x0002
-#define LED_1_GREEN   0xFFFD
-#define LED_1_RED     0xFFFF
-#define LED_1_OFF     0xFFFC
-
-#define LED_2         0x0001
-#define LED_2_GREEN   0xFFFE
-#define LED_2_RED     0xFFFF
-#define LED_2_OFF     0xFFFC
-
-#define LED_3         0x0000
-#define LED_3_GREEN   0xFFFC
-#define LED_3_RED     0xFFFC
-#define LED_3_OFF     0xFFFC
-
-#define LED_4         0x0000
-#define LED_4_GREEN   0xFFFC
-#define LED_4_RED     0xFFFC
-#define LED_4_OFF     0xFFFC
-
-#define LED_5         0x0000
-#define LED_5_GREEN   0xFFFC
-#define LED_5_RED     0xFFFC
-#define LED_5_OFF     0xFFFC
-
-#define LED_6         0x0000
-#define LED_6_GREEN   0xFFFC
-#define LED_6_RED     0xFFFC
-#define LED_6_OFF     0xFFFC
-
-#define LED_7         0x0000
-#define LED_7_GREEN   0xFFFC
-#define LED_7_RED     0xFFFC
-#define LED_7_OFF     0xFFFC
-
-#define LED_8         0x0000
-#define LED_8_GREEN   0xFFFC
-#define LED_8_RED     0xFFFC
-#define LED_8_OFF     0xFFFC
-
-#define MAKE_LED(L1, L2, L3, L4) ((L1 & LED_1) | (L2 & LED_2) | (L3 & LED_3) | (L4 & LED_4))
-
-#define LED_CONTROL(L1, L2, L3, L4, L5, L6, L7, L8) \
-            WRITE_REGISTER_16(LEDS_BASE, MAKE_LED(L1, L2, L3, L4))
-
- /* update the display, needs a long word */
-#define UPDATE_DISPLAY(LongWordPtr) \
-         ( WRITE_REGISTER_16(DISPLAY_BASE, *(((uint8_t*) LongWordPtr) + 3)), \
-           WRITE_REGISTER_16(DISPLAY_BASE + 2, *(((uint8_t*) LongWordPtr) + 2)), \
-           WRITE_REGISTER_16(DISPLAY_BASE + 4, *(((uint8_t*) LongWordPtr) + 1)), \
-           WRITE_REGISTER_16(DISPLAY_BASE + 6, *((uint8_t*) LongWordPtr)) )
-
-/* make a better test, say switches */
-#if defined(GDB_MONITOR_ACTIVE)
-#define GDB_RUN_MONITOR() (1 == 1)
-#else
-#define GDB_RUN_MONITOR() (1 == 0)
-#endif
-
-#if __cplusplus
-}
-#endif
-#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h b/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
deleted file mode 100644
index 357963c..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/include/bsp.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*  bsp.h
- *
- *  This include file contains all board IO definitions.
- */
-
-/*
- *  COPYRIGHT (c) 1989-2010.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  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.
- */
-
-#ifndef LIBBSP_M68K_ODS68302_BSP_H
-#define LIBBSP_M68K_ODS68302_BSP_H
-
-#ifndef ASM
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-#include <rtems/console.h>
-#include <rtems/iosupp.h>
-#include <rtems/clockdrv.h>
-#include <rtems/m68k/m68302.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifndef VARIANT
-#define VARIANT bare
-#endif
-#if defined(VARIANT)
-#define HQUOTE(a) <a.h>
-#include HQUOTE(VARIANT)
-#undef HQUOTE
-#endif
-
-/* Constants */
-
-#define RAM_START RAM_BASE
-#define RAM_END   (RAM_BASE + RAM_SIZE)
-
-/* Structures */
-
-#ifdef GEN68302_INIT
-#undef EXTERN
-#define EXTERN
-#else
-#undef EXTERN
-#define EXTERN extern
-#endif
-
-extern rtems_isr_entry M68Kvec[];   /* vector table address */
-
-/* functions */
-
-rtems_isr_entry set_vector(
-  rtems_isr_entry     handler,
-  rtems_vector_number vector,
-  int                 type
-);
-
-/*
- * Prototypes for methods called only from .S files
- */
-void boot_phase_1(void);
-void boot_phase_2(void);
-void boot_phase_3(void);
-void trace_exception(
-  unsigned long d0,
-  unsigned long d1,
-  unsigned long d2,
-  unsigned long d3,
-  unsigned long d4,
-  unsigned long d5,
-  unsigned long d6,
-  unsigned long d7,
-  unsigned long a0,
-  unsigned long a1,
-  unsigned long a2,
-  unsigned long a3,
-  unsigned long a4,
-  unsigned long a5,
-  unsigned long a6,
-  unsigned long a7,
-  unsigned long sr_pch,
-  unsigned long pcl_format
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/coverhd.h b/c/src/lib/libbsp/m68k/ods68302/include/coverhd.h
deleted file mode 100644
index 84ca3a8..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/include/coverhd.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * @file
- * @ingroup m68k_ods68302
- * @brief C Overhead definitions
- */
-
-/*  
- *
- *  This include file has defines to represent the overhead associated
- *  with calling a particular directive from C.  These are used in the
- *  Timing Test Suite to ignore the overhead required to pass arguments
- *  to directives.  On some CPUs and/or target boards, this overhead
- *  is significant and makes it difficult to distinguish internal
- *  RTEMS execution time from that used to call the directive.
- *  This file should be updated after running the C overhead timing
- *  test.  Once this update has been performed, the RTEMS Time Test
- *  Suite should be rebuilt to account for these overhead times in the
- *  timing results.
- *
- *  NOTE:  If these are all zero, then the times reported include all
- *         all calling overhead including passing of arguments.
- *
- *  COPYRIGHT (c) 1989-1999.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  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.
- */
-
-#ifndef __COVERHD_h
-#define __COVERHD_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE      14
-#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE        11
-#define CALLING_OVERHEAD_TASK_CREATE               22
-#define CALLING_OVERHEAD_TASK_IDENT                17
-#define CALLING_OVERHEAD_TASK_START                18
-#define CALLING_OVERHEAD_TASK_RESTART              15
-#define CALLING_OVERHEAD_TASK_DELETE               12
-#define CALLING_OVERHEAD_TASK_SUSPEND              12
-#define CALLING_OVERHEAD_TASK_RESUME               12
-#define CALLING_OVERHEAD_TASK_SET_PRIORITY         16
-#define CALLING_OVERHEAD_TASK_MODE                 15
-#define CALLING_OVERHEAD_TASK_GET_NOTE             16
-#define CALLING_OVERHEAD_TASK_SET_NOTE             16
-#define CALLING_OVERHEAD_TASK_WAKE_WHEN            31
-#define CALLING_OVERHEAD_TASK_WAKE_AFTER           11
-#define CALLING_OVERHEAD_INTERRUPT_CATCH           17
-#define CALLING_OVERHEAD_CLOCK_GET                 32
-#define CALLING_OVERHEAD_CLOCK_SET                 31
-#define CALLING_OVERHEAD_CLOCK_TICK                8
-
-#define CALLING_OVERHEAD_TIMER_CREATE              13
-#define CALLING_OVERHEAD_TIMER_IDENT               12
-#define CALLING_OVERHEAD_TIMER_DELETE              14
-#define CALLING_OVERHEAD_TIMER_FIRE_AFTER          19
-#define CALLING_OVERHEAD_TIMER_FIRE_WHEN           39
-#define CALLING_OVERHEAD_TIMER_RESET               12
-#define CALLING_OVERHEAD_TIMER_CANCEL              12
-#define CALLING_OVERHEAD_SEMAPHORE_CREATE          18
-#define CALLING_OVERHEAD_SEMAPHORE_IDENT           12
-#define CALLING_OVERHEAD_SEMAPHORE_DELETE          17
-#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN          17
-#define CALLING_OVERHEAD_SEMAPHORE_RELEASE         12
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE      18
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT       17
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE      12
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND        14
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT      14
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST   17
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE     19
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH       14
-
-#define CALLING_OVERHEAD_EVENT_SEND                15
-#define CALLING_OVERHEAD_EVENT_RECEIVE             18
-#define CALLING_OVERHEAD_SIGNAL_CATCH              14
-#define CALLING_OVERHEAD_SIGNAL_SEND               14
-#define CALLING_OVERHEAD_PARTITION_CREATE          23
-#define CALLING_OVERHEAD_PARTITION_IDENT           17
-#define CALLING_OVERHEAD_PARTITION_DELETE          12
-#define CALLING_OVERHEAD_PARTITION_GET_BUFFER      15
-#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER   15
-#define CALLING_OVERHEAD_REGION_CREATE             23
-#define CALLING_OVERHEAD_REGION_IDENT              14
-#define CALLING_OVERHEAD_REGION_DELETE             12
-#define CALLING_OVERHEAD_REGION_GET_SEGMENT        21
-#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT     15
-#define CALLING_OVERHEAD_PORT_CREATE               20
-#define CALLING_OVERHEAD_PORT_IDENT                14
-#define CALLING_OVERHEAD_PORT_DELETE               12
-#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 18
-#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 18
-
-#define CALLING_OVERHEAD_IO_INITIALIZE             18
-#define CALLING_OVERHEAD_IO_OPEN                   18
-#define CALLING_OVERHEAD_IO_CLOSE                  18
-#define CALLING_OVERHEAD_IO_READ                   18
-#define CALLING_OVERHEAD_IO_WRITE                  18
-#define CALLING_OVERHEAD_IO_CONTROL                18
-#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED      11
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE     13
-#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT      14
-#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE     12
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL     12
-#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD     14
-#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE  8
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/crc.h b/c/src/lib/libbsp/m68k/ods68302/include/crc.h
deleted file mode 100644
index ac0ffa5..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/include/crc.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*****************************************************************************/
-/*
-   CRC 16 Calculate Interface
-
-*/
-/*****************************************************************************/
-
-#ifndef _CRC_H_
-#define _CRC_H_
-
- /* ----
-      F U N C T I O N S
-  */
-#if __cplusplus
-extern "C"
-{
-#endif
-
-uint16_t         calc_crc(void *data, uint32_t         count);
-
-#if __cplusplus
-}
-#endif
-#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/debugport.h b/c/src/lib/libbsp/m68k/ods68302/include/debugport.h
deleted file mode 100644
index c79f4aa..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/include/debugport.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*****************************************************************************/
-/*
-  Debug Port Support
-
-*/
-/*****************************************************************************/
-
-#if !defined(_DEBUGPORT_H_)
- #define _DEBUGPORT_H_
-
-#if __cplusplus
-extern "C"
-{
-#endif
-
-  /* normall automatic, only need when re-initialising */
-  void debug_port_initialise(void);
-
-  unsigned char debug_port_status(const unsigned char status);
-  unsigned char debug_port_in(void);
-  void debug_port_out(const unsigned char character);
-
-  void debug_port_write(const char *buffer);
-  void debug_port_write_buffer(const char *buffer, unsigned int size);
-
-  void debug_port_write_hex_uint(const unsigned int value);
-  void debug_port_write_hex_ulong(const unsigned long value);
-
-   /*
-    * special banner message for CPU specific boot code,
-    * initialises the debug port
-    */
-  void debug_port_banner(void);
-  void debug_port_printf(const char *format, ...);
-
-#if __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h b/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h
deleted file mode 100644
index bd0b13d..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/include/m68302scc.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*****************************************************************************/
-/*
-  M68302 Scc Polled Uart Support
-
- */
-/*****************************************************************************/
-
-#if !defined(_M68302SCC_H_)
-#define _M68302SCC_H_
-
-#if __cplusplus
-extern "C"
-{
-#endif
-
-#define SCC_4800    (0)
-#define SCC_9600    (1)
-#define SCC_19200   (2)
-#define SCC_38400   (3)
-#define SCC_57600   (4)
-#define SCC_115700  (5)
-
-void scc_initialise(int channel, int baud_rate, int lf_translate);
-unsigned char scc_status(int channel, const unsigned char status);
-unsigned char scc_in(int channel);
-void scc_out(int channel, const unsigned char character);
-
-#if __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/ods68302/make/custom/ods68302-testsuite.tcfg b/c/src/lib/libbsp/m68k/ods68302/make/custom/ods68302-testsuite.tcfg
deleted file mode 100644
index 5bed603..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/make/custom/ods68302-testsuite.tcfg
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# ods68302 RTEMS Test Database.
-#
-# Format is one line per test that is _NOT_ built.
-#
-
-fileio
-fsdosfsname01
-iostream
-utf8proc01
diff --git a/c/src/lib/libbsp/m68k/ods68302/make/custom/ods68302.cfg b/c/src/lib/libbsp/m68k/ods68302/make/custom/ods68302.cfg
deleted file mode 100644
index b23ea1c..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/make/custom/ods68302.cfg
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-#  Config file for a "ODS 68302" BSP
-#
-#  Differs from the gen68302 by providing most of the boot code as C
-#  code. This allows separate board definitions to be based on C
-#  header files. The file is based on the VARIANT defined.
-
-include $(RTEMS_ROOT)/make/custom/default.cfg
-
-RTEMS_CPU=m68k
-RTEMS_CPU_MODEL=m68302
-
-#  This contains the compiler options necessary to select the CPU model
-#  and (hopefully) optimize for it. 
-#
-# 68000+softfloat results in gcc 2.95.2 giving default libraries. 
-# CPU_CFLAGS = -m68302 -msoft-float
-CPU_CFLAGS = -mcpu=68302
-
-# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
-CFLAGS_OPTIMIZE_V += -ffunction-sections -fdata-sections
-
-LDFLAGS = -Wl,--gc-sections
-
-ifeq ($(RTEMS_DEBUGGER),yes)
-LINKCMDS=$(PROJECT_RELEASE)/lib/debugrom
-else
-LINKCMDS=$(PROJECT_RELEASE)/lib/rom
-endif
-
diff --git a/c/src/lib/libbsp/m68k/ods68302/preinstall.am b/c/src/lib/libbsp/m68k/ods68302/preinstall.am
deleted file mode 100644
index 7640e08..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/preinstall.am
+++ /dev/null
@@ -1,91 +0,0 @@
-## Automatically generated by ampolish3 - Do not edit
-
-if AMPOLISH3
-$(srcdir)/preinstall.am: Makefile.am
-	$(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
-endif
-
-PREINSTALL_DIRS =
-DISTCLEANFILES += $(PREINSTALL_DIRS)
-
-all-am: $(PREINSTALL_FILES)
-
-PREINSTALL_FILES =
-CLEANFILES = $(PREINSTALL_FILES)
-
-all-local: $(TMPINSTALL_FILES)
-
-TMPINSTALL_FILES =
-CLEANFILES += $(TMPINSTALL_FILES)
-
-$(PROJECT_LIB)/$(dirstamp):
-	@$(MKDIR_P) $(PROJECT_LIB)
-	@: > $(PROJECT_LIB)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/$(dirstamp):
-	@$(MKDIR_P) $(PROJECT_INCLUDE)
-	@: > $(PROJECT_INCLUDE)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/bsp/$(dirstamp):
-	@$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
-	@: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-
-$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
-PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
-
-$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
-
-$(PROJECT_INCLUDE)/tm27.h: ../../shared/include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
-
-$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
-
-$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
-
-$(PROJECT_INCLUDE)/bare.h: include/bare.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bare.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bare.h
-
-$(PROJECT_INCLUDE)/crc.h: include/crc.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/crc.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/crc.h
-
-$(PROJECT_INCLUDE)/debugport.h: include/debugport.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/debugport.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/debugport.h
-
-$(PROJECT_INCLUDE)/m68302scc.h: include/m68302scc.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/m68302scc.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/m68302scc.h
-
-$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
-$(PROJECT_LIB)/rom: startup/rom $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/rom
-PREINSTALL_FILES += $(PROJECT_LIB)/rom
-
-$(PROJECT_LIB)/debugger: startup/debugger $(PROJECT_LIB)/$(dirstamp)
-	$(INSTALL_DATA) $< $(PROJECT_LIB)/debugger
-PREINSTALL_FILES += $(PROJECT_LIB)/debugger
-
diff --git a/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S b/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S
deleted file mode 100644
index 6090dd2..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/start/debugreset.S
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- *  Re-written the gen68302 start-up code.
- *
- *  Uses gas syntax only, removed the OAR asm.h.
- *
- *  Supplies a complete vector table in ROM.
- *
- *  Manages all vectors with seperate handlers to trap unhandled
- *  execptions.
- *
- *  Uses the target specific header file to get the runtime
- *  configuration
- *
- *  COPYRIGHT (c) 1996
- *  Objective Design Systems Pty Ltd (ODS)
- *
- *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
- *  On-Line Applications Research Corporation (OAR).
- *
- */
-
-|
-| Entry from debugger
-|
-        .sect   .text
-
-|
-| Start
-|
-| Entered from a hardware reset.
-|
-
-        .global start                           | Default entry point for GNU
-start:
-
-        move.w  #0x2700,%sr                     | Disable all interrupts
-
-        |
-        | zero out uninitialized data area
-        |
-
-zerobss:
-        moveal  #_clear_end,%a0                 | find end of .bss
-        moveal  #_clear_start,%a1               | find beginning of .bss
-        moveq   #0,%d0
-
-zerobss_loop:
-
-        movel   %d0,%a1 at +                       | to zero out uninitialized
-        cmpal   %a0,%a1
-        jlt     zerobss_loop                    | loop until end reached
-
-        movel   %d0,_stack_init                 | load stack top
-
-        movw    #0x3700,%sr                     | SUPV MODE,INTERRUPTS OFF!!!
-        movel   %d0,%a7                         | set master stack pointer
-        movel   %d0,%a6                         | set base pointer
-
-        jsr     boot_phase_3
-
-|
-| Initialised data
-|
-
-        .sect   .data
-
-        .global start_frame
-
-start_frame:
-        .space  4,0
-
-|
-| Uninitialised data
-|
-
-        .sect   .bss
-
-        .global environ
-        .align  2
-
-environ:
-        .long   0
-
-        .global heap_size
-        .set    heap_size,0x2000
-
-        .global stack_size
-        .set    stack_size,0x1000
diff --git a/c/src/lib/libbsp/m68k/ods68302/start/reset.S b/c/src/lib/libbsp/m68k/ods68302/start/reset.S
deleted file mode 100644
index 22f5d82..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/start/reset.S
+++ /dev/null
@@ -1,882 +0,0 @@
-/*
- *  Manages all vectors with seperate handlers to trap unhandled
- *  execptions.
- *
- *  Re-written the gen68302 start-up code.
- *
- *  Uses gas syntax only, removed the OAR asm.h.
- *
- *  Supplies a complete vector table in ROM.
- *
- *  Uses the target specific header file to get the runtime
- *  configuration
- */
-
-/*
- *  COPYRIGHT (c) 1996
- *  Objective Design Systems Pty Ltd (ODS)
- *
- *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
- *  On-Line Applications Research Corporation (OAR).
- *
- */
-
-#include <bsp.h>  /* just to indicate the dependency */
-
-|
-| some basic defined, this is that is required
-|
-#define MC68302_BAR                0x000000F2
-#define MC68302_BAR_FC_CFC         0x0000
-#define MC68302_SYS_RAM_SIZE       0x240
-
-|
-| Boot boot code in a special section, ld postions
-|
-| Initial stack pointer is in the dual ported RAM
-|
-        .sect   .resettext
-
-        .global M68Kvec                 | Vector Table
-
-M68Kvec:                                | standard location for vectors
-
-|
-| Make relative, can have the code positioned any where
-|
-
-V___ISSP: .long  MC68302_BASE + MC68302_SYS_RAM_SIZE
-V____IPC: .long  start - V___ISSP
-
-|
-| Create the rest of the vector table to point to the unhandled expection
-| handler
-|
-| Lots of macros, how-ever it creates a simple ROM vector table
-|
-
-exception_handler = unhandled_exception - V___ISSP
-#define MAKE_EXCEPTION_VECTOR(n) V___##n: .long (exception_handler + (n * 8))
-
-MAKE_EXCEPTION_VECTOR(2)
-MAKE_EXCEPTION_VECTOR(3)
-MAKE_EXCEPTION_VECTOR(4)
-MAKE_EXCEPTION_VECTOR(5)
-MAKE_EXCEPTION_VECTOR(6)
-MAKE_EXCEPTION_VECTOR(7)
-MAKE_EXCEPTION_VECTOR(8)
-MAKE_EXCEPTION_VECTOR(9)
-
-MAKE_EXCEPTION_VECTOR(10)
-MAKE_EXCEPTION_VECTOR(11)
-MAKE_EXCEPTION_VECTOR(12)
-MAKE_EXCEPTION_VECTOR(13)
-MAKE_EXCEPTION_VECTOR(14)
-MAKE_EXCEPTION_VECTOR(15)
-MAKE_EXCEPTION_VECTOR(16)
-MAKE_EXCEPTION_VECTOR(17)
-MAKE_EXCEPTION_VECTOR(18)
-MAKE_EXCEPTION_VECTOR(19)
-
-MAKE_EXCEPTION_VECTOR(20)
-MAKE_EXCEPTION_VECTOR(21)
-MAKE_EXCEPTION_VECTOR(22)
-MAKE_EXCEPTION_VECTOR(23)
-MAKE_EXCEPTION_VECTOR(24)
-MAKE_EXCEPTION_VECTOR(25)
-MAKE_EXCEPTION_VECTOR(26)
-MAKE_EXCEPTION_VECTOR(27)
-MAKE_EXCEPTION_VECTOR(28)
-MAKE_EXCEPTION_VECTOR(29)
-
-MAKE_EXCEPTION_VECTOR(30)
-MAKE_EXCEPTION_VECTOR(31)
-MAKE_EXCEPTION_VECTOR(32)
-MAKE_EXCEPTION_VECTOR(33)
-MAKE_EXCEPTION_VECTOR(34)
-MAKE_EXCEPTION_VECTOR(35)
-MAKE_EXCEPTION_VECTOR(36)
-MAKE_EXCEPTION_VECTOR(37)
-MAKE_EXCEPTION_VECTOR(38)
-MAKE_EXCEPTION_VECTOR(39)
-
-MAKE_EXCEPTION_VECTOR(40)
-MAKE_EXCEPTION_VECTOR(41)
-MAKE_EXCEPTION_VECTOR(42)
-MAKE_EXCEPTION_VECTOR(43)
-MAKE_EXCEPTION_VECTOR(44)
-MAKE_EXCEPTION_VECTOR(45)
-MAKE_EXCEPTION_VECTOR(46)
-MAKE_EXCEPTION_VECTOR(47)
-MAKE_EXCEPTION_VECTOR(48)
-MAKE_EXCEPTION_VECTOR(49)
-
-MAKE_EXCEPTION_VECTOR(50)
-MAKE_EXCEPTION_VECTOR(51)
-MAKE_EXCEPTION_VECTOR(52)
-MAKE_EXCEPTION_VECTOR(53)
-MAKE_EXCEPTION_VECTOR(54)
-MAKE_EXCEPTION_VECTOR(55)
-MAKE_EXCEPTION_VECTOR(56)
-MAKE_EXCEPTION_VECTOR(57)
-MAKE_EXCEPTION_VECTOR(58)
-MAKE_EXCEPTION_VECTOR(59)
-
-MAKE_EXCEPTION_VECTOR(60)
-MAKE_EXCEPTION_VECTOR(61)
-MAKE_EXCEPTION_VECTOR(62)
-MAKE_EXCEPTION_VECTOR(63)
-MAKE_EXCEPTION_VECTOR(64)
-MAKE_EXCEPTION_VECTOR(65)
-MAKE_EXCEPTION_VECTOR(66)
-MAKE_EXCEPTION_VECTOR(67)
-MAKE_EXCEPTION_VECTOR(68)
-MAKE_EXCEPTION_VECTOR(69)
-
-MAKE_EXCEPTION_VECTOR(70)
-MAKE_EXCEPTION_VECTOR(71)
-MAKE_EXCEPTION_VECTOR(72)
-MAKE_EXCEPTION_VECTOR(73)
-MAKE_EXCEPTION_VECTOR(74)
-MAKE_EXCEPTION_VECTOR(75)
-MAKE_EXCEPTION_VECTOR(76)
-MAKE_EXCEPTION_VECTOR(77)
-MAKE_EXCEPTION_VECTOR(78)
-MAKE_EXCEPTION_VECTOR(79)
-
-MAKE_EXCEPTION_VECTOR(80)
-MAKE_EXCEPTION_VECTOR(81)
-MAKE_EXCEPTION_VECTOR(82)
-MAKE_EXCEPTION_VECTOR(83)
-MAKE_EXCEPTION_VECTOR(84)
-MAKE_EXCEPTION_VECTOR(85)
-MAKE_EXCEPTION_VECTOR(86)
-MAKE_EXCEPTION_VECTOR(87)
-MAKE_EXCEPTION_VECTOR(88)
-MAKE_EXCEPTION_VECTOR(89)
-
-MAKE_EXCEPTION_VECTOR(90)
-MAKE_EXCEPTION_VECTOR(91)
-MAKE_EXCEPTION_VECTOR(92)
-MAKE_EXCEPTION_VECTOR(93)
-MAKE_EXCEPTION_VECTOR(94)
-MAKE_EXCEPTION_VECTOR(95)
-MAKE_EXCEPTION_VECTOR(96)
-MAKE_EXCEPTION_VECTOR(97)
-MAKE_EXCEPTION_VECTOR(98)
-MAKE_EXCEPTION_VECTOR(99)
-
-MAKE_EXCEPTION_VECTOR(100)
-MAKE_EXCEPTION_VECTOR(101)
-MAKE_EXCEPTION_VECTOR(102)
-MAKE_EXCEPTION_VECTOR(103)
-MAKE_EXCEPTION_VECTOR(104)
-MAKE_EXCEPTION_VECTOR(105)
-MAKE_EXCEPTION_VECTOR(106)
-MAKE_EXCEPTION_VECTOR(107)
-MAKE_EXCEPTION_VECTOR(108)
-MAKE_EXCEPTION_VECTOR(109)
-
-MAKE_EXCEPTION_VECTOR(110)
-MAKE_EXCEPTION_VECTOR(111)
-MAKE_EXCEPTION_VECTOR(112)
-MAKE_EXCEPTION_VECTOR(113)
-MAKE_EXCEPTION_VECTOR(114)
-MAKE_EXCEPTION_VECTOR(115)
-MAKE_EXCEPTION_VECTOR(116)
-MAKE_EXCEPTION_VECTOR(117)
-MAKE_EXCEPTION_VECTOR(118)
-MAKE_EXCEPTION_VECTOR(119)
-
-MAKE_EXCEPTION_VECTOR(120)
-MAKE_EXCEPTION_VECTOR(121)
-MAKE_EXCEPTION_VECTOR(122)
-MAKE_EXCEPTION_VECTOR(123)
-MAKE_EXCEPTION_VECTOR(124)
-MAKE_EXCEPTION_VECTOR(125)
-MAKE_EXCEPTION_VECTOR(126)
-MAKE_EXCEPTION_VECTOR(127)
-MAKE_EXCEPTION_VECTOR(128)
-MAKE_EXCEPTION_VECTOR(129)
-
-MAKE_EXCEPTION_VECTOR(130)
-MAKE_EXCEPTION_VECTOR(131)
-MAKE_EXCEPTION_VECTOR(132)
-MAKE_EXCEPTION_VECTOR(133)
-MAKE_EXCEPTION_VECTOR(134)
-MAKE_EXCEPTION_VECTOR(135)
-MAKE_EXCEPTION_VECTOR(136)
-MAKE_EXCEPTION_VECTOR(137)
-MAKE_EXCEPTION_VECTOR(138)
-MAKE_EXCEPTION_VECTOR(139)
-
-MAKE_EXCEPTION_VECTOR(140)
-MAKE_EXCEPTION_VECTOR(141)
-MAKE_EXCEPTION_VECTOR(142)
-MAKE_EXCEPTION_VECTOR(143)
-MAKE_EXCEPTION_VECTOR(144)
-MAKE_EXCEPTION_VECTOR(145)
-MAKE_EXCEPTION_VECTOR(146)
-MAKE_EXCEPTION_VECTOR(147)
-MAKE_EXCEPTION_VECTOR(148)
-MAKE_EXCEPTION_VECTOR(149)
-
-MAKE_EXCEPTION_VECTOR(150)
-MAKE_EXCEPTION_VECTOR(151)
-MAKE_EXCEPTION_VECTOR(152)
-MAKE_EXCEPTION_VECTOR(153)
-MAKE_EXCEPTION_VECTOR(154)
-MAKE_EXCEPTION_VECTOR(155)
-MAKE_EXCEPTION_VECTOR(156)
-MAKE_EXCEPTION_VECTOR(157)
-MAKE_EXCEPTION_VECTOR(158)
-MAKE_EXCEPTION_VECTOR(159)
-
-MAKE_EXCEPTION_VECTOR(160)
-MAKE_EXCEPTION_VECTOR(161)
-MAKE_EXCEPTION_VECTOR(162)
-MAKE_EXCEPTION_VECTOR(163)
-MAKE_EXCEPTION_VECTOR(164)
-MAKE_EXCEPTION_VECTOR(165)
-MAKE_EXCEPTION_VECTOR(166)
-MAKE_EXCEPTION_VECTOR(167)
-MAKE_EXCEPTION_VECTOR(168)
-MAKE_EXCEPTION_VECTOR(169)
-
-MAKE_EXCEPTION_VECTOR(170)
-MAKE_EXCEPTION_VECTOR(171)
-MAKE_EXCEPTION_VECTOR(172)
-MAKE_EXCEPTION_VECTOR(173)
-MAKE_EXCEPTION_VECTOR(174)
-MAKE_EXCEPTION_VECTOR(175)
-MAKE_EXCEPTION_VECTOR(176)
-MAKE_EXCEPTION_VECTOR(177)
-MAKE_EXCEPTION_VECTOR(178)
-MAKE_EXCEPTION_VECTOR(179)
-
-MAKE_EXCEPTION_VECTOR(180)
-MAKE_EXCEPTION_VECTOR(181)
-MAKE_EXCEPTION_VECTOR(182)
-MAKE_EXCEPTION_VECTOR(183)
-MAKE_EXCEPTION_VECTOR(184)
-MAKE_EXCEPTION_VECTOR(185)
-MAKE_EXCEPTION_VECTOR(186)
-MAKE_EXCEPTION_VECTOR(187)
-MAKE_EXCEPTION_VECTOR(188)
-MAKE_EXCEPTION_VECTOR(189)
-
-MAKE_EXCEPTION_VECTOR(190)
-MAKE_EXCEPTION_VECTOR(191)
-MAKE_EXCEPTION_VECTOR(192)
-MAKE_EXCEPTION_VECTOR(193)
-MAKE_EXCEPTION_VECTOR(194)
-MAKE_EXCEPTION_VECTOR(195)
-MAKE_EXCEPTION_VECTOR(196)
-MAKE_EXCEPTION_VECTOR(197)
-MAKE_EXCEPTION_VECTOR(198)
-MAKE_EXCEPTION_VECTOR(199)
-
-MAKE_EXCEPTION_VECTOR(200)
-MAKE_EXCEPTION_VECTOR(201)
-MAKE_EXCEPTION_VECTOR(202)
-MAKE_EXCEPTION_VECTOR(203)
-MAKE_EXCEPTION_VECTOR(204)
-MAKE_EXCEPTION_VECTOR(205)
-MAKE_EXCEPTION_VECTOR(206)
-MAKE_EXCEPTION_VECTOR(207)
-MAKE_EXCEPTION_VECTOR(208)
-MAKE_EXCEPTION_VECTOR(209)
-
-MAKE_EXCEPTION_VECTOR(210)
-MAKE_EXCEPTION_VECTOR(211)
-MAKE_EXCEPTION_VECTOR(212)
-MAKE_EXCEPTION_VECTOR(213)
-MAKE_EXCEPTION_VECTOR(214)
-MAKE_EXCEPTION_VECTOR(215)
-MAKE_EXCEPTION_VECTOR(216)
-MAKE_EXCEPTION_VECTOR(217)
-MAKE_EXCEPTION_VECTOR(218)
-MAKE_EXCEPTION_VECTOR(219)
-
-MAKE_EXCEPTION_VECTOR(220)
-MAKE_EXCEPTION_VECTOR(221)
-MAKE_EXCEPTION_VECTOR(222)
-MAKE_EXCEPTION_VECTOR(223)
-MAKE_EXCEPTION_VECTOR(224)
-MAKE_EXCEPTION_VECTOR(225)
-MAKE_EXCEPTION_VECTOR(226)
-MAKE_EXCEPTION_VECTOR(227)
-MAKE_EXCEPTION_VECTOR(228)
-MAKE_EXCEPTION_VECTOR(229)
-
-MAKE_EXCEPTION_VECTOR(230)
-MAKE_EXCEPTION_VECTOR(231)
-MAKE_EXCEPTION_VECTOR(232)
-MAKE_EXCEPTION_VECTOR(233)
-MAKE_EXCEPTION_VECTOR(234)
-MAKE_EXCEPTION_VECTOR(235)
-MAKE_EXCEPTION_VECTOR(236)
-MAKE_EXCEPTION_VECTOR(237)
-MAKE_EXCEPTION_VECTOR(238)
-MAKE_EXCEPTION_VECTOR(239)
-
-MAKE_EXCEPTION_VECTOR(240)
-MAKE_EXCEPTION_VECTOR(241)
-MAKE_EXCEPTION_VECTOR(242)
-MAKE_EXCEPTION_VECTOR(243)
-MAKE_EXCEPTION_VECTOR(244)
-MAKE_EXCEPTION_VECTOR(245)
-MAKE_EXCEPTION_VECTOR(246)
-MAKE_EXCEPTION_VECTOR(247)
-MAKE_EXCEPTION_VECTOR(248)
-MAKE_EXCEPTION_VECTOR(249)
-
-MAKE_EXCEPTION_VECTOR(250)
-MAKE_EXCEPTION_VECTOR(251)
-MAKE_EXCEPTION_VECTOR(252)
-MAKE_EXCEPTION_VECTOR(253)
-MAKE_EXCEPTION_VECTOR(254)
-MAKE_EXCEPTION_VECTOR(255)
-
-|
-| Start
-|
-| Entered from a hardware reset.
-|
-
-        .global start                           | Default entry point for GNU
-start:
-
-        move.w  #0x2700,%sr                     | Disable all interrupts
-
-        |
-        | Program the BAR, give us a stack !!
-        |
-
-        moveq   #0,%d0
-        | Joel: With the change of MC68302_BASE from a #define to a linker
-	|       symbol, the following 4 instructions replace this one:
-        |          move.w  #(MC68302_BASE >> 12),%d0
-        move.l  #MC68302_BASE,%d0
-        moveq.l #12,%d1
-        lsr.l   %d1,%d0
-        and.l   #0xFFFF,%d0
-
-        or.w    #(MC68302_BAR_FC_CFC << 12),%d0
-        move.l  #MC68302_BAR,%a0
-        move.w  %d0,%a0@(0)
-
-        |
-        | watch for sign extended maths with the linker on (boot_phase_1-V___ISSP)
-        | manage the address with code, limited address of 2K at reset for CS0
-        |
-
-        move.l  #boot_phase_1,%d0
-        and.l   #0x1FFF,%d0
-        move.l  %d0,%a0
-        jsr     %a0@(0)                         | programs all basic 302 registers
-
-        |
-        | Map to the 68302 registers
-        |
-
-        move.l  #MC68302_BASE,%a5
-
-        |
-        | Make a vector table in RAM
-        |
-
-        move.l  #RAM_BASE,%a0                   | a0 -> rom vector table
-        moveal  #ROM_BASE,%a1                   | d1 -> start of tmp SRAM
-
-        move.l  #255,%d0
-
-copy_vec_table:
-
-        move.l  (%a0)+,%d1
-        or.l    #ROM_BASE,%d1
-        move.l  %d1,(%a1)+
-        subq.l  #1,%d0
-        bne     copy_vec_table
-
-#if defined(SYSTEM_TABLE_ANCHOR_OFFSET)
-        |
-        | Clear the system table
-        |
-
-        move.l  #SYSTEM_TABLE_ANCHOR_OFFSET,%a0
-        move.l  #0,(%a0)
-#endif
-
-        |
-        | Copy the chip select swap code to DPRAM and run it
-        |
-
-        move.l  #boot_phase_2,%d0
-        and.l   #(ROM_SIZE - 1),%d0
-        move.l  %d0,%a0                         | a0 -> remap code
-        lea     %a5@(0),%a1                     | a1 -> internal system RAM
-
-        move.l  #boot_phase_3,%d0
-        and.l   #(ROM_SIZE - 1),%d0
-        sub.l   %a0,%d0
-
-copy_remap:
-        move.b  (%a0)+,(%a1)+                   | copy
-        dbra    %d0,copy_remap
-
-        |
-        | Jump to the remap code in the 68302''s internal system RAM.
-        |
-
-        jsr     %a5@(0)                         | execute the swap code
-
-        |
-        | Map to the 68302 registers
-        |
-
-        move.l  #MC68302_BASE,%a5
-
-        |
-        | Copy initialized data area from ROM to RAM
-        |
-
-copy_data:
-        moveal  #_etext,%a0                     | find the end of .text
-        moveal  #_copy_start,%a1                | find the beginning of .data
-        moveal  #_edata,%a2                     | find the end of .data
-
-copy_data_loop:
-
-        movel   %a0 at +,%a1 at +                     | copy the data
-        cmpal   %a2,%a1
-        jlt     copy_data_loop                  | loop until edata reached
-
-        |
-        | zero out uninitialized data area
-        |
-
-zerobss:
-        moveal  #_clear_end,%a0                 | find end of .bss
-        moveal  #_clear_start,%a1               | find beginning of .bss
-        moveq   #0,%d0
-
-zerobss_loop:
-
-        movel   %d0,%a1 at +                       | to zero out uninitialized
-        cmpal   %a0,%a1
-        jlt     zerobss_loop                    | loop until _end reached
-
-        movel   #stack_end,%d0
-        andl    #0xfffffffc,%d0                 | align it on 16 byte boundary
-
-        movw    #0x3700,%sr                     | SUPV MODE,INTERRUPTS OFF!!!
-        movel   %d0,%a7                         | set master stack pointer
-        movel   %d0,%a6                         | set base pointer
-
-        jsr     boot_phase_3
-
-|
-| Create an unhandled exception jump table. The table has an entry for
-| each vector in the vector table. The entry pushes the vector number onto
-| the stack and then calls a common exception handler using PIC.
-|
-| The macros are to create the labels and format vectors.
-|
-
-#define FORMAT_ID(n) (n << 2)
-#define EXPAND(x) x
-#define EXCEPTION_HANDLER(h, n) EH__##n: move.w EXPAND(h) FORMAT_ID(n),-(%sp) ;  \
-                                        bra  common_exception_handler
-
-unhandled_exception:
-
-EXCEPTION_HANDLER(#, 0)
-EXCEPTION_HANDLER(#, 1)
-EXCEPTION_HANDLER(#, 2)
-EXCEPTION_HANDLER(#, 3)
-EXCEPTION_HANDLER(#, 4)
-EXCEPTION_HANDLER(#, 5)
-EXCEPTION_HANDLER(#, 6)
-EXCEPTION_HANDLER(#, 7)
-EXCEPTION_HANDLER(#, 8)
-EXCEPTION_HANDLER(#, 9)
-
-EXCEPTION_HANDLER(#, 10)
-EXCEPTION_HANDLER(#, 11)
-EXCEPTION_HANDLER(#, 12)
-EXCEPTION_HANDLER(#, 13)
-EXCEPTION_HANDLER(#, 14)
-EXCEPTION_HANDLER(#, 15)
-EXCEPTION_HANDLER(#, 16)
-EXCEPTION_HANDLER(#, 17)
-EXCEPTION_HANDLER(#, 18)
-EXCEPTION_HANDLER(#, 19)
-
-EXCEPTION_HANDLER(#, 20)
-EXCEPTION_HANDLER(#, 21)
-EXCEPTION_HANDLER(#, 22)
-EXCEPTION_HANDLER(#, 23)
-EXCEPTION_HANDLER(#, 24)
-EXCEPTION_HANDLER(#, 25)
-EXCEPTION_HANDLER(#, 26)
-EXCEPTION_HANDLER(#, 27)
-EXCEPTION_HANDLER(#, 28)
-EXCEPTION_HANDLER(#, 29)
-
-EXCEPTION_HANDLER(#, 30)
-EXCEPTION_HANDLER(#, 31)
-EXCEPTION_HANDLER(#, 32)
-EXCEPTION_HANDLER(#, 33)
-EXCEPTION_HANDLER(#, 34)
-EXCEPTION_HANDLER(#, 35)
-EXCEPTION_HANDLER(#, 36)
-EXCEPTION_HANDLER(#, 37)
-EXCEPTION_HANDLER(#, 38)
-EXCEPTION_HANDLER(#, 39)
-
-EXCEPTION_HANDLER(#, 40)
-EXCEPTION_HANDLER(#, 41)
-EXCEPTION_HANDLER(#, 42)
-EXCEPTION_HANDLER(#, 43)
-EXCEPTION_HANDLER(#, 44)
-EXCEPTION_HANDLER(#, 45)
-EXCEPTION_HANDLER(#, 46)
-EXCEPTION_HANDLER(#, 47)
-EXCEPTION_HANDLER(#, 48)
-EXCEPTION_HANDLER(#, 49)
-
-EXCEPTION_HANDLER(#, 50)
-EXCEPTION_HANDLER(#, 51)
-EXCEPTION_HANDLER(#, 52)
-EXCEPTION_HANDLER(#, 53)
-EXCEPTION_HANDLER(#, 54)
-EXCEPTION_HANDLER(#, 55)
-EXCEPTION_HANDLER(#, 56)
-EXCEPTION_HANDLER(#, 57)
-EXCEPTION_HANDLER(#, 58)
-EXCEPTION_HANDLER(#, 59)
-
-EXCEPTION_HANDLER(#, 60)
-EXCEPTION_HANDLER(#, 61)
-EXCEPTION_HANDLER(#, 62)
-EXCEPTION_HANDLER(#, 63)
-EXCEPTION_HANDLER(#, 64)
-EXCEPTION_HANDLER(#, 65)
-EXCEPTION_HANDLER(#, 66)
-EXCEPTION_HANDLER(#, 67)
-EXCEPTION_HANDLER(#, 68)
-EXCEPTION_HANDLER(#, 69)
-
-EXCEPTION_HANDLER(#, 70)
-EXCEPTION_HANDLER(#, 71)
-EXCEPTION_HANDLER(#, 72)
-EXCEPTION_HANDLER(#, 73)
-EXCEPTION_HANDLER(#, 74)
-EXCEPTION_HANDLER(#, 75)
-EXCEPTION_HANDLER(#, 76)
-EXCEPTION_HANDLER(#, 77)
-EXCEPTION_HANDLER(#, 78)
-EXCEPTION_HANDLER(#, 79)
-
-EXCEPTION_HANDLER(#, 80)
-EXCEPTION_HANDLER(#, 81)
-EXCEPTION_HANDLER(#, 82)
-EXCEPTION_HANDLER(#, 83)
-EXCEPTION_HANDLER(#, 84)
-EXCEPTION_HANDLER(#, 85)
-EXCEPTION_HANDLER(#, 86)
-EXCEPTION_HANDLER(#, 87)
-EXCEPTION_HANDLER(#, 88)
-EXCEPTION_HANDLER(#, 89)
-
-EXCEPTION_HANDLER(#, 90)
-EXCEPTION_HANDLER(#, 91)
-EXCEPTION_HANDLER(#, 92)
-EXCEPTION_HANDLER(#, 93)
-EXCEPTION_HANDLER(#, 94)
-EXCEPTION_HANDLER(#, 95)
-EXCEPTION_HANDLER(#, 96)
-EXCEPTION_HANDLER(#, 97)
-EXCEPTION_HANDLER(#, 98)
-EXCEPTION_HANDLER(#, 99)
-
-EXCEPTION_HANDLER(#, 100)
-EXCEPTION_HANDLER(#, 101)
-EXCEPTION_HANDLER(#, 102)
-EXCEPTION_HANDLER(#, 103)
-EXCEPTION_HANDLER(#, 104)
-EXCEPTION_HANDLER(#, 105)
-EXCEPTION_HANDLER(#, 106)
-EXCEPTION_HANDLER(#, 107)
-EXCEPTION_HANDLER(#, 108)
-EXCEPTION_HANDLER(#, 109)
-
-EXCEPTION_HANDLER(#, 110)
-EXCEPTION_HANDLER(#, 111)
-EXCEPTION_HANDLER(#, 112)
-EXCEPTION_HANDLER(#, 113)
-EXCEPTION_HANDLER(#, 114)
-EXCEPTION_HANDLER(#, 115)
-EXCEPTION_HANDLER(#, 116)
-EXCEPTION_HANDLER(#, 117)
-EXCEPTION_HANDLER(#, 118)
-EXCEPTION_HANDLER(#, 119)
-
-EXCEPTION_HANDLER(#, 120)
-EXCEPTION_HANDLER(#, 121)
-EXCEPTION_HANDLER(#, 122)
-EXCEPTION_HANDLER(#, 123)
-EXCEPTION_HANDLER(#, 124)
-EXCEPTION_HANDLER(#, 125)
-EXCEPTION_HANDLER(#, 126)
-EXCEPTION_HANDLER(#, 127)
-EXCEPTION_HANDLER(#, 128)
-EXCEPTION_HANDLER(#, 129)
-
-EXCEPTION_HANDLER(#, 130)
-EXCEPTION_HANDLER(#, 131)
-EXCEPTION_HANDLER(#, 132)
-EXCEPTION_HANDLER(#, 133)
-EXCEPTION_HANDLER(#, 134)
-EXCEPTION_HANDLER(#, 135)
-EXCEPTION_HANDLER(#, 136)
-EXCEPTION_HANDLER(#, 137)
-EXCEPTION_HANDLER(#, 138)
-EXCEPTION_HANDLER(#, 139)
-
-EXCEPTION_HANDLER(#, 140)
-EXCEPTION_HANDLER(#, 141)
-EXCEPTION_HANDLER(#, 142)
-EXCEPTION_HANDLER(#, 143)
-EXCEPTION_HANDLER(#, 144)
-EXCEPTION_HANDLER(#, 145)
-EXCEPTION_HANDLER(#, 146)
-EXCEPTION_HANDLER(#, 147)
-EXCEPTION_HANDLER(#, 148)
-EXCEPTION_HANDLER(#, 149)
-
-EXCEPTION_HANDLER(#, 150)
-EXCEPTION_HANDLER(#, 151)
-EXCEPTION_HANDLER(#, 152)
-EXCEPTION_HANDLER(#, 153)
-EXCEPTION_HANDLER(#, 154)
-EXCEPTION_HANDLER(#, 155)
-EXCEPTION_HANDLER(#, 156)
-EXCEPTION_HANDLER(#, 157)
-EXCEPTION_HANDLER(#, 158)
-EXCEPTION_HANDLER(#, 159)
-
-EXCEPTION_HANDLER(#, 160)
-EXCEPTION_HANDLER(#, 161)
-EXCEPTION_HANDLER(#, 162)
-EXCEPTION_HANDLER(#, 163)
-EXCEPTION_HANDLER(#, 164)
-EXCEPTION_HANDLER(#, 165)
-EXCEPTION_HANDLER(#, 166)
-EXCEPTION_HANDLER(#, 167)
-EXCEPTION_HANDLER(#, 168)
-EXCEPTION_HANDLER(#, 169)
-
-EXCEPTION_HANDLER(#, 170)
-EXCEPTION_HANDLER(#, 171)
-EXCEPTION_HANDLER(#, 172)
-EXCEPTION_HANDLER(#, 173)
-EXCEPTION_HANDLER(#, 174)
-EXCEPTION_HANDLER(#, 175)
-EXCEPTION_HANDLER(#, 176)
-EXCEPTION_HANDLER(#, 177)
-EXCEPTION_HANDLER(#, 178)
-EXCEPTION_HANDLER(#, 179)
-
-EXCEPTION_HANDLER(#, 180)
-EXCEPTION_HANDLER(#, 181)
-EXCEPTION_HANDLER(#, 182)
-EXCEPTION_HANDLER(#, 183)
-EXCEPTION_HANDLER(#, 184)
-EXCEPTION_HANDLER(#, 185)
-EXCEPTION_HANDLER(#, 186)
-EXCEPTION_HANDLER(#, 187)
-EXCEPTION_HANDLER(#, 188)
-EXCEPTION_HANDLER(#, 189)
-
-EXCEPTION_HANDLER(#, 190)
-EXCEPTION_HANDLER(#, 191)
-EXCEPTION_HANDLER(#, 192)
-EXCEPTION_HANDLER(#, 193)
-EXCEPTION_HANDLER(#, 194)
-EXCEPTION_HANDLER(#, 195)
-EXCEPTION_HANDLER(#, 196)
-EXCEPTION_HANDLER(#, 197)
-EXCEPTION_HANDLER(#, 198)
-EXCEPTION_HANDLER(#, 199)
-
-EXCEPTION_HANDLER(#, 200)
-EXCEPTION_HANDLER(#, 201)
-EXCEPTION_HANDLER(#, 202)
-EXCEPTION_HANDLER(#, 203)
-EXCEPTION_HANDLER(#, 204)
-EXCEPTION_HANDLER(#, 205)
-EXCEPTION_HANDLER(#, 206)
-EXCEPTION_HANDLER(#, 207)
-EXCEPTION_HANDLER(#, 208)
-EXCEPTION_HANDLER(#, 209)
-
-EXCEPTION_HANDLER(#, 210)
-EXCEPTION_HANDLER(#, 211)
-EXCEPTION_HANDLER(#, 212)
-EXCEPTION_HANDLER(#, 213)
-EXCEPTION_HANDLER(#, 214)
-EXCEPTION_HANDLER(#, 215)
-EXCEPTION_HANDLER(#, 216)
-EXCEPTION_HANDLER(#, 217)
-EXCEPTION_HANDLER(#, 218)
-EXCEPTION_HANDLER(#, 219)
-
-EXCEPTION_HANDLER(#, 220)
-EXCEPTION_HANDLER(#, 221)
-EXCEPTION_HANDLER(#, 222)
-EXCEPTION_HANDLER(#, 223)
-EXCEPTION_HANDLER(#, 224)
-EXCEPTION_HANDLER(#, 225)
-EXCEPTION_HANDLER(#, 226)
-EXCEPTION_HANDLER(#, 227)
-EXCEPTION_HANDLER(#, 228)
-EXCEPTION_HANDLER(#, 229)
-
-EXCEPTION_HANDLER(#, 230)
-EXCEPTION_HANDLER(#, 231)
-EXCEPTION_HANDLER(#, 232)
-EXCEPTION_HANDLER(#, 233)
-EXCEPTION_HANDLER(#, 234)
-EXCEPTION_HANDLER(#, 235)
-EXCEPTION_HANDLER(#, 236)
-EXCEPTION_HANDLER(#, 237)
-EXCEPTION_HANDLER(#, 238)
-EXCEPTION_HANDLER(#, 239)
-
-EXCEPTION_HANDLER(#, 240)
-EXCEPTION_HANDLER(#, 241)
-EXCEPTION_HANDLER(#, 242)
-EXCEPTION_HANDLER(#, 243)
-EXCEPTION_HANDLER(#, 244)
-EXCEPTION_HANDLER(#, 245)
-EXCEPTION_HANDLER(#, 246)
-EXCEPTION_HANDLER(#, 247)
-EXCEPTION_HANDLER(#, 248)
-EXCEPTION_HANDLER(#, 249)
-
-EXCEPTION_HANDLER(#, 250)
-EXCEPTION_HANDLER(#, 251)
-EXCEPTION_HANDLER(#, 252)
-EXCEPTION_HANDLER(#, 253)
-EXCEPTION_HANDLER(#, 254)
-EXCEPTION_HANDLER(#, 255)
-
-common_exception_handler:
-
-        |
-        | Need to put the format/vector above the PC and status register
-        |
-
-        move.l  %d0,-(%sp)                      | free a register
-        move.w  4(%sp),%d0                      | get the format/vector id
-
-        |
-        | If a bus error or address error then trash the extra
-        | data saved on the stack
-        |
-
-        cmp.w   #0x0008,%d0
-        beq     ceh_10
-
-        cmp.w   #0x000C,%d0
-        beq     ceh_10
-
-        bra     ceh_20
-ceh_10:
-
-        move.w  %d0,12(%sp)                     | need to move the format/id
-        move.l  (%sp)+,%d0                      | recover d0
-        addq    #8,%sp                          | trash the stack
-        move.l  %d0,-(%sp)                      | free a register, again
-        move.w  4(%sp),%d0                      | get the format/vector id
-
-ceh_20:
-
-        move.w  6(%sp),4(%sp)
-        move.w  8(%sp),6(%sp)
-        move.w  10(%sp),8(%sp)
-        move.w  %d0,10(%sp)                     | put the format/vector id
-        move.l  (%sp)+,%d0
-
-        |
-        | Save all the registers, pass control to a dump trace routine
-        |
-
-        movem.l %d0-%d7/%a0-%a7,%sp at -
-
-        |
-        | check to see if ROM is mapped to zero
-        |
-
-        move.l  #(ROM_SIZE - 1),%d1
-        not.l   %d1
-        lea.l   %pc@(0),%a0                     | were are we currently
-        move.l  %a0,%d0                         | need to use a data register
-        and.l   %d1,%d0                         | keep the top part of the address
-        move.l  #trace_exception,%d1            | get the linked address
-        and.l   #(ROM_SIZE - 1),%d1             | obtain the offset into the ROM
-        or.l    %d1,%d0                         | apply it to the trace exception offset
-        move.l  %d0,%a0                         | need an address register for jumping
-        jsr     %a0@(0)
-
-ceh_30:
-        jmp     ceh_30
-
-|
-| The RAM based vector table
-|
-
-        .sect   .vtable
-
-        .global vector_table
-
-vector_table:
-        .space  (256 * 4),0
-
-|
-| Initialised data
-|
-
-        .sect   .data
-
-        .global start_frame
-
-start_frame:
-        .space  4,0
-
-|
-| Uninitialised data
-|
-
-        .sect   .bss
-
-        .global environ
-        .align  2
-
-environ:
-        .long   0
-
-        .global heap_size
-        .set    heap_size,0x2000
-
-        .global stack_size
-        .set    stack_size,0x1000
-        .global stack_start
-
-stack_start:
-stack_base:
-        .space  0x2000, 0
-stack_end:
-        .long   0
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c b/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c
deleted file mode 100644
index 2d537fa..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*****************************************************************************/
-/*
-  Boot the CPU.
-
-  Occurs in 3 phases for a 68302.
-
-  Phase 1.
-
-  Called as soon as able after reset. The BAR has been programed, and
-  a small stack exists in the DPRAM. All interrupts are masked, and
-  the processor is running in supervisor mode. No other hardware or
-  chip selects are active.
-
-  This phase programs the chip select registers, the parallel ports
-  are set into default configurations, and basic registers cleared or
-  reset. The leds are programmed to show the end of phase 1.
-
-  Phase 2.
-
-  This is a piece of code which is copied to DPRAM and executed. It
-  should not do any more thann is currently present. The return to ROM
-  is managed by modifing the return address. Again leds show the status.
-
-  Phase 3.
-
-  This code executes with a valid C environment. That is the data
-  section has been intialised and the bss section set to 0. This phase
-  performs any special card initialisation and then calls boot card.
-
-*/
-/*****************************************************************************/
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-#include <rtems/m68k/m68302.h>
-#include <debugport.h>
-#include <crc.h>
-
-/*
-  Open the address, reset all registers
-  */
-
-extern int ROM_SIZE, ROM_BASE;
-extern int RAM_SIZE, RAM_BASE;
-
-#define _ROM_SIZE ((unsigned int)&ROM_SIZE)
-#define _ROM_BASE ((unsigned int)&ROM_BASE)
-#define _RAM_SIZE ((unsigned int)&RAM_SIZE)
-#define _RAM_BASE ((unsigned int)&RAM_BASE)
-
-void boot_phase_1(void)
-{
-  M302_SCR = SCR_DEFAULT;
-
-  WRITE_OR(CSEL_ROM, _ROM_SIZE, ROM_WAIT_STATES, OR_MASK_RW, OR_MASK_FC);
-  WRITE_BR(CSEL_ROM, _RAM_BASE, BR_READ_ONLY, BR_FC_NULL, BR_ENABLED);
-  WRITE_OR(CSEL_RAM, _RAM_SIZE, RAM_WAIT_STATES, OR_MASK_RW, OR_MASK_FC);
-  WRITE_BR(CSEL_RAM, _ROM_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
-
-#if defined(CSEL_1)
-  WRITE_OR(CSEL_1, CSEL_1_SIZE, CSEL_1_WAIT_STATES, OR_MASK_RW, OR_MASK_FC);
-  WRITE_BR(CSEL_1, CSEL_1_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
-#endif
-
-#if defined(CSEL_2)
-  WRITE_OR(CSEL_2, CSEL_2_SIZE, CSEL_2_WAIT_STATES, OR_MASK_RW, OR_MASK_FC);
-  WRITE_BR(CSEL_2, CSEL_2_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
-#endif
-
-  m302.reg.ipr = m302.reg.imr = m302.reg.isr = 0;
-  m302.reg.gimr = 0x0080;
-
-  m302.reg.simode = 0;
-
-  m302.reg.pacnt = CARD_PA_CONFIGURATION;
-  m302.reg.paddr = CARD_PA_DEFAULT_DIRECTIONS;
-  m302.reg.padat = CARD_PA_DEFAULT_DATA;
-
-  m302.reg.pbcnt = CARD_PB_CONFIGURATION;
-  m302.reg.pbddr = CARD_PB_DEFAULT_DIRECTIONS;
-  m302.reg.pbdat = CARD_PB_DEFAULT_DATA;
-
-  m302.reg.wrr = WATCHDOG_TIMEOUT_PERIOD | WATCHDOG_ENABLE;
-
-#if defined(LED_CONTROL)
-  LED_CONTROL(LED_1_RED, LED_2_OFF, LED_3_OFF, LED_4_OFF,
-              LED_5_OFF, LED_6_OFF, LED_7_OFF, LED_8_OFF);
-#endif
-}
-
-/*
-  Swap the chip select mapping for ROM and RAM
-  */
-
-void boot_phase_2(void)
-{
-  uint32_t         stack;
-
-#if defined(LED_CONTROL)
-  LED_CONTROL(LED_1_RED, LED_2_RED, LED_3_OFF, LED_4_OFF,
-              LED_5_OFF, LED_6_OFF, LED_7_OFF, LED_8_OFF);
-#endif
-
-  WRITE_BR(CSEL_ROM, _ROM_BASE, BR_READ_ONLY, BR_FC_NULL, BR_ENABLED);
-  WRITE_BR(CSEL_RAM, _RAM_BASE, BR_READ_WRITE, BR_FC_NULL, BR_ENABLED);
-
-#if defined(LED_CONTROL)
-  LED_CONTROL(LED_1_GREEN, LED_2_RED, LED_3_OFF, LED_4_OFF,
-              LED_5_OFF, LED_6_OFF, LED_7_OFF, LED_8_OFF);
-#endif
-
-  /* seems to want 2, looked at assember code output */
-  *((volatile uint32_t*) (&stack + 2)) |= ROM_BASE;
-}
-
-/*
-  Any pre-main initialisation, the C environment is setup, how-ever C++
-  static constructors have not been called, and RTEMS is not initialised.
-  */
-
-void set_debug_traps(void);
-void breakpoint(void);
-
-void boot_phase_3(void)
-{
-  if (GDB_RUN_MONITOR())
-  {
-    set_debug_traps();
-    breakpoint();
-  }
-
-  debug_port_banner();
-
-  /* FIXME : add RAM and ROM checks */
-
-  /* boot the bsp, what ever this means */
-  boot_card((void*)0);
-
-  WATCHDOG_TRIGGER();
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/crc.c b/c/src/lib/libbsp/m68k/ods68302/startup/crc.c
deleted file mode 100644
index 4170f9c..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/crc.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*****************************************************************************/
-/*
-  CRC 16 Calculation
-
-  This module calculates the CRC-16.
-
- */
-/*****************************************************************************/
-
-#include "bsp.h"
-#include <rtems/m68k/m68302.h>
-#include "crc.h"
-
- /* ----
-     C O N S T A N T S
-
- */
-
-static const uint16_t         factor[] =
- {
-   0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241,
-   0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440,
-   0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40,
-   0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841,
-   0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40,
-   0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41,
-   0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641,
-   0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040,
-   0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240,
-   0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441,
-   0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41,
-   0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840,
-   0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41,
-   0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40,
-   0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640,
-   0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041,
-   0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240,
-   0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441,
-   0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41,
-   0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840,
-   0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41,
-   0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40,
-   0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640,
-   0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041,
-   0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241,
-   0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440,
-   0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40,
-   0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841,
-   0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40,
-   0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41,
-   0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641,
-   0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
- };
-
-/*
-   MACRO : calculates a CRC byte wise
- */
-
-#define NEW_CRC(byte, crc) factor[(byte) ^ ((crc) & 0xFF)] ^ (((crc) >> 8) & 0xFF)
-
-/* ----
-   CalcCRC
-
-   Calculates the CRC value of a block of memory
-*/
-
-uint16_t         calc_crc(void* vdata,            /* pointer to memory block */
-                          uint32_t         count) /* length of block in bytes */
-{
-   register uint8_t         *data = vdata;
-   register uint16_t         crc;
-   register uint32_t         byte;
-
-    /* initialise to either 0x0 or 0xffff depending on the
-       CRC implementation */
-
-   crc = 0;
-
-   for (byte = count; byte > 0; byte--)
-   {
-     WATCHDOG_TOGGLE();
-     crc = NEW_CRC(*data++, crc);
-   }
-
-   return crc;
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/debugger b/c/src/lib/libbsp/m68k/ods68302/startup/debugger
deleted file mode 100644
index 62fd5bc..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/debugger
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * MC68302 Linker command file
- */
-
-SECTIONS
-{
-  .text . :
-  {
-    text_start = .;
-    *(.text)
-    etext = .;
-    . = ALIGN(4);
-    __CTOR_LIST__ = .;
-    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
-    *(.ctors)
-    LONG(0)
-    __CTOR_END__ = .;
-    . = ALIGN(4);
-    __DTOR_LIST__ = .;
-    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
-    *(.dtors)
-    LONG(0)
-    __DTOR_END__ = .;
-  }
-
-  .tdata : {
-    _TLS_Data_begin = .;
-    *(.tdata .tdata.* .gnu.linkonce.td.*)
-    _TLS_Data_end = .;
-  }
-  .tbss : {
-    _TLS_BSS_begin = .;
-    *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
-    _TLS_BSS_end = .;
-  }
-  _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
-  _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
-  _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
-  _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
-  _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
-  _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
-
-  .vtable (ADDR(.text) + SIZEOF(.text))  :
-  {
-    vtable_start = .;
-    *(.vtable)
-    evtable = .;
-  }
-  .data (ADDR(.vtable) + SIZEOF(.vtable)) : 
-  {
-    data_start = .;
-    *(.data)
-    KEEP (*(SORT(.rtemsroset.*)))
-    KEEP (*(SORT(.rtemsrwset.*)))
-    edata = .;
-  }
-  .bss (ADDR(.data) + SIZEOF(.data)) :
-  {
-    bss_start = .;
-    *(.bss)
-    *(COMMON)
-    end = . ;
-    _end = . ;
-  }  
-}
-
-
-RAM_BASE = DEFINED(RAM_BASE) ? RAM_BASE : 0x00000000;
-RAM_SIZE = DEFINED(RAM_SIZE) ? RAM_SIZE : 0x00100000;
-ROM_BASE = DEFINED(ROM_BASE) ? ROM_BASE : 0x00010000;
-ROM_SIZE = DEFINED(ROM_SIZE) ? ROM_SIZE : 0x00100000;
-MC68302_BASE = DEFINED(MC68302_BASE) ? MC68302_BASE : 0x00700000;
-m302 = MC68302_BASE;
-_VBR = 0;		/* location of the VBR table (in RAM) */
-
-ENTRY(start);
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c b/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c
deleted file mode 100644
index fcbdc99..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/debugport.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*****************************************************************************/
-/*
-  High Level Debug Port Functions
-
- */
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdarg.h>
-
-#include "debugport.h"
-#include "m68302scc.h"
-#include "bsp.h"
-
-static int initialised;
-
-void debug_port_initialise(void)
-{
-  scc_initialise(CONSOLE_PORT, CONSOLE_BAUD, FALSE);
-#if defined(DEBUG_PORT)
-  scc_initialise(DEBUG_PORT, DEBUG_BAUD, FALSE);
-#endif
-}
-
-unsigned char debug_port_status(const unsigned char status)
-{
-  if (!initialised)
-  {
-    initialised = 1;
-    debug_port_initialise();
-  }
-
-  return scc_status(CONSOLE_PORT, status);
-}
-
-unsigned char debug_port_in(void)
-{
-  if (!initialised)
-  {
-    initialised = 1;
-    debug_port_initialise();
-  }
-
-  return scc_in(CONSOLE_PORT);
-}
-
-void debug_port_out(const unsigned char character)
-{
-  if (!initialised)
-  {
-    initialised = 1;
-    debug_port_initialise();
-  }
-
-  scc_out(CONSOLE_PORT, character);
-}
-
-void debug_port_write(const char *buffer)
-{
-   while (*buffer != '\0')
-   {
-     debug_port_out(*buffer++);
-   }
-}
-
-void debug_port_write_buffer(const char *buffer, unsigned int size)
-{
-   unsigned int count;
-   for (count = 0; count < size; count++)
-   {
-     debug_port_out(buffer[count]);
-   }
-}
-
-void debug_port_write_hex_uint(const unsigned int value)
-{
-   unsigned int bits = sizeof(value) * 8;
-   unsigned char c;
-
-   do
-   {
-     bits -= 4;
-     c = (unsigned char) ((value >> bits) & 0x0F);
-     if (c < 10)
-     {
-       c += '0';
-     }
-     else
-     {
-       c += 'a' - 10;
-     }
-     debug_port_out((char) c);
-   }
-   while (bits);
-}
-
-void debug_port_write_hex_ulong(const unsigned long value)
-{
-   unsigned int bits = sizeof(value) * 8;
-   unsigned char c;
-
-   do
-   {
-     bits -= 4;
-     c = (unsigned char) ((value >> bits) & 0x0F);
-     if (c < 10)
-     {
-       c += '0';
-     }
-     else
-     {
-       c += 'a' - 10;
-     }
-     debug_port_out((char) c);
-   }
-   while (bits);
-}
-
-#define BUFFER_SIZE (256)
-static char buffer[BUFFER_SIZE];
-
-void debug_port_printf(const char *format, ...)
-{
-  va_list args;
-  int written;
-
-  /*  gain access to the argument list */
-  va_start(args, format);
-
-  /* set the trap    */
-  buffer[BUFFER_SIZE - 2] = '\xAA';
-  buffer[BUFFER_SIZE - 1] = '\x55';
-
-  /* format the string and send to stdout */
-  written = vsprintf(buffer, format, args);
-
-  /* try an trap format buffer overflows */
-  if ((buffer[BUFFER_SIZE - 2] != '\xAA') ||
-      (buffer[BUFFER_SIZE - 1] != '\x55'))
-  {
-    debug_port_write("debug port buffer overflow, halting...");
-    DISABLE_WATCHDOG();
-    while (1 == 1);
-  }
-
-  /* see if an error occurred, if not flush the output buffer */
-  if (written != -1)
-  {
-    debug_port_write_buffer(buffer, written);
-  }
-}
-
-void debug_port_banner(void)
-{
-#define CARD_LABEL "ods68302-" #VARIANT
-
-  debug_port_write("\n\n\r");
-  debug_port_write(_Copyright_Notice);
-  debug_port_write("\n\r  " CARD_ID "\n\r");
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c b/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c
deleted file mode 100644
index 45bfe42..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/gdb-hooks.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- *  Hooks for GDB
- *
- */
-
-#include <bsp.h>
-#include <rtems/m68k/m68302.h>
-#include <m68302scc.h>
-
-static int initialised = 0;
-
-/*
- * This file does not intend to make things part of the public interface.
- * Methods here are only available to the GDB stub. So prototypes are
- * needed to avoid warnings.
- */
-void putDebugChar(char ch);
-char getDebugChar(void);
-void exceptionHandler(unsigned int vector, void *handler);
-
-void putDebugChar(char ch)
-{
-  if (!initialised)
-  {
-    scc_initialise(DEBUG_PORT, DEBUG_BAUD, 0);
-    initialised = 1;
-  }
-
-  scc_out(DEBUG_PORT, ch);
-}
-
-char getDebugChar(void)
-{
-  if (!initialised)
-  {
-    scc_initialise(DEBUG_PORT, DEBUG_BAUD, 0);
-    initialised = 1;
-  }
-
-  while (!scc_status(DEBUG_PORT, 0));
-
-  return scc_in(DEBUG_PORT);
-}
-
-/*
- * Need to create yet another jump table for gdb this time
- */
-
-void (*exceptionHook)(unsigned int) = 0;
-
-typedef struct {
-  uint16_t         move_a7;            /* move #FORMAT_ID,%a7 at - */
-  uint16_t         format_id;
-  uint16_t         jmp;                /* jmp  _ISR_Handlers */
-  uint32_t         isr_handler;
-} GDB_HANDLER_ENTRY;
-
-#if !defined(M68K_MOVE_A7)
-#define M68K_MOVE_A7 0x3F3C
-#endif
-
-#if !defined(M68K_JMP)
-#define M68K_JMP     0x4EF9
-#endif
-
-/* points to jsr-exception-table in targets wo/ VBR register */
-static GDB_HANDLER_ENTRY gdb_jump_table[256];
-
-void exceptionHandler(unsigned int vector, void *handler)
-{
-  uint32_t         *interrupt_table = 0;
-
-  gdb_jump_table[vector].move_a7 = M68K_MOVE_A7;
-  gdb_jump_table[vector].format_id = vector;
-  gdb_jump_table[vector].jmp = M68K_JMP;
-  gdb_jump_table[vector].isr_handler = (uint32_t) handler;
-
-  interrupt_table[vector] = (uint32_t) &gdb_jump_table[vector];
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds b/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
deleted file mode 100644
index 39bdee0..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/linkcmds
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * MC68302 Linker command file
- *
- */
-
-/*
- * Declare some sizes.
- */
-RamBase = DEFINED(RamBase) ? RamBase : 0x0;
-RamSize = DEFINED(RamSize) ? RamSize : 1M;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
-
-/*
- * Memory map.
- */
-RAM_BASE = DEFINED(RAM_BASE) ? RAM_BASE : 0x00000000;
-RAM_SIZE = DEFINED(RAM_SIZE) ? RAM_SIZE : 0x00100000;
-ROM_BASE = DEFINED(ROM_BASE) ? ROM_BASE : 0x00C00000;
-ROM_SIZE = DEFINED(ROM_SIZE) ? ROM_SIZE : 0x00100000;
-MC68302_BASE = DEFINED(MC68302_BASE) ? MC68302_BASE : 0x00700000;
-
-/*
- * Declare on-board memory.
- */
-MEMORY {
-          ram : ORIGIN = 0x00000000, LENGTH = 1M
-          rom : ORIGIN = 0x00C00000, LENGTH = 512K
-}
-SECTIONS
-{
-	.vtable RAM_BASE :
-	{
-		vtable_start = .;
-		*(.vtable*)
-		evtable = .;
-	} >ram
-
-        /*
-         * Text, data and bss segments
-         */
-        .text ROM_BASE : {
-                /*
-                 * Needs to be first. 8K limit on CS0 at reset.
-                 */
-		*(.resettext);
-                *cpuboot.o(.text*)
-
-                /*
-                 * The reset of the text is entered once CS0 is remapped.
-                 */
-                *(.text*)
-
-		/*
-		 * C++ constructors/destructors
-		 */
-		*(.gnu.linkonce.t.*)
-
-		/*
-		 * Initialization and finalization code.
-     		 *
-     		 * Various files can provide initialization and finalization
-		 * functions.  crtbegin.o and crtend.o are two instances. The
-		 * body of these functions are in .init and .fini sections. We
-		 * accumulate the bodies here, and prepend function prologues
-		 * from crti.o and function epilogues from crtn.o. crti.o must
-		 * be linked first; crtn.o must be linked last.  Because these
-		 * are wildcards, it doesn't matter if the user does not
-		 * actually link against crti.o and crtn.o; the linker won't
-		 * look for a file to match a wildcard.  The wildcard also
-		 * means that it doesn't matter which directory crti.o and
-		 * crtn.o are in. 
-		 */
-		PROVIDE (_init = .);
-		*crti.o(.init)
-		*(.init)
-		*crtn.o(.init)
-		PROVIDE (_fini = .);
-		*crti.o(.fini)
-		*(.fini)
-		*crtn.o(.fini)
-
-		/*
-		 * Special FreeBSD sysctl sections.
-		 */
-		. = ALIGN (16);
-		__start_set_sysctl_set = .;
-		*(set_sysctl_*);
-		__stop_set_sysctl_set = ABSOLUTE(.);
-		*(set_domain_*);
-		*(set_pseudo_*);
-
-		/*
-		 * C++ constructors/destructors
-     		 *
-     		 * gcc uses crtbegin.o to find the start of the constructors
-		 * and destructors so we make sure it is first.  Because this
-		 * is a wildcard, it doesn't matter if the user does not
-		 * actually link against crtbegin.o; the linker won't look for
-		 * a file to match a wildcard.  The wildcard also means that
-		 * it doesn't matter which directory crtbegin.o is in. The
-		 * constructor and destructor list are terminated in
-		 * crtend.o.  The same comments apply to it.
-		 */
-		. = ALIGN (16);
-		*crtbegin.o(.ctors)
-		*(.ctors)
-		*crtend.o(.ctors)
-		*crtbegin.o(.dtors)
-		*(.dtors)
-		*crtend.o(.dtors)
-
-		/*
-		 * Exception frame info
-		 */
-		. = ALIGN (16);
-		*(.eh_frame)
-
-		/*
-		 * Read-only data
-		 */
-		. = ALIGN (16);
-		_rodata_start = .;
-		*(.rodata*)
-		KEEP (*(SORT(.rtemsroset.*)))
-		*(.gnu.linkonce.r*)
-
-                 . = ALIGN (16);
-                PROVIDE (_etext = .);
-        } >rom
-
-	.tdata : {
-		_TLS_Data_begin = .;
-		*(.tdata .tdata.* .gnu.linkonce.td.*)
-		_TLS_Data_end = .;
-	} >rom
-
-	.tbss : {
-		_TLS_BSS_begin = .;
-		*(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
-		_TLS_BSS_end = .;
-	} >rom
-
-	_TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
-	_TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
-	_TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
-	_TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
-	_TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
-	_TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
-
-
-        .data (ADDR(.vtable) + SIZEOF(.vtable)) : 
-          AT (ADDR(.tdata) + SIZEOF(.tdata)) {
-                PROVIDE (_copy_start = .);
-                *(.data*)
-                KEEP (*(SORT(.rtemsrwset.*)))
-		*(.gnu.linkonce.d*)
-		*(.gcc_except_table*)
-		*(.jcr)
-                . = ALIGN (16);
-                PROVIDE (_edata = .);
-                PROVIDE (_copy_end = .);
-        } >ram
-        .bss (ADDR(.data) + SIZEOF(.data)) : {
-                _clear_start = .;
-                *(.dynbss)
-                *(.bss* .gnu.linkonce.b.*)
-                *(COMMON)
-                . = ALIGN (16);
-                PROVIDE (end = .);
-
-                . += _StackSize;
-                . = ALIGN (16);
-                _stack_init = .;
-                _clear_end = .;
-
-                WorkAreaBase = .;
-        } >ram
-
-  /* Stabs debugging sections.  */
-  .stab 0 : { *(.stab) }
-  .stabstr 0 : { *(.stabstr) }
-  .stab.excl 0 : { *(.stab.excl) }
-  .stab.exclstr 0 : { *(.stab.exclstr) }
-  .stab.index 0 : { *(.stab.index) }
-  .stab.indexstr 0 : { *(.stab.indexstr) }
-  .comment 0 : { *(.comment) }
-
-  /* DWARF debug sections.
-     Symbols in the DWARF debugging sections are relative to the beginning
-     of the section so we begin them at 0.  */
-  /* DWARF 1 */
-  .debug          0 : { *(.debug) }
-  .line           0 : { *(.line) }
-  
-  /* GNU DWARF 1 extensions */
-  .debug_srcinfo  0 : { *(.debug_srcinfo) }
-  .debug_sfnames  0 : { *(.debug_sfnames) }
-  
-  /* DWARF 1.1 and DWARF 2 */
-  .debug_aranges  0 : { *(.debug_aranges) }
-  .debug_pubnames 0 : { *(.debug_pubnames) }
-  
-  /* DWARF 2 */
-  .debug_info     0 : { *(.debug_info) }
-  .debug_abbrev   0 : { *(.debug_abbrev) }
-  .debug_line     0 : { *(.debug_line) }
-  .debug_frame    0 : { *(.debug_frame) }
-  .debug_str      0 : { *(.debug_str) }
-  .debug_loc      0 : { *(.debug_loc) }
-  .debug_macinfo  0 : { *(.debug_macinfo) }
-  
-  /* SGI/MIPS DWARF 2 extensions */
-  .debug_weaknames 0 : { *(.debug_weaknames) }
-  .debug_funcnames 0 : { *(.debug_funcnames) }
-  .debug_typenames 0 : { *(.debug_typenames) }
-  .debug_varnames  0 : { *(.debug_varnames) }
-  /* These must appear regardless of  .  */
-}
-
-m302 = MC68302_BASE;
-_VBR = ADDR(.vtable);		/* location of the VBR table (in RAM) */
-
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c b/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c
deleted file mode 100644
index 6065cfb..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/m68302scc.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*****************************************************************************/
-/*
-  M68302 SCC Polled Driver
-
- */
-/*****************************************************************************/
-
-#include <bsp.h>
-#include <rtems/m68k/m68302.h>
-#include <m68302scc.h>
-
-#define M68302_SCC_COUNT (3)
-
-static volatile m302_SCC_t *scc[M68302_SCC_COUNT] = { 0, 0, 0 };
-static volatile m302_SCC_Registers_t *scc_reg[M68302_SCC_COUNT] = { 0, 0, 0 };
-static int scc_translate[M68302_SCC_COUNT] = { 0, 0, 0 };
-
-static const uint16_t         baud_clocks[] =
-{
-  (SYSTEM_CLOCK / (  4800 * 16)),
-  (SYSTEM_CLOCK / (  9600 * 16)),
-  (SYSTEM_CLOCK / ( 19200 * 16)),
-  (SYSTEM_CLOCK / ( 38400 * 16)),
-  (SYSTEM_CLOCK / ( 57600 * 16)),
-  (SYSTEM_CLOCK / (115700 * 16))
-};
-
-void scc_initialise(int channel, int baud, int translate)
-{
-  uint16_t         scon;
-
-  if (channel < M68302_SCC_COUNT)
-  {
-    scc[channel] = &m302.scc1 + channel;
-    scc_reg[channel] = &m302.reg.scc[channel];
-    scc_translate[channel] = translate;
-
-    scon  = (baud_clocks[baud] & 0xF800) == 0 ? 0 : 1;
-    scon |= (((baud_clocks[baud] / (1 + scon * 3)) - 1) << 1) & 0x0FFE;
-
-    scc_reg[channel]->scon = scon;
-    scc_reg[channel]->scm = 0x0171;
-
-    scc[channel]->bd.tx[0].status = 0x2000;
-    scc[channel]->bd.tx[0].length = 0;
-    scc[channel]->bd.tx[0].buffer =
-      (uint8_t*) &(scc[channel]->bd.tx[1].buffer);
-
-    scc[channel]->bd.rx[0].status = 0x2000;
-    scc[channel]->bd.rx[0].length = 0;
-    scc[channel]->bd.rx[0].buffer =
-      (uint8_t*) &(scc[channel]->bd.rx[1].buffer);
-
-    scc[channel]->parm.rfcr = 0x50;
-    scc[channel]->parm.tfcr = 0x50;
-
-    scc[channel]->parm.mrblr = 0x0001;
-    scc[channel]->prot.uart.max_idl = 0x0004;
-    scc[channel]->prot.uart.brkcr = 1;
-    scc[channel]->prot.uart.parec = 0;
-    scc[channel]->prot.uart.frmec = 0;
-    scc[channel]->prot.uart.nosec = 0;
-    scc[channel]->prot.uart.brkec = 0;
-    scc[channel]->prot.uart.uaddr1 = 0;
-    scc[channel]->prot.uart.uaddr2 = 0;
-    scc[channel]->prot.uart.character[0] = 0x0003;
-    scc[channel]->prot.uart.character[1] = 0x8000;
-
-    scc_reg[channel]->scce = 0xFF;
-    scc_reg[channel]->sccm = 0x15;
-
-    scc_reg[channel]->scm = 0x17d;
-  }
-}
-
-unsigned char scc_status(int channel, unsigned char status)
-{
-  uint16_t         rx_status;
-
-  m302.reg.wcn = 0;
-
-  if ((channel < M68302_SCC_COUNT) && scc[channel])
-  {
-    rx_status = scc[channel]->bd.rx[0].status;
-
-    if ((rx_status & 0x8000) == 0)
-    {
-      if (rx_status & 0x003B)
-      {
-        return 2;
-      }
-      if (status == 0)
-      {
-        return 1;
-      }
-    }
-  }
-
-  return 0;
-}
-
-unsigned char scc_in(int channel)
-{
-  m302.reg.wcn = 0;
-
-  if ((channel < M68302_SCC_COUNT) && scc[channel])
-  {
-    if ((scc[channel]->bd.rx[0].status & 0x8000) == 0)
-    {
-      unsigned char c;
-
-      c = *(scc[channel]->bd.rx[0].buffer);
-
-      scc[channel]->bd.rx[0].status = 0xa000;
-
-      return c;
-    }
-  }
-
-  return 0;
-}
-
-void scc_out(int channel, unsigned char character)
-{
-  if ((channel < M68302_SCC_COUNT) && scc[channel])
-  {
-    do
-    {
-      m302.reg.wcn = 0;
-    }
-    while (scc[channel]->bd.tx[0].status & 0x8000);
-
-    *(scc[channel]->bd.tx[0].buffer) = character;
-
-    scc[channel]->bd.tx[0].length = 1;
-    scc[channel]->bd.tx[0].status = 0xa000;
-
-    if (scc_translate[channel])
-    {
-      if (character == '\n')
-      {
-        scc_out(channel, '\r');
-      }
-    }
-  }
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c b/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c
deleted file mode 100644
index d9533ef..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/m68k-stub.c
+++ /dev/null
@@ -1,1087 +0,0 @@
-/****************************************************************************
-
-		THIS SOFTWARE IS NOT COPYRIGHTED
-
-   HP offers the following for use in the public domain.  HP makes no
-   warranty with regard to the software or it's performance and the
-   user accepts the software "AS IS" with all faults.
-
-   HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD
-   TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-   OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-
-****************************************************************************/
-
-/****************************************************************************
- *  Header: remcom.c,v 1.34 91/03/09 12:29:49 glenne Exp $
- *
- *  Module name: remcom.c $
- *  Revision: 1.34 $
- *  Date: 91/03/09 12:29:49 $
- *  Contributor:     Lake Stevens Instrument Division$
- *
- *  Description:     low level support for gdb debugger. $
- *
- *  Considerations:  only works on target hardware $
- *
- *  Written by:      Glenn Engel $
- *  ModuleState:     Experimental $
- *
- *  NOTES:           See Below $
- *
- *  To enable debugger support, two things need to happen.  One, a
- *  call to set_debug_traps() is necessary in order to allow any breakpoints
- *  or error conditions to be properly intercepted and reported to gdb.
- *  Two, a breakpoint needs to be generated to begin communication.  This
- *  is most easily accomplished by a call to breakpoint().  Breakpoint()
- *  simulates a breakpoint by executing a trap #1.  The breakpoint instruction
- *  is hardwired to trap #1 because not to do so is a compatibility problem--
- *  there either should be a standard breakpoint instruction, or the protocol
- *  should be extended to provide some means to communicate which breakpoint
- *  instruction is in use (or have the stub insert the breakpoint).
- *
- *  Some explanation is probably necessary to explain how exceptions are
- *  handled.  When an exception is encountered the 68000 pushes the current
- *  program counter and status register onto the supervisor stack and then
- *  transfers execution to a location specified in it's vector table.
- *  The handlers for the exception vectors are hardwired to jmp to an address
- *  given by the relation:  (exception - 256) * 6.  These are decending
- *  addresses starting from -6, -12, -18, ...  By allowing 6 bytes for
- *  each entry, a jsr, jmp, bsr, ... can be used to enter the exception
- *  handler.  Using a jsr to handle an exception has an added benefit of
- *  allowing a single handler to service several exceptions and use the
- *  return address as the key differentiation.  The vector number can be
- *  computed from the return address by [ exception = (addr + 1530) / 6 ].
- *  The sole purpose of the routine _catchException is to compute the
- *  exception number and push it on the stack in place of the return address.
- *  The external function exceptionHandler() is
- *  used to attach a specific handler to a specific m68k exception.
- *  For 68020 machines, the ability to have a return address around just
- *  so the vector can be determined is not necessary because the '020 pushes an
- *  extra word onto the stack containing the vector offset
- *
- *  Because gdb will sometimes write to the stack area to execute function
- *  calls, this program cannot rely on using the supervisor stack so it
- *  uses it's own stack area reserved in the int array remcomStack.
- *
- *************
- *
- *    The following gdb commands are supported:
- *
- * command          function                               Return value
- *
- *    g             return the value of the CPU registers  hex data or ENN
- *    G             set the value of the CPU registers     OK or ENN
- *
- *    mAA..AA,LLLL  Read LLLL bytes at address AA..AA      hex data or ENN
- *    MAA..AA,LLLL: Write LLLL bytes at address AA.AA      OK or ENN
- *
- *    c             Resume at current address              SNN   ( signal NN)
- *    cAA..AA       Continue at address AA..AA             SNN
- *
- *    s             Step one instruction                   SNN
- *    sAA..AA       Step one instruction from AA..AA       SNN
- *
- *    k             kill
- *
- *    ?             What was the last sigval ?             SNN   (signal NN)
- *
- * All commands and responses are sent with a packet which includes a
- * checksum.  A packet consists of
- *
- * $<packet info>#<checksum>.
- *
- * where
- * <packet info> :: <characters representing the command or response>
- * <checksum>    :: < two hex digits computed as modulo 256 sum of <packetinfo>>
- *
- * When a packet is received, it is first acknowledged with either '+' or '-'.
- * '+' indicates a successful transfer.  '-' indicates a failed transfer.
- *
- * Example:
- *
- * Host:                  Reply:
- * $m0,10#2a               +$00010203040506070809101112131415#42
- *
- ****************************************************************************/
-
-#include <stdio.h>
-#include <string.h>
-#include <setjmp.h>
-
-#include <bsp.h>
-#include <debugport.h>
-
-/************************************************************************
- *
- * external low-level support routines
- */
-typedef void (*ExceptionHook)(int);   /* pointer to function with int parm */
-typedef void (*Function)(void);       /* pointer to a function */
-
-/* assign an exception handler */
-Function exceptionHandler(int vector,  Function handler);
-extern ExceptionHook exceptionHook;  /* hook variable for errors/exceptions */
-
-int putDebugChar(char ch);
-char getDebugChar(void);
-
-/************************/
-/* FORWARD DECLARATIONS */
-/************************/
-static int hex(char ch);
-static void getpacket(char *buffer);
-static void putpacket(char *buffer);
-static char* mem2hex(char *mem, char *buf, int count);
-static char* hex2mem(char *buf, char *mem, int count);
-static void handle_buserror(void);
-static int computeSignal(int exceptionVector);
-static int hexToInt(char **ptr, int *intValue);
-       void handle_exception(int exceptionVector);
-static void initializeRemcomErrorFrame(void);
-
-void set_debug_traps(void);
-void breakpoint(void);
-
-/************************************************************************/
-/* BUFMAX defines the maximum number of characters in inbound/outbound buffers*/
-/* at least NUMREGBYTES*2 are needed for register packets */
-#define BUFMAX 400
-
-static bool initialized = false;  /* boolean flag. != 0 means we've been initialized */
-
-int remote_debug;
-/*  debug >  0 prints ill-formed commands in valid packets & checksum errors */
-
-static const char hexchars[]="0123456789abcdef";
-
-/* there are 180 bytes of registers on a 68020 w/68881      */
-/* many of the fpa registers are 12 byte (96 bit) registers */
-#define NUMREGBYTES 180
-enum regnames {D0,D1,D2,D3,D4,D5,D6,D7,
-               A0,A1,A2,A3,A4,A5,A6,A7,
-               PS,PC,
-               FP0,FP1,FP2,FP3,FP4,FP5,FP6,FP7,
-               FPCONTROL,FPSTATUS,FPIADDR
-              };
-
-
-/* We keep a whole frame cache here.  "Why?", I hear you cry, "doesn't
-   GDB handle that sort of thing?"  Well, yes, I believe the only
-   reason for this cache is to save and restore floating point state
-   (fsave/frestore).  A cleaner way to do this would be to make the
- fsave data part of the registers which GDB deals with like any
-   other registers.  This should not be a performance problem if the
-   ability to read individual registers is added to the protocol.  */
-
-typedef struct FrameStruct
-{
-    struct FrameStruct  *previous;
-    int       exceptionPC;      /* pc value when this frame created */
-    int       exceptionVector;  /* cpu vector causing exception     */
-    short     frameSize;        /* size of cpu frame in words       */
-    short     sr;               /* for 68000, this not always sr    */
-    int       pc;
-    short     format;
-    int       fsaveHeader;
-    int       morejunk[0];        /* exception frame, fp save... */
-} Frame;
-
-#define FRAMESIZE 500
-int gdbFrameStack[FRAMESIZE];
-static Frame *lastFrame;
-
-/*
- * these should not be static cuz they can be used outside this module
- */
-int registers[NUMREGBYTES/4];
-int superStack;
-
-#define STACKSIZE 10000
-int remcomStack[STACKSIZE/sizeof(int)];
-static int* stackPtr = &remcomStack[STACKSIZE/sizeof(int) - 1];
-
-/*
- * In many cases, the system will want to continue exception processing
- * when a continue command is given.
- * oldExceptionHook is a function to invoke in this case.
- */
-
-static ExceptionHook oldExceptionHook;
-
-#if (defined(__mc68020__) && !defined(__mcpu32__))
-/* the size of the exception stack on the 68020 varies with the type of
- * exception.  The following table is the number of WORDS used
- * for each exception format.
- */
-const short exceptionSize[] = { 4,4,6,4,4,4,4,4,29,10,16,46,12,4,4,4 };
-#endif
-
-#if defined(__mc68332__)
-static const short exceptionSize[] = { 4,4,6,4,4,4,4,4,4,4,4,4,16,4,4,4 };
-#endif
-
-/************* jump buffer used for setjmp/longjmp **************************/
-jmp_buf remcomEnv;
-
-/***************************  ASSEMBLY CODE MACROS *************************/
-/* 									   */
-
-#if defined(__HAVE_68881__)
-
-/* do an fsave, then remember the address to begin a restore from */
-#define SAVE_FP_REGS() \
-       __asm__ (" fsave   %a0 at -");	\
-       __asm__ (" fmovemx %fp0-%fp7,registers+72");  \
-       __asm__ (" fmoveml %fpcr/%fpsr/%fpi,registers+168");
-
-#define RESTORE_FP_REGS() \
-__asm__ ("                                                 \n\
-    fmoveml  registers+168,%fpcr/%fpsr/%fpi           \n\
-    fmovemx  registers+72,%fp0-%fp7                   \n\
-    cmpl     #-1,%a0@     |  skip frestore flag set ? \n\
-    beq      skip_frestore                            \n\
-    frestore %a0 at +                                    \n\
-skip_frestore:                                        \n\
-");
-
-#else
-
-#define SAVE_FP_REGS()
-#define RESTORE_FP_REGS()
-
-#endif /* __HAVE_68881__ */
-
-void return_to_super(void);
-void return_to_user(void);
-
-__asm__ ("\n\
-       .text\n\
-\n\
-       .globl return_to_super\n\
-       .align 4\n\
-return_to_super:\n\
-        movel   registers+60,%sp     /* get new stack pointer */        \n\
-        movel   lastFrame,%a0        /* get last frame info  */         \n\
-        bra     return_to_any\n\
-\n\
-        .globl return_to_user\n\
-        .align 4\n\
-\n\
-return_to_user:\n\
-        movel   registers+60,%a0     /* get usp */                      \n\
-        movel   %a0,%usp             /* set usp */				\n\
-        movel   superStack,%sp       /* get original stack pointer */        \n\
-\n\
-return_to_any:\n\
-        movel   lastFrame,%a0        /* get last frame info  */              \n\
-        movel   %a0 at +,lastFrame      /* link in previous frame     */        \n\
-        addql   #8,%a0               /* skip over pc, vector#*/              \n\
-        movew   %a0 at +,%d0            /* get # of words in cpu frame */       \n\
-        addw    %d0,%a0              /* point to end of data        */       \n\
-        addw    %d0,%a0              /* point to end of data        */       \n\
-        movel   %a0,%a1                                                   \n\
-#                                                                       \n\
-# copy the stack frame                                                  \n\
-        subql   #1,%d0\n\
-\n\
-copyUserLoop:                                                               \n\
-        movew   %a1 at -,%sp at -                                               \n\
-        dbf     %d0,copyUserLoop                                             \n\
-");
-        RESTORE_FP_REGS()
-__asm__ ("\n\
-        moveml  registers,%d0-%d7/%a0-%a6\n\
-        rte                          /* pop and go! */\n\
-");
-
-#define DISABLE_INTERRUPTS() __asm__ ("   oriw   #0x0700,%sr");
-#define BREAKPOINT()         __asm__ ("   trap   #1");
-
-/* this function is called immediately when a level 7 interrupt occurs */
-/* if the previous interrupt level was 7 then we're already servicing  */
-/* this interrupt and an rte is in order to return to the debugger.    */
-/* For the 68000, the offset for sr is 6 due to the jsr return address */
-__asm__ ("\n\
-        .text\n\
-        .globl _debug_level7\n\
-        .align 4\n\
-\n\
-_debug_level7:\n\
-        movew   %d0,%sp at -\n\
-");
-
-#if (defined(__mc68020__) && !defined(__mcpu32__)) || defined(__mc68332__)
-__asm__ ("\n\
-        movew   %sp@(2),%d0\n\
-");
-#else
-__asm__ ("\n\
-        movew   %sp@(6),%d0\n\
-");
-#endif
-__asm__ ("\n\
-        andiw   #0x700,%d0\n\
-    	  cmpiw   #0x700,%d0\n\
-    	  beq     _already7\n\
-        movew   %sp at +,%d0	\n\
-        bra     _catchException\n\
-_already7:\n\
-	      movew   %sp at +,%d0\n\
-");
-#if defined (__mc68000__) && !(defined(__mc68020__) && !defined(__mcpu32__))
-__asm__ ("\n\
-        lea     %sp@(4),%sp");       /* pull off 68000 return address */
-#endif
-__asm__ ("\n\
-        rte\n\
-");
-
-extern void _catchException(void);
-
-#if (defined(__mc68020__) && !defined(__mcpu32__)) || defined(__mc68332__)
-/* This function is called when a 68020 exception occurs.  It saves
- * all the cpu and fpcp regs in the _registers array, creates a frame on a
- * linked list of frames which has the cpu and fpcp stack frames needed
- * to properly restore the context of these processors, and invokes
- * an exception handler (remcom_handler).
- *
- * stack on entry:                       stack on exit:
- *   N bytes of junk                     exception # MSWord
- *   Exception Format Word               exception # MSWord
- *   Program counter LSWord
- *   Program counter MSWord
- *   Status Register
- *
- *
- */
-__asm__ (" \n\
-        .text\n\
-\n\
-        .globl _catchException\n\
-        .align 4\n\
-_catchException:\n\
-");
-
-DISABLE_INTERRUPTS();
-
-__asm__ ("\n\
-        moveml  %d0-%d7/%a0-%a6,registers /* save registers        */\n\
-        movel   lastFrame,%a0             /* last frame pointer */\n\
-");
-SAVE_FP_REGS();
-__asm__ ("\n\
-        lea     registers,%a5   /* get address of registers     */\n\
-        movew   %sp@,%d1        /* get status register          */\n\
-        movew   %d1,%a5@(66)    /* save sr 	*/	\n\
-        movel   %sp@(2),%a4     /* save pc in %a4 for later use  */\n\
-        movel   %a4,%a5@(68)    /* save pc in _regisers[]	*/\n\
-\n\
-#\n\
-# figure out how many bytes in the stack frame\n\
-#\n\
-        movew   %sp@(6),%d0	    /* get '020 exception format	*/\n\
-        movew   %d0,%d2         /* make a copy of format word   */\n\
-        andiw   #0xf000,%d0     /* mask off format type         */\n\
-        rolw    #5,%d0          /* rotate into the low byte *2  */\n\
-        lea     exceptionSize,%a1   \n\
-        addw    %d0,%a1         /* index into the table         */\n\
-        movew   %a1@,%d0        /* get number of words in frame */\n\
-        movew   %d0,%d3         /* save it                      */\n\
-        subw    %d0,%a0         /* adjust save pointer          */\n\
-        subw    %d0,%a0         /* adjust save pointer(bytes)   */\n\
-        movel   %a0,%a1         /* copy save pointer            */\n\
-        subql   #1,%d0          /* predecrement loop counter    */\n\
-#\n\
-# copy the frame\n\
-#\n\
-saveFrameLoop:\n\
-	      movew   %sp at +,%a1 at +\n\
-        dbf     %d0,saveFrameLoop\n\
-#\n\
-# now that the stack has been clenaed,\n\
-# save the %a7 in use at time of exception\n\
-\n\
-        movel   %sp,superStack  /* save supervisor %sp           */\n\
-        andiw   #0x2000,%d1     /* were we in supervisor mode ? */\n\
-        beq     userMode       \n\
-        movel   %a7,%a5@(60)    /* save %a7                  */\n\
-        bra     a7saveDone\n\
-userMode:  \n\
-      	movel   %usp,%a1    	\n\
-        movel   %a1,%a5@(60)    /* save user stack pointer	*/\n\
-a7saveDone:\n\
-\n\
-#\n\
-# save size of frame\n\
-        movew   %d3,%a0 at -\n\
-\n\
-#\n\
-# compute exception number\n\
-        andl    #0xfff,%d2   	  /* mask off vector offset	*/\n\
-        lsrw    #2,%d2   	      /* divide by 4 to get vect num	*/\n\
-        movel   %d2,%a0 at -       /* save it                      */\n\
-#\n\
-# save pc causing exception\n\
-        movel   %a4,%a0 at -\n\
-#\n\
-# save old frame link and set the new value\n\
-        movel	lastFrame,%a1	    /* last frame pointer */\n\
-        movel   %a1,%a0 at -		    /* save pointer to prev frame	*/\n\
-        movel   %a0,lastFrame\n\
-\n\
-        movel   %d2,%sp at -		    /* push exception num           */\n\
-        movel   exceptionHook,%a0  /* get address of handler */\n\
-        jbsr    %a0@            /* and call it */\n\
-        clrl    %sp@            /* replace exception num parm with frame ptr */\n\
-        jbsr     _returnFromException   /* jbsr, but never returns */\n\
-\n\
-");
-
-#else /* mc68000 */
-
-/* This function is called when an exception occurs.  It translates the
- * return address found on the stack into an exception vector # which
- * is then handled by either handle_exception or a system handler.
- * _catchException provides a front end for both.
- *
- * stack on entry:                       stack on exit:
- *   Program counter MSWord              exception # MSWord
- *   Program counter LSWord              exception # MSWord
- *   Status Register
- *   Return Address  MSWord
- *   Return Address  LSWord
- */
-__asm__ ("\n\
-        .text\n\
-        .globl _catchException\n\
-        .align 4\n\
-_catchException:\n\
-");
-DISABLE_INTERRUPTS();
-__asm__ ("\n\
-        moveml  %d0-%d7/%a0-%a6,registers  /* save registers               */\n\
-        movel   lastFrame,%a0	/* last frame pointer */\n\
-");
-
-SAVE_FP_REGS();
-__asm__ ("\n\
-        moveq.l #0,%d2\n\
-        movew   %sp at +,%d2\n\
-        lea     registers,%a5    /* get address of registers     */\n\
-\n\
-        moveql  #3,%d3           /* assume a three word frame     */\n\
-\n\
-        cmpiw   #3,%d2           /* bus error or address error ? */\n\
-        bgt     normal           /* if >3 then normal error      */\n\
-        movel   %sp at +,%a0 at -      /* copy error info to frame buff*/\n\
-        movel   %sp at +,%a0 at -      /* these are never used         */\n\
-        moveql  #7,%d3           /* this is a 7 word frame       */\n\
-     \n\
-normal:   \n\
-        movew   %sp at +,%d1         /* pop status register          */\n\
-        movel   %sp at +,%a4         /* pop program counter          */\n\
-\n\
-        cmpiw   #33,%d2           /* trap #1, breakpoint ? */\n\
-        bne     not_breakpoint\n\
-\n\
-        subql   #2,%a4            /* trap leaves the pc after the trap */\n\
-\n\
-not_breakpoint:\n\
-        movew   %d1,%a5@(66)      /* save sr		 	*/	\n\
-        movel   %a4,%a5@(68)      /* save pc in _regisers[]      	*/\n\
-        movel   %a4,%a0 at -         /* copy pc to frame buffer      */\n\
-        movew   %d1,%a0 at -         /* copy sr to frame buffer      */\n\
-\n\
-        movel   %sp,superStack    /* save supervisor %sp          */\n\
-\n\
-        andiw   #0x2000,%d1      /* were we in supervisor mode ? */\n\
-        beq     userMode       \n\
-        movel   %a7,%a5@(60)      /* save %a7                  */\n\
-        bra     saveDone             \n\
-userMode:\n\
-        movel   %usp,%a1    	/* save user stack pointer 	*/\n\
-        movel   %a1,%a5@(60)      /* save user stack pointer	*/\n\
-saveDone:\n\
-\n\
-        movew   %d3,%a0 at -         /* push frame size in words     */\n\
-        movel   %d2,%a0 at -         /* push vector number           */\n\
-        movel   %a4,%a0 at -         /* push exception pc            */\n\
-\n\
-#\n\
-# save old frame link and set the new value\n\
-#\n\
-        movel   lastFrame,%a1	/* last frame pointer */\n\
-        movel   %a1,%a0 at -		/* save pointer to prev frame	*/\n\
-        movel   %a0,lastFrame\n\
-\n\
-        movel   %d2,%sp at -		/* push exception num           */\n\
-        movel   exceptionHook,%a0  /* get address of handler */\n\
-\n\
-        jbsr    %a0@             /* and call it */\n\
-        clrl    %sp@             /* replace exception num parm with frame ptr */\n\
-        jbsr     _returnFromException   /* jbsr, but never returns */\n\
-");
-#endif
-
-/*
- * remcomHandler is a front end for handle_exception.  It moves the
- * stack pointer into an area reserved for debugger use in case the
- * breakpoint happened in supervisor mode.
- */
-__asm__ ("remcomHandler:");
-__asm__ ("           addl    #4,%sp");        /* pop off return address     */
-__asm__ ("           movel   %sp at +,%d0");      /* get the exception number   */
-__asm__ ("		movel   stackPtr,%sp"); /* move to remcom stack area  */
-__asm__ ("		movel   %d0,%sp at -");	/* push exception onto stack  */
-__asm__ ("		jbsr    handle_exception");    /* this never returns */
-__asm__ ("           rts");                  /* return */
-
-/*
- * This is only called from assembly in this file. This file is a self
- * contained gdb stub.
- */
-void _returnFromException(Frame *frame);
-
-void _returnFromException(Frame *frame)
-{
-  /* if no passed in frame, use the last one */
-  if (! frame)
-  {
-    frame = lastFrame;
-    frame->frameSize = 4;
-    frame->format = 0;
-    frame->fsaveHeader = -1; /* restore regs, but we dont have fsave info*/
-  }
-
-#if defined(__mc68000__) && !(defined(__mc68020__) && !defined(__mcpu32__))
-  /* a 68000 cannot use the internal info pushed onto a bus error
-   * or address error frame when doing an RTE so don't put this info
-   * onto the stack or the stack will creep every time this happens.
-   */
-  frame->frameSize=3;
-#endif
-
-  /* throw away any frames in the list after this frame */
-  lastFrame = frame;
-
-  frame->sr = registers[(int) PS];
-  frame->pc = registers[(int) PC];
-
-  if (registers[(int) PS] & 0x2000)
-  {
-    /* return to supervisor mode... */
-    return_to_super();
-  }
-  else
-  { /* return to user mode */
-    return_to_user();
-  }
-}
-
-int hex(char ch)
-{
-  if ((ch >= 'a') && (ch <= 'f')) return (ch-'a'+10);
-  if ((ch >= '0') && (ch <= '9')) return (ch-'0');
-  if ((ch >= 'A') && (ch <= 'F')) return (ch-'A'+10);
-  return (-1);
-}
-
-/* scan for the sequence $<data>#<checksum>     */
-void getpacket(char *buffer)
-{
-  unsigned char checksum;
-  unsigned char xmitcsum;
-  int  i;
-  int  count;
-  char ch;
-
-  do {
-    /* wait around for the start character, ignore all other characters */
-    while ((ch = (getDebugChar() & 0x7f)) != '$');
-    checksum = 0;
-    xmitcsum = -1;
-
-    count = 0;
-
-    /* now, read until a # or end of buffer is found */
-    while (count < (BUFMAX - 1)) {
-      ch = getDebugChar() & 0x7f;
-      if (ch == '#') break;
-      checksum = checksum + ch;
-      buffer[count] = ch;
-      count = count + 1;
-    }
-    buffer[count] = 0;
-
-    if (ch == '#') {
-      xmitcsum = hex(getDebugChar() & 0x7f) << 4;
-      xmitcsum += hex(getDebugChar() & 0x7f);
-      if ((remote_debug ) && (checksum != xmitcsum)) {
-        debug_port_printf ("bad checksum.  My count = 0x%x, sent=0x%x. buf=%s\n",
-                           checksum,xmitcsum,buffer);
-      }
-
-      if (checksum != xmitcsum) putDebugChar('-');  /* failed checksum */
-      else {
-        putDebugChar('+');  /* successful transfer */
-        /* if a sequence char is present, reply the sequence ID */
-        if (buffer[2] == ':') {
-          putDebugChar( buffer[0] );
-          putDebugChar( buffer[1] );
-          /* remove sequence chars from buffer */
-          count = strlen(buffer);
-          for (i=3; i <= count; i++) buffer[i-3] = buffer[i];
-        }
-      }
-    }
-  } while (checksum != xmitcsum);
-}
-
-/* send the packet in buffer.  The host get's one chance to read it.
-   This routine does not wait for a positive acknowledge.  */
-
-void
-putpacket(char *buffer)
-{
-  unsigned char checksum;
-  int  count;
-  char ch;
-
-  /*  $<packet info>#<checksum>. */
-  do {
-    putDebugChar('$');
-    checksum = 0;
-    count    = 0;
-
-    while ((ch=buffer[count])) {
-      if (! putDebugChar(ch)) return;
-      checksum += ch;
-      count += 1;
-    }
-
-    putDebugChar('#');
-    putDebugChar(hexchars[checksum >> 4]);
-    putDebugChar(hexchars[checksum % 16]);
-
-  } while (1 == 0);  /* (getDebugChar() != '+'); */
-
-}
-
-char  remcomInBuffer[BUFMAX];
-char  remcomOutBuffer[BUFMAX];
-static short error;
-
-/* convert the memory pointed to by mem into hex, placing result in buf */
-/* return a pointer to the last char put in buf (null) */
-char *mem2hex(char *mem, char *buf, int count)
-{
-  int i;
-  unsigned char ch;
-
-  if (remote_debug)
-    debug_port_printf("mem=0x%x, count=0x%x\n", mem, count);
-
-  for (i=0;i<count;i++) {
-    ch = *mem++;
-    *buf++ = hexchars[ch >> 4];
-    *buf++ = hexchars[ch % 16];
-  }
-  *buf = 0;
-  return(buf);
-}
-
-/* convert the hex array pointed to by buf into binary to be placed in mem */
-/* return a pointer to the character AFTER the last byte written */
-char *hex2mem(char *buf, char *mem, int count)
-{
-  int i;
-  unsigned char ch;
-
-  if (remote_debug)
-    debug_port_printf("mem=0x%x, count=0x%x\n", mem, count);
-
-  for (i=0;i<count;i++) {
-    ch = hex(*buf++) << 4;
-    ch = ch + hex(*buf++);
-    *mem++ = ch;
-  }
-  return(mem);
-}
-
-/* a bus error has occurred, perform a longjmp
-   to return execution and allow handling of the error */
-
-void handle_buserror()
-{
-  longjmp(remcomEnv,1);
-}
-
-/* this function takes the 68000 exception number and attempts to
-   translate this number into a unix compatible signal value */
-int computeSignal(int exceptionVector)
-{
-  int sigval;
-  switch (exceptionVector) {
-    case 2 : sigval = 10; break; /* bus error           */
-    case 3 : sigval = 10; break; /* address error       */
-    case 4 : sigval = 4;  break; /* illegal instruction */
-    case 5 : sigval = 8;  break; /* zero divide         */
-    case 6 : sigval = 8; break; /* chk instruction     */
-    case 7 : sigval = 8; break; /* trapv instruction   */
-    case 8 : sigval = 11; break; /* privilege violation */
-    case 9 : sigval = 5;  break; /* trace trap          */
-    case 10: sigval = 4;  break; /* line 1010 emulator  */
-    case 11: sigval = 4;  break; /* line 1111 emulator  */
-
-      /* Coprocessor protocol violation.  Using a standard MMU or FPU
-         this cannot be triggered by software.  Call it a SIGBUS.  */
-    case 13: sigval = 10;  break;
-
-    case 31: sigval = 2;  break; /* interrupt           */
-    case 33: sigval = 5;  break; /* breakpoint          */
-
-      /* This is a trap #8 instruction.  Apparently it is someone's software
-         convention for some sort of SIGFPE condition.  Whose?  How many
-         people are being screwed by having this code the way it is?
-         Is there a clean solution?  */
-    case 40: sigval = 8;  break; /* floating point err  */
-
-    case 48: sigval = 8;  break; /* floating point err  */
-    case 49: sigval = 8;  break; /* floating point err  */
-    case 50: sigval = 8;  break; /* zero divide         */
-    case 51: sigval = 8;  break; /* underflow           */
-    case 52: sigval = 8;  break; /* operand error       */
-    case 53: sigval = 8;  break; /* overflow            */
-    case 54: sigval = 8;  break; /* NAN                 */
-    default:
-      sigval = 7;         /* "software generated"*/
-  }
-  return (sigval);
-}
-
-/**********************************************/
-/* WHILE WE FIND NICE HEX CHARS, BUILD AN INT */
-/* RETURN NUMBER OF CHARS PROCESSED           */
-/**********************************************/
-int hexToInt(char **ptr, int *intValue)
-{
-  int numChars = 0;
-  int hexValue;
-
-  *intValue = 0;
-
-  while (**ptr)
-  {
-    hexValue = hex(**ptr);
-    if (hexValue >=0)
-    {
-      *intValue = (*intValue <<4) | hexValue;
-      numChars ++;
-    }
-    else
-      break;
-
-    (*ptr)++;
-  }
-
-  return (numChars);
-}
-
-/*
- * This function does all command procesing for interfacing to gdb.
- */
-void handle_exception(int exceptionVector)
-{
-  int    sigval;
-  int    addr, length;
-  char * ptr;
-  int    newPC;
-  Frame  *frame;
-
-  if (remote_debug)
-    printf("vector=%d, sr=0x%x, pc=0x%x\n",
-           exceptionVector,
-           registers[ PS ],
-           registers[ PC ]);
-
-  /* reply to host that an exception has occurred */
-  sigval = computeSignal( exceptionVector );
-  remcomOutBuffer[0] = 'S';
-  remcomOutBuffer[1] =  hexchars[sigval >> 4];
-  remcomOutBuffer[2] =  hexchars[sigval % 16];
-  remcomOutBuffer[3] = 0;
-
-  putpacket(remcomOutBuffer);
-
-  while (1==1) {
-    error = 0;
-    remcomOutBuffer[0] = 0;
-    getpacket(remcomInBuffer);
-    switch (remcomInBuffer[0]) {
-      case '?' :   remcomOutBuffer[0] = 'S';
-        remcomOutBuffer[1] =  hexchars[sigval >> 4];
-        remcomOutBuffer[2] =  hexchars[sigval % 16];
-        remcomOutBuffer[3] = 0;
-        break;
-      case 'd' :
-        remote_debug = !(remote_debug);  /* toggle debug flag */
-        debug_port_printf("debug mode ");
-        if (remote_debug)
-        {
-          debug_port_printf("on\n");
-        }
-        else
-        {
-          debug_port_printf("off\n");
-        }
-        break;
-      case 'g' : /* return the value of the CPU registers */
-        mem2hex((char*) registers, remcomOutBuffer, NUMREGBYTES);
-        break;
-      case 'G' : /* set the value of the CPU registers - return OK */
-        hex2mem(&remcomInBuffer[1], (char*) registers, NUMREGBYTES);
-        strcpy(remcomOutBuffer,"OK");
-        break;
-
-        /* mAA..AA,LLLL  Read LLLL bytes at address AA..AA */
-      case 'm' :
-        if (setjmp(remcomEnv) == 0)
-        {
-          exceptionHandler(2,handle_buserror);
-
-          /* TRY TO READ %x,%x.  IF SUCCEED, SET PTR = 0 */
-          ptr = &remcomInBuffer[1];
-          if (hexToInt(&ptr,&addr))
-            if (*(ptr++) == ',')
-              if (hexToInt(&ptr,&length))
-              {
-                ptr = 0;
-                mem2hex((char*) addr, remcomOutBuffer, length);
-              }
-
-          if (ptr)
-          {
-            strcpy(remcomOutBuffer,"E01");
-            if (remote_debug)
-              printf("malformed read memory command: %s",remcomInBuffer);
-          }
-        }
-        else {
-          exceptionHandler(2,_catchException);
-          strcpy(remcomOutBuffer,"E03");
-          if (remote_debug)
-            printf("bus error");
-        }
-
-        /* restore handler for bus error */
-        exceptionHandler(2,_catchException);
-        break;
-
-        /* MAA..AA,LLLL: Write LLLL bytes at address AA.AA return OK */
-      case 'M' :
-        if (setjmp(remcomEnv) == 0) {
-          exceptionHandler(2,handle_buserror);
-
-          /* TRY TO READ '%x,%x:'.  IF SUCCEED, SET PTR = 0 */
-          ptr = &remcomInBuffer[1];
-          if (hexToInt(&ptr,&addr))
-            if (*(ptr++) == ',')
-              if (hexToInt(&ptr,&length))
-                if (*(ptr++) == ':')
-                {
-                  hex2mem(ptr, (char*) addr, length);
-                  ptr = 0;
-                  strcpy(remcomOutBuffer,"OK");
-                }
-          if (ptr)
-          {
-            strcpy(remcomOutBuffer,"E02");
-            if (remote_debug)
-              printf("malformed write memory command: %s",remcomInBuffer);
-		      }
-        }
-        else {
-          exceptionHandler(2,_catchException);
-          strcpy(remcomOutBuffer,"E03");
-          if (remote_debug)
-            printf("bus error");
-        }
-
-        /* restore handler for bus error */
-        exceptionHandler(2,_catchException);
-        break;
-
-        /* cAA..AA    Continue at address AA..AA(optional) */
-        /* sAA..AA   Step one instruction from AA..AA(optional) */
-      case 'c' :
-      case 's' :
-        /* try to read optional parameter, pc unchanged if no parm */
-        ptr = &remcomInBuffer[1];
-        if (hexToInt(&ptr,&addr))
-          registers[ PC ] = addr;
-
-        newPC = registers[ PC];
-
-        /* clear the trace bit */
-        registers[ PS ] &= 0x7fff;
-
-        /* set the trace bit if we're stepping */
-        if (remcomInBuffer[0] == 's') registers[ PS ] |= 0x8000;
-
-        /*
-         * look for newPC in the linked list of exception frames.
-         * if it is found, use the old frame it.  otherwise,
-         * fake up a dummy frame in returnFromException().
-         */
-        if (remote_debug) debug_port_printf("new pc = 0x%x\n",newPC);
-
-        frame = lastFrame;
-        while (frame)
-        {
-          if (remote_debug)
-            debug_port_printf("frame at 0x%x has pc=0x%x, except#=%d\n",
-                              frame,frame->exceptionPC,
-                              (unsigned int) frame->exceptionVector);
-          if (frame->exceptionPC == newPC) break;  /* bingo! a match */
-          /*
-           * for a breakpoint instruction, the saved pc may
-           * be off by two due to re-executing the instruction
-           * replaced by the trap instruction.  Check for this.
-           */
-          if ((frame->exceptionVector == 33) &&
-              (frame->exceptionPC == newPC)) break;
-          if (frame == frame->previous)
-          {
-	          frame = 0; /* no match found */
-	          break;
-          }
-          frame = frame->previous;
-        }
-
-        /*
-         * If we found a match for the PC AND we are not returning
-         * as a result of a breakpoint (33),
-         * trace exception (9), nmi (31), jmp to
-         * the old exception handler as if this code never ran.
-         */
-        if (frame)
-        {
-          if ((frame->exceptionVector != 9)  &&
-              (frame->exceptionVector != 31) &&
-              (frame->exceptionVector != 33))
-          {
-            /*
-             * invoke the previous handler.
-             */
-            if (oldExceptionHook)
-              (*oldExceptionHook) (frame->exceptionVector);
-            newPC = registers[ PC ];    /* pc may have changed  */
-            if (newPC != frame->exceptionPC)
-            {
-              if (remote_debug)
-                debug_port_printf("frame at 0x%x has pc=0x%x, except#=%d\n",
-                                  frame,frame->exceptionPC,
-                                  (unsigned int) frame->exceptionVector);
-              /* re-use the last frame, we're skipping it (longjump?)*/
-              frame = (Frame *) 0;
-              _returnFromException( frame );  /* this is a jump */
-            }
-          }
-        }
-
-    	  /* if we couldn't find a frame, create one */
-        if (frame == 0)
-        {
-          frame = lastFrame -1 ;
-
-          /* by using a bunch of print commands with breakpoints,
-             it's possible for the frame stack to creep down.  If it creeps
-             too far, give up and reset it to the top.  Normal use should
-             not see this happen.
-             */
-          if ((unsigned int) (frame-2) < (unsigned int) &gdbFrameStack)
-          {
-            initializeRemcomErrorFrame();
-            frame = lastFrame;
-          }
-          frame->previous = lastFrame;
-          lastFrame = frame;
-          frame = 0;  /* null so _return... will properly initialize it */
-        }
-
-        _returnFromException( frame ); /* this is a jump */
-
-        break;
-
-        /* kill the program */
-      case 'k' :
-        /* reset the board */
-        WATCHDOG_TRIGGER();
-        while (1 == 1);
-        break;
-
-    } /* switch */
-
-    /* reply to the request */
-    putpacket(remcomOutBuffer);
-  }
-}
-
-void initializeRemcomErrorFrame()
-{
-    lastFrame = ((Frame *) &gdbFrameStack[FRAMESIZE-1]) - 1;
-    lastFrame->previous = lastFrame;
-}
-
-extern void _debug_level7(void);
-extern void remcomHandler(void);
-
-/* this function is used to set up exception handlers for tracing and
-   breakpoints */
-void set_debug_traps()
-{
-  int exception;
-
-  initializeRemcomErrorFrame();
-  stackPtr  = &remcomStack[STACKSIZE/sizeof(int) - 1];
-
-  registers[ PC ] = 0x400;
-  registers[ PS ] = 0x2700;
-
-  for (exception = 2; exception <= 30; exception++)
-      exceptionHandler(exception,_catchException);
-
-  /* level 7 interrupt              */
-  exceptionHandler(31,_debug_level7);
-
-  for (exception = 32; exception <= 47; exception++)
-    exceptionHandler(exception,_catchException);
-
-  /* exclude the unassigned, reserved vector locations */
-
-  for (exception = 64; exception <= 255; exception++)
-    exceptionHandler(exception,_catchException);
-
-  if (oldExceptionHook != (ExceptionHook) remcomHandler)
-  {
-      oldExceptionHook = exceptionHook;
-      exceptionHook    = (ExceptionHook) remcomHandler;
-  }
-
-  initialized = true;
-
-#if defined(UPDATE_DISPLAY)
-  UPDATE_DISPLAY("gdb ");
-#endif
-}
-
-/* This function will generate a breakpoint exception.  It is used at the
-   beginning of a program to sync up with a debugger and can be used
-   otherwise as a quick means to stop program execution and "break" into
-   the debugger. */
-
-void breakpoint()
-{
-  if (initialized) BREAKPOINT();
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/rom b/c/src/lib/libbsp/m68k/ods68302/startup/rom
deleted file mode 100644
index 4b0e810..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/rom
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * MC68302 Linker command file
- */
-
-SECTIONS
-{
-  .text . :
-  {
-    text_start = .;
-    *(.text)
-    etext = .;
-    . = ALIGN(4);
-    __CTOR_LIST__ = .;
-    LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
-    *(.ctors)
-    LONG(0)
-    __CTOR_END__ = .;
-    . = ALIGN(4);
-    __DTOR_LIST__ = .;
-    LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
-    *(.dtors)
-    LONG(0)
-    __DTOR_END__ = .;
-  }
-
-  .tdata : {
-    _TLS_Data_begin = .;
-    *(.tdata .tdata.* .gnu.linkonce.td.*)
-    _TLS_Data_end = .;
-  }
-  .tbss : {
-    _TLS_BSS_begin = .;
-    *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
-    _TLS_BSS_end = .;
-  }
-  _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
-  _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
-  _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
-  _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
-  _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
-  _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
-  
-  .vtable 0 :
-  {
-    vtable_start = .;
-    *(.vtable)
-    evtable = .;
-  }
-
-  .data (ADDR(.vtable) + SIZEOF(.vtable)) : 
-     AT (ADDR(.text) + SIZEOF(.text))
-  {
-    data_start = .;
-    *(.data)
-    KEEP (*(SORT(.rtemsroset.*)))
-    KEEP (*(SORT(.rtemsrwset.*)))
-    edata = .;
-  }
-  .bss (ADDR(.data) + SIZEOF(.data)) :
-  {
-    bss_start = .;
-    *(.bss)
-    *(COMMON)
-    end = . ;
-    _end = . ;
-  }  
-}
-
-RAM_BASE = DEFINED(RAM_BASE) ? RAM_BASE : 0x00000000;
-RAM_SIZE = DEFINED(RAM_SIZE) ? RAM_SIZE : 0x00100000;
-ROM_BASE = DEFINED(ROM_BASE) ? ROM_BASE : 0x00C00000;
-ROM_SIZE = DEFINED(ROM_SIZE) ? ROM_SIZE : 0x00100000;
-MC68302_BASE = DEFINED(MC68302_BASE) ? MC68302_BASE : 0x00700000;
-m302 = MC68302_BASE;
-_VBR = 0;		/* location of the VBR table (in RAM) */
-
-
diff --git a/c/src/lib/libbsp/m68k/ods68302/startup/trace.c b/c/src/lib/libbsp/m68k/ods68302/startup/trace.c
deleted file mode 100644
index efe8abf..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/startup/trace.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- *  Trace Exception dumps a back trace to the debug serial port
- *
- */
-
-#include <bsp.h>
-#include <debugport.h>
-
-#if 0
-/* FIXME : could get the string to print when in the BSP */
-static const char *exception_names[] =
-{
-  "RESET STACK TOP",
-  "RESET",
-  "BUS ERROR",
-  "ADDRESS ERROR",
-  "ILLEGAL OPCODE",
-  "ZERO DIVIDE",
-  "CHK",
-  "OVERFLOW",
-  "PRIVILEGE",
-  "TRACE",
-  "LINE 1010 EMULATOR",
-  "LINE 1111 EMULATOR",
-  "UNASSIGNED 12",
-  "UNASSIGNED 13",
-  "FORMAT ERROR",
-  "UNINITIALISED INTERRUPT",
-  "UNASSIGNED 16",
-  "NODE ANCHOR",
-  "SYSTEM ANCHOR",
-  "UNASSIGNED 19",
-  "UNASSIGNED 20",
-  "UNASSIGNED 21",
-  "UNASSIGNED 22",
-  "UNASSIGNED 23",
-  "SPURIOUS HANDLER",
-  "LEVEL 1",
-  "LEVEL 2",
-  "LEVEL 3",
-  "LEVEL 4",
-  "LEVEL 5",
-  "LEVEL 6",
-  "LEVEL 7",
-  "TRAP 0",
-  "TRAP 1",
-  "TRAP 2",
-  "TRAP 3",
-  "TRAP 4",
-  "TRAP 5",
-  "TRAP 6",
-  "TRAP 7",
-  "TRAP 8",
-  "TRAP 9",
-  "TRAP 10",
-  "TRAP 11",
-  "TRAP 12",
-  "TRAP 13",
-  "TRAP 14",
-  "TRAP 15"
-};
-#endif
-
-void trace_exception(unsigned long d0,
-                     unsigned long d1,
-                     unsigned long d2,
-                     unsigned long d3,
-                     unsigned long d4,
-                     unsigned long d5,
-                     unsigned long d6,
-                     unsigned long d7,
-                     unsigned long a0,
-                     unsigned long a1,
-                     unsigned long a2,
-                     unsigned long a3,
-                     unsigned long a4,
-                     unsigned long a5,
-                     unsigned long a6,
-                     unsigned long a7,
-                     unsigned long sr_pch,
-                     unsigned long pcl_format)
-{
-  unsigned int sr = sr_pch >> 16;
-  unsigned long pc = (sr_pch << 16) | (pcl_format >> 16);
-  unsigned int format = pcl_format & 0xFFFF;
-  unsigned int index;
-  unsigned char ch;
-
-  __asm__ volatile(" orw #0x0700,%sr");
-
-  debug_port_banner();
-
-  debug_port_write("unhandled exception=");
-  debug_port_write_hex_uint(format >> 2);
-  debug_port_write("\n");
-
-  debug_port_write("sr=");
-  debug_port_write_hex_uint(sr);
-  debug_port_write(", pc=");
-  debug_port_write_hex_ulong(pc);
-  debug_port_write("\n");
-
-  for (index = 0; index < 16; index++)
-  {
-    if (index == 8)
-    {
-      debug_port_write("\n\r");
-    }
-    if (index < 8)
-    {
-      debug_port_out('d');
-      debug_port_out('0' + index);
-    }
-    else
-    {
-      debug_port_out('a');
-      debug_port_out('0' + index - 8);
-    }
-    debug_port_out('=');
-    debug_port_write_hex_ulong(*(((unsigned long*) &d0) + index));
-    debug_port_out(' ');
-  }
-
-  for (index = 0; index < (16 * 10); index++)
-  {
-    if ((index % 16) == 0)
-    {
-      debug_port_write("\n");
-      debug_port_write_hex_ulong((unsigned long) (((char*) &index) + index));
-      debug_port_write(" : ");
-    }
-    else
-    {
-      debug_port_out(' ');
-    }
-
-    ch = (*(((char*) &index) + index) >> 4) & 0x0F;
-
-    if (ch < 10)
-    {
-      ch += '0';
-    }
-    else
-    {
-      ch += 'a' - 10;
-    }
-
-    debug_port_out((char) ch);
-
-    ch = *(((char*) &index) + index) & 0x0F;
-
-    if (ch < 10)
-    {
-      ch += '0';
-    }
-    else
-    {
-      ch += 'a' - 10;
-    }
-    debug_port_out((char) ch);
-  }
-
-  debug_port_write("\nhalting cpu...");
-
-#if defined(UPDATE_DISPLAY)
-  UPDATE_DISPLAY("HALT");
-#endif
-
-  WATCHDOG_TRIGGER();
-  while (1 == 1);
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/timer/timer.c b/c/src/lib/libbsp/m68k/ods68302/timer/timer.c
deleted file mode 100644
index 1e03015..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/timer/timer.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- *
- *  This routine initializes TIMER 2 for an MC68302.
- *
- *  COPYRIGHT (c) 1989-1999.
- *  On-Line Applications Research Corporation (OAR).
- *
- *  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 <rtems.h>
-#include <bsp.h>
-#include <rtems/btimer.h>
-#include <rtems/m68k/m68302.h>
-
-#define TMR2_VAL 0x071b	/* Timer mode register
-			 * (section 3.5.2.1 in 68302 manual)
-			 * 15-8: "7"	prescaler divide by 8 (x+1)
-			 *  7-6: 00	dis. intr. on capture event
-			 *    5:  0	active-low pulse
-			 *    4:  1	intr. on reaching reference
-			 *    3:  1	restart counter on reference
-			 *  2-1: 01	master clock input source
-			 *    0:  1	enable timer
-			 */
-#define TRR2_VAL 2000	/* Timer reference register
-			 * (section 3.5.2.2 in 68302 manual)
-			 * 2000 ticks @ (16MHz/1)/8 = 1-ms count
-			 */
-
-uint32_t         Timer_interrupts;
-
-bool benchmark_timer_find_average_overhead;
-
-rtems_isr timerisr(void);
-
-void benchmark_timer_initialize( void )
-{
-    m302.reg.tmr2 = 0;			/* disable timer */
-
-    Timer_interrupts = 0;		/* clear timer ISR count */
-
-    m302.reg.trr2 = TRR2_VAL;		/* set timer reference register */
-    m302.reg.tmr2 = TMR2_VAL;		/* set timer mode register */
-    m302.reg.imr |= RBIT_IMR_TIMER2;	/* set 68302 int-mask to allow ints */
-}
-
-/*
- *  The following controls the behavior of benchmark_timer_read().
- *
- *  FIND_AVG_OVERHEAD *  instructs the routine to return the "raw" count.
- *
- *  AVG_OVEREHAD is the overhead for starting and stopping the timer.  It
- *  is usually deducted from the number returned.
- *
- *  LEAST_VALID is the lowest number this routine should trust.  Numbers
- *  below this are "noise" and zero is returned.
- */
-
-#define AVG_OVERHEAD      0  /* It typically takes X.X microseconds */
-                             /* (Y countdowns) to start/stop the timer. */
-                             /* This value is in microseconds. */
-#define LEAST_VALID       1  /* Don't trust a clicks value lower than this */
-
-/*
- * Return timer value in 1/2-microsecond units
- */
-benchmark_timer_t benchmark_timer_read( void )
-{
-  uint16_t         clicks;
-  uint32_t         total;
-
-  /*
-   *  Read the timer and see how many clicks it has been since counter
-   *  rolled over.
-   */
-
-  clicks = m302.reg.tcn2;
-
-  /*
-   *  Total is calculated by taking into account the number of timer overflow
-   *  interrupts since the timer was initialized and clicks since the last
-   *  interrupts.
-   */
-
-  total = (Timer_interrupts * TRR2_VAL) + clicks;
-
-  if ( benchmark_timer_find_average_overhead == true )
-    return total;          /* in XXX microsecond units */
-
-  if ( total < LEAST_VALID )
-    return 0;            /* below timer resolution */
-
-  /*
-   *  Convert 1/2-microsecond count into microseconds
-   */
-
-  return (total - AVG_OVERHEAD) >> 1;
-}
-
-void benchmark_timer_disable_subtracting_average_overhead(
-  bool find_flag
-)
-{
-  benchmark_timer_find_average_overhead = find_flag;
-}
diff --git a/c/src/lib/libbsp/m68k/ods68302/timer/timerisr.S b/c/src/lib/libbsp/m68k/ods68302/timer/timerisr.S
deleted file mode 100644
index 1fe3931..0000000
--- a/c/src/lib/libbsp/m68k/ods68302/timer/timerisr.S
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Handle 68302 TIMER2 interrupts.
- *
- * All code in this routine is pure overhead which can perturb the
- * accuracy of RTEMS' timing test suite.
- *
- * See also:	benchmark_timer_read()
- *
- * To reduce overhead this is best to be the "rawest" hardware interupt
- * handler you can write.  This should be the only interrupt which can
- * occur during the measured time period.
- *
- * An external counter, Timer_interrupts, is incremented.
- */
-
-#include <rtems/asm.h>
-
-BEGIN_CODE
-	PUBLIC(timerisr)
-SYM(timerisr):
-	move.w	#0x0040,SYM(m302)+2072	| clear interrupt in-service bit
-	move.b	#3,SYM(m302)+2137	| clear timer interrupt event register
-	addq.l	#1,SYM(Timer_interrupts) | increment timer value
-	rte
-END_CODE
-END



More information about the vc mailing list