summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libbsp/m68k/acinclude.m42
-rw-r--r--c/src/lib/libbsp/m68k/idp/Makefile.am56
-rw-r--r--c/src/lib/libbsp/m68k/idp/README31
-rw-r--r--c/src/lib/libbsp/m68k/idp/bsp_specs13
-rw-r--r--c/src/lib/libbsp/m68k/idp/clock/ckinit.c137
-rw-r--r--c/src/lib/libbsp/m68k/idp/configure.ac20
-rw-r--r--c/src/lib/libbsp/m68k/idp/console/console.c227
-rw-r--r--c/src/lib/libbsp/m68k/idp/console/duart.c263
-rw-r--r--c/src/lib/libbsp/m68k/idp/console/leds.c81
-rw-r--r--c/src/lib/libbsp/m68k/idp/console/mc68ec.c19
-rw-r--r--c/src/lib/libbsp/m68k/idp/doxygen.h15
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/README9
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/bsp.h56
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/leds.h40
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/motorola/mc68230.h81
-rw-r--r--c/src/lib/libbsp/m68k/idp/include/motorola/mc68681.h315
-rw-r--r--c/src/lib/libbsp/m68k/idp/make/custom/idp.cfg24
-rw-r--r--c/src/lib/libbsp/m68k/idp/preinstall.am84
-rw-r--r--c/src/lib/libbsp/m68k/idp/startup/bspstart.c59
-rw-r--r--c/src/lib/libbsp/m68k/idp/startup/linkcmds201
-rw-r--r--c/src/lib/libbsp/m68k/idp/timer/timer.c98
-rw-r--r--c/src/lib/libbsp/m68k/idp/timer/timerisr.S35
-rw-r--r--c/src/lib/libbsp/m68k/idp/times189
23 files changed, 0 insertions, 2055 deletions
diff --git a/c/src/lib/libbsp/m68k/acinclude.m4 b/c/src/lib/libbsp/m68k/acinclude.m4
index 750746bb6c..a6914ec090 100644
--- a/c/src/lib/libbsp/m68k/acinclude.m4
+++ b/c/src/lib/libbsp/m68k/acinclude.m4
@@ -12,8 +12,6 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
AC_CONFIG_SUBDIRS([gen68360]);;
genmcf548x )
AC_CONFIG_SUBDIRS([genmcf548x]);;
- idp )
- AC_CONFIG_SUBDIRS([idp]);;
mcf5206elite )
AC_CONFIG_SUBDIRS([mcf5206elite]);;
mcf52235 )
diff --git a/c/src/lib/libbsp/m68k/idp/Makefile.am b/c/src/lib/libbsp/m68k/idp/Makefile.am
deleted file mode 100644
index 1fbcfe9dbb..0000000000
--- a/c/src/lib/libbsp/m68k/idp/Makefile.am
+++ /dev/null
@@ -1,56 +0,0 @@
-ACLOCAL_AMFLAGS = -I ../../../../aclocal
-
-include $(top_srcdir)/../../../../automake/compile.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
-
-include_HEADERS += include/leds.h
-nodist_include_HEADERS += ../../shared/include/coverhd.h
-
-## Motorola device support files
-include_rtems_motoroladir = $(includedir)/rtems/motorola
-include_rtems_motorola_HEADERS = include/motorola/mc68230.h
-include_rtems_motorola_HEADERS += include/motorola/mc68681.h
-
-noinst_LIBRARIES = libbspstart.a
-libbspstart_a_SOURCES = ../../m68k/shared/start/start.S
-project_lib_DATA = start.$(OBJEXT)
-
-dist_project_lib_DATA += startup/linkcmds
-
-noinst_LIBRARIES += libbsp.a
-libbsp_a_SOURCES =
-
-# startup
-libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
- ../../shared/bsppredriverhook.c \
- ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
- ../../shared/bspgetworkarea.c \
- ../../shared/sbrk.c ../../shared/setvec.c \
- ../../shared/gnatinstallhandler.c
-# clock
-libbsp_a_SOURCES += clock/ckinit.c
-# console
-libbsp_a_SOURCES += console/console.c console/leds.c console/mc68ec.c \
- console/duart.c ../../shared/dummy_printk_support.c
-# timer
-libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
-
-EXTRA_DIST = include/README
-EXTRA_DIST += times
-
-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/idp/README b/c/src/lib/libbsp/m68k/idp/README
deleted file mode 100644
index 5479acf383..0000000000
--- a/c/src/lib/libbsp/m68k/idp/README
+++ /dev/null
@@ -1,31 +0,0 @@
-This board support package has not been tested with multiprocessor
-or the timing support. The uniprocessor IDP package was tested though
-with a fairly large application (although bugs may exist). The
-$RTEMS_ROOT/src/tests/Makefile should therefore have the samples and
-the tests directories compiled first with the tmtests (timing) and
-multiprocessor directories optional.
-
-Let me know if you have any problems or bug fixes. Bug fixes are greatly
-appreciated. I do not work for RTEMS or am a member of the RTEMS support
-group in any way, however. I am just one of many that appreciate
-"free" software and enjoy contributing when possible :). You can do it too!
-
- -- doug mcbride
- mcbride@rodin.colorado.edu
-
-==============================================================
-Notes: Make sure that -msoft-float is defined when compiling in the
-newlib-beta-rtems/newlib/msoft-float directory subtree. You also probably
-want to add the following line to line 413 of
-newlib-beta-rtems/newlib/msoft-float/libc/stdio/vfprintf.c:
-
-#define INTEGER_ONLY
-
-That allows you to pass most of the paranoia test in the samples
-directory of RTEMS although you can't see the floating point values actually
-printed (software floating point tends to make that difficult anyway).
-In order to pass the whole paranoia test (with one flaw), however, I had to
-comment out the following line in milestone 140 (why?):
-
-/* printf ("Testing X^((X + 1) / (X - 1)) vs. exp(2) = %.17e as X -> 1.\n",
- Exp2); */
diff --git a/c/src/lib/libbsp/m68k/idp/bsp_specs b/c/src/lib/libbsp/m68k/idp/bsp_specs
deleted file mode 100644
index 5154de8c55..0000000000
--- a/c/src/lib/libbsp/m68k/idp/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/idp/clock/ckinit.c b/c/src/lib/libbsp/m68k/idp/clock/ckinit.c
deleted file mode 100644
index a2ee94022a..0000000000
--- a/c/src/lib/libbsp/m68k/idp/clock/ckinit.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * This is modified by Doug McBride to get it to work for the MC68EC040
- * IDP board. The below comments are kept to show that some prior work
- * was done in the area and the modifications performed was application
- * specific for the IDP board to port it to.
- *
- * This routine initializes the mc68230 on the MC68EC040 board.
- * The tick frequency is 40 milliseconds.
- */
-
-/*
- * 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 <stdlib.h>
-
-#include <bsp.h>
-
-uint32_t Clock_isrs; /* ISRs until next tick */
-volatile uint32_t Clock_driver_ticks;
- /* ticks since initialization */
-rtems_isr_entry Old_ticker;
-
-extern void led_putnum(void);
-void Disable_clock(void);
-
-#define CLOCK_VECTOR 0x4D
-
-void Clock_exit( void );
-
-/*
- * ISR Handler
- *
- *
- * ((1ms * 6.5 MHz) / 2^5) = 203.125) where 6.5 MHz is the clock rate of the
- * MC68230, 2^5 is the prescaler factor, and 1ms is the common interrupt
- * interval for the Clock_isr routine.
- *
- * Therefore, 203 (decimal) is the number to program into the CPRH-L registers
- * of the MC68230 for countdown. However, I have found that 193 instead of
- * 203 provides greater accuracy -- why? The crystal should be more accurate
- * than that
- */
-static rtems_isr Clock_isr(
- rtems_vector_number vector
-)
-{
- Clock_driver_ticks += 1;
- /* acknowledge interrupt
- MC68230_TSR = 1; */
- MC68230_WRITE (MC68230_TSR, 1);
-
- if ( Clock_isrs == 1 ) {
- rtems_clock_tick();
- /* Cast to an integer so that 68EC040 IDP which doesn't have an FPU doesn't
- have a heart attack -- if you use newlib1.6 or greater and get
- libgcc.a for gcc with software floating point support, this is not
- a problem */
- Clock_isrs =
- (int)(rtems_configuration_get_microseconds_per_tick() / 1000);
- }
- else
- Clock_isrs -= 1;
-}
-
-void Disable_clock(void)
-{
- /* Disable timer */
- MC68230_WRITE (MC68230_TCR, 0x00);
-}
-
-static void Install_clock(
- rtems_isr_entry clock_isr )
-{
- Clock_driver_ticks = 0;
- Clock_isrs = (int)(rtems_configuration_get_microseconds_per_tick() / 1000);
-
-/* led_putnum('c'); * for debugging purposes */
- Old_ticker = (rtems_isr_entry) set_vector( clock_isr, CLOCK_VECTOR, 1 );
-
- /* Disable timer for initialization */
- MC68230_WRITE (MC68230_TCR, 0x00);
-
- /* some PI/T initialization stuff here -- see comment in the ckisr.c
- file in this directory to understand why I use the values that I do */
- /* Set up the interrupt vector on the MC68230 chip:
- MC68230_TIVR = CLOCK_VECTOR; */
- MC68230_WRITE (MC68230_TIVR, CLOCK_VECTOR);
-
- /* Set CPRH through CPRL to 193 (not 203) decimal for countdown--see ckisr.c
- CPRH = 0x00;
- CPRM = 0x00;
- CPRL = 0xC1; */
- MC68230_WRITE (MC68230_CPRH, 0x00);
- MC68230_WRITE (MC68230_CPRM, 0x00);
- MC68230_WRITE (MC68230_CPRL, 0xC1);
-
- /* Enable timer and use it as an external periodic interrupt generator
- MC68230_TCR = 0xA1; */
-/* led_putnum('a'); * for debugging purposes */
- MC68230_WRITE (MC68230_TCR, 0xA1);
-
- /*
- * Schedule the clock cleanup routine to execute if the application exits.
- */
- atexit( Clock_exit );
-}
-
-/* The following was added for debugging purposes */
-void Clock_exit( void )
-{
- uint8_t data;
-
- /* disable timer
- data = TCR;
- TCR = (data & 0xFE); */
- MC68230_READ (MC68230_TCR, data);
- MC68230_WRITE (MC68230_TCR, (data & 0xFE));
-
- /* 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/idp/configure.ac b/c/src/lib/libbsp/m68k/idp/configure.ac
deleted file mode 100644
index 53424142e4..0000000000
--- a/c/src/lib/libbsp/m68k/idp/configure.ac
+++ /dev/null
@@ -1,20 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.69])
-AC_INIT([rtems-c-src-lib-libbsp-m68k-idp],[_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
-
-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/idp/console/console.c b/c/src/lib/libbsp/m68k/idp/console/console.c
deleted file mode 100644
index 200d52e40b..0000000000
--- a/c/src/lib/libbsp/m68k/idp/console/console.c
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * This file contains the Motorola IDP console IO package.
- */
-
-/*
- * Written by Doug McBride, Colorado Space Grant College
- * Based off of the board support packages of RTEMS
- *
- * Updated to RTEMS 3.2.0 by Joel Sherrill.
- */
-
-#define MIDP_INIT
-
-#include <bsp.h>
-#include <rtems/libio.h>
-
-#include <rtems/ringbuf.h>
-
-Ring_buffer_t Console_Buffer[ 2 ];
-
-rtems_isr C_Receive_ISR(rtems_vector_number vector);
-
-/* 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;
-
- Ring_buffer_Initialize( &Console_Buffer[ 0 ] );
- Ring_buffer_Initialize( &Console_Buffer[ 1 ] );
-
- init_pit();
-
- status = rtems_io_register_name(
- "/dev/console",
- major,
- (rtems_device_minor_number) 0
- );
-
- if (status != RTEMS_SUCCESSFUL)
- rtems_fatal_error_occurred(status);
-
- status = rtems_io_register_name(
- "/dev/tty00",
- major,
- (rtems_device_minor_number) 0
- );
-
- if (status != RTEMS_SUCCESSFUL)
- rtems_fatal_error_occurred(status);
-
- status = rtems_io_register_name(
- "/dev/tty01",
- major,
- (rtems_device_minor_number) 1
- );
-
- if (status != RTEMS_SUCCESSFUL)
- rtems_fatal_error_occurred(status);
-
- return RTEMS_SUCCESSFUL;
-}
-
-/* is_character_ready
- *
- * This routine returns TRUE if a character is available.
- */
-static bool is_character_ready(
- char *ch,
- int port
-)
-{
- if ( Ring_buffer_Is_empty( &Console_Buffer[ port ] ) )
- return false;
-
- Ring_buffer_Remove_character( &Console_Buffer[ port ], *ch );
- return true;
-}
-
-/* inbyte
- *
- * This routine reads a character from the UART through a buffer.
- */
-static char inbyte(
- int port
-)
-{
- char tmp_char;
-
- /* If you come into this routine without checking is_character_ready() first
- and you want nonblocking code, then it's your own fault */
-
- while ( !is_character_ready( &tmp_char, port ) );
-
- return tmp_char;
-}
-
-/* outbyte
- *
- * This routine transmits a character out the M68681. It supports
- * XON/XOFF flow control.
- */
-static void outbyte(
- char ch,
- int port
-)
-{
- switch ( port ) {
- case 0:
- transmit_char( ch );
- break;
- case 1:
- transmit_char_portb( ch );
- break;
- }
-
-}
-
-/*
- * 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;
-
- if ( minor > 1 )
- return RTEMS_INVALID_NUMBER;
-
- for (count = 0; count < maximum; count++) {
- buffer[ count ] = inbyte( minor );
- 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;
-
- if ( minor > 1 )
- return RTEMS_INVALID_NUMBER;
-
- for (count = 0; count < maximum; count++) {
- if ( buffer[ count ] == '\n') {
- outbyte('\r', minor );
- }
- outbyte( buffer[ count ], minor );
- }
-
- 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/idp/console/duart.c b/c/src/lib/libbsp/m68k/idp/console/duart.c
deleted file mode 100644
index d0a7d9af4d..0000000000
--- a/c/src/lib/libbsp/m68k/idp/console/duart.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/*#########################################################
-#
-# This code is a modified version of what you will find at the
-# end of the IDP User's manual. The original code is copyrighted
-# by Motorola and Motorola Semiconductor Products as well as
-# Motorola Software products group.
-#
-# Modifications to the original IDP code by Doug McBride, Colorado
-# Space Grant College. Modifications include a means of accessing
-# port B of the duart as well as port A as well as modifications for
-# buffering and RTEMS support. Modifications are provided
-# as is and may not be correct.
-#
-# Rob Savoye provided the format for the mc68681 header file
-#
-# Joel Sherrill provided inspiration for recoding my original assembly
-# for this file into C (a good idea)
-#
-##########################################################*/
-
-#include <bsp.h>
-#include <rtems/ringbuf.h>
-
-rtems_isr C_Receive_ISR(rtems_vector_number vector);
-extern Ring_buffer_t Console_Buffer[];
-
-extern unsigned char inbuf[];
-extern unsigned char inbuf_portb[];
-extern unsigned tail;
-extern unsigned tail_portb;
-unsigned char Pit_initialized = 0;
-
-/*#####################################################################
-# The volatile routine to initialize the duart -- port a and port b
-######################################################################*/
-void init_pit()
-{
- /*
- * ports A & B while configuring PIT by:
- *
- * + disable Interrupt Mask Register
- * + disable port A transmitter
- * + disable port A receiver
- * + disable port B transmitter
- * + disable port B receiver
- */
-
- MC68681_WRITE(DUART_ADDR, MC68681_INTERRUPT_MASK_REG, 0x00);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_A ,MC68681_MODE_REG_DISABLE_TX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_A, MC68681_MODE_REG_DISABLE_RX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_B, MC68681_MODE_REG_DISABLE_TX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_B, MC68681_MODE_REG_DISABLE_RX);
-
- /*
- * install ISR for ports A and B
- */
- set_vector(C_Receive_ISR, (MC68230_VECT+MC68230_H3VECT), 1);
-
- /*
- * initialize pit
- *
- * set mode to 0 -- disable all ports
- * set up pirq and piack
- * all pins on port b are input
- * submode 1x, h3 interrupt enabled
- * setup pivr
- * turn on all ports
- */
- MC68230_WRITE(MC68230_PGCR, 0x00);
- MC68230_WRITE(MC68230_PSRR, 0x18);
- MC68230_WRITE(MC68230_PBDDR, 0x00);
- MC68230_WRITE(MC68230_PBCR, 0x82);
- MC68230_WRITE(MC68230_PIVR, MC68230_VECT);
- MC68230_WRITE(MC68230_PGCR, 0x20);
-
- /*
- * For some reason, the reset of receiver/transmitter only works for
- * the first time around -- it garbles the output otherwise
- * (e.g., sp21)
- */
- if (!Pit_initialized)
- {
- /*
- * initialize the duart registers on port b
- * WARNING:OPTIMIZER MAY ONLY EXECUTE THIRD STATEMENT IF NOT VOLATILE
- *
- * reset tx, channel b
- * reset rx, channel b
- * reset mr pointer, ch
- */
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_B, MC68681_MODE_REG_RESET_TX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_B, MC68681_MODE_REG_RESET_RX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_B, MC68681_MODE_REG_RESET_MR_PTR);
-
- /*
- * initialize the duart registers on port a
- * WARNING:OPTIMIZER MAY ONLY EXECUTE THIRD STATEMENT IF NOT VOLATILE
- *
- * reset tx, channel a
- * reset rx, channel a
- * reset mr pointer, ch
- */
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_A, MC68681_MODE_REG_RESET_TX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_A, MC68681_MODE_REG_RESET_RX);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_A, MC68681_MODE_REG_RESET_MR_PTR);
-
- Pit_initialized = 1;
- }
-
- /*
- * Init the general registers of the duart
- *
- * init ivr
- * init imr
- * init acr
- * init ctur
- * init ctlr
- * init opcr
- * init cts
- */
- MC68681_WRITE(DUART_ADDR, MC68681_INTERRUPT_VECTOR_REG,
- MC68681_INTERRUPT_VECTOR_INIT);
- MC68681_WRITE(DUART_ADDR, MC68681_INTERRUPT_MASK_REG,
- MC68681_IR_RX_READY_A | MC68681_IR_RX_READY_B);
- MC68681_WRITE(DUART_ADDR, MC68681_AUX_CTRL_REG, MC68681_CLEAR);
- MC68681_WRITE(DUART_ADDR, MC68681_COUNTER_TIMER_UPPER_REG, 0x00);
- MC68681_WRITE(DUART_ADDR, MC68681_COUNTER_TIMER_LOWER_REG, 0x02);
- MC68681_WRITE(DUART_ADDR, MC68681_OUTPUT_PORT_CONFIG_REG, MC68681_CLEAR);
- MC68681_WRITE(DUART_ADDR, MC68681_OUTPUT_PORT_SET_REG, 0x01);
-
- /*
- * init the actual serial port for port a
- *
- * Set Baud Rate to 9600
- * Set Stop bit length of 1
- * enable Transmit and receive
- */
- MC68681_WRITE(DUART_ADDR, MC68681_CLOCK_SELECT_REG_A, MC68681_BAUD_RATE_MASK_9600);
- MC68681_WRITE(DUART_ADDR, MC68681_MODE_REG_1A,
- (MC68681_8BIT_CHARS | MC68681_NO_PARITY));
- MC68681_WRITE(DUART_ADDR, MC68681_MODE_REG_2A,MC68681_STOP_BIT_LENGTH_1);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_A,
- (MC68681_MODE_REG_ENABLE_TX | MC68681_MODE_REG_ENABLE_RX));
-
- /*
- * init the actual serial port for port b
- * init csrb -- 9600 baud
- */
- MC68681_WRITE(DUART_ADDR, MC68681_CLOCK_SELECT_REG_B, MC68681_BAUD_RATE_MASK_9600);
-
-#define EIGHT_BITS_NO_PARITY
-#ifdef EIGHT_BITS_NO_PARITY
- /*
- * Set 8 Bit characters with no parity
- */
- MC68681_WRITE(DUART_ADDR, MC68681_MODE_REG_1B,
- (MC68681_NO_PARITY | MC68681_8BIT_CHARS) );
-#else
- /*
- * Set 7 Bit Characters with parity
- */
- MC68681_WRITE(DUART_ADDR, MC68681_MODE_REG_1B,
- (MC68681_WITH_PARITY | MC68681_7BIT_CHARS) );
-#endif
-
- /*
- * Set Stop Bit length to 1
- * Disable Recieve and transmit on B
- */
- MC68681_WRITE(DUART_ADDR, MC68681_MODE_REG_2B,MC68681_STOP_BIT_LENGTH_1);
- MC68681_WRITE(DUART_ADDR, MC68681_COMMAND_REG_B,
- (MC68681_MODE_REG_ENABLE_TX | MC68681_MODE_REG_ENABLE_RX) );
-}
-
-/*#####################################################################
-# interrupt handler for receive of character from duart on ports A & B
-#####################################################################*/
-rtems_isr C_Receive_ISR(rtems_vector_number vector)
-{
- volatile unsigned char *_addr;
-
- /*
- * Clear pit interrupt.
- */
- _addr = (unsigned char *) (MC68230_PIT_ADDR + MC68230_PITSR);
- *_addr = 0x04;
-
- /*
- * check port A first for input
- * extract rcvrdy on port B
- * set ptr to recieve buffer and read character into ring buffer
- */
- _addr = (unsigned char *) (DUART_ADDR + MC68681_STATUS_REG_A);
- if (*_addr & MC68681_RX_READY) /* extract rcvrdy on port A */
- {
- _addr = (unsigned char *) (DUART_ADDR + MC68681_RECEIVE_BUFFER_A);
- Ring_buffer_Add_character( &Console_Buffer[ 0 ], *_addr );
- }
-
- /*
- * If not on port A, let's check port B
- * extract rcvrdy on port B
- * set ptr to recieve buffer and read character into ring buffer
- */
- else
- {
- _addr = (unsigned char *) (DUART_ADDR + MC68681_STATUS_REG_B);
- if (*_addr & MC68681_RX_READY) /* extract rcvrdy on port B */
- {
- _addr = (unsigned char *) (DUART_ADDR + MC68681_RECEIVE_BUFFER_B);
- Ring_buffer_Add_character( &Console_Buffer[ 1 ], *_addr );
- }
-
- /*
- * if not ready on port A or port B, must be an error
- * if error, get out so that fifo is undisturbed
- */
- }
-}
-
-/*#####################################################################
-# This is the routine that actually transmits a character one at a time
-# This routine transmits on port A of the IDP board
-#####################################################################*/
-void transmit_char(char ch)
-{
- volatile unsigned char *_addr;
-
- /*
- * Get SRA (extract txrdy)
- */
- _addr = (unsigned char *) (DUART_ADDR + MC68681_STATUS_REG_A);
- while (!(*_addr & MC68681_TX_READY))
- {
- }
-
- /*
- * transmit character over port A
- */
- MC68681_WRITE(DUART_ADDR, MC68681_TRANSMIT_BUFFER_A, ch);
-}
-
-/*#####################################################################
-# This is the routine that actually transmits a character one at a time
-# This routine transmits on port B of the IDP board
-#####################################################################*/
-void transmit_char_portb(char ch)
-{
- volatile unsigned char *_addr;
-
- /*
- * Get SRB (extract txrdy)
- */
- _addr = (unsigned char *) (DUART_ADDR + MC68681_STATUS_REG_B);
- while (!(*_addr & MC68681_TX_READY))
- {
- }
-
- /*
- * transmit character over port B
- */
- MC68681_WRITE(DUART_ADDR, MC68681_TRANSMIT_BUFFER_B, ch);
-}
diff --git a/c/src/lib/libbsp/m68k/idp/console/leds.c b/c/src/lib/libbsp/m68k/idp/console/leds.c
deleted file mode 100644
index d2478c5d84..0000000000
--- a/c/src/lib/libbsp/m68k/idp/console/leds.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * leds.c -- control the led's on a Motorola mc68ec0x0 board.
- * Written by rob@cygnus.com (Rob Savoye)
- */
-#include "leds.h"
-
-void zylons(void);
-void clear_leds(void);
-
-/*
- * led_putnum --
- * print a hex number on the LED. the value of num must be a char with
- * the ascii value. ie... number 0 is '0', a is 'a', ' ' (null) clears
- * the led display.
- * Setting the bit to 0 turns it on, 1 turns it off.
- * the LED's are controlled by setting the right bit mask in the base
- * address.
- * The bits are:
- * [d.p | g | f | e | d | c | b | a ] is the byte.
- *
- * The locations are:
- *
- * a
- * -----
- * f | | b
- * | g |
- * -----
- * | |
- * e | | c
- * -----
- * d . d.p (decimal point)
- */
-void
-led_putnum ( char num )
-{
- static unsigned char *leds = (unsigned char *)LED_ADDR;
- static unsigned char num_bits [18] = {
- 0xff, /* clear all */
- 0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x98, /* numbers 0-9 */
- 0x98, 0x20, 0x3, 0x27, 0x21, 0x4, 0xe /* letters a-f */
- };
-
- if (num >= '0' && num <= '9')
- num = (num - '0') + 1;
-
- if (num >= 'a' && num <= 'f')
- num = (num - 'a') + 12;
-
- if (num == ' ')
- num = 0;
-
- *leds = num_bits[(int)num];
-}
-
-/* This procedure added by Doug McBride, Colorado Space Grant College --
- Probably should be a macro instead */
-void
-clear_leds ( )
-{
- static unsigned char *leds = (unsigned char *)LED_ADDR;
- *leds = 0xFF;
-}
-
-void rtems_bsp_delay( int );
-
-/*
- * zylons -- draw a rotating pattern. NOTE: this function never returns.
- */
-void
-zylons()
-{
- unsigned char *leds = (unsigned char *)LED_ADDR;
- unsigned char curled = 0xfe;
-
- while (1)
- {
- *leds = curled;
- curled = (curled >> 1) | (curled << 7);
- rtems_bsp_delay ( 8000 );
- }
-}
diff --git a/c/src/lib/libbsp/m68k/idp/console/mc68ec.c b/c/src/lib/libbsp/m68k/idp/console/mc68ec.c
deleted file mode 100644
index 9041ca527b..0000000000
--- a/c/src/lib/libbsp/m68k/idp/console/mc68ec.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * mc68ec.c -- Low level support for the Motorola mc68ec0x0 board.
- * Written by rob@cygnus.com (Rob Savoye)
- */
-
-#include <bsp.h>
-#include "leds.h"
-
-/*
- * rtems_bsp_delay -- delay execution. This is an ugly hack. It should
- * use the timer, but I'm waiting for docs. (sigh)
- */
-void rtems_bsp_delay(int num)
-{
- while (num--)
- {
- __asm__ ("nop");
- }
-}
diff --git a/c/src/lib/libbsp/m68k/idp/doxygen.h b/c/src/lib/libbsp/m68k/idp/doxygen.h
deleted file mode 100644
index 3c507b7074..0000000000
--- a/c/src/lib/libbsp/m68k/idp/doxygen.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/**
- * @defgroup bsp_m68k M68K
- *
- * @ingroup bsp_kit
- *
- * @brief M68K Board Support Packages
- */
-
-/**
- * @defgroup m68k_idp M68K IDP Modules
- *
- * @ingroup bsp_m68k
- *
- * @brief M68K IDP Modules
- */ \ No newline at end of file
diff --git a/c/src/lib/libbsp/m68k/idp/include/README b/c/src/lib/libbsp/m68k/idp/include/README
deleted file mode 100644
index 165175f0a6..0000000000
--- a/c/src/lib/libbsp/m68k/idp/include/README
+++ /dev/null
@@ -1,9 +0,0 @@
-The following files really should be made generic and allowed to
-be shared between BSPs:
-
- mc68230.h
- mc68681.h
- ringbuf.h
-
-However at the moment the BSP is not tested under 3.2.0 so it is
-dangerous to do so.
diff --git a/c/src/lib/libbsp/m68k/idp/include/bsp.h b/c/src/lib/libbsp/m68k/idp/include/bsp.h
deleted file mode 100644
index c7ed37228a..0000000000
--- a/c/src/lib/libbsp/m68k/idp/include/bsp.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * @file
- *
- * @ingroup idp_bsp
- *
- * @brief This include file contains all Motorola 680x0 IDP board
- * IO definitions.
- */
-
-#ifndef LIBBSP_M68K_IDP_BSP_H
-#define LIBBSP_M68K_IDP_BSP_H
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-#include <rtems/console.h>
-#include <rtems/clockdrv.h>
-#include <rtems/motorola/mc68230.h>
-#include <rtems/motorola/mc68681.h>
-
-/**
- * @defgroup idp_bsp IO definitions
- *
- * @ingroup m68k_idp
- *
- * @brief Motorola 680x0 IDP board IO definitions
- */
-
-#define DUART_ADDR 0xb00003 /* base address of the MC68681 DUART */
-
-/* Constants */
-
-#define RAM_START 0
-#define RAM_END 0x200000
-
-extern rtems_isr_entry M68Kvec[]; /* vector table address */
-
-/* functions */
-
-rtems_isr_entry set_vector(
- rtems_isr_entry handler,
- rtems_vector_number vector,
- int type
-);
-
-void rtems_bsp_delay(int num);
-
-/*
- * Prototypes for methods inside the BSP that cross file boundaries.
- */
-void init_pit( void );
-void transmit_char( char ch );
-void transmit_char_portb( char ch );
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/idp/include/leds.h b/c/src/lib/libbsp/m68k/idp/include/leds.h
deleted file mode 100644
index 4c0313ca0d..0000000000
--- a/c/src/lib/libbsp/m68k/idp/include/leds.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * @file
- *
- * @ingroup m68k_leds
- *
- * @brief Led Control
- */
-
-/*
- * Written by rob@cygnus.com (Rob Savoye)
- */
-
-#ifndef __LEDS_H__
-#define __LEDS_H__
-
-#define LED_ADDR 0xd00003
-#define LED_0 ~0x1
-#define LED_1 ~0x2
-#define LED_2 ~0x4
-#define LED_3 ~0x8
-#define LED_4 ~0x10
-#define LED_5 ~0x20
-#define LED_6 ~0x40
-#define LED_7 ~0x80
-#define LEDS_OFF 0xff
-#define LEDS_ON 0x0
-
-/**
- * @defgroup m68k_leds Led Control
- *
- * @ingroup m68k_idp
- *
- * @brief control the led's on a Motorola mc68ec0x0 board
- */
-
-#define FUDGE(x) ((x >= 0xa && x <= 0xf) ? (x + 'a') & 0x7f : (x + '0') & 0x7f)
-
-extern void led_putnum( char );
-
-#endif /* __LEDS_H__ */
diff --git a/c/src/lib/libbsp/m68k/idp/include/motorola/mc68230.h b/c/src/lib/libbsp/m68k/idp/include/motorola/mc68230.h
deleted file mode 100644
index 6fd4eed456..0000000000
--- a/c/src/lib/libbsp/m68k/idp/include/motorola/mc68230.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/**
- * @file rtems/motorola/mc68230.h
- *
- * @ingroup idp_m68230
- *
- * @brief Low level support code for the Motorola 68230 Parallel
- * Interface/Timer (PIT)
- */
-
-/*
- * Modified by Doug McBride, Colorado Space Grant College
- *
- * Format taken partly from RTEMS code and mostly from Motorola IDP user's
- * manual. RTEMS copyright information below.
- *
- * COPYRIGHT (c) 1989-2011.
- * 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.
- */
-
-/**
- * @defgroup idp_mc68230 Motorola MC68230
- *
- * @ingroup m68k_idp
- *
- * @brief Support code for Motorola MC68230 PIT
- */
-#ifndef _RTEMS_MOTOROLA_MC68230_H
-#define _RTEMS_MOTOROLA_MC68230_H
-
-/* Some Motorola IDP User manual defines: */
-#define MC68230_PIT_ADDR 0x00c01003 /* base address of the PIT */
-#define MC68230_REGOFF 0x04 /* Difference between addresses */
-#define MC68230_VECT 64
-#define MC68230_H1VECT 0x00
-#define MC68230_H2VECT 0x01
-#define MC68230_H3VECT 0x02
-#define MC68230_H4VECT 0x03
-
-/*
- * mc68230 register offsets
- */
-#define MC68230_PGCR 0x00
-#define MC68230_PSRR 1*MC68230_REGOFF
-#define MC68230_PADDR 2*MC68230_REGOFF
-#define MC68230_PBDDR 3*MC68230_REGOFF
-#define MC68230_PCDDR 4*MC68230_REGOFF
-#define MC68230_PIVR 5*MC68230_REGOFF
-#define MC68230_PACR 6*MC68230_REGOFF
-#define MC68230_PBCR 7*MC68230_REGOFF
-#define MC68230_PADR 8*MC68230_REGOFF
-#define MC68230_PBDR 9*MC68230_REGOFF
-#define MC68230_PAAR 10*MC68230_REGOFF
-#define MC68230_PBAR 11*MC68230_REGOFF
-#define MC68230_PCDR 12*MC68230_REGOFF
-#define MC68230_PITSR 13*MC68230_REGOFF
-#define MC68230_TCR 16*MC68230_REGOFF
-#define MC68230_TIVR 17*MC68230_REGOFF
-#define MC68230_CPRH 19*MC68230_REGOFF
-#define MC68230_CPRM 20*MC68230_REGOFF
-#define MC68230_CPRL 21*MC68230_REGOFF
-#define MC68230_CNTRH 23*MC68230_REGOFF
-#define MC68230_CNTRM 24*MC68230_REGOFF
-#define MC68230_CNTRL 25*MC68230_REGOFF
-#define MC68230_TSR 26*MC68230_REGOFF
-
-/* Some RTEMS style defines: */
-#ifndef MC68230_VOL8
-#define MC68230_VOL8( ptr ) ((volatile uint8_t *)(ptr))
-#endif
-
-#define MC68230_WRITE( reg, data ) \
- *(MC68230_VOL8(MC68230_PIT_ADDR+reg)) = (data)
-
-#define MC68230_READ( reg, data ) \
- (data) = *(MC68230_VOL8(MC68230_PIT_ADDR+reg))
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/idp/include/motorola/mc68681.h b/c/src/lib/libbsp/m68k/idp/include/motorola/mc68681.h
deleted file mode 100644
index 47045c8ada..0000000000
--- a/c/src/lib/libbsp/m68k/idp/include/motorola/mc68681.h
+++ /dev/null
@@ -1,315 +0,0 @@
-/**
- * @file rtems/motorola/mc68681.h
- *
- * @ingroup idp_mc68681
- *
- * @brief Low level support code for the Motorola mc68681 DUART.
- */
-
-/*
- *
- * Originally written by rob@cygnus.com (Rob Savoye) for the libgloss
- * IDP support.
- */
-
-/**
- * @defgroup idp_mc68681 Motorola MC68681
- *
- * @ingroup m68k_idp
- *
- * @brief Support code for Motorola MC68681 DUART
- */
-
-#ifndef _RTEMS_MOTOROLA_MC68681_H
-#define _RTEMS_MOTOROLA_MC68681_H
-
-/*
- * In the dark ages when this controller was designed, it was actually
- * possible to access data on unaligned byte boundaries with no penalty.
- * Now we find this chip in configurations in which the registers are
- * at 16-bit, 32-bit, and 64-bit boundaries at the whim of the board
- * designer. If the registers are not at byte addresses, then
- * set this multiplier before including this file to correct the offsets.
- */
-
-#ifndef MC68681_OFFSET_MULTIPLIER
-#define MC68681_OFFSET_MULTIPLIER 1
-#endif
-
-#define __MC68681_REG(_R) ((_R) * MC68681_OFFSET_MULTIPLIER)
-
-/*
- * mc68681 register offsets Read/Write Addresses
- */
-#define MC68681_MODE_REG_1A __MC68681_REG(0) /* MR1A-MR Prior to Read */
-#define MC68681_MODE_REG_2A __MC68681_REG(0) /* MR2A-MR After Read */
-
-#define MC68681_COUNT_MODE_CURRENT_MSB __MC68681_REG(6) /* CTU */
-#define MC68681_COUNTER_TIMER_UPPER_REG __MC68681_REG(6) /* CTU */
-#define MC68681_COUNT_MODE_CURRENT_LSB __MC68681_REG(7) /* CTL */
-#define MC68681_COUNTER_TIMER_LOWER_REG __MC68681_REG(7) /* CTL */
-#define MC68681_INTERRUPT_VECTOR_REG __MC68681_REG(12) /* IVR */
-
-#define MC68681_MODE_REG_1B __MC68681_REG(8) /* MR1B-MR Prior to Read */
-#define MC68681_MODE_REG_2B __MC68681_REG(8) /* MR2BA-MR After Read */
-
-/*
- * mc68681 register offsets Read Only Addresses
- */
-#define MC68681_STATUS_REG_A __MC68681_REG(1) /* SRA */
-#define MC68681_MASK_ISR_REG __MC68681_REG(2) /* MISR */
-#define MC68681_RECEIVE_BUFFER_A __MC68681_REG(3) /* RHRA */
-#define MC68681_INPUT_PORT_CHANGE_REG __MC68681_REG(4) /* IPCR */
-#define MC68681_INTERRUPT_STATUS_REG __MC68681_REG(5) /* ISR */
-#define MC68681_STATUS_REG_B __MC68681_REG(9) /* SRB */
-#define MC68681_RECEIVE_BUFFER_B __MC68681_REG(11) /* RHRB */
-#define MC68681_INPUT_PORT __MC68681_REG(13) /* IP */
-#define MC68681_START_COUNT_CMD __MC68681_REG(14) /* SCC */
-#define MC68681_STOP_COUNT_CMD __MC68681_REG(15) /* STC */
-
-/*
- * mc68681 register offsets Write Only Addresses
- */
-#define MC68681_CLOCK_SELECT_REG_A __MC68681_REG(1) /* CSRA */
-#define MC68681_COMMAND_REG_A __MC68681_REG(2) /* CRA */
-#define MC68681_TRANSMIT_BUFFER_A __MC68681_REG(3) /* THRA */
-#define MC68681_AUX_CTRL_REG __MC68681_REG(4) /* ACR */
-#define MC68681_INTERRUPT_MASK_REG __MC68681_REG(5) /* IMR */
-#define MC68681_CLOCK_SELECT_REG_B __MC68681_REG(9) /* CSRB */
-#define MC68681_COMMAND_REG_B __MC68681_REG(10) /* CRB */
-#define MC68681_TRANSMIT_BUFFER_B __MC68681_REG(11) /* THRB */
-#define MC68681_OUTPUT_PORT_CONFIG_REG __MC68681_REG(13) /* OPCR */
-#define MC68681_OUTPUT_PORT_SET_REG __MC68681_REG(14) /* SOPBC */
-#define MC68681_OUTPUT_PORT_RESET_BITS __MC68681_REG(15) /* COPBC */
-
-
-#ifndef MC6681_VOL
-#define MC6681_VOL( ptr ) ((volatile unsigned char *)(ptr))
-#endif
-
-#define MC68681_WRITE( _base, _reg, _data ) \
- *((volatile unsigned char *)_base+_reg) = (_data)
-
-#define MC68681_READ( _base, _reg ) \
- *(((volatile unsigned char *)_base+_reg))
-
-
-
-#define MC68681_CLEAR 0x00
-
-#define MC68681_PORT_A 0
-#define MC68681_PORT_B 1
-
-/*
- * DUART Command Register Definitions:
- *
- * MC68681_COMMAND_REG_A,MC68681_COMMAND_REG_B
- */
-#define MC68681_MODE_REG_ENABLE_RX 0x01
-#define MC68681_MODE_REG_DISABLE_RX 0x02
-#define MC68681_MODE_REG_ENABLE_TX 0x04
-#define MC68681_MODE_REG_DISABLE_TX 0x08
-#define MC68681_MODE_REG_RESET_MR_PTR 0x10
-#define MC68681_MODE_REG_RESET_RX 0x20
-#define MC68681_MODE_REG_RESET_TX 0x30
-#define MC68681_MODE_REG_RESET_ERROR 0x40
-#define MC68681_MODE_REG_RESET_BREAK 0x50
-#define MC68681_MODE_REG_START_BREAK 0x60
-#define MC68681_MODE_REG_STOP_BREAK 0x70
-#define MC68681_MODE_REG_SET_RX_BRG 0x80
-#define MC68681_MODE_REG_CLEAR_RX_BRG 0x90
-#define MC68681_MODE_REG_SET_TX_BRG 0xa0
-#define MC68681_MODE_REG_CLEAR_TX_BRG 0xb0
-#define MC68681_MODE_REG_SET_STANDBY 0xc0
-#define MC68681_MODE_REG_SET_ACTIVE 0xd0
-
-/*
- * Mode Register Definitions
- *
- * MC68681_MODE_REG_1A
- * MC68681_MODE_REG_1B
- */
-#define MC68681_5BIT_CHARS 0x00
-#define MC68681_6BIT_CHARS 0x01
-#define MC68681_7BIT_CHARS 0x02
-#define MC68681_8BIT_CHARS 0x03
-
-#define MC68681_ODD_PARITY 0x00
-#define MC68681_EVEN_PARITY 0x04
-
-#define MC68681_WITH_PARITY 0x00
-#define MC68681_FORCE_PARITY 0x08
-#define MC68681_NO_PARITY 0x10
-#define MC68681_MULTI_DROP 0x18
-
-#define MC68681_ERR_MODE_CHAR 0x00
-#define MC68681_ERR_MODE_BLOCK 0x20
-
-#define MC68681_RX_INTR_RX_READY 0x00
-#define MC68681_RX_INTR_FFULL 0x40
-
-#define MC68681_NO_RX_RTS_CTL 0x00
-#define MC68681_RX_RTS_CTRL 0x80
-
-
-/*
- * Mode Register Definitions
- *
- * MC68681_MODE_REG_2A
- * MC68681_MODE_REG_2B
- */
-#define MC68681_STOP_BIT_LENGTH__563 0x00
-#define MC68681_STOP_BIT_LENGTH__625 0x01
-#define MC68681_STOP_BIT_LENGTH__688 0x02
-#define MC68681_STOP_BIT_LENGTH__75 0x03
-#define MC68681_STOP_BIT_LENGTH__813 0x04
-#define MC68681_STOP_BIT_LENGTH__875 0x05
-#define MC68681_STOP_BIT_LENGTH__938 0x06
-#define MC68681_STOP_BIT_LENGTH_1 0x07
-#define MC68681_STOP_BIT_LENGTH_1_563 0x08
-#define MC68681_STOP_BIT_LENGTH_1_625 0x09
-#define MC68681_STOP_BIT_LENGTH_1_688 0x0a
-#define MC68681_STOP_BIT_LENGTH_1_75 0x0b
-#define MC68681_STOP_BIT_LENGTH_1_813 0x0c
-#define MC68681_STOP_BIT_LENGTH_1_875 0x0d
-#define MC68681_STOP_BIT_LENGTH_1_938 0x0e
-#define MC68681_STOP_BIT_LENGTH_2 0x0f
-
-#define MC68681_CTS_ENABLE_TX 0x10
-#define MC68681_TX_RTS_CTRL 0x20
-
-#define MC68681_CHANNEL_MODE_NORMAL 0x00
-#define MC68681_CHANNEL_MODE_ECHO 0x40
-#define MC68681_CHANNEL_MODE_LOCAL_LOOP 0x80
-#define MC68681_CHANNEL_MODE_REMOTE_LOOP 0xc0
-
-/*
- * Status Register Definitions
- *
- * MC68681_STATUS_REG_A, MC68681_STATUS_REG_B
- */
-#define MC68681_RX_READY 0x01
-#define MC68681_FFULL 0x02
-#define MC68681_TX_READY 0x04
-#define MC68681_TX_EMPTY 0x08
-#define MC68681_OVERRUN_ERROR 0x10
-#define MC68681_PARITY_ERROR 0x20
-#define MC68681_FRAMING_ERROR 0x40
-#define MC68681_RECEIVED_BREAK 0x80
-
-
-/*
- * Interupt Status Register Definitions.
- *
- * MC68681_INTERRUPT_STATUS_REG
- */
-
-
-/*
- * Interupt Mask Register Definitions
- *
- * MC68681_INTERRUPT_MASK_REG
- */
-#define MC68681_IR_TX_READY_A 0x01
-#define MC68681_IR_RX_READY_A 0x02
-#define MC68681_IR_BREAK_A 0x04
-#define MC68681_IR_COUNTER_READY 0x08
-#define MC68681_IR_TX_READY_B 0x10
-#define MC68681_IR_RX_READY_B 0x20
-#define MC68681_IR_BREAK_B 0x40
-#define MC68681_IR_INPUT_PORT_CHANGE 0x80
-
-/*
- * Status Register Definitions.
- *
- * MC68681_STATUS_REG_A,MC68681_STATUS_REG_B
- */
-#define MC68681_STATUS_RXRDY 0x01
-#define MC68681_STATUS_FFULL 0x02
-#define MC68681_STATUS_TXRDY 0x04
-#define MC68681_STATUS_TXEMT 0x08
-#define MC68681_STATUS_OVERRUN_ERROR 0x10
-#define MC68681_STATUS_PARITY_ERROR 0x20
-#define MC68681_STATUS_FRAMING_ERROR 0x40
-#define MC68681_STATUS_RECEIVED_BREAK 0x80
-
-/*
- * Definitions for the Interrupt Vector Register:
- *
- * MC68681_INTERRUPT_VECTOR_REG
- */
-#define MC68681_INTERRUPT_VECTOR_INIT 0x0f
-
-/*
- * Definitions for the Auxiliary Control Register
- *
- * MC68681_AUX_CTRL_REG
- */
-#define MC68681_AUX_BRG_SET1 0x00
-#define MC68681_AUX_BRG_SET2 0x80
-
-
-/*
- * The following Baud rates assume the X1 clock pin is driven with a
- * 3.6864 MHz signal. If a different frequency is used the DUART channel
- * is running at the follwoing baud rate:
- * ((Table Baud Rate)*frequency)/3.6864 MHz
- */
-
-/*
- * Definitions for the Clock Select Register:
- *
- * MC68681_CLOCK_SELECT_REG_A,MC68681_CLOCK_SELECT_REG_A
- *
- * Note: ACR[7] is the MSB of the Auxiliary Control register
- * X is the extend bit.
- * CRA - 0x08 Set Rx BRG Select Extend Bit (X=1)
- * CRA - 0x09 Clear Rx BRG Select Extend Bit (X=0)
- * CRB - 0x0a Set Tx BRG Select Extend Bit (X=1)
- * CRB - 0x0b Clear Tx BRG Select Extend Bit (x=1)
- */
-#define MC68681_BAUD_RATE_MASK_50 0x00 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_75 0x00 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_110 0x01
-#define MC68681_BAUD_RATE_MASK_134_5 0x02
-#define MC68681_BAUD_RATE_MASK_150 0x03 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_200 0x03 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_300 0x04 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_600 0x05 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_1050 0x07 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_1200 0x06 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_1800 0x0a /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_2400 0x08 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_3600 0x04 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_4800 0x09
-#define MC68681_BAUD_RATE_MASK_7200 0x0a /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_9600 0xbb
-
-#define MC68681_BAUD_RATE_MASK_14_4K 0x05 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_19_2K 0xcc /* ACR[7]=1,X=0 */
- /* ARC[7]=0,X=1 */
-#define MC68681_BAUD_RATE_MASK_28_8K 0x06 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_38_4K 0xcc /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_57_6K 0x07 /* ACR[7]=0,X=0 */
- /* ARC[7]=1,X=1 */
-#define MC68681_BAUD_RATE_MASK_115_5K 0x08
-#define MC68681_BAUD_RATE_MASK_TIMER 0xdd
-#define MC68681_BAUD_RATE_MASK_TIMER_16X 0xee
-#define MC68681_BAUD_RATE_MASK_TIMER_1X 0xff
-
-#endif
diff --git a/c/src/lib/libbsp/m68k/idp/make/custom/idp.cfg b/c/src/lib/libbsp/m68k/idp/make/custom/idp.cfg
deleted file mode 100644
index d10029a291..0000000000
--- a/c/src/lib/libbsp/m68k/idp/make/custom/idp.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Config file for the IDP BSP
-#
-
-include $(RTEMS_ROOT)/make/custom/default.cfg
-
-RTEMS_CPU=m68k
-RTEMS_CPU_MODEL=m68ec040
-
-# This contains the compiler options necessary to select the CPU model
-# and (hopefully) optimize for it.
-#
-CPU_CFLAGS = -msoft-float
-
-# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g -fomit-frame-pointer
-
-define bsp-post-link
- $(OBJCOPY) -O srec $(basename $@)$(EXEEXT) $(basename $@).srec
- sed -e 's/.$$//' -e '/^S0/d' $(basename $@).srec | \
- $(PACKHEX) > $(basename $@)$(DOWNEXT)
- rm -f $(basename $@).srec
- $(default-bsp-post-link)
-endef
diff --git a/c/src/lib/libbsp/m68k/idp/preinstall.am b/c/src/lib/libbsp/m68k/idp/preinstall.am
deleted file mode 100644
index fd9907b011..0000000000
--- a/c/src/lib/libbsp/m68k/idp/preinstall.am
+++ /dev/null
@@ -1,84 +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)/leds.h: include/leds.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/leds.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/leds.h
-
-$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)/rtems/motorola
- @: > $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
-
-$(PROJECT_INCLUDE)/rtems/motorola/mc68230.h: include/motorola/mc68230.h $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/motorola/mc68230.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/motorola/mc68230.h
-
-$(PROJECT_INCLUDE)/rtems/motorola/mc68681.h: include/motorola/mc68681.h $(PROJECT_INCLUDE)/rtems/motorola/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/motorola/mc68681.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/motorola/mc68681.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
-
diff --git a/c/src/lib/libbsp/m68k/idp/startup/bspstart.c b/c/src/lib/libbsp/m68k/idp/startup/bspstart.c
deleted file mode 100644
index 1d8d103ce8..0000000000
--- a/c/src/lib/libbsp/m68k/idp/startup/bspstart.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * This routine does the bulk of the system initialization.
- */
-
-/*
- * 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 <bsp.h>
-#include <bsp/bootcard.h>
-
-unsigned char *duart_base;
-extern struct duart_regs duart_info;
-
-#define DELAY 5000
-
-void led_putnum(void);
-
-void bsp_start( void )
-{
- rtems_isr_entry *monitors_vector_table;
- int index;
-
- /* RAM size set in linker script */
- duart_base = (unsigned char *)DUART_ADDR;
-
- /*
- * Set the VBR here to the monitor's default.
- */
- monitors_vector_table = (rtems_isr_entry *)0;
- /* This is where you set vector base register = 0 */
- m68k_set_vbr( monitors_vector_table );
-
- /* The vector interrupt table for the 680x0 is in appendix B-2
- * of the M68000 Family Programmer's reference table
- */
- for ( index=2 ; index<=255 ; index++ )
- M68Kvec[ index ] = monitors_vector_table[ 32 ];
-
- M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */
- M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */
- M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */
-
- /*
- * Set the VBR here if you do not want to use the monitor's vector table.
- */
-
- m68k_set_vbr( &M68Kvec );
-
- rtems_cache_enable_instruction();
- rtems_cache_enable_data();
-
-/* led_putnum('e'); * for debugging purposes only */
-}
diff --git a/c/src/lib/libbsp/m68k/idp/startup/linkcmds b/c/src/lib/libbsp/m68k/idp/startup/linkcmds
deleted file mode 100644
index 8f4b037a78..0000000000
--- a/c/src/lib/libbsp/m68k/idp/startup/linkcmds
+++ /dev/null
@@ -1,201 +0,0 @@
-/* This file is a derivation of that found with the newlib-1.6 distribution
- * for the idp.ld file. That file, it appears, was originally written by
- * Rob Savoye. Other ideas came from Joel Sherrill for the RTEMS linkcmds
- * file (this is basically a mixture of the two).
- */
-
-/*
- * Setup the memory map of the MC68ec0x0 Board (IDP)
- * stack grows up towards high memory. This works for
- * both the rom68k and the mon68k monitors.
- */
-
-MEMORY
-{
- ram : org = 0x10000, l = 2M
-}
-
-/*
- * Declare some sizes.
- */
-RamBase = DEFINED(RamBase) ? RamBase : 0x0;
-RamSize = DEFINED(RamSize) ? RamSize : 2M;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
-
-SECTIONS
-{
- ram : {
- . = .;
- } >ram
-
- /*
- * Text, data and bss segments
- */
- .text : {
- *(.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 = .);
- } >ram
-
- .tdata : {
- _TLS_Data_begin = .;
- *(.tdata .tdata.* .gnu.linkonce.td.*)
- _TLS_Data_end = .;
- } >ram
-
- .tbss : {
- _TLS_BSS_begin = .;
- *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
- _TLS_BSS_end = .;
- } >ram
-
- _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 : {
- PROVIDE (_copy_start = .);
- *(.data*)
- KEEP (*(SORT(.rtemsrwset.*)))
- *(.gnu.linkonce.d*)
- *(.gcc_except_table*)
- *(.jcr)
- . = ALIGN (16);
- PROVIDE (_edata = .);
- PROVIDE (_copy_end = .);
- } >ram
- .bss : {
- _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 . */
-}
diff --git a/c/src/lib/libbsp/m68k/idp/timer/timer.c b/c/src/lib/libbsp/m68k/idp/timer/timer.c
deleted file mode 100644
index 4de71f2550..0000000000
--- a/c/src/lib/libbsp/m68k/idp/timer/timer.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Code Modified for the MC68230 by Doug McBride, Colorado Space Grant College
- *
- * 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 <rtems/btimer.h>
-#include <bsp.h>
-#include <rtems/motorola/mc68230.h>
-
-#define TIMER_VECTOR 0x4D
-
-int Ttimer_val;
-bool benchmark_timer_find_average_overhead;
-
-rtems_isr timerisr(rtems_vector_number);
-
-void benchmark_timer_initialize(void)
-{
- (void) set_vector( timerisr, TIMER_VECTOR, 0 ); /* install ISR */
-
- Ttimer_val = 0; /* clear timer ISR count */
-
- /* some PI/T initialization stuff here */
- /* Set up the interrupt vector on the MC68230 chip:
- TIVR = TIMER_VECTOR; */
- MC68230_WRITE (MC68230_TIVR, TIMER_VECTOR);
-
- /* Set CPRH through CPRL to maximum count to reduce interrupt overhead
- CPRH = 0xFF;
- CPRM = 0xFF;
- CPRL = 0xFF; */
- MC68230_WRITE (MC68230_CPRH, 0xFF);
- MC68230_WRITE (MC68230_CPRM, 0xFF);
- MC68230_WRITE (MC68230_CPRL, 0xFF);
-
- /* Enable timer and use it as an external periodic interrupt generator
- TCR = 0xA1; */
- MC68230_WRITE (MC68230_TCR, 0xA1);
-
-}
-
-#define AVG_OVERHEAD 9 /* may not be right -- do this later */
-#define LEAST_VALID 10 /* Don't trust a value lower than this */
-
-benchmark_timer_t benchmark_timer_read(void)
-{
- uint8_t data;
- uint8_t msb, osb, lsb;
- uint32_t remaining, total;
-
- /* Disable timer so that timer can be read
- data = MC68230_TCR;
- MC68230_TCR = (data & 0xFE); */
- MC68230_READ (MC68230_TCR, data);
- MC68230_WRITE (MC68230_TCR, (data & 0xFE));
-
- /* Read the counter value
- msb = MC68230_CNTRH;
- osb = MC68230_CNTRM;
- lsb = MC68230_CNTRL; */
- MC68230_READ (MC68230_CNTRH, msb);
- MC68230_READ (MC68230_CNTRM, osb);
- MC68230_READ (MC68230_CNTRL, lsb);
-
- /* Calculate the time so far */
- remaining = 0x1000000 - ((msb << 16) + (osb << 8) + lsb);
- total = (Ttimer_val * 0x1000000) + remaining;
-
- /* Enable timer so that timer can continue
- MC68230_TCR = 0xA1; */
- MC68230_WRITE (MC68230_TCR, 0xA1);
-
- /* do not restore old vector */
- if ( benchmark_timer_find_average_overhead == true )
- return total; /* in countdown units */
-
- if ( total < LEAST_VALID )
- return 0; /* below timer resolution */
-
- /* Clocked at 6.5 Mhz */
- /* Avoid floating point problems, be lazy, and return the total minus
- the average overhead */
- return (total - AVG_OVERHEAD);
-}
-
-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/idp/timer/timerisr.S b/c/src/lib/libbsp/m68k/idp/timer/timerisr.S
deleted file mode 100644
index 5d57d16f65..0000000000
--- a/c/src/lib/libbsp/m68k/idp/timer/timerisr.S
+++ /dev/null
@@ -1,35 +0,0 @@
-/* timer_isr()
- *
- * This routine provides the ISR for the MC68230 timer on the Motorola
- * IDP board. The timer is set up to generate an interrupt at maximum
- * intervals.
- *
- * Code modified by Doug McBride, Colorado Space Grant College
- * countdown should be loaded automatically
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * 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/asm.h>
-
-BEGIN_CODE
-
-.set TSR, 0x00c0106B | base address of PIT register "TSR"
-
- PUBLIC (timerisr)
-SYM (timerisr):
- movb #1,TSR | acknowledge interrupt
- addql #1, SYM (Ttimer_val) | increment timer value
- rte
-
-END_CODE
-END
diff --git a/c/src/lib/libbsp/m68k/idp/times b/c/src/lib/libbsp/m68k/idp/times
deleted file mode 100644
index be66bce601..0000000000
--- a/c/src/lib/libbsp/m68k/idp/times
+++ /dev/null
@@ -1,189 +0,0 @@
-#
-# Timing Test Suite Results for the Motorola IDP BSP
-#
-
-NOTE: This BSP is used submitted and no information is currently available.
-
-Board: IDP
-CPU:
-Clock Speed:
-Memory Configuration: SRAM, DRAM, cache, etc
-Wait States:
-
-Times Reported in: cycles, microseconds, etc
-Timer Source: Count Down Timer, on-CPU cycle counter, etc
-
-Column A: unused
-Column B: unused
-
-# DESCRIPTION A B
-== ================================================================= ==== ====
- 1 rtems_semaphore_create 20
- rtems_semaphore_delete 21
- rtems_semaphore_obtain: available 15
- rtems_semaphore_obtain: not available -- NO_WAIT 15
- rtems_semaphore_release: no waiting tasks 16
-
- 2 rtems_semaphore_obtain: not available -- caller blocks 62
-
- 3 rtems_semaphore_release: task readied -- preempts caller 55
-
- 4 rtems_task_restart: blocked task -- preempts caller 77
- rtems_task_restart: ready task -- preempts caller 70
- rtems_semaphore_release: task readied -- returns to caller 25
- rtems_task_create 57
- rtems_task_start 31
- rtems_task_restart: suspended task -- returns to caller 36
- rtems_task_delete: suspended task 47
- rtems_task_restart: ready task -- returns to caller 37
- rtems_task_restart: blocked task -- returns to caller 46
- rtems_task_delete: blocked task 50
-
- 5 rtems_task_suspend: calling task 51
- rtems_task_resume: task readied -- preempts caller 49
-
- 6 rtems_task_restart: calling task 59
- rtems_task_suspend: returns to caller 18
- rtems_task_resume: task readied -- returns to caller 19
- rtems_task_delete: ready task 50
-
- 7 rtems_task_restart: suspended task -- preempts caller 70
-
- 8 rtems_task_set_priority: obtain current priority 12
- rtems_task_set_priority: returns to caller 27
- rtems_task_mode: obtain current mode 5
- rtems_task_mode: no reschedule 5
- rtems_task_mode: reschedule -- returns to caller 8
- rtems_task_mode: reschedule -- preempts caller 39
- rtems_clock_set 33
- rtems_clock_get 3
-
- 9 rtems_message_queue_create 110
- rtems_message_queue_send: no waiting tasks 37
- rtems_message_queue_urgent: no waiting tasks 37
- rtems_message_queue_receive: available 31
- rtems_message_queue_flush: no messages flushed 12
- rtems_message_queue_flush: messages flushed 16
- rtems_message_queue_delete 26
-
-10 rtems_message_queue_receive: not available -- NO_WAIT 15
- rtems_message_queue_receive: not available -- caller blocks 62
-
-11 rtems_message_queue_send: task readied -- preempts caller 72
-
-12 rtems_message_queue_send: task readied -- returns to caller 39
-
-13 rtems_message_queue_urgent: task readied -- preempts caller 72
-
-14 rtems_message_queue_urgent: task readied -- returns to caller 39
-
-15 rtems_event_receive: obtain current events 1
- rtems_event_receive: not available -- NO_WAIT 12
- rtems_event_receive: not available -- caller blocks 56
- rtems_event_send: no task readied 12
- rtems_event_receive: available 12
- rtems_event_send: task readied -- returns to caller 24
-
-16 rtems_event_send: task readied -- preempts caller 55
-
-17 rtems_task_set_priority: preempts caller 62
-
-18 rtems_task_delete: calling task 83
-
-19 rtems_signal_catch 9
- rtems_signal_send: returns to caller 15
- rtems_signal_send: signal to self 18
- exit ASR overhead: returns to calling task 22
- exit ASR overhead: returns to preempting task 49
-
-20 rtems_partition_create 35
- rtems_region_create 23
- rtems_partition_get_buffer: available 15
- rtems_partition_get_buffer: not available 13
- rtems_partition_return_buffer 18
- rtems_partition_delete 16
- rtems_region_get_segment: available 22
- rtems_region_get_segment: not available -- NO_WAIT 21
- rtems_region_return_segment: no waiting tasks 19
- rtems_region_get_segment: not available -- caller blocks 64
- rtems_region_return_segment: task readied -- preempts caller 74
- rtems_region_return_segment: task readied -- returns to caller 44
- rtems_region_delete 16
- rtems_io_initialize 2
- rtems_io_open 1
- rtems_io_close 1
- rtems_io_read 1
- rtems_io_write 1
- rtems_io_control 1
-
-21 rtems_task_ident 149
- rtems_message_queue_ident 145
- rtems_semaphore_ident 156
- rtems_partition_ident 145
- rtems_region_ident 148
- rtems_port_ident 145
- rtems_timer_ident 145
- rtems_rate_monotonic_ident 145
-
-22 rtems_message_queue_broadcast: task readied -- returns to caller 42
- rtems_message_queue_broadcast: no waiting tasks 17
- rtems_message_queue_broadcast: task readied -- preempts caller 78
-
-23 rtems_timer_create 14
- rtems_timer_fire_after: inactive 22
- rtems_timer_fire_after: active 24
- rtems_timer_cancel: active 15
- rtems_timer_cancel: inactive 13
- rtems_timer_reset: inactive 21
- rtems_timer_reset: active 23
- rtems_timer_fire_when: inactive 34
- rtems_timer_fire_when: active 34
- rtems_timer_delete: active 19
- rtems_timer_delete: inactive 17
- rtems_task_wake_when 69
-
-24 rtems_task_wake_after: yield -- returns to caller 9
- rtems_task_wake_after: yields -- preempts caller 45
-
-25 rtems_clock_tick 4
-
-26 _ISR_Disable 0
- _ISR_Flash 1
- _ISR_Enable 1
- _Thread_Disable_dispatch 0
- _Thread_Enable_dispatch 7
- _Thread_Set_state 11
- _Thread_Disptach (NO FP) 31
- context switch: no floating point contexts 21
- context switch: self 10
- context switch: to another task 10
- context switch: restore 1st FP task 25
- fp context switch: save idle, restore idle 31
- fp context switch: save idle, restore initialized 19
- fp context switch: save initialized, restore initialized 20
- _Thread_Resume 7
- _Thread_Unblock 7
- _Thread_Ready 9
- _Thread_Get 4
- _Semaphore_Get 2
- _Thread_Get: invalid id 0
-
-27 interrupt entry overhead: returns to interrupted task 6
- interrupt exit overhead: returns to interrupted task 6
- interrupt entry overhead: returns to nested interrupt 6
- interrupt exit overhead: returns to nested interrupt 5
- interrupt entry overhead: returns to preempting task 7
- interrupt exit overhead: returns to preempting task 36
-
-28 rtems_port_create 16
- rtems_port_external_to_internal 11
- rtems_port_internal_to_external 11
- rtems_port_delete 16
-
-29 rtems_rate_monotonic_create 15
- rtems_rate_monotonic_period: initiate period -- returns to caller 21
- rtems_rate_monotonic_period: obtain status 13
- rtems_rate_monotonic_cancel 16
- rtems_rate_monotonic_delete: inactive 18
- rtems_rate_monotonic_delete: active 20
- rtems_rate_monotonic_period: conclude periods -- caller blocks 53