summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/force386
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-05 14:20:12 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-05 14:20:12 +0000
commit6d81ea35e62ae048904c9d5e33cd60c4474c3c47 (patch)
tree06cdf4b82a39109888de16e25cab78a7dfd9e957 /c/src/lib/libbsp/i386/force386
parentAdded wrapup directory. (diff)
downloadrtems-6d81ea35e62ae048904c9d5e33cd60c4474c3c47.tar.bz2
Removed targets and configurations that are no longer functional
and not likely to become so. Comments on each configuration are below. + Force CPU386 - This BSP was developed as part of the initial port of RTEMS to the i386. This board has been unavailable for a long time now. + GO32 - This BSP and some CPU code supported djgpp v1.x. This version is now quite old. No one has stepped forward to update the code to v2.x which may be technically impossible anyway. More importantly, go32 has been superceded by the pc386 BSP.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/i386/force386/Makefile.in31
-rw-r--r--c/src/lib/libbsp/i386/force386/bsp_specs23
-rw-r--r--c/src/lib/libbsp/i386/force386/clock/Makefile.in65
-rw-r--r--c/src/lib/libbsp/i386/force386/clock/ckinit.c135
-rw-r--r--c/src/lib/libbsp/i386/force386/console/Makefile.in65
-rw-r--r--c/src/lib/libbsp/i386/force386/console/console.c285
-rw-r--r--c/src/lib/libbsp/i386/force386/include/Makefile.in50
-rw-r--r--c/src/lib/libbsp/i386/force386/include/bsp.h173
-rw-r--r--c/src/lib/libbsp/i386/force386/include/coverhd.h104
-rw-r--r--c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in65
-rw-r--r--c/src/lib/libbsp/i386/force386/shmsupp/addrconv.c32
-rw-r--r--c/src/lib/libbsp/i386/force386/shmsupp/getcfg.c73
-rw-r--r--c/src/lib/libbsp/i386/force386/shmsupp/lock.c83
-rw-r--r--c/src/lib/libbsp/i386/force386/shmsupp/mpisr.c31
-rw-r--r--c/src/lib/libbsp/i386/force386/start/Makefile.in68
-rw-r--r--c/src/lib/libbsp/i386/force386/start/start.S267
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/Makefile.in76
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/bspstart.c103
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/exit.c29
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/ldsegs.S86
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/linkcmds71
-rw-r--r--c/src/lib/libbsp/i386/force386/startup/setvec.c59
-rw-r--r--c/src/lib/libbsp/i386/force386/timer/Makefile.in70
-rw-r--r--c/src/lib/libbsp/i386/force386/timer/timer.c96
-rw-r--r--c/src/lib/libbsp/i386/force386/timer/timerisr.S34
-rw-r--r--c/src/lib/libbsp/i386/force386/times191
-rw-r--r--c/src/lib/libbsp/i386/force386/wrapup/Makefile.in72
27 files changed, 0 insertions, 2437 deletions
diff --git a/c/src/lib/libbsp/i386/force386/Makefile.in b/c/src/lib/libbsp/i386/force386/Makefile.in
deleted file mode 100644
index 59fa172305..0000000000
--- a/c/src/lib/libbsp/i386/force386/Makefile.in
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../..
-subdir = i386/force386
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/directory.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-# We only build the multiprocessing support if HAS_MP was defined
-MP_SUPPORT_yes_V = shmsupp
-MP_SUPPORT = $(MP_SUPPORT_$(HAS_MP)_V)
-
-# wrapup is the one that actually builds and installs the library
-# from the individual .rel files built in other directories
-SUB_DIRS = include start startup clock console $(MP_SUPPORT) timer wrapup
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/bsp_specs b/c/src/lib/libbsp/i386/force386/bsp_specs
deleted file mode 100644
index 61dac86b53..0000000000
--- a/c/src/lib/libbsp/i386/force386/bsp_specs
+++ /dev/null
@@ -1,23 +0,0 @@
-%rename cpp old_cpp
-%rename lib old_lib
-%rename endfile old_endfile
-%rename startfile old_startfile
-%rename link old_link
-
-*cpp:
-%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
-
-*lib:
-%{!qrtems: %(old_lib)} %{qrtems: --start-group \
-%{!qrtems_debug: -lrtemsall} %{qrtems_debug: -lrtemsall_g} \
--lc -lgcc --end-group \
-%{!qnolinkcmds: -T linkcmds%s}}
-
-*startfile:
-%{!qrtems: %(old_startfile)} %{qrtems: \
-%{!qrtems_debug: start.o%s} \
-%{qrtems_debug: start_g.o%s}}
-
-*link:
-%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start}
-
diff --git a/c/src/lib/libbsp/i386/force386/clock/Makefile.in b/c/src/lib/libbsp/i386/force386/clock/Makefile.in
deleted file mode 100644
index 7b48d0d316..0000000000
--- a/c/src/lib/libbsp/i386/force386/clock/Makefile.in
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/clock
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-PGM = ${ARCH}/clock.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES = ckinit
-C_FILES = $(C_PIECES:%=%.c)
-C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES =
-
-SRCS = $(C_FILES) $(H_FILES)
-OBJS = $(C_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-${PGM}: ${SRCS} ${OBJS}
- $(make-rel)
-
-all: ${ARCH} $(SRCS) $(PGM)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-install: all
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/clock/ckinit.c b/c/src/lib/libbsp/i386/force386/clock/ckinit.c
deleted file mode 100644
index 947b777654..0000000000
--- a/c/src/lib/libbsp/i386/force386/clock/ckinit.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Clock_initialize
- *
- * This routine initializes the Motorola MFP 68901 on the
- * FORCE CPU386 board. The tick frequency is 1 millisecond.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <bsp.h>
-
-#include <rtems/libio.h>
-
-#include <stdlib.h>
-
-#define CLOCK_VECTOR 0x38
-
-rtems_unsigned32 Clock_isrs; /* ISRs until next tick */
-
-volatile rtems_unsigned32 Clock_driver_ticks;
-
-rtems_isr_entry Old_ticker;
-
-void Clock_exit( void );
-
-/*
- * These are set by clock driver during its init
- */
-
-rtems_device_major_number rtems_clock_major = ~0;
-rtems_device_major_number rtems_clock_minor = 0;
-
-/*
- * This is the ISR handler.
- */
-
-rtems_isr Clock_isr(
- rtems_vector_number vector
-)
-{
- /* enable_tracing(); */
- Clock_driver_ticks += 1;
- if ( Clock_isrs == 1 ) {
- rtems_clock_tick();
- Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000;
- }
- else
- Clock_isrs -= 1;
-}
-
-void Install_clock(
- rtems_isr_entry clock_isr
-)
-{
- Clock_driver_ticks = 0;
- Clock_isrs = BSP_Configuration.microseconds_per_tick / 1000;
-
- if ( BSP_Configuration.ticks_per_timeslice ) {
- Old_ticker = ( rtems_isr_entry ) set_vector( clock_isr, CLOCK_VECTOR, 1 );
- outport_byte( TBCR, 0x14 ); /* reset it, delay mode, 50X */
- outport_byte( TBDR, 0x50 ); /* 1 millisecond */
- outport_byte( IERA, 0x41 ); /* enable interrupt for B */
- }
- atexit( Clock_exit );
-}
-
-void Clock_exit( void )
-{
- if ( BSP_Configuration.ticks_per_timeslice ) {
- outport_byte( TBCR, 0x00 ); /* initial value */
- outport_byte( IERA, 0x40 ); /* disable interrupt */
- /* ??? Is "do not restore old vector" causing problems? */
- }
-}
-
-rtems_device_driver Clock_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- Install_clock( Clock_isr );
-
- /*
- * make major/minor avail to others such as shared memory driver
- */
-
- rtems_clock_major = major;
- rtems_clock_minor = minor;
-
- return RTEMS_SUCCESSFUL;
-}
-
-rtems_device_driver Clock_control(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- rtems_unsigned32 isrlevel;
- rtems_libio_ioctl_args_t *args = pargp;
-
- if (args == 0)
- goto done;
-
- /*
- * This is hokey, but until we get a defined interface
- * to do this, it will just be this simple...
- */
-
- if (args->command == rtems_build_name('I', 'S', 'R', ' '))
- {
- Clock_isr(CLOCK_VECTOR);
- }
- else if (args->command == rtems_build_name('N', 'E', 'W', ' '))
- {
- rtems_interrupt_disable( isrlevel );
- (void) set_vector( args->buffer, CLOCK_VECTOR, 1 );
- rtems_interrupt_enable( isrlevel );
- }
-
-done:
- return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/i386/force386/console/Makefile.in b/c/src/lib/libbsp/i386/force386/console/Makefile.in
deleted file mode 100644
index ce5401f88f..0000000000
--- a/c/src/lib/libbsp/i386/force386/console/Makefile.in
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/console
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-PGM = ${ARCH}/console.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES = console
-C_FILES = $(C_PIECES:%=%.c)
-C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES =
-
-SRCS = $(C_FILES) $(H_FILES)
-OBJS = $(C_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-${PGM}: ${SRCS} ${OBJS}
- $(make-rel)
-
-all: ${ARCH} $(SRCS) $(PGM)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-install: all
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/console/console.c b/c/src/lib/libbsp/i386/force386/console/console.c
deleted file mode 100644
index bf669748f8..0000000000
--- a/c/src/lib/libbsp/i386/force386/console/console.c
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * This file contains the Force CPU386 console IO package.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#define F386_INIT
-
-#include <bsp.h>
-#include <rtems/libio.h>
-
-#include <stdlib.h>
-
-/* console_cleanup
- *
- * This routine is called at exit to clean up the console hardware.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- */
-
-void console_cleanup( void )
-{
- register rtems_unsigned8 ignored;
- /*
- * FORCE technical support mentioned that it may be necessary to
- * read the DUSCC RX_BUFFER port four times to remove all junk.
- * This code is a little more paranoid.
- */
-
- inport_byte( RX_BUFFER, ignored );
- inport_byte( RX_BUFFER, ignored );
- inport_byte( RX_BUFFER, ignored );
- inport_byte( RX_BUFFER, ignored );
- inport_byte( RX_BUFFER, ignored );
-}
-
-/* console_initialize
- *
- * This routine initializes the console IO driver.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- */
-
-rtems_device_driver console_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg
-)
-{
- rtems_status_code status;
-
- /*
- * flush the console now and at exit. Just in case.
- */
-
- console_cleanup();
-
- status = rtems_io_register_name(
- "/dev/console",
- major,
- (rtems_device_minor_number) 0
- );
-
- if (status != RTEMS_SUCCESSFUL)
- rtems_fatal_error_occurred(status);
-
- atexit( console_cleanup );
-
- return RTEMS_SUCCESSFUL;
-}
-
-
-/* is_character_ready
- *
- * This routine returns TRUE if a character is available.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- */
-
-rtems_boolean is_character_ready(
- char *ch
-)
-{
- register rtems_unsigned8 status;
-
- inport_byte( RX_STATUS, status );
-
- if ( Is_rx_ready( status ) ) {
- inport_byte( RX_BUFFER, status );
- *ch = status;
- return TRUE;
- }
- return FALSE;
-}
-
-/* inbyte
- *
- * This routine reads a character from the UART.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- * character read from UART
- */
-
-char inbyte( void )
-{
- register rtems_unsigned8 status;
- char ch;
-
- do {
- inport_byte( RX_STATUS, status );
- } while ( !Is_rx_ready( status ) );
-
-#if ( PORTB == 1 )
- /*
- * Force example code resets the Channel B Receiver here.
- * It appears to cause XON's to be lost.
- */
-
- /* outport_byte( RX_STATUS, 0x10 ); */
-#endif
-
- inport_byte( RX_BUFFER, ch );
-
- return ch;
-}
-
-/* outbyte
- *
- * This routine transmits a character out the port. It supports
- * XON/XOFF flow control.
- *
- * Input parameters:
- * ch - character to be transmitted
- *
- * Output parameters: NONE
- */
-
-void outbyte(
- char ch
-)
-{
- rtems_unsigned8 status;
-
- do {
- inport_byte( TX_STATUS, status );
- } while ( !Is_tx_ready( status ) );
-
-#if 0
- while ( is_character_ready( &status ) == TRUE ) { /* must be an XOFF */
- if ( status == XOFF )
- do {
- while ( is_character_ready( &status ) == FALSE ) ;
- } while ( status != XON );
- }
-#endif
-
- outport_byte( TX_BUFFER, 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/i386/force386/include/Makefile.in b/c/src/lib/libbsp/i386/force386/include/Makefile.in
deleted file mode 100644
index 40235277b8..0000000000
--- a/c/src/lib/libbsp/i386/force386/include/Makefile.in
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/include
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h
-
-#
-# Equate files are for including from assembly preprocessed by
-# gm4 or gasp. No examples are provided except for those for
-# other CPUs. The best way to generate them would be to
-# provide a program which generates the constants used based
-# on the C equivalents.
-#
-
-EQ_FILES =
-
-SRCS = $(H_FILES) $(EQ_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
-
-INSTALLDIRS = $(PROJECT_INCLUDE)
-
-$(INSTALLDIRS):
- @$(mkinstalldirs) $(INSTALLDIRS)
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-all: $(SRCS)
- @$(INSTALL_CHANGE) -m 644 $(H_FILES) $(PROJECT_INCLUDE)
- @$(INSTALL_CHANGE) -m 644 $(EQ_FILES) $(PROJECT_INCLUDE)
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/include/bsp.h b/c/src/lib/libbsp/i386/force386/include/bsp.h
deleted file mode 100644
index 63e06e2326..0000000000
--- a/c/src/lib/libbsp/i386/force386/include/bsp.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/* bsp.h
- *
- * This include file definitions related to the Force CPU-386 board.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#ifndef __FORCE386_h
-#define __FORCE386_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems.h>
-#include <iosupp.h>
-#include <console.h>
-#include <clockdrv.h>
-
-/*
- * Define the time limits for RTEMS Test Suite test durations.
- * Long test and short test duration limits are provided. These
- * values are in seconds and need to be converted to ticks for the
- * application.
- *
- */
-
-#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */
-#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */
-
-/*
- * Define the interrupt mechanism for Time Test 27
- *
- * NOTE: Use a software interrupt for the i386.
- */
-
-#define MUST_WAIT_FOR_INTERRUPT 0
-
-#define Install_tm27_vector( handler ) set_vector( (handler), 0x90, 1 )
-
-#define Cause_tm27_intr() asm volatile( "int $0x90" : : );
-
-#define Clear_tm27_intr()
-
-#define Lower_tm27_intr()
-
-/*
- * Simple spin delay in microsecond units for device drivers.
- * This is very dependent on the clock speed of the target.
- */
-
-#define delay( _microseconds ) \
- { \
- rtems_unsigned32 _counter; \
- \
- _counter = (_microseconds); \
- \
- asm volatile ( "0: nop;" \
- " mov %0,%0 ;" \
- " loop 0b" : "=c" (_counter) \
- : "0" (_counter) \
- ); \
- \
- }
-
-/* Constants */
-
-#define RAM_START 0
-#define RAM_END 0x100000
-
-/* I/O addressing */
-
-/*
- * The following determines whether Port B or the Console should
- * be used for test I/O. Setting ONE (and only ONE) of these to 1
- * enables I/O on that port.
- *
- * PORT A - DUSCC MC68562 Channel A
- * PORT B - DUSCC MC68562 Channel B
- * PORT C - MFP MC68901 Channel (*** FORCEbug console ***)
- */
-
-#define PORTB 1 /* use port b as test port */
-#define PORTC 0 /* use console port as test port */
-
-#if ( PORTB == 1 )
-#define TX_STATUS 0x1b6 /* DUSCC General Status Register */
-#define RX_STATUS 0x1b6 /* DUSCC General Status Register */
-#define TX_BUFFER 0x1e0 /* DUSCC Transmitter Channel B */
-#define RX_BUFFER 0x1e8 /* DUSCC Receiver Channel B */
-#define Is_tx_ready( _status ) ( (_status) & 0x20 )
-#define Is_rx_ready( _status ) ( (_status) & 0x10 )
-#endif
-
-#if ( PORTC == 1 )
-#define TX_STATUS 0x12c /* MFP Transmit Status Register */
-#define RX_STATUS 0x12a /* MFP Receive Status Register */
-#define TX_BUFFER 0x12e /* MFP Transmitter Channel */
-#define RX_BUFFER 0x12e /* MFP Receiver Channel */
-#define Is_tx_ready( _status ) ( (_status) & 0x80 )
-#define Is_rx_ready( _status ) ( (_status) & 0x80 )
-#endif
-
-/* Timer constants */
-
-#define IERA 0x106 /* Interrupt Enable Register A */
-#define IMRA 0x112 /* Interrupt Mask Register A */
-#define TACR 0x118 /* Timer A Control Register */
-#define TADR 0x11e /* Timer A Data Register */
-
-#define IERB 0x108 /* Interrupt Enable Register B */
-#define TBCR 0x11a /* Timer B Control Register */
-#define TBDR 0x120 /* Timer B Data Register */
-
-/* Structures */
-
-#ifdef F386_INIT
-#undef BSP_EXTERN
-#define BSP_EXTERN
-#else
-#undef BSP_EXTERN
-#define BSP_EXTERN extern
-#endif
-
-/*
- * Device Driver Table Entries
- */
-
-/*
- * NOTE: Use the standard Console driver entry
- */
-
-/*
- * NOTE: Use the standard Clock driver entry
- */
-
-/* miscellaneous stuff assumed to exist */
-
-extern rtems_configuration_table BSP_Configuration;
-
-#define IDT_SIZE 256
-#define GDT_SIZE 8192
-
-extern interrupt_gate_descriptor Interrupt_descriptor_table[IDT_SIZE];
-extern segment_descriptors Global_descriptor_table [GDT_SIZE];
-
-BSP_EXTERN unsigned short Idt[3]; /* Interrupt Descriptor Table Address */
-BSP_EXTERN unsigned short Gdt[3]; /* Global Descriptor Table Address */
-BSP_EXTERN unsigned int Idt_base;
-BSP_EXTERN unsigned int Gdt_base;
-
-/* routines */
-
-i386_isr_entry set_vector(
- rtems_isr_entry handler,
- rtems_vector_number vector,
- int type
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */
diff --git a/c/src/lib/libbsp/i386/force386/include/coverhd.h b/c/src/lib/libbsp/i386/force386/include/coverhd.h
deleted file mode 100644
index de5e7aa742..0000000000
--- a/c/src/lib/libbsp/i386/force386/include/coverhd.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* coverhd.h
- *
- * This include file has defines to represent the overhead associated
- * with calling a particular directive from C on this target.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#ifndef __COVERHD_h
-#define __COVERHD_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 3
-#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 3
-#define CALLING_OVERHEAD_TASK_CREATE 4
-#define CALLING_OVERHEAD_TASK_IDENT 4
-#define CALLING_OVERHEAD_TASK_START 4
-#define CALLING_OVERHEAD_TASK_RESTART 3
-#define CALLING_OVERHEAD_TASK_DELETE 3
-#define CALLING_OVERHEAD_TASK_SUSPEND 3
-#define CALLING_OVERHEAD_TASK_RESUME 3
-#define CALLING_OVERHEAD_TASK_SET_PRIORITY 4
-#define CALLING_OVERHEAD_TASK_MODE 4
-#define CALLING_OVERHEAD_TASK_GET_NOTE 4
-#define CALLING_OVERHEAD_TASK_SET_NOTE 4
-#define CALLING_OVERHEAD_TASK_WAKE_WHEN 7
-#define CALLING_OVERHEAD_TASK_WAKE_AFTER 3
-#define CALLING_OVERHEAD_INTERRUPT_CATCH 4
-#define CALLING_OVERHEAD_CLOCK_GET 7
-#define CALLING_OVERHEAD_CLOCK_SET 7
-#define CALLING_OVERHEAD_CLOCK_TICK 2
-
-#define CALLING_OVERHEAD_TIMER_CREATE 3
-#define CALLING_OVERHEAD_TIMER_IDENT 3
-#define CALLING_OVERHEAD_TIMER_DELETE 3
-#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 4
-#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 8
-#define CALLING_OVERHEAD_TIMER_RESET 3
-#define CALLING_OVERHEAD_TIMER_CANCEL 3
-#define CALLING_OVERHEAD_SEMAPHORE_CREATE 4
-#define CALLING_OVERHEAD_SEMAPHORE_DELETE 3
-#define CALLING_OVERHEAD_SEMAPHORE_IDENT 4
-#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 4
-#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 3
-
-#define CALLING_OVERHEAD_EVENT_SEND 4
-#define CALLING_OVERHEAD_EVENT_RECEIVE 4
-#define CALLING_OVERHEAD_SIGNAL_CATCH 3
-#define CALLING_OVERHEAD_SIGNAL_SEND 3
-#define CALLING_OVERHEAD_PARTITION_CREATE 4
-#define CALLING_OVERHEAD_PARTITION_IDENT 4
-#define CALLING_OVERHEAD_PARTITION_DELETE 3
-#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 4
-#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 4
-#define CALLING_OVERHEAD_REGION_CREATE 4
-#define CALLING_OVERHEAD_REGION_IDENT 3
-#define CALLING_OVERHEAD_REGION_DELETE 3
-#define CALLING_OVERHEAD_REGION_GET_SEGMENT 4
-#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 4
-#define CALLING_OVERHEAD_PORT_CREATE 4
-#define CALLING_OVERHEAD_PORT_IDENT 3
-#define CALLING_OVERHEAD_PORT_DELETE 3
-#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 4
-#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 4
-
-#define CALLING_OVERHEAD_IO_INITIALIZE 4
-#define CALLING_OVERHEAD_IO_OPEN 4
-#define CALLING_OVERHEAD_IO_CLOSE 4
-#define CALLING_OVERHEAD_IO_READ 4
-#define CALLING_OVERHEAD_IO_WRITE 4
-#define CALLING_OVERHEAD_IO_CONTROL 4
-#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 3
-#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */
diff --git a/c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in b/c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in
deleted file mode 100644
index bce7fda89d..0000000000
--- a/c/src/lib/libbsp/i386/force386/shmsupp/Makefile.in
+++ /dev/null
@@ -1,65 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/shmsupp
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-PGM = ${ARCH}/shmsupp.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES = addrconv getcfg lock mpisr
-C_FILES = $(C_PIECES:%=%.c)
-C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES =
-
-SRCS = $(C_FILES) $(H_FILES)
-OBJS = $(C_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-${PGM}: ${SRCS} ${OBJS}
- $(make-rel)
-
-all: ${ARCH} $(SRCS) $(PGM)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-install: all
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/shmsupp/addrconv.c b/c/src/lib/libbsp/i386/force386/shmsupp/addrconv.c
deleted file mode 100644
index 6a38f515f6..0000000000
--- a/c/src/lib/libbsp/i386/force386/shmsupp/addrconv.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Shm_Convert_address
- *
- * The CPU386 has a "normal" view of the VME address space.
- * No address range conversion is required.
- *
- * Input parameters:
- * address - address to convert
- *
- * Output parameters:
- * returns - converted address
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <shm.h>
-
-void *Shm_Convert_address(
- void *address
-)
-{
- return ( address );
-}
diff --git a/c/src/lib/libbsp/i386/force386/shmsupp/getcfg.c b/c/src/lib/libbsp/i386/force386/shmsupp/getcfg.c
deleted file mode 100644
index b10d5bf4fe..0000000000
--- a/c/src/lib/libbsp/i386/force386/shmsupp/getcfg.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* void Shm_Get_configuration( localnode, &shmcfg )
- *
- * This routine initializes, if necessary, and returns a pointer
- * to the Shared Memory Configuration Table for the FORCE CPU-386
- *
- * INPUT PARAMETERS:
- * localnode - local node number
- * shmcfg - address of pointer to SHM Config Table
- *
- * OUTPUT PARAMETERS:
- * *shmcfg - pointer to SHM Config Table
- *
- * NOTES: The FORCE CPU-386 does not have an interprocessor interrupt.
- *
- * The following table illustrates the configuration limitations:
- *
- * BUS MAX
- * MODE ENDIAN NODES
- * ========= ====== =======
- * POLLED BIG 2+
- * INTERRUPT **** NOT SUPPORTED ****
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <shm.h>
-#include <bsp.h>
-
-#define INTERRUPT 0
-#define POLLING 1 /* FORCE CPU-386 target is polling ONLY!!! */
-
-
-shm_config_table BSP_shm_cfgtbl;
-
-void Shm_Get_configuration(
- rtems_unsigned32 localnode,
- shm_config_table **shmcfg
-)
-{
- set_segment( get_ds(), 0x00002000, 0xffffd000 );
-
- BSP_shm_cfgtbl.base = i386_Physical_to_logical(
- get_ds(),
- (void *) 0x20000000
- );
-
- BSP_shm_cfgtbl.length = 1 * MEGABYTE;
- BSP_shm_cfgtbl.format = SHM_BIG;
-
- BSP_shm_cfgtbl.cause_intr = Shm_Cause_interrupt;
-
-#ifdef NEUTRAL_BIG
- BSP_shm_cfgtbl.convert = NULL_CONVERT;
-#else
- BSP_shm_cfgtbl.convert = CPU_swap_u32;
-#endif
-
- BSP_shm_cfgtbl.poll_intr = POLLED_MODE;
- BSP_shm_cfgtbl.Intr.address = NO_INTERRUPT;
- BSP_shm_cfgtbl.Intr.value = NO_INTERRUPT;
- BSP_shm_cfgtbl.Intr.length = NO_INTERRUPT;
-
- *shmcfg = &BSP_shm_cfgtbl;
-}
diff --git a/c/src/lib/libbsp/i386/force386/shmsupp/lock.c b/c/src/lib/libbsp/i386/force386/shmsupp/lock.c
deleted file mode 100644
index d5f74fb8e3..0000000000
--- a/c/src/lib/libbsp/i386/force386/shmsupp/lock.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Shared Memory Lock Routines
- *
- * This shared memory locked queue support routine need to be
- * able to lock the specified locked queue. Interrupts are
- * disabled while the queue is locked to prevent preemption
- * and deadlock when two tasks poll for the same lock.
- * previous level.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <shm.h>
-
-/*
- * Shm_Initialize_lock
- *
- * Initialize the lock for the specified locked queue.
- */
-
-void Shm_Initialize_lock(
- Shm_Locked_queue_Control *lq_cb
-)
-{
- lq_cb->lock = LQ_UNLOCKED;
-}
-
-/* void _Shm_Lock( &lq_cb )
- *
- * This shared memory locked queue support routine locks the
- * specified locked queue. It disables interrupts to prevent
- * a deadlock condition.
- */
-
-void Shm_Lock(
- Shm_Locked_queue_Control *lq_cb
-)
-{
- rtems_unsigned32 isr_level;
- volatile rtems_unsigned32 *lockptr = &lq_cb->lock;
- rtems_unsigned32 lock_value;
-
- lock_value = SHM_LOCK_VALUE;
- rtems_interrupt_disable( isr_level );
-
- Shm_isrstat = isr_level;
- while ( 1 ) {
- asm volatile( "lock ; xchg (%0),%1"
- : "=r" (lockptr), "=r" (lock_value)
- : "0" (lockptr), "1" (lock_value)
- );
- if ( lock_value == SHM_UNLOCK_VALUE )
- break;
- delay( 10 ); /* approximately 10 microseconds */
- }
-}
-
-/*
- * Shm_Unlock
- *
- * Unlock the lock for the specified locked queue.
- */
-
-void Shm_Unlock(
- Shm_Locked_queue_Control *lq_cb
-)
-{
- rtems_unsigned32 isr_level;
-
- lq_cb->lock = SHM_UNLOCK_VALUE;
- isr_level = Shm_isrstat;
- rtems_interrupt_enable( isr_level );
-}
-
diff --git a/c/src/lib/libbsp/i386/force386/shmsupp/mpisr.c b/c/src/lib/libbsp/i386/force386/shmsupp/mpisr.c
deleted file mode 100644
index ae0c2dd673..0000000000
--- a/c/src/lib/libbsp/i386/force386/shmsupp/mpisr.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Shm_setvec
- *
- * This driver routine sets the SHM interrupt vector to point to the
- * driver's SHM interrupt service routine.
- *
- * NOTE: This routine is not used by the FORCE CPU-386 because it
- * only supports polling mode.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <shm.h>
-
-void Shm_setvec()
-{
- /* NOT USED ON FORCE CPU-386!!! */
-}
diff --git a/c/src/lib/libbsp/i386/force386/start/Makefile.in b/c/src/lib/libbsp/i386/force386/start/Makefile.in
deleted file mode 100644
index 8535cda245..0000000000
--- a/c/src/lib/libbsp/i386/force386/start/Makefile.in
+++ /dev/null
@@ -1,68 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/start
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-PGMS = ${ARCH}/start.o
-
-# C source names, if any, go here -- minus the .c
-C_PIECES =
-C_FILES = $(C_PIECES:%=%.c)
-C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES =
-
-# Assembly source names, if any, go here -- minus the .S
-S_PIECES = start
-S_FILES = $(S_PIECES:%=%.S)
-S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
-
-SRCS = $(C_FILES) $(H_FILES) $(S_FILES)
-OBJS = $(C_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-all: ${ARCH} $(SRCS) $(OBJS) $(PGM)
- $(INSTALL_VARIANT) -m 755 ${PGMS} $(PROJECT_RELEASE)/lib
-
-# Install the program(s), appending _g or _p as appropriate.
-# for include files, just use $(INSTALL_CHANGE)
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/start/start.S b/c/src/lib/libbsp/i386/force386/start/start.S
deleted file mode 100644
index c1d0ffd099..0000000000
--- a/c/src/lib/libbsp/i386/force386/start/start.S
+++ /dev/null
@@ -1,267 +0,0 @@
-/* start.s
- *
- * This file contains the entry point for the application.
- * The name of this entry point is compiler dependent.
- * It jumps to the BSP which is responsible for performing
- * all initialization.
- *
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include "asm.h"
-
-/*
- * A Descriptor table register has the following format
- */
-
-.set DTR_LIMIT, 0 # offset of two byte limit
-.set DTR_BASE, 2 # offset of four byte base address
-.set DTR_SIZE, 6 # size of DTR register
-
- BEGIN_DATA
- EXTERN (Do_Load_IDT)
- EXTERN (Do_Load_GDT)
- END_DATA
-
- BEGIN_CODE
-
- PUBLIC (start) # GNU default entry point
-
- EXTERN (boot_card)
- EXTERN (load_segments)
- EXTERN (exit)
-
-SYM (start):
- nop
- cli # DISABLE INTERRUPTS!!!
-/*
- * Load the segment registers
- *
- * NOTE: Upon return, gs will contain the segment descriptor for
- * a segment which maps directly to all of physical memory.
- */
- jmp SYM (_load_segments) # load board dependent segments
-
-/*
- * Set up the stack
- */
-
- PUBLIC (_establish_stack)
-SYM (_establish_stack):
-
- movl $end,eax # eax = end of bss/start of heap
- addl $heap_size,eax # eax = end of heap
- movl eax,stack_start # Save for brk() routine
- addl $stack_size,eax # make room for stack
- andl $0xffffffc0,eax # align it on 16 byte boundary
- movl eax,esp # set stack pointer
- movl eax,ebp # set base pointer
-/*
- * Zero out the BSS segment
- */
-SYM (zero_bss):
- cld # make direction flag count up
- movl $ SYM (end),ecx # find end of .bss
- movl $ SYM (_bss_start),edi # edi = beginning of .bss
- subl edi,ecx # ecx = size of .bss in bytes
- shrl ecx # size of .bss in longs
- shrl ecx
- xorl eax,eax # value to clear out memory
- repne # while ecx != 0
- stosl # clear a long in the bss
-
-/*
- * Copy the Global Descriptor Table to our space
- */
-
- sgdt SYM (_Original_GDTR) # save original GDT
- movzwl SYM (_Original_GDTR)+DTR_LIMIT,ecx
- /* size of GDT in bytes; limit is */
- /* 8192 entries * 8 bytes per */
-
- /*
- * make ds:esi point to the original GDT
- */
-
- movl SYM (_Original_GDTR)+DTR_BASE,esi
- push ds # save ds
- movw gs,ax
- movw ax,ds
-
- /*
- * make es:edi point to the new (our copy) GDT
- */
-
- movl $ SYM (_Global_descriptor_table),edi
-
- rep
- movsb # copy the GDT (ds:esi -> es:edi)
-
- pop ds # restore ds
-
- /*
- * Build and load new contents of GDTR
- */
- movw SYM (_Original_GDTR)+DTR_LIMIT,ecx # set new limit
- movw cx, SYM (_New_GDTR)+DTR_LIMIT
-
- push $ SYM (_Global_descriptor_table)
- push es
- call SYM (i386_Logical_to_physical)
- addl $6,esp
- movl eax, SYM (_New_GDTR)+DTR_BASE # set new base
-
- cmpb $0, SYM (_Do_Load_GDT) # Should the new GDT be loaded?
- je SYM (no_gdt_load) # NO, then branch
- lgdt SYM (_New_GDTR) # load the new GDT
-SYM (no_gdt_load):
-
-/*
- * Copy the Interrupt Descriptor Table to our space
- */
-
- sidt SYM (_Original_IDTR) # save original IDT
- movzwl SYM (_Original_IDTR)+DTR_LIMIT,ecx
- /* size of IDT in bytes; limit is */
- /* 256 entries * 8 bytes per */
-
-
- /*
- * make ds:esi point to the original IDT
- */
- movl SYM (_Original_IDTR)+DTR_BASE,esi
-
- push ds # save ds
- movw gs,ax
- movw ax,ds
-
- /*
- * make es:edi point to the new (our copy) IDT
- */
- movl $ SYM (Interrupt_descriptor_table),edi
-
- rep
- movsb # copy the IDT (ds:esi -> es:edi)
- pop ds # restore ds
-
- /*
- * Build and load new contents of IDTR
- */
- movw SYM (_Original_IDTR+DTR_LIMIT),ecx # set new limit
- movw cx,SYM (_New_IDTR)+DTR_LIMIT
-
- push $ SYM (Interrupt_descriptor_table)
- push es
- call SYM (i386_Logical_to_physical)
- addl $6,esp
- movl eax, SYM (_New_IDTR)+DTR_BASE # set new base
-
- cmpb $0, SYM (_Do_Load_IDT) # Should the new IDT be loaded?
- je SYM (no_idt_load) # NO, then branch
- lidt SYM (_New_IDTR) # load the new IDT
-SYM (no_idt_load):
-
-/*
- * Initialize the i387.
- *
- * Using the NO WAIT form of the instruction insures that
- * if it is not present the board will not lock up or get an
- * exception.
- */
-
- fninit # MUST USE NO-WAIT FORM
-
-/*
- * Transfer control to User's Board Support Package
- */
- pushl $0 # environp
- pushl $0 # argv
- pushl $0 # argc
- call SYM (boot_card)
- addl $12,esp
-
-/*
- * Clean up
- */
-
- EXTERN (return_to_monitor)
-
- PUBLIC (Bsp_cleanup)
-SYM (Bsp_cleanup):
- cmpb $0, SYM (_Do_Load_IDT) # Was the new IDT loaded?
- je SYM (no_idt_restore) # NO, then branch
- lidt SYM (_Original_IDTR) # restore the new IDT
-SYM (no_idt_restore):
-
- cmpb $0, SYM (_Do_Load_GDT) # Was the new GDT loaded?
- je SYM (no_gdt_restore) # NO, then branch
- lgdt SYM (_Original_GDTR) # restore the new GDT
-SYM (no_gdt_restore):
- jmp SYM (_return_to_monitor)
-
-END_CODE
-
-BEGIN_DATA
-
- .align 2
- PUBLIC (start_frame)
-SYM (start_frame):
- .long 0
-
- PUBLIC (stack_start)
-SYM (stack_start):
- .long 0
-
-END_DATA
-
-BEGIN_BSS
-
- PUBLIC(heap_size)
- .set heap_size,0x2000
-
- PUBLIC(stack_size)
- .set stack_size,0x1000
-
- PUBLIC (Interrupt_descriptor_table)
-SYM (Interrupt_descriptor_table):
- .space 256*8
-
- PUBLIC (_Original_IDTR)
-SYM (_Original_IDTR):
- .space DTR_SIZE
-
- PUBLIC (_New_IDTR)
-SYM (_New_IDTR):
- .space DTR_SIZE
-
- PUBLIC (_Global_descriptor_table)
-SYM (_Global_descriptor_table):
- .space 8192*8
-
- PUBLIC (_Original_GDTR)
-SYM (_Original_GDTR):
- .space DTR_SIZE
-
- PUBLIC (_New_GDTR)
-SYM (_New_GDTR):
- .space DTR_SIZE
-
- PUBLIC (_Physical_base_of_ds)
-SYM (_Physical_base_of_ds):
- .space 4
-
- PUBLIC (_Physical_base_of_cs)
-SYM (_Physical_base_of_cs):
- .space 4
-
-END_BSS
-END
diff --git a/c/src/lib/libbsp/i386/force386/startup/Makefile.in b/c/src/lib/libbsp/i386/force386/startup/Makefile.in
deleted file mode 100644
index 109b51e33d..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/Makefile.in
+++ /dev/null
@@ -1,76 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/startup
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@:@srcdir@/../../../shared
-
-PGM = ${ARCH}/startup.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES = bspclean bsplibc bsppost bspstart bootcard main sbrk setvec \
- gnatinstallhandler
-C_FILES = $(C_PIECES:%=%.c)
-C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES =
-
-# Assembly source names, if any, go here -- minus the .S
-S_PIECES = ldsegs
-S_FILES = $(S_PIECES:%=%.S)
-S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
-
-SRCS = $(srcdir)/linkcmds $(C_FILES) $(H_FILES) $(S_FILES)
-OBJS = $(C_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-mkinstalldirs = $(SHELL) $(top_srcdir)/@RTEMS_TOPdir@/mkinstalldirs
-
-INSTALLDIRS = $(PROJECT_RELEASE)/lib
-
-$(INSTALLDIRS):
- @$(mkinstalldirs) $(INSTALLDIRS)
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-${PGM}: ${SRCS} ${OBJS}
- $(make-rel)
-all: ${ARCH} $(SRCS) $(PGM)
- $(INSTALL_CHANGE) -m 644 $(srcdir)/linkcmds $(PROJECT_RELEASE)/lib
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/startup/bspstart.c b/c/src/lib/libbsp/i386/force386/startup/bspstart.c
deleted file mode 100644
index c4ea26cdfb..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/bspstart.c
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * This routine starts the application. It includes application,
- * board, and monitor specific initialization and configuration.
- * The generic CPU dependent initialization has been performed
- * before this routine is invoked.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <bsp.h>
-#include <rtems/libio.h>
-
-#include <libcsupport.h>
-
-/*
- * The original table from the application and our copy of it with
- * some changes.
- */
-
-extern rtems_configuration_table Configuration;
-rtems_configuration_table BSP_Configuration;
-
-rtems_cpu_table Cpu_table;
-
-char *rtems_progname;
-
-/*
- * Use the shared implementations of the following routines
- */
-
-void bsp_postdriver_hook(void);
-void bsp_libc_init( void *, unsigned32, int );
-
-/*
- * Function: bsp_pretasking_hook
- * Created: 95/03/10
- *
- * Description:
- * BSP pretasking hook. Called just before drivers are initialized.
- * Used to setup libc and install any BSP extensions.
- *
- * NOTES:
- * Must not use libc (to do io) from here, since drivers are
- * not yet initialized.
- *
- */
-
-void bsp_pretasking_hook(void)
-{
- extern int end;
- rtems_unsigned32 heap_start;
-
- heap_start = (rtems_unsigned32) &end;
- if (heap_start & (CPU_ALIGNMENT-1))
- heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
-
- bsp_libc_init((void *) heap_start, 64 * 1024, 0);
-
-
-#ifdef RTEMS_DEBUG
- rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
-#endif
-}
-
-/*
- * bsp_start
- *
- * This routine does the bulk of the system initialization.
- */
-
-void bsp_start( void )
-{
-
- /*
- * FORCE documentation incorrectly states that the bus request
- * level is initialized to 3. It is actually initialized by
- * FORCEbug to 0.
- */
-
- outport_byte( 0x00, 0x3f ); /* resets VMEbus request level */
-
- Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
-
- Cpu_table.postdriver_hook = bsp_postdriver_hook;
-
- Cpu_table.interrupt_table_segment = get_ds();
-
- Cpu_table.interrupt_table_offset = (void *)Interrupt_descriptor_table;
-
- Cpu_table.interrupt_stack_size = 4096;
-
- BSP_Configuration.work_space_start = (void *)
- RAM_END - BSP_Configuration.work_space_size;
-
-}
diff --git a/c/src/lib/libbsp/i386/force386/startup/exit.c b/c/src/lib/libbsp/i386/force386/startup/exit.c
deleted file mode 100644
index c17d97fa6e..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/exit.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * exit
- *
- * This routine returns control to FORCEbug.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <clockdrv.h>
-#include <iodrv.h>
-
-void _exit( )
-{
- /* Clock or Timer cleanup is run by at_exit() */
-
- Io_cleanup();
-
- bsp_cleanup();
-}
diff --git a/c/src/lib/libbsp/i386/force386/startup/ldsegs.S b/c/src/lib/libbsp/i386/force386/startup/ldsegs.S
deleted file mode 100644
index 7689a7693f..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/ldsegs.S
+++ /dev/null
@@ -1,86 +0,0 @@
-/* _load_segments
- *
- * This file assists the board independent startup code by
- * loading the proper segment register values. The values
- * loaded are board dependent.
- *
- * NOTE: No stack has been established when this routine
- * is invoked. It returns by jumping back to bspentry.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include "asm.h"
-
-BEGIN_CODE
-
-/*
- * FORCEBUG loads us into a virtual address space which
- * really starts at PHYSICAL_ADDRESS_BASE.
- */
-
-.set PHYSICAL_ADDRESS_BASE, 0x00002000
-
-/*
- * At reset time, FORCEBUG normally has the segment selectors preloaded.
- * If a human resets the instruction pointer, this will not have occurred.
- * However, no guarantee can be made of the other registers if cs:ip was
- * modified to restart the program. Because of this, the BSP reloads all
- * segment registers (except cs) with the values they have following
- * a reset.
- */
-
-
-.set RESET_SS, 0x40 # initial value of stack segment register
-.set RESET_DS, 0x40 # initial value of data segment register
-.set RESET_ES, 0x40 # initial value of extra segment register
-.set RESET_FS, 0x40 # initial value of "f" segment register
-.set RESET_GS, 0x30 # initial value of "g" segment register
-
-
-#define LOAD_SEGMENTS(_value,_segment) \
- movw $ ## _value, ax ; \
- movw ax, _segment
-
- EXTERN (establish_stack)
-
- PUBLIC (_load_segments)
-SYM (_load_segments):
- LOAD_SEGMENTS( RESET_SS, ss )
- LOAD_SEGMENTS( RESET_DS, ds )
- LOAD_SEGMENTS( RESET_ES, es )
- LOAD_SEGMENTS( RESET_FS, fs )
- LOAD_SEGMENTS( RESET_GS, gs )
-
- jmp SYM (_establish_stack) # return to the bsp entry code
-
- PUBLIC (_return_to_monitor)
-SYM (_return_to_monitor):
-
- call SYM (Clock_exit)
- movb $0,al
- int $0x20 # restart FORCEbug
- jmp SYM (start) # FORCEbug does not reset PC
-
-END_CODE
-
-BEGIN_DATA
-
- PUBLIC (_Do_Load_IDT)
-SYM (_Do_Load_IDT):
- .byte 1
-
- PUBLIC (_Do_Load_GDT)
-SYM (_Do_Load_GDT):
- .byte 0
-
-END_DATA
-END
diff --git a/c/src/lib/libbsp/i386/force386/startup/linkcmds b/c/src/lib/libbsp/i386/force386/startup/linkcmds
deleted file mode 100644
index 3892b7dedf..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/linkcmds
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * This file contains directives for the GNU linker which are specific
- * to the FORCE CPU386 board.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-MEMORY
- {
- ram : org = 0x0, l = 1M
- }
-
-SECTIONS
-{
- .text 0x0 :
- {
- _text_start = . ;
- *(.text)
- . = ALIGN (16);
-
- *(.eh_fram)
- . = ALIGN (16);
-
- /*
- * C++ constructors
- */
- __CTOR_LIST__ = .;
- LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
- *(.ctors)
- LONG(0)
- __CTOR_END__ = .;
-
- __DTOR_LIST__ = .;
- LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
- *(.dtors)
- LONG(0)
- __DTOR_END__ = .;
- _etext = ALIGN( 0x10 ) ;
-
-
- } >RAM
-
- .init : { *(.init) } >RAM
- .fini : { *(.fini) } >RAM
- .rodata : { *(.rodata) *(.gnu.linkonce.r*) } >RAM
-
- .data :
- {
- _data_start = . ;
- *(.data)
- _edata = ALIGN( 0x10 ) ;
- } >RAM
-
- .bss :
- {
- _bss_start = . ;
- *(.bss)
- *(COMMON)
- end = . ;
- _end = . ;
- __end = . ;
- } >RAM
-}
diff --git a/c/src/lib/libbsp/i386/force386/startup/setvec.c b/c/src/lib/libbsp/i386/force386/startup/setvec.c
deleted file mode 100644
index eb2cf51e42..0000000000
--- a/c/src/lib/libbsp/i386/force386/startup/setvec.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* set_vector
- *
- * This routine installs an interrupt vector on the Force CPU-386.
- *
- * INPUT:
- * handler - interrupt handler entry point
- * vector - vector number
- * type - 0 indicates raw hardware connect
- * 1 indicates RTEMS interrupt connect
- *
- * RETURNS:
- * address of previous interrupt handler
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-
-i386_isr_entry set_vector( /* returns old vector */
- rtems_isr_entry handler, /* isr routine */
- rtems_vector_number vector, /* vector number */
- int type /* RTEMS or RAW intr */
-)
-{
- i386_isr_entry previous_isr;
- interrupt_gate_descriptor idt;
-
- if ( type )
- rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
- else {
- /* get the address of the old handler */
-
- idt = Interrupt_descriptor_table[ vector ];
-
- previous_isr = (i386_isr_entry)
- ((idt.offset_16_31 << 16) | idt.offset_0_15);
-
- /* build the IDT entry */
- idt.offset_0_15 = ((rtems_unsigned32) handler) & 0xffff;
- idt.segment_selector = get_cs();
- idt.reserved = 0x00;
- idt.p_dpl = 0x8e; /* present, ISR */
- idt.offset_16_31 = ((rtems_unsigned32) handler) >> 16;
-
- /* install the IDT entry */
- Interrupt_descriptor_table[ vector ] = idt;
- }
- return previous_isr;
-}
-
diff --git a/c/src/lib/libbsp/i386/force386/timer/Makefile.in b/c/src/lib/libbsp/i386/force386/timer/Makefile.in
deleted file mode 100644
index d1c7a1e5b8..0000000000
--- a/c/src/lib/libbsp/i386/force386/timer/Makefile.in
+++ /dev/null
@@ -1,70 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/timer
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-PGM = ${ARCH}/timer.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES = timer
-C_FILES = $(C_PIECES:%=%.c)
-C_O_FILES = $(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES =
-
-# Assembly source names, if any, go here -- minus the .S
-S_PIECES = timerisr
-S_FILES = $(S_PIECES:%=%.S)
-S_O_FILES = $(S_FILES:%.S=${ARCH}/%.o)
-
-SRCS = $(C_FILES) $(H_FILES) $(S_FILES)
-OBJS = $(C_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-${PGM}: ${SRCS} ${OBJS}
- $(make-rel)
-
-all: ${ARCH} $(SRCS) $(PGM)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-install: all
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff --git a/c/src/lib/libbsp/i386/force386/timer/timer.c b/c/src/lib/libbsp/i386/force386/timer/timer.c
deleted file mode 100644
index ac7991173d..0000000000
--- a/c/src/lib/libbsp/i386/force386/timer/timer.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Timer_init()
- *
- * This routine initializes the timer on the FORCE CPU-386 board.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * NOTE: This routine will not work if the optimizer is enabled
- * for some compilers. The multiple writes to the Z8036
- * may be optimized away.
- *
- * It is important that the timer start/stop overhead be
- * determined when porting or modifying this code.
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-
-#include <rtems.h>
-#include <bsp.h>
-
-int Ttimer_val;
-rtems_boolean Timer_driver_Find_average_overhead;
-
-rtems_isr timerisr();
-
-void Timer_initialize()
-{
-
- (void) set_vector( timerisr, 0x38, 0 ); /* install ISR */
-
- Ttimer_val = 0; /* clear timer ISR count */
-
- outport_byte( IERA, 0x40 ); /* disable interrupt */
- outport_byte( TBCR, 0x40 ); /* stop the timer */
- outport_byte( TBDR, 250 ); /* 250 units */
-
- outport_byte( TBCR, 0x11 ); /* reset it, delay mode, 4X */
-#if 0
- outport_byte( TBCR, 0x13 ); /* reset it, delay mode, 16X */
-#endif
-
- outport_byte( IERA, 0x41 ); /* enable interrupt */
-
-}
-
-#define AVG_OVERHEAD 3 /* It typically takes 3.0 microseconds */
- /* (3 ticks) to start/stop the timer. */
-#define LEAST_VALID 4 /* Don't trust a value lower than this */
-
-int Read_timer()
-{
- register rtems_unsigned32 clicks;
- register rtems_unsigned32 total;
-
- outport_byte( TBCR, 0x00 ); /* stop the timer */
-
- inport_byte( TBDR, clicks );
-
- total = Ttimer_val + 250 - clicks;
-
- outport_byte( TBCR, 0x00 ); /* initial value */
- outport_byte( IERA, 0x40 ); /* disable interrupt */
-
- /* ??? Is "do not restore old vector" causing problems? */
-
- if ( Timer_driver_Find_average_overhead == 1 )
- return total; /* in one microsecond units */
-
- else {
- if ( total < LEAST_VALID )
- return 0; /* below timer resolution */
- return (total - AVG_OVERHEAD);
- }
-}
-
-rtems_status_code Empty_function( void )
-{
- return RTEMS_SUCCESSFUL;
-}
-
-void Set_find_average_overhead(
- rtems_boolean find_flag
-)
-{
- Timer_driver_Find_average_overhead = find_flag;
-}
diff --git a/c/src/lib/libbsp/i386/force386/timer/timerisr.S b/c/src/lib/libbsp/i386/force386/timer/timerisr.S
deleted file mode 100644
index 3264248b05..0000000000
--- a/c/src/lib/libbsp/i386/force386/timer/timerisr.S
+++ /dev/null
@@ -1,34 +0,0 @@
-/* timer_isr()
- *
- * This routine provides the ISR for the Z8036 timer on the MVME136
- * board. The timer is set up to generate an interrupt at maximum
- * intervals.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-1998.
- * On-Line Applications Research Corporation (OAR).
- * Copyright assigned to U.S. Government, 1994.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.OARcorp.com/rtems/license.html.
- *
- * $Id$
- */
-
-#include "asm.h"
-
- BEGIN_CODE
-
- EXTERN (Ttimer_val)
-
- PUBLIC (timerisr)
-SYM (timerisr):
- addl $250, SYM (Ttimer_val) # another 250 microseconds
- iret
-
-END_CODE
-END
diff --git a/c/src/lib/libbsp/i386/force386/times b/c/src/lib/libbsp/i386/force386/times
deleted file mode 100644
index 2c953246ac..0000000000
--- a/c/src/lib/libbsp/i386/force386/times
+++ /dev/null
@@ -1,191 +0,0 @@
-#
-# Timing Test Suite Results for the Force CPU386 BSP
-#
-# $Id$
-#
-
-Board: Force CPU-386
-CPU: i386/DX + i387
-Clock Speed: 16 Mhz
-Memory Configuration: DRAM, no cache
-Wait States: 0 wait states
-
-Times Reported in: microseconds
-Timer Source: count-down timer provided by a Motorola MC68901
-
-Column A: 3.5.1
-Column B: 3.5.17 - pre-release
-
-# DESCRIPTION A B
-== ================================================================= ==== ====
- 1 rtems_semaphore_create 73 64
- rtems_semaphore_delete 69 60
- rtems_semaphore_obtain: available 50 41
- rtems_semaphore_obtain: not available -- NO_WAIT 50 40
- rtems_semaphore_release: no waiting tasks 55 47
-
- 2 rtems_semaphore_obtain: not available -- caller blocks 126 123
-
- 3 rtems_semaphore_release: task readied -- preempts caller 104 95
-
- 4 rtems_task_restart: blocked task -- preempts caller 164 162
- rtems_task_restart: ready task -- preempts caller 158 156
- rtems_semaphore_release: task readied -- returns to caller 79 70
- rtems_task_create 164 157
- rtems_task_start 93 86
- rtems_task_restart: suspended task -- returns to caller 109 103
- rtems_task_delete: suspended task 154 147
- rtems_task_restart: ready task -- returns to caller 111 105
- rtems_task_restart: blocked task -- returns to caller 144 138
- rtems_task_delete: blocked task 162 153
-
- 5 rtems_task_suspend: calling task 87 81
- rtems_task_resume: task readied -- preempts caller 79 71
-
- 6 rtems_task_restart: calling task 121 118
- rtems_task_suspend: returns to caller 54 45
- rtems_task_resume: task readied -- returns to caller 54 46
- rtems_task_delete: ready task 164 157
-
- 7 rtems_task_restart: suspended task -- preempts caller 151 149
-
- 8 rtems_task_set_priority: obtain current priority 40 30
- rtems_task_set_priority: returns to caller 75 67
- rtems_task_mode: obtain current mode 20 19
- rtems_task_mode: no reschedule 22 21
- rtems_task_mode: reschedule -- returns to caller 27 27
- rtems_task_mode: reschedule -- preempts caller 74 66
- rtems_task_set_note 41 32
- rtems_task_get_note 42 32
- rtems_clock_set 95 85
- rtems_clock_get 2 2
-
- 9 rtems_message_queue_create 304 294
- rtems_message_queue_send: no waiting tasks 124 117
- rtems_message_queue_urgent: no waiting tasks 123 117
- rtems_message_queue_receive: available 101 93
- rtems_message_queue_flush: no messages flushed 38 29
- rtems_message_queue_flush: messages flushed 50 41
- rtems_message_queue_delete 88 81
-
-10 rtems_message_queue_receive: not available -- NO_WAIT 54 45
- rtems_message_queue_receive: not available -- caller blocks 131 127
-
-11 rtems_message_queue_send: task readied -- preempts caller 152 144
-
-12 rtems_message_queue_send: task readied -- returns to caller 126 118
-
-13 rtems_message_queue_urgent: task readied -- preempts caller 152 144
-
-14 rtems_message_queue_urgent: task readied -- returns to caller 126 116
-
-15 rtems_event_receive: obtain current events 0 <1
- rtems_event_receive: not available -- NO_WAIT 37 25
- rtems_event_receive: not available -- caller blocks 102 94
- rtems_event_send: no task readied 37 26
- rtems_event_receive: available 39 27
- rtems_event_send: task readied -- returns to caller 68 60
-
-16 rtems_event_send: task readied -- preempts caller 96 89
-
-17 rtems_task_set_priority: preempts caller 119 115
-
-18 rtems_task_delete: calling task 192 187
-
-19 rtems_signal_catch 23 13
- rtems_signal_send: returns to caller 43 34
- rtems_signal_send: signal to self 57 59
- exit ASR overhead: returns to calling task 39 39
- exit ASR overhead: returns to preempting task 70 60
-
-20 rtems_partition_create 96 83
- rtems_region_create 78 68
- rtems_partition_get_buffer: available 42 34
- rtems_partition_get_buffer: not available 42 33
- rtems_partition_return_buffer 49 40
- rtems_partition_delete 50 49
- rtems_region_get_segment: available 57 45
- rtems_region_get_segment: not available -- NO_WAIT 54 52
- rtems_region_return_segment: no waiting tasks 62 52
- rtems_region_get_segment: not available -- caller blocks 131 127
- rtems_region_return_segment: task readied -- preempts caller 147 138
- rtems_region_return_segment: task readied -- returns to caller 123 113
- rtems_region_delete 48 39
- rtems_io_initialize 4 4
- rtems_io_open 1 1
- rtems_io_close 1 0
- rtems_io_read 1 1
- rtems_io_write 1 1
- rtems_io_control 1 1
-
-21 rtems_task_ident 671 748
- rtems_message_queue_ident 656 730
- rtems_semaphore_ident 699 787
- rtems_partition_ident 655 730
- rtems_region_ident 670 739
- rtems_port_ident 657 728
- rtems_timer_ident 658 729
- rtems_rate_monotonic_ident 659 729
-
-22 rtems_message_queue_broadcast: task readied -- returns to caller 129 122
- rtems_message_queue_broadcast: no waiting tasks 61 53
- rtems_message_queue_broadcast: task readied -- preempts caller 155 146
-
-23 rtems_timer_create 45 34
- rtems_timer_fire_after: inactive 70 65
- rtems_timer_fire_after: active 75 69
- rtems_timer_cancel: active 45 37
- rtems_timer_cancel: inactive 41 32
- rtems_timer_reset: inactive 65 58
- rtems_timer_reset: active 69 63
- rtems_timer_fire_when: inactive 100 92
- rtems_timer_fire_when: active 100 92
- rtems_timer_delete: active 60 52
- rtems_timer_delete: inactive 56 48
- rtems_task_wake_when 132 128
-
-24 rtems_task_wake_after: yield -- returns to caller 29 18
- rtems_task_wake_after: yields -- preempts caller 71 63
-
-25 rtems_clock_tick 14 16
-
-26 _ISR_Disable 2 1
- _ISR_Flash 2 1
- _ISR_Enable 1 1
- _Thread_Disable_dispatch 1 1
- _Thread_Enable_dispatch 22 10
- _Thread_Set_state 25 26
- _Thread_Disptach (NO FP) 55 48
- context switch: no floating point contexts 42 34
- context switch: self 8 9
- context switch: to another task 10 10
- context switch: restore 1st FP task 65 57
- fp context switch: save idle, restore idle 93 83
- fp context switch: save idle, restore initialized 60 59
- fp context switch: save initialized, restore initialized 60 59
- _Thread_Resume 19 19
- _Thread_Unblock 19 19
- _Thread_Ready 22 22
- _Thread_Get 14 15
- _Semaphore_Get 11 13
- _Thread_Get: invalid id 3 3
-
-27 interrupt entry overhead: returns to interrupted task 13 13
- interrupt exit overhead: returns to interrupted task 11 11
- interrupt entry overhead: returns to nested interrupt 12 12
- interrupt exit overhead: returns to nested interrupt 10 10
- interrupt entry overhead: returns to preempting task 12 12
- interrupt exit overhead: returns to preempting task 65 58
-
-28 rtems_port_create 48 39
- rtems_port_external_to_internal 36 26
- rtems_port_internal_to_external 36 26
- rtems_port_delete 48 39
-
-29 rtems_rate_monotonic_create 47 36
- rtems_rate_monotonic_period: initiate period -- returns to caller 60 53
- rtems_rate_monotonic_period: obtain status 38 30
- rtems_rate_monotonic_cancel 48 39
- rtems_rate_monotonic_delete: inactive 57 49
- rtems_rate_monotonic_delete: active 61 53
- rtems_rate_monotonic_period: conclude periods -- caller blocks 88 82
diff --git a/c/src/lib/libbsp/i386/force386/wrapup/Makefile.in b/c/src/lib/libbsp/i386/force386/wrapup/Makefile.in
deleted file mode 100644
index 3311430898..0000000000
--- a/c/src/lib/libbsp/i386/force386/wrapup/Makefile.in
+++ /dev/null
@@ -1,72 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ../../..
-subdir = i386/force386/wrapup
-
-RTEMS_ROOT = @RTEMS_ROOT@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-VPATH = @srcdir@
-
-include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
-include $(RTEMS_ROOT)/make/lib.cfg
-
-INSTALL = @INSTALL@
-INSTALL_CHANGE = @INSTALL_CHANGE@
-
-BSP_PIECES = startup clock console timer
-GENERIC_PIECES =
-
-GENERIC_MP_REL_PIECES_yes_V = shmdr
-GENERIC_MP_REL_PIECES_no_V =
-GENERIC_PIECES += $(GENERIC_MP_REL_PIECES_$(HAS_MP)_V)
-
-BSP_MP_O_PIECES_yes_V = shmsupp
-BSP_MP_O_PIECES_no_V =
-BSP_PIECES += $(BSP_MP_O_PIECES_$(HAS_MP)_V)
-
-# bummer; have to use $foreach since % pattern subst rules only replace 1x
-OBJS = $(foreach piece, $(BSP_PIECES), $(wildcard ../$(piece)/$(ARCH)/*.o)) \
- $(foreach piece, $(GENERIC_PIECES), \
- ../../../$(piece)/$(ARCH)/$(piece).rel)
-LIB = $(ARCH)/libbsp.a
-
-#
-# (OPTIONAL) Add local stuff here using +=
-#
-
-DEFINES +=
-CPPFLAGS +=
-CFLAGS +=
-
-LD_PATHS +=
-LD_LIBS +=
-LDFLAGS +=
-
-#
-# Add your list of files to delete here. The config files
-# already know how to delete some stuff, so you may want
-# to just run 'make clean' first to see what gets missed.
-# 'make clobber' already includes 'make clean'
-#
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-$(LIB): ${OBJS}
- $(make-library)
-
-all: ${ARCH} $(SRCS) $(LIB)
- $(INSTALL_VARIANT) -m 644 $(LIB) $(PROJECT_RELEASE)/lib
-
-$(PROJECT_ROOT)/@RTEMS_BSP@/lib/bsp_specs: ../bsp_specs
- $(INSTALL_DATA) $< $@
-
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status