summaryrefslogtreecommitdiff
path: root/c/src/lib/libbsp/a29k
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/a29k')
-rw-r--r--c/src/lib/libbsp/a29k/Makefile.in15
-rw-r--r--c/src/lib/libbsp/a29k/portsw/Makefile.in20
-rw-r--r--c/src/lib/libbsp/a29k/portsw/README71
-rw-r--r--c/src/lib/libbsp/a29k/portsw/console/Makefile.in59
-rw-r--r--c/src/lib/libbsp/a29k/portsw/console/concntl.h16
-rw-r--r--c/src/lib/libbsp/a29k/portsw/console/console.c301
-rw-r--r--c/src/lib/libbsp/a29k/portsw/console/serial.c217
-rw-r--r--c/src/lib/libbsp/a29k/portsw/console/serial.h8
-rw-r--r--c/src/lib/libbsp/a29k/portsw/include/Makefile.in33
-rw-r--r--c/src/lib/libbsp/a29k/portsw/include/bsp.h100
-rw-r--r--c/src/lib/libbsp/a29k/portsw/include/coverhd.h115
-rw-r--r--c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in60
-rw-r--r--c/src/lib/libbsp/a29k/portsw/shmsupp/addrconv.c35
-rw-r--r--c/src/lib/libbsp/a29k/portsw/shmsupp/getcfg.c81
-rw-r--r--c/src/lib/libbsp/a29k/portsw/shmsupp/lock.c90
-rw-r--r--c/src/lib/libbsp/a29k/portsw/shmsupp/mpisr.c51
-rw-r--r--c/src/lib/libbsp/a29k/portsw/start/Makefile.in54
-rw-r--r--c/src/lib/libbsp/a29k/portsw/start/amd.ah517
-rw-r--r--c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah442
-rw-r--r--c/src/lib/libbsp/a29k/portsw/start/register.ah214
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/Makefile.in60
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/bspclean.c30
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/bspstart.c164
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/iface.c96
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/main.c39
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/ramlink11
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/romlink146
-rw-r--r--c/src/lib/libbsp/a29k/portsw/startup/setvec.c49
-rw-r--r--c/src/lib/libbsp/a29k/portsw/times195
-rw-r--r--c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in51
30 files changed, 0 insertions, 3340 deletions
diff --git a/c/src/lib/libbsp/a29k/Makefile.in b/c/src/lib/libbsp/a29k/Makefile.in
deleted file mode 100644
index f049e9b2e8..0000000000
--- a/c/src/lib/libbsp/a29k/Makefile.in
+++ /dev/null
@@ -1,15 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/directory.cfg
-
-# Descend into the $(RTEMS_BSP_FAMILY) directory
-SUB_DIRS=$(RTEMS_BSP_FAMILY)
diff --git a/c/src/lib/libbsp/a29k/portsw/Makefile.in b/c/src/lib/libbsp/a29k/portsw/Makefile.in
deleted file mode 100644
index 48f89c3690..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/Makefile.in
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/directory.cfg
-
-SRCS=README
-
-all: $(SRCS)
-
-# wrapup is the one that actually builds and installs the library
-# from the individual .rel files built in other directories
-SUB_DIRS=include startup console wrapup
diff --git a/c/src/lib/libbsp/a29k/portsw/README b/c/src/lib/libbsp/a29k/portsw/README
deleted file mode 100644
index f18b4f65b6..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/README
+++ /dev/null
@@ -1,71 +0,0 @@
-#
-# README,v 1.2 1995/05/31 16:56:03 joel Exp
-#
-# This is a sample hardware description file for a BSP. This comment
-# block does not have to appear in a real one. The intention of this
-# file is to provide a central place to look when searching for
-# information about a board when starting a new BSP. For example,
-# you may want to find an existing timer driver for the chip you are
-# using on your board. It is easier to grep for the chip name in
-# all of the HARDWARE files than to peruse the source tree. Hopefully,
-# making the HARDDWARE files accurate will also alleviate the common
-# problem of not knowing anything about a board based on its BSP
-# name.
-#
-# NOTE: If you have a class of peripheral chip on board which
-# is not in this list please add it to this file so
-# others will also use the same name.
-#
-# Timer resolution is the way it is configured in this BSP.
-# On a counting timer, this is the length of time which
-# corresponds to 1 count.
-#
-# $Id$
-
-
-BSP NAME: fastsbc1
-BOARD: Fasssst Computers, Fast SBC-1
-BUS: SchoolBus
-CPU FAMILY: i386
-CPU: Intel Hexium
-COPROCESSORS: Witch Hex87
-MODE: 32 bit mode
-
-DEBUG MONITOR: HexBug
-
-PERIPHERALS
-===========
-TIMERS: Intel i8254
- RESOLUTION: .0001 microseconds
-SERIAL PORTS: Zilog Z8530 (with 2 ports)
-REAL-TIME CLOCK: RTC-4
-DMA: Intel i8259
-VIDEO: none
-SCSI: none
-NETWORKING: none
-
-DRIVER INFORMATION
-==================
-CLOCK DRIVER: RTC-4
-IOSUPP DRIVER: Zilog Z8530 port A
-SHMSUPP: polled and interrupts
-TIMER DRIVER: Intel i8254
-TTY DRIVER: stub only
-
-STDIO
-=====
-PORT: Console port 0
-ELECTRICAL: RS-232
-BAUD: 9600
-BITS PER CHARACTER: 8
-PARITY: None
-STOP BITS: 1
-
-NOTES
-=====
-
-(1) 900 Mhz and 950 Mhz versions.
-
-(2) 1 Gb or 2 Gb RAM.
-
-(3) PC compatible if HexBug not enabled.
diff --git a/c/src/lib/libbsp/a29k/portsw/console/Makefile.in b/c/src/lib/libbsp/a29k/portsw/console/Makefile.in
deleted file mode 100644
index a7cdd9f374..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/console/Makefile.in
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-PGM=${ARCH}/console.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES=console serial
-C_FILES=$(C_PIECES:%=%.c)
-C_O_FILES=$(C_PIECES:%=${ARCH}/%.o)
-
-H_FILES=$(srcdir)/concntl.h
-
-# Assembly source names, if any, go here -- minus the .s
-S_PIECES=
-S_FILES=$(S_PIECES:%=%.s)
-S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
-
-SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
-OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-#
-# (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) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
diff --git a/c/src/lib/libbsp/a29k/portsw/console/concntl.h b/c/src/lib/libbsp/a29k/portsw/console/concntl.h
deleted file mode 100644
index f3b3f5e4d7..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/console/concntl.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * $Id$
- */
-
-typedef enum
-{
- CON_KBHIT,
- CON_GET_RAW_BYTE,
- CON_SEND_RAW_BYTE
-} console_ioctl_t;
-
-typedef struct
-{
- console_ioctl_t ioctl_type;
- unsigned32 param;
-} console_ioctl_request_t;
diff --git a/c/src/lib/libbsp/a29k/portsw/console/console.c b/c/src/lib/libbsp/a29k/portsw/console/console.c
deleted file mode 100644
index fb5a761df1..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/console/console.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * This file contains the template for a 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 NO_BSP_INIT
-
-
-/* only one of the following can be defined */
-#define SERIAL_INPUT /* use serial input */
-/* #define HIF_INPUT */ /* use HIF input */
-
-#if defined(SERIAL_INPUT) && defined(HIF_INPUT)
-#error SERIAL_INPUT and HIF_INPUT cannot both be defined!!!
-#endif
-
-/* both of the following can be defined */
-#define SERIAL_OUTPUT /* remove to disable serial port console output */
-/* #define HIF_OUTPUT */ /* remove to disable HIF console output */
-
-#include <bsp.h>
-#include <rtems/libio.h>
-#include "serial.h"
-#include "concntl.h"
-
-#ifndef lint
-static char _sccsid[] = "@(#)console.c 09/12/96 1.13\n";
-#endif
-
-/* 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;
-
- if ( arg )
- {
- if ( console_duartinit(minor,*(unsigned32*)arg) )
- return RTEMS_INVALID_NUMBER;
- }
- else
- {
- if ( console_duartinit(1,9600) || console_duartinit(0,9600) )
- {
- return RTEMS_INVALID_NUMBER;
- }
- }
-
- status = rtems_io_register_name(
- "/dev/console",
- major,
- (rtems_device_minor_number) 0
- );
-
- if (status != RTEMS_SUCCESSFUL)
- rtems_fatal_error_occurred(status);
-
- return RTEMS_SUCCESSFUL;
-}
-
-
-/* is_character_ready
- *
- * This routine returns TRUE if a character is available.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- */
-
-rtems_boolean is_character_ready(
- char *ch
-)
-{
- *ch = '\0'; /* return NULL for no particular reason */
- return(TRUE);
-}
-
-/* inbyte
- *
- * This routine reads a character from the SOURCE.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * Return values:
- * character read from SOURCE
- */
-
-char inbyte( unsigned int minor )
-{
- /*
- * If polling, wait until a character is available.
- */
-#ifdef HIF_INPUT
- char retch;
- _read( 1, &retch, 1 );
- return retch;
-#endif
-#ifdef SERIAL_INPUT
- return console_sps_getc( minor );
-#endif
-}
-
-/* outbyte
- *
- * This routine transmits a character out the SOURCE. It may support
- * XON/XOFF flow control.
- *
- * Input parameters:
- * ch - character to be transmitted
- *
- * Output parameters: NONE
- */
-
-void outbyte( unsigned int minor,
- char ch
-)
-{
- /*
- * If polling, wait for the transmitter to be ready.
- * Check for flow control requests and process.
- * Then output the character.
- */
-
-#ifdef SERIAL_OUTPUT
- console_sps_putc( minor, ch );
-#endif
-
- /*
- * Carriage Return/New line translation.
- */
-
- if ( ch == '\n' )
- outbyte( minor, '\r' );
-}
-
-
-/*
- * 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;
- unsigned8 *buffer;
- unsigned32 maximum;
- unsigned32 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(minor);
- if (buffer[ count ] == '\n' || buffer[ count ] == '\r') {
- buffer[ count++ ] = '\n';
- outbyte( minor, '\n' ); /* newline */
- break;
- }
- else if (buffer[ count ] == '\b' && count > 0 )
- {
- outbyte( minor, '\b' ); /* move back one space */
- outbyte( minor, ' ' ); /* erase the character */
- outbyte( minor, '\b' ); /* move back one space */
- count-=2;
- }
- else
- outbyte( minor, buffer[ count ] ); /* echo the character */
- }
-
- 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;
- unsigned8 *buffer;
-
- rw_args = (rtems_libio_rw_args_t *) arg;
-
- buffer = rw_args->buffer;
- maximum = rw_args->count;
-
-#ifdef HIF_OUTPUT
- _write( 0, buffer, maximum );
-#endif
-#ifdef SERIAL_OUTPUT
- for (count = 0; count < maximum; count++) {
- if ( buffer[ count ] == '\n') {
- outbyte(minor,'\r');
- }
- outbyte( minor,buffer[ count ] );
- }
-#endif
-
- 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
-)
-{
- if (!arg)
- return RTEMS_INVALID_ADDRESS;
-
- switch( ((console_ioctl_request_t *)arg)->ioctl_type )
- {
- case CON_KBHIT:
- /* check if keyboard was hit */
- ((console_ioctl_request_t *)arg)->param = console_sps_kbhit(minor);
- break;
-
- case CON_GET_RAW_BYTE:
- ((console_ioctl_request_t *)arg)->param = inbyte(minor);
- break;
-
- case CON_SEND_RAW_BYTE:
- outbyte(minor, ((console_ioctl_request_t *)arg)->param);
- break;
-
- default:
- break;
- }
-
- return RTEMS_SUCCESSFUL;
-}
diff --git a/c/src/lib/libbsp/a29k/portsw/console/serial.c b/c/src/lib/libbsp/a29k/portsw/console/serial.c
deleted file mode 100644
index 4b07dd19ae..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/console/serial.c
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * $Id$
- */
-
-#include "serial.h"
-#include "rtems.h"
-
-
-typedef unsigned char uchar ; /* Abbreviations */
-typedef unsigned short ushort ;
-typedef unsigned long ulong ;
-
-#if 0
-#define BAUDRate 9600 /* Fixed Uart baud rate */
-#endif
-
-#define SEND_WAIT 0x0100 /* Waiting to send character */
-
-#define TDR(i)
-
-
-/********************************************************************
- *** 16552 specific DUART definitions.
- *******************************************************************/
-
-
-typedef struct uart_16552 DUART ;
-
-#ifndef notdef
-struct uart_16552
-{
- short u_short[8*2] ;
-} ;
-#define u_reg(n) u_short[2*(n)]
-
-#else
-
-struct uart_16552
-{
- int u_int[8] ;
-} ;
-
-#define u_reg(n) u_int[(n)]
-#endif
-
-#define u_tdr u_reg(0) /* Transmit Data Register (write) */
-#define u_rdr u_reg(0) /* Receive Data Register (read) */
-#define u_dlr0 u_reg(0) /* Divisor Latch Register (lsb) */
-
-#define u_ier u_reg(1) /* Interrupt Enable Register */
-#define u_dlr1 u_reg(1) /* Divisor Latch Register (msb) */
-
-#define u_iir u_reg(2) /* Interrupt ID Register (read) */
-#define u_fcr u_reg(2) /* FIFO Control Register (write) */
-#define u_afr u_reg(2) /* Alternate Funct Reg (read/write) */
-
-#define u_lcr u_reg(3) /* Line Control Register */
-
-#define u_mcr u_reg(4) /* Modem Control Register */
-
-#define u_lsr u_reg(5) /* Line Status Register */
-
-#define u_msr u_reg(6) /* Modem Status Register */
-
-#define u_spr u_reg(7) /* Scratch Pad Register */
-
-#define uart1 ((volatile DUART *)0x90000380)
-#define uart2 ((volatile DUART *)0x90000300)
-
-#define NUM_UARTS 2
-static volatile DUART * duart[NUM_UARTS] = { uart1, uart2 };
-
-
-extern void display_msg(void);
-/*extern int sprintf();*/
-
-
-#define board_rev_reg ((volatile short *)0x90000080)
-
-static unsigned int shift_val = 0;
-
-/***********************************************************************
- *** 16552 DUART initialization routine.
- ***********************************************************************/
-
-int
-console_duartinit(unsigned int uart_num, unsigned int BAUDRate)
-{
- register uchar tmp;
- unsigned int board_rev = *board_rev_reg & 0xff;
-
- switch( BAUDRate )
- {
- case 1200:
- case 2400:
- case 9600:
- case 19200:
- case 38400:
- case 57600:
- break;
- default:
- /* unknown baud rate */
- return FALSE;
- }
-
- /* the board rev register should never be 0xff.
- if it equals 0xff, assume that we're on old hardware
- that needs all values shifted by 8. */
- if ( board_rev == 0xff )
- shift_val = 8;
- else
- shift_val = 0;
-
- if ( uart_num >= NUM_UARTS )
- return -1;
-
- duart[uart_num]->u_lcr = 0x80<<shift_val ; /* Set DLAB bit to 1 */
-
- duart[uart_num]->u_dlr0 = ((115200 / BAUDRate) >> 0)<<shift_val ; /* Set baud */
- duart[uart_num]->u_dlr1 = ((115200 / BAUDRate) >> 8)<<shift_val ; /* rate */
-
- duart[uart_num]->u_lcr = 0x03<<shift_val ; /* 8 bits, no parity, 1 stop */
-
- duart[uart_num]->u_mcr = 0x0b<<shift_val ; /* Assert RTS, DTR & OUT2 */
-
- duart[uart_num]->u_fcr = 0x00<<shift_val ; /* Clear 16552 FIFOs */
- /* Is the following write of 0x01 needed? */
- /* Let's try it without... */
- duart[uart_num]->u_fcr = 0xc7<<shift_val ; /* Enable 16552 FIFOs */
-
- duart[uart_num]->u_ier = 0x07<<shift_val ; /* Enable transmit/receive ints */
-
- tmp = duart[uart_num]->u_lsr ; /* Re-arm interrupts */
- tmp = duart[uart_num]->u_rdr ;
- tmp = duart[uart_num]->u_msr ;
-
- return(0);
-}
-
- /*------------ end of duartinit function ----------------*/
-
-
- /***********************************************************************
- *** Transmit character to host.
- ***********************************************************************/
-
-int console_sps_putc(unsigned int uart_num, int ch)
-{
- register unsigned short stat;
-
- if ( uart_num >= NUM_UARTS )
- return -1;
-
- /*
- * Pause until there is room in the UART transmit
- * buffer.
- */
-
- do {
- stat = duart[uart_num]->u_lsr>>shift_val;
- } while (!(stat & 0x40));
-
- /*
- * Transmit data. (Junk)
- */
-
- TDR(ch)
-
- duart[uart_num]->u_tdr = ch<<shift_val ;
-
- return ch;
-
-}
-
-
- /***********************************************************************
- *** Read character from host.
- ***********************************************************************/
-
-int console_sps_getc(unsigned int uart_num)
-{
- register unsigned short stat;
- register int ch;
-
- if ( uart_num >= NUM_UARTS )
- return -1;
-
- stat = duart[uart_num]->u_lsr>>shift_val;
- while (!(stat & 0x01))
- {
- rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
- stat = duart[uart_num]->u_lsr>>shift_val;
- }
-
- ch = duart[uart_num]->u_rdr>>shift_val;
-
- return ch;
-}
-
- /***********************************************************************
- *** check character from host.
- ***********************************************************************/
-
-int console_sps_kbhit(unsigned int uart_num)
-{
- register unsigned short stat;
-
- if ( uart_num >= NUM_UARTS )
- return -1;
-
- stat = duart[uart_num]->u_lsr>>shift_val;
- return ((stat & 0x01));
-}
-
-
-
-
diff --git a/c/src/lib/libbsp/a29k/portsw/console/serial.h b/c/src/lib/libbsp/a29k/portsw/console/serial.h
deleted file mode 100644
index f57787dc17..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/console/serial.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * $Id$
- */
-
-int console_duartinit(unsigned int uart_num, unsigned int BAUDRate);
-int console_sps_putc(unsigned int uart_num, int ch);
-int console_sps_getc(unsigned int uart_num);
-int console_sps_kbhit(unsigned int uart_num);
diff --git a/c/src/lib/libbsp/a29k/portsw/include/Makefile.in b/c/src/lib/libbsp/a29k/portsw/include/Makefile.in
deleted file mode 100644
index 7d8581095f..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/include/Makefile.in
+++ /dev/null
@@ -1,33 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-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
-
-CLEAN_ADDITIONS +=
-CLOBBER_ADDITIONS +=
-
-all: $(SRCS)
- $(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
- $(INSTALL) -m 444 $(EQ_FILES) $(PROJECT_INCLUDE)
diff --git a/c/src/lib/libbsp/a29k/portsw/include/bsp.h b/c/src/lib/libbsp/a29k/portsw/include/bsp.h
deleted file mode 100644
index d3fb0630a8..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/include/bsp.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* bsp.h
- *
- * This include file contains all board IO definitions.
- *
- * XXX : put yours in here
- *
- * 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 __NO_BSP_h
-#define __NO_BSP_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <rtems.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 */
-
-/*
- * Stuff for Time Test 27
- */
-
-#define MUST_WAIT_FOR_INTERRUPT 0
-
-#define Install_tm27_vector( handler ) set_vector( (handler), 0, 1 )
-
-#define Cause_tm27_intr()
-
-#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 ) \
- { \
- }
-
-/* Constants */
-#define CPU_CLOCK_RATE_MHZ 25
-
-#define RAM_START 0
-#define RAM_END 0x100000
-
-/* miscellaneous stuff assumed to exist */
-
-extern rtems_configuration_table BSP_Configuration;
-
-/*
- * Device Driver Table Entries
- */
-
-/*
- * NOTE: Use the standard Console driver entry
- */
-
-/*
- * NOTE: Use the standard Clock driver entry
- */
-
-/* functions */
-
-void bsp_cleanup( void );
-
-no_cpu_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 */
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */
diff --git a/c/src/lib/libbsp/a29k/portsw/include/coverhd.h b/c/src/lib/libbsp/a29k/portsw/include/coverhd.h
deleted file mode 100644
index fedd788455..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/include/coverhd.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* coverhd.h
- *
- * This include file has defines to represent the overhead associated
- * with calling a particular directive from C. These are used in the
- * Timing Test Suite to ignore the overhead required to pass arguments
- * to directives. On some CPUs and/or target boards, this overhead
- * is significant and makes it difficult to distinguish internal
- * RTEMS execution time from that used to call the directive.
- * This file should be updated after running the C overhead timing
- * test. Once this update has been performed, the RTEMS Time Test
- * Suite should be rebuilt to account for these overhead times in the
- * timing results.
- *
- * NOTE: If these are all zero, then the times reported include
- * all calling overhead including passing of arguments.
- *
- * 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 0
-#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 0
-#define CALLING_OVERHEAD_TASK_CREATE 0
-#define CALLING_OVERHEAD_TASK_IDENT 0
-#define CALLING_OVERHEAD_TASK_START 0
-#define CALLING_OVERHEAD_TASK_RESTART 0
-#define CALLING_OVERHEAD_TASK_DELETE 0
-#define CALLING_OVERHEAD_TASK_SUSPEND 0
-#define CALLING_OVERHEAD_TASK_RESUME 0
-#define CALLING_OVERHEAD_TASK_SET_PRIORITY 0
-#define CALLING_OVERHEAD_TASK_MODE 0
-#define CALLING_OVERHEAD_TASK_GET_NOTE 0
-#define CALLING_OVERHEAD_TASK_SET_NOTE 0
-#define CALLING_OVERHEAD_TASK_WAKE_WHEN 0
-#define CALLING_OVERHEAD_TASK_WAKE_AFTER 0
-#define CALLING_OVERHEAD_INTERRUPT_CATCH 0
-#define CALLING_OVERHEAD_CLOCK_GET 0
-#define CALLING_OVERHEAD_CLOCK_SET 0
-#define CALLING_OVERHEAD_CLOCK_TICK 0
-
-#define CALLING_OVERHEAD_TIMER_CREATE 0
-#define CALLING_OVERHEAD_TIMER_IDENT 0
-#define CALLING_OVERHEAD_TIMER_DELETE 0
-#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 0
-#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 0
-#define CALLING_OVERHEAD_TIMER_RESET 0
-#define CALLING_OVERHEAD_TIMER_CANCEL 0
-#define CALLING_OVERHEAD_SEMAPHORE_CREATE 0
-#define CALLING_OVERHEAD_SEMAPHORE_IDENT 0
-#define CALLING_OVERHEAD_SEMAPHORE_DELETE 0
-#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 0
-#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 0
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 0
-
-#define CALLING_OVERHEAD_EVENT_SEND 0
-#define CALLING_OVERHEAD_EVENT_RECEIVE 0
-#define CALLING_OVERHEAD_SIGNAL_CATCH 0
-#define CALLING_OVERHEAD_SIGNAL_SEND 0
-#define CALLING_OVERHEAD_PARTITION_CREATE 0
-#define CALLING_OVERHEAD_PARTITION_IDENT 0
-#define CALLING_OVERHEAD_PARTITION_DELETE 0
-#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 0
-#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 0
-#define CALLING_OVERHEAD_REGION_CREATE 0
-#define CALLING_OVERHEAD_REGION_IDENT 0
-#define CALLING_OVERHEAD_REGION_DELETE 0
-#define CALLING_OVERHEAD_REGION_GET_SEGMENT 0
-#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 0
-#define CALLING_OVERHEAD_PORT_CREATE 0
-#define CALLING_OVERHEAD_PORT_IDENT 0
-#define CALLING_OVERHEAD_PORT_DELETE 0
-#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 0
-#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 0
-
-#define CALLING_OVERHEAD_IO_INITIALIZE 0
-#define CALLING_OVERHEAD_IO_OPEN 0
-#define CALLING_OVERHEAD_IO_CLOSE 0
-#define CALLING_OVERHEAD_IO_READ 0
-#define CALLING_OVERHEAD_IO_WRITE 0
-#define CALLING_OVERHEAD_IO_CONTROL 0
-#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 0
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 0
-#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 0
-#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 0
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 0
-#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 0
-#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 0
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-/* end of include file */
diff --git a/c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in b/c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in
deleted file mode 100644
index b4967b93cb..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/shmsupp/Makefile.in
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-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=
-
-# Assembly source names, if any, go here -- minus the .s
-S_PIECES=
-S_FILES=$(S_PIECES:%=%.s)
-S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
-
-SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
-OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-#
-# (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
-
diff --git a/c/src/lib/libbsp/a29k/portsw/shmsupp/addrconv.c b/c/src/lib/libbsp/a29k/portsw/shmsupp/addrconv.c
deleted file mode 100644
index 123616382f..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/shmsupp/addrconv.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Shm_Convert_address
- *
- * 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>
-
-#ifndef lint
-static char _sccsid[] = "@(#)addrconv.c 04/08/96 1.1\n";
-#endif
-
-void *Shm_Convert_address(
- void *address
-)
-{
- return ( address );
-}
diff --git a/c/src/lib/libbsp/a29k/portsw/shmsupp/getcfg.c b/c/src/lib/libbsp/a29k/portsw/shmsupp/getcfg.c
deleted file mode 100644
index a7c0348728..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/shmsupp/getcfg.c
+++ /dev/null
@@ -1,81 +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 XXX target.
- *
- * INPUT PARAMETERS:
- * localnode - local node number
- * shmcfg - address of pointer to SHM Config Table
- *
- * OUTPUT PARAMETERS:
- * *shmcfg - pointer to SHM Config Table
- *
-XXX: FIX THE COMMENTS BELOW WHEN THE CPU IS KNOWN
- * NOTES: The XYZ 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 <bsp.h>
-#include <shm.h>
-
-#ifndef lint
-static char _sccsid[] = "@(#)getcfg.c 04/08/96 1.1\n";
-#endif
-
-/*
- * configured if currently polling of interrupt driven
- */
-
-#define INTERRUPT 0 /* XXX: */
-#define POLLING 1 /* XXX: fix me -- is polling ONLY!!! */
-
-
-shm_config_table BSP_shm_cfgtbl;
-
-void Shm_Get_configuration(
- rtems_unsigned32 localnode,
- shm_config_table **shmcfg
-)
-{
- BSP_shm_cfgtbl.base = 0x0;
- BSP_shm_cfgtbl.length = 1 * MEGABYTE;
- BSP_shm_cfgtbl.format = SHM_BIG;
-
- /*
- * Override cause_intr or shm_isr if your target has
- * special requirements.
- */
-
- 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/a29k/portsw/shmsupp/lock.c b/c/src/lib/libbsp/a29k/portsw/shmsupp/lock.c
deleted file mode 100644
index 6d5884c530..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/shmsupp/lock.c
+++ /dev/null
@@ -1,90 +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>
-
-#ifndef lint
-static char _sccsid[] = "@(#)lock.c 04/08/96 1.1\n";
-#endif
-
-/*
- * 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;
- rtems_unsigned32 *lockptr = &lq_cb->lock;
- rtems_unsigned32 lock_value;
-
- lock_value = 0x80000000;
- rtems_interrupt_disable( isr_level );
-
- Shm_isrstat = isr_level;
- while ( lock_value ) {
- asm volatile( ""
- : "=r" (lockptr), "=r" (lock_value)
- : "0" (lockptr), "1" (lock_value)
- );
- /*
- * If not available, then may want to delay to reduce load on lock.
- */
-
- if ( lock_value )
- 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/a29k/portsw/shmsupp/mpisr.c b/c/src/lib/libbsp/a29k/portsw/shmsupp/mpisr.c
deleted file mode 100644
index d27d54b76d..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/shmsupp/mpisr.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Shm_isr_nobsp()
- *
- * 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>
-
-#ifndef lint
-static char _sccsid[] = "@(#)mpisr.c 04/08/96 1.1\n";
-#endif
-
-rtems_isr Shm_isr_nobsp( void )
-{
- /*
- * If this routine has to do anything other than the mpisr.c
- * found in the generic driver, then copy the contents of the generic
- * mpisr.c and augment it to satisfy this particular board. Typically,
- * you need to have a board specific mpisr.c when the interrupt
- * must be cleared.
- *
- * If the generic mpisr.c satisifies your requirements, then
- * remove this routine from your target's shmsupp/mpisb.c file.
- * Then simply install the generic Shm_isr in the Shm_setvec
- * routine below.
- */
-}
-
-/* Shm_setvec
- *
- * This driver routine sets the SHM interrupt vector to point to the
- * driver's SHM interrupt service routine.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- */
-
-void Shm_setvec( void )
-{
- /* XXX: FIX ME!!! */
-}
diff --git a/c/src/lib/libbsp/a29k/portsw/start/Makefile.in b/c/src/lib/libbsp/a29k/portsw/start/Makefile.in
deleted file mode 100644
index f89c5a7e6f..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/start/Makefile.in
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-# 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=crt0 register
-S_FILES=$(S_PIECES:%=%.s)
-S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
-
-SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
-OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-PGM=${ARCH}/crt0.o ${ARCH}/register.o
-
-#
-# (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 555 ${PGM} ${PROJECT_RELEASE}/lib
diff --git a/c/src/lib/libbsp/a29k/portsw/start/amd.ah b/c/src/lib/libbsp/a29k/portsw/start/amd.ah
deleted file mode 100644
index 69f34f173e..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/start/amd.ah
+++ /dev/null
@@ -1,517 +0,0 @@
-; /* @(#)amd.ah 1.1 96/05/23 08:56:58, TEI */
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Initialization values for registers after RESET
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; /* $Id$ */
-;
-;* File information and includes.
-
- .file "amd.ah"
- .ident "@(#)amd.ah 1.1 96/05/23 08:56:58, TEI"
-
-
-
-;
-;* AMD PROCESSOR SPECIFIC VALUES...
-;
-
-;
-;* Processor revision levels...
-;
-
-; PRL values: 31-28 27-24
-; Am29000 0 x
-; Am29005 1 x
-; Am29050 2 x
-; Am29035 3 x
-; Am29030 4 x
-; Am29200 5 x
-; Am29205 5 1x
-; Am29240 6 0
-; Manx 7 0
-; Cougar 8 0
-
-
- .equ AM29000_PRL, 0x00
-
- .equ AM29005_PRL, 0x10
-
- .equ AM29050_PRL, 0x20
-
- .equ AM29035_PRL, 0x30
-
- .equ AM29030_PRL, 0x40
-
- .equ AM29200_PRL, 0x50
-
- .equ AM29205_PRL, 0x58
-
- .equ AM29240_PRL, 0x60
-
- .equ AM29040_PRL, 0x70
-
- .equ MANX_PRL, 0x70
-
- .equ COUGAR_PRL, 0x80
-
-;
-;* data structures sizes.
-;
- .equ CFGINFO_SIZE, 16*4
-
- .equ PGMINFO_SIZE, 16*4
-
- .equ VARARGS_SPACE, 16*4
-
- .equ WINDOWSIZE, 0x80
-;
-;* Am29027 Mode registers
-;
-
- .equ Am29027Mode1, 0x0fc00820
-
- .equ Am29027Mode2, 0x00001375
-
-
-
-;* Processor Based Equates and Defines
-
- .equ SIG_SYNC, -1
-
- .equ ENABLE, (SM)
-
- .equ DISABLE, (ENABLE | DI | DA)
-
- .equ DISABLE_FZ, (FZ | ENABLE | DI | DA)
-
- .equ CLR_TRAP, (FZ | DA)
-
- .equ InitOPS, (TD | SM | (3<<IMShift) | DI | DA)
-
- .equ InitCPS, (TD | SM | (0<<IMShift) | DI | DA)
-
- .equ InitCPS1, (TD | SM | (0<<IMShift) | DI )
-
- .equ CPS_TMR, (SM | (0<<IMShift) | DI)
-
- .equ CPS_INT0, (TD | SM | (0<<IMShift))
-
- .equ CPS_TMRINT0, (SM | (0<<IMShift))
-
- .equ InitCFG, 0x0
-
- .equ InitRBP, (B0|B1|B2|B3|B4|B5)
-
- .equ TMC_VALUE, 0xFFFFFF
-
- .equ TMR_VALUE, (IE | TMC_VALUE)
-
-
-
-
-
-
-;* 29205 specific (internal) peripheral initialization constants.
-
-; Current Processor Status (CPS) Register.
-; Old Processor Status Register (OPS).
-
- .equ DA, 0x00001
- .equ DI, 0x00002
- .equ IMShift,0x2
- .equ SM, 0x00010
- .equ PI, 0x00020
- .equ PD, 0x00040
- .equ WM, 0x00080
- .equ RE, 0x00100
- .equ LK, 0x00200
- .equ FZ, 0x00400
- .equ TU, 0x00800
- .equ TP, 0x01000
- .equ TE, 0x02000
- .equ IP, 0x04000
- .equ CA, 0x08000
- .equ MM, 0x10000
- .equ TD, 0x20000
-
-; Configuration Register (CFG)
-
- .equ CD, 0x01
- .equ CP, 0x02
- .equ BO, 0x04
- .equ RV, 0x08
- .equ VF, 0x10
- .equ DW, 0x20
- .equ CO, 0x40
- .equ EE, 0x80
- .equ IDShift, 8
- .equ CFG_ID, 0x100
- .equ ILShift, 9
- .equ CFG_ILMask, 0x600
- .equ DDShift, 11
- .equ CFG_DD, 0x800
- .equ DLShift, 12
- .equ CFG_DLMask, 0x3000
- .equ PCEShift, 14
- .equ CFG_PCE, 0x4000
- .equ PMBShift, 16
- .equ D16, 0x8000
- .equ TBOShift, 23
- .equ PRLShift, 24
-
-; Channel Control Register (CHC)
-
- .equ CV, 0x1
- .equ NN, 0x2
- .equ TRShift, 2
- .equ TF, 0x400
- .equ PER, 0x800
- .equ LA, 0x1000
- .equ ST, 0x2000
- .equ ML, 0x4000
- .equ LS, 0x8000
- .equ CRShift, 16
- .equ CNTLShift, 24
- .equ CEShift, 31
- .equ WBERShift, 31
-
-; Register Bank Protect (RBP)
- .equ B0, 0x1
- .equ B1, 0x2
- .equ B2, 0x4
- .equ B3, 0x8
- .equ B4, 0x10
- .equ B5, 0x20
- .equ B6, 0x40
- .equ B7, 0x80
- .equ B8, 0x100
- .equ B9, 0x200
- .equ B10, 0x400
- .equ B11, 0x800
- .equ B12, 0x1000
- .equ B13, 0x2000
- .equ B14, 0x4000
- .equ B15, 0x8000
-
-; Timer Counter
-
- .equ TCVMask, 0xffffff
-
-; Timer Reload Register
-
- .equ IE, 0x1000000
- .equ IN, 0x2000000
- .equ OV, 0x4000000
- .equ TRVMAsk, 0xffffff
-
-; MMU Configuration
-
- .equ PSShift, 8
- .equ PS0Shift, 8
- .equ PS1Shift, 12
-
-; LRU Recommendation (LRU)
- .equ LRUMask, 0xff
-
-; Reason Vector (RSN)
- .equ RSNMask, 0xff
-
-; Region Mapping Address (RMA0 | RMA1)
- .equ PBAMask,0xffff
- .equ VBAShift, 16
-
-; Region Mapping Control (RMC0 | RMC1)
- .equ TIDMask, 0xff
- .equ RMC_UE, 0x100
- .equ RMC_UW, 0x200
- .equ RMC_UR, 0x400
- .equ RMC_SE, 0x800
- .equ RMC_SW, 0x1000
- .equ RMC_SR, 0x2000
- .equ RMC_VE, 0x4000
- .equ RMC_IO, 0x10000
- .equ RGSShift, 17
- .equ RMC_PGMShift, 22
-
-; Instruction breakpoint Control (IBC0 | IBC1)
- .equ BPIDMask, 0xff
- .equ BTE, 0x100
- .equ BRM, 0x200
- .equ IBC_BSY, 0x400
- .equ BEN, 0x800
- .equ BHO, 0x1000
-
-; Cache Data Register (CDR)
- .equ CDR_US, 0x1
- .equ P, 0x2
- .equ CDR_V, 0x4
- .equ IATAGShift, 20
-
-; Cache Interface Register (CIR)
- .equ CPTRShift, 2
- .equ CIR_RW, 0x1000000
- .equ FSELShift, 28
-
-; Indirect Pointer A, B, C (IPA, IPB, IPC)
- .equ IPShift, 2
-
-; ALU Status (ALU)
- .equ FCMask, 0x1F
- .equ BPShift, 5
- .equ C, 0x80
- .equ Z, 0x100
- .equ N, 0x200
- .equ ALU_V, 0x400
- .equ DF, 0x800
-
-; Byte Pointer
- .equ BPMask, 0x3
-
-; Load/Store Count Remaining (CR)
- .equ CRMask, 0xff
-
-; Floating Point Environment (FPE)
- .equ NM, 0x1
- .equ RM, 0x2
- .equ VM, 0x4
- .equ UM, 0x8
- .equ XM, 0x10
- .equ DM, 0x20
- .equ FRMShift, 6
- .equ FF, 0x100
- .equ ACFShift, 9
-
-; Integer Environment (INTE)
- .equ MO, 0x1
- .equ DO, 0x2
-
-; Floating Point Status (FPS)
- .equ NS, 0x1
- .equ RS, 0x2
- .equ VS, 0x4
- .equ FPS_US, 0x8
- .equ XS, 0x10
- .equ DS, 0x20
- .equ NT, 0x100
- .equ RT, 0x200
- .equ VT, 0x400
- .equ UT, 0x800
- .equ XT, 0x1000
- .equ DT, 0x2000
-
-; Exception Opcode (EXOP)
- .equ IOPMask, 0xff
-
-; TLB Entry Word 0
-; .equ TIDMask, 0xff already defined above
- .equ TLB_UE, 0x100
- .equ TLB_UW, 0x200
- .equ TLB_UR, 0x400
- .equ TLB_SE, 0x800
- .equ TLB_SW, 0x1000
- .equ TLB_SR, 0x2000
- .equ TLB_VE, 0x4000
- .equ VTAGShift, 15
-
-; TLB Entry Word 1
- .equ TLB_IO, 0x1
- .equ U, 0x2
- .equ TLB_PGMShift, 6
- .equ RPNShift, 10
-
-; Am29200 ROM Control bits.
- .equ RMCT_DW0Shift, 29
- .equ RMCT_DW1Shift, 21
- .equ RMCT_DW2Shift, 13
- .equ RMCT_DW3Shift, 5
-
-; Am29200 DRAM Control bits.
- .equ DW3, (1<<18)
- .equ DW2, (1<<22)
- .equ DW1, (1<<26)
- .equ DW0, (1<<30)
-
- ; Internal peripheral address assignments.
- .equ RMCT, 0x80000000
- .equ RMCF, 0x80000004
- .equ DRCT, 0x80000008
- .equ DRCF, 0x8000000C
- .equ DRM0, 0x80000010
- .equ DRM1, 0x80000014
- .equ DRM2, 0x80000018
- .equ DRM3, 0x8000001C
- .equ PIACT0, 0x80000020
- .equ PIACT1, 0x80000020
- .equ ICT, 0x80000028
- .equ DMCT0, 0x80000030
- .equ DMAD0, 0x80000034
- .ifdef revA
- .equ TAD0, 0x80000036
- .equ TCN0, 0x8000003A
- .else
- .equ TAD0, 0x80000070 ; default
- .equ TCN0, 0x8000003C ; default
- .endif
- .equ DMCN0, 0x80000038
- .equ DMCT1, 0x80000040
- .equ DMAD1, 0x80000044
- .equ DMCN1, 0x80000048
- .equ SPCT, 0x80000080
- .equ SPST, 0x80000084
- .equ SPTH, 0x80000088
- .equ SPRB, 0x8000008C
- .equ BAUD, 0x80000090
- .equ PPCT, 0x800000C0
- .equ PPST, 0x800000C1
- .equ PPDT, 0x800000C4
- .equ POCT, 0x800000D0
- .equ PIN, 0x800000D4
- .equ POUT, 0x800000D8
- .equ POEN, 0x800000DC
- .equ VCT, 0x800000E0
- .equ TOP, 0x800000E4
- .equ SIDE, 0x800000E8
- .equ VDT, 0x800000EC
-
- ; Interrupt Controller Register bits.
- .equ TXDI, (1<<5)
- .equ RXDI, (1<<6)
- .equ RXSI, (1<<7)
- .equ PPI, (1<<11)
- .equ DMA1I, (1<<13)
- .equ DMA0I, (1<<14)
- .equ IOPIMask, (0xFF<<16)
- .equ VDI, (1<<27)
- .equ ICT200_I, (TXDI|RXDI|RXSI|PPI|DMA1I|DMA0I|IOPIMask|VDI)
- .equ ICT205_I, (TXDI|RXDI|RXSI|PPI|DMA1I|DMA0I|IOPIMask|VDI)
-
- ; Serial port Initialization bits
- .equ NO_PARITY, 0
-
-
- ; SPST bits
- .equ THREShift, 22
-
-;* REGISTER Addresses
-
- .equ ROMCntlRegAddr, 0x80000000
-
- .equ ROMCfgRegAddr, 0x80000004
-
- .equ DRAMCntlRegAddr, 0x80000008
-
- .equ DRAMCfgRegAddr, 0x8000000C
-
- .equ DRAMMap0RegAddr, 0x80000010
-
- .equ DRAMMap1RegAddr, 0x80000014
-
- .equ DRAMMap2RegAddr, 0x80000018
-
- .equ DRAMMap3RegAddr, 0x8000001C
-
- .equ PIACntl0RegAddr, 0x80000020
-
- .equ PIACntl1RegAddr, 0x80000024
-
- .equ INTRCntlRegAddr, 0x80000028
-
- .equ DMACntl0RegAddr, 0x80000030
-
- .equ DMACntl1RegAddr, 0x80000040
-
- .equ SERPortCntlRegAddr, 0x80000080
-
- .equ SERPortStatRegAddr, 0x80000084
-
- .equ SERPortTHLDRegAddr, 0x80000088
-
- .equ SERPortRbufRegAddr, 0x8000008C
-
- .equ SERPortBaudRegAddr, 0x80000090
-
- .equ PARPortCntlRegAddr, 0x800000C0
-
- .equ PIOCntlRegAddr, 0x800000D0
-
- .equ PIOInpRegAddr, 0x800000D4
-
- .equ PIOOutRegAddr, 0x800000D8
-
- .equ PIOOutEnaRegAddr, 0x800000DC
-
- .equ VCTCntlRegAddr, 0x800000E0
-
-;
-;* Control constants
-;
-
-;* AM29030 Timer related constants.
-
- .equ TMR_IE, 0x01000000
-
- .equ TMR_IN, 0x02000000
-
- .equ TMR_OV, 0x04000000
-
- .equ TMC_INITCNT, 1613
-
-;
-;* System initialization values.
-;
-
- .equ __os_version, 0x0001 ;
-
- .equ STACKSize, 0x8000 ;
-
- .equ PGMExecMode, 0x0000 ;
-
- .equ TSTCK_OFST, 28 * 4
-
- .equ CSTCK_OFST, 29 * 4
-
- .equ TMSTCK_OFST, 30 * 4
-
- .equ CMSTCK_OFST, 31 * 4
-
- .equ CTXSW_OK, 0xA55A ; ctx switch ok
-
- .set NV_STARTOFST, 0x20 ; 32 bytes
-
- .set NV_BAUDOFST, 0x00 ; 00 bytes
-
- .set reg_cir, 29
-
- .set reg_cdr, 30
-
- .equ MSG_BUFSIZE, 0x1000 ; serial buffer size
-
- .equ ILLOPTRAP, 0
-
- .equ UATRAP, 1
-
- .equ PVTRAP, 5
-
- .equ UITLBMISSTRAP, 8
-
- .equ UDTLBMISSTRAP, 9
-
- .equ TIMERTRAP, 14
-
- .equ TRACETRAP, 15
-
- .equ XLINXTRAP, 16
-
- .equ SERIALTRAP, 17
-
- .equ SLOWTMRTRAP, 18
-
- .equ PORTTRAP, 19
-
- .equ SVSCTRAP, 80
-
- .equ SVSCTRAP1, 81
-
- .equ V_CACHETRAP, 66 ;
-
- .equ V_SETSERVICE, 67 ;
diff --git a/c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah b/c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah
deleted file mode 100644
index a994719c58..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah
+++ /dev/null
@@ -1,442 +0,0 @@
-; /* @(#)pswmacro.ah 1.1 96/05/23 08:56:58, TEI */
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; macros: Do_install and init_TLB
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; /* $Id$ */
-
-;* File information and includes.
-
- .file "macro.ah"
- .ident "@(#)pswmacro.ah 1.1 96/05/23 08:56:58, TEI"
-
-
- .macro CONST32, RegName, RegValue
- const RegName, RegValue
- consth RegName, RegValue
- .endm
-
- .macro CONSTX, RegName, RegValue
- .if (RegValue) <= 0x0000ffff
- const RegName, RegValue
- .else
- const RegName, RegValue
- consth RegName, RegValue
- .endif
- .endm
-
- .macro PRODEV, RegName
- srl RegName, RegName, 24
- .endm
-
-;
-;* MACRO TO INSTALL VECTOR TABLE ENTRIES
-;
-
-;* Assumes vector table address in v0
-
- .macro _setvec, trapnum, trapaddr
- mfsr v0, vab ;
- const v2, trapnum ;
- sll v1, v2, 2 ;
- add v1, v1, v0 ; v0 has location of vector tab
-
- const v2, trapaddr ;
- consth v2, trapaddr ;
- store 0, 0, v2, v1 ;
- nop ;
- .endm
-
- .macro syscall, name
- const tav, HIF_@name ;
- asneq V_SYSCALL, gr1, gr1 ;
- nop ;
- nop ;
- .endm
-
-
-
-;* MACRO TO INSTALL VECTOR TABLE ENTRIES
-
- .macro Do_Install, V_Number, V_Address
- const lr4, V_Address
- consth lr4, V_Address
- const lr3, V_Number * 4
- consth lr3, V_Number * 4
- call lr0, V_Install
- nop
- .endm
-
- .macro Do_InstallX, V_Number, V_Address
- const lr4, V_Address
- consth lr4, V_Address
- const lr3, V_Number * 4
- consth lr3, V_Number * 4
- call lr0, V_InstallX
- nop
- .endm
-
-
-
-; push a register onto the stack
- .macro pushreg, reg, sp
- sub sp, sp, 4 ; adjust stack pointer
- store 0, 0, reg, sp ; push register
- .endm
-
- .macro push, sp, reg
- sub sp, sp, 4
- store 0, 0, reg, sp
- .endm
-
-; pop the register from stack
- .macro popreg, reg, sp
- load 0, 0, reg, sp ; pop register
- add sp, sp, 4 ; adjust stack pointer
- .endm
- .macro pop, reg, sp
- load 0, 0, reg, sp
- add sp, sp, 4
- .endm
-
-; push a special register onto stack
- .macro pushspcl, spcl, tmpreg, sp
- sub sp, sp, 4 ; adjust stack pointer
- mfsr tmpreg, spcl ; get spcl reg
- store 0, 0, tmpreg, sp ; push onto stack
- .endm
-
- .macro pushsr, sp, reg, sreg
- mfsr reg, sreg
- sub sp, sp, 4
- store 0, 0, reg, sp
- .endm
-
-; pop a special register from stack
- .macro popspcl, spcl, tmpreg, sp
- load 0, 0, tmpreg, sp ; pop from stack
- add sp, sp, 4 ; adjust stack pointer
- mtsr spcl, tmpreg ; set spcl reg
- .endm
-
- .macro popsr, sreg, reg, sp
- load 0, 0, reg, sp
- add sp, sp, 4
- mtsr sreg, reg
- .endm
-
-;
-; save freeze mode registers on memory stack.
-;
-
- .macro SaveFZState, tmp1, tmp2
-
- ; save freeze mode registers.
-
- pushspcl pc0, tmp1, msp
- pushspcl pc1, tmp1, msp
- pushspcl alu, tmp1, msp
-
- pushspcl cha, tmp1, msp
- pushspcl chd, tmp1, msp
- pushspcl chc, tmp1, msp
-
- pushspcl ops, tmp1, msp
-
- ; turn freeze off
-
- const tmp2, FZ
- mfsr tmp1, cps
- andn tmp1, tmp1, tmp2
- mtsr cps, tmp1
- .endm
-
-; restore freeze mode registers from memory stack.
-
- .macro RestoreFZState, tmp1, tmp2
-
- ; turn freeze on
-
- const tmp2, (FZ|DI|DA)
- mfsr tmp1, cps
- or tmp1, tmp1, tmp2
- mtsr cps, tmp1
-
- ; restore freeze mode registers.
-
- popspcl ops, tmp1, msp
- popspcl chc, tmp1, msp
- popspcl chd, tmp1, msp
- popspcl cha, tmp1, msp
- popspcl alu, tmp1, msp
- popspcl pc1, tmp1, msp
- popspcl pc0, tmp1, msp
- .endm
-
-;
-;*
-;
- .equ WS, 512 ; window size
- .equ RALLOC, 4 * 4 ; stack alloc for C
- .equ SIGCTX_UM_SIZE, 40 * 4 ;
- .equ SIGCTX_RFB, (38) * 4 ; user mode saved
- .equ SIGCTX_SM_SIZE, 12 * 4 ;
- .equ SIGCTX_SIG, (11)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_GR1, (10)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_RAB, (9)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_PC0, (8)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_PC1, (7)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_PC2, (6)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_CHC, (3)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_OPS, (1)*4 + SIGCTX_UM_SIZE ;
- .equ SIGCTX_TAV, (0)*4 + SIGCTX_UM_SIZE ;
-
- .macro sup_sv
- add it2, trapreg, 0 ; transfer signal #
- sub msp, msp, 4 ;
- store 0, 0, it2, msp ; save signal number
- sub msp, msp, 4 ; push gr1
-
- store 0, 0, gr1, msp ;
- sub msp, msp, 4 ; push rab
- store 0, 0, rab, msp ;
- const it0, WS ; Window size
-
- sub rab, rfb, it0 ; set rab = rfb-512
- pushsr msp, it0, PC0 ; save program counter0
- pushsr msp, it0, PC1 ; save program counter1
- pushsr msp, it0, PC2 ; save program counter2
-
- pushsr msp, it0, CHA ; save channel address
- pushsr msp, it0, CHD ; save channel data
- pushsr msp, it0, CHC ; save channel control
- pushsr msp, it0, ALU ; save alu
-
- pushsr msp, it0, OPS ; save ops
- sub msp, msp, 4 ;
- store 0, 0, tav, msp ; push tav
- mtsrim chc, 0 ; no loadm/storem
-
- mfsr it0, ops ; get ops value
- const it1, (TD | DI) ; disable interrupts
- consth it1, (TD | DI) ; disable interrupts
- or it0, it0, it1 ; set bits
-
- mtsr ops, it0 ; set new ops
- const it0, sigcode ; signal handler
- consth it0, sigcode ; signal handler
- mtsr pc1, it0 ; store pc1
-
- add it1, it0, 4 ; next addr
- mtsr pc0, it1 ; store pc1 location
- iret ; return
- nop ; ALIGN
- .endm
-
- .macro sig_return
- mfsr it0, cps ; get processor status
- const it1, FZ|DA ; Freeze + traps disable
- or it0, it0, it1 ; to set FZ+DA
- mtsr cps, it0 ; in freeze mode
-
- load 0, 0, tav, msp ; restore tav
- add msp, msp, 4 ;
-
- popsr OPS,it0, msp ;
- popsr ALU,it0, msp ;
- popsr CHC,it0, msp ;
- popsr CHD,it0, msp ;
-
- popsr CHA,it0, msp ;
- popsr PC2,it0, msp ;
- popsr PC1,it0, msp ;
- popsr PC0,it0, msp ;
-
- load 0, 0, rab, msp ;
- add msp, msp, 4 ;
- load 0, 0, it0, msp ;
- add gr1, it0, 0 ; pop rsp
-
- add msp, msp, 8 ; discount signal #
- iret
- .endm
-
- .macro repair_R_stack
- add v0, msp, SIGCTX_GR1 ; interrupted gr1
- load 0, 0, v2, v0 ;
- add v0, msp, SIGCTX_RFB ;
- load 0, 0, v3, v0 ; interupted rfb
-
- const v1, WS ;
- sub v1, v3, v1 ; rfb-512
- cpltu v0, v2, v1 ; test gr1 < rfb-512
- jmpf v0, $1 ;
-
- add gr1, rab, 0 ;
- add v2, v1, 0 ; set LB = rfb-512
-$1:
-;* if gr1 < rfb-512 yes LB = rfb-512 signalled during spill
-;* if no, LB=gr1 interrupted cache < 126 registers
- cpleu v0, v2, rfb ; test LB<=rfb
- jmpf v0, $2 ;
- nop ;
- add v2, rfb, 0 ;
-$2:
- cpeq v0, v3, rfb ; fill rfb->'rfb
- jmpt v0, $3 ; if rfb==rfb'
- const tav, (0x80<<2) ; prepare for fill
- or tav, tav, v2 ;
-
- mtsr IPA, tav ; IPA=LA<<2
- sub tav, v3, gr98 ; cache fill LA->rfb
- srl tav, tav, 2 ; convert to words
- sub tav, tav, 1 ;
-
- mtsr cr, tav ;
- loadm 0, 0, gr0, v2 ; fill from LA->rfb
-$3:
- add rfb, v3, 0 ; move rfb upto 'rfb
- sub rab, v1, 0 ; assign rab to rfb-512
-
- add v0, msp, SIGCTX_GR1 ;
- load 0, 0, v2, v0 ; v0 = interrupted gr1
- add gr1, v2, 0 ; move gr1 upto 'gr1
- nop ;
- .endm
-
- .macro repair_regs
- mtsrim cr, 29 - 1 ; to restore locals
- loadm 0, 0, v0, msp ;
- add msp, msp, 29*4 ;
- popsr Q, tav, msp ;
-
- popsr IPC, tav, msp ;
- popsr IPB, tav, msp ;
- popsr IPA, tav, msp ;
- pop FPStat3, msp ; floating point regs
-
- pop FPStat2, msp ; floating point regs
- pop FPStat1, msp ; floating point regs
- pop FPStat0, msp ; floating point regs
-
- add msp, msp, 3*4 ; R-stack repaired
- .endm
-
-;
-;*HIF related...
-;
-
-
-
-
-; send the message in bufaddr to Montip.
- .macro SendMessageToMontip, bufaddr
- const lr2, bufaddr
-$1:
- call lr0, _msg_send
- consth lr2, bufaddr
- cpeq gr96, gr96, 0
- jmpf gr96, $1
- const lr2, bufaddr
- .endm
-
-; build a HIF_CALL message in bufaddr to send to montip.
- .macro BuildHIFCALLMsg, bufaddr, tmp1, tmp2
- const tmp1, bufaddr
- consth tmp1, bufaddr
- const tmp2, HIF_CALL_MSGCODE
- store 0, 0, tmp2, tmp1 ; msg code
- add tmp1, tmp1, 4
- const tmp2, HIF_CALL_MSGLEN
- store 0, 0, tmp2, tmp1 ; msg len
- add tmp1, tmp1, 4
- store 0, 0, gr121, tmp1 ; service number
- add tmp1, tmp1, 4
- store 0, 0, lr2, tmp1 ; lr2
- add tmp1, tmp1, 4
- store 0, 0, lr3, tmp1 ; lr3
- add tmp1, tmp1, 4
- store 0, 0, lr4, tmp1 ; lr4
- .endm
-
-;
-;*
-;* All the funky AMD style macros go in here...simply for
-;* compatility
-;
-;
- .macro IMPORT, symbol
- .extern symbol
- .endm
-
- .macro GLOBAL, symbol
- .global symbol
- .endm
-
- .macro USESECT, name, type
- .sect name, type
- .use name
- .endm
-
- .macro SECTION, name, type
- .sect name, type
- .endm
-
- .macro FUNC, fname, lineno
- .global fname
-fname:
- .endm
-
- .macro ENDFUNC, fname, lineno
- .endm
-
-;*************************************LONG
- .macro LONG, varname
-varname:
- .block 4
- .endm
-
-;*************************************UNSIGNED LONG
- .macro ULONG, varname
-varname:
- .block 4
- .endm
-
-;*************************************SHORT
- .macro SHORT, varname
-varname:
- .block 2
- .endm
-
-;*************************************CHAR
- .macro CHAR, varname
-varname:
- .block 1
- .endm
-
-;*************************************LONGARRAY
- .macro LONGARRAY, name, count
-name:
- .block count*4
- .endm
-
-;*************************************SHORTARRAY
-
- .macro SHORTARRAY, name, count
-name:
- .block count*2
- .endm
-
-;*************************************CHARARRAY
-
- .macro CHARARRAY, name, count
-name:
- .block count
- .endm
-
-
-;*************************************VOID_FPTR
-
- .macro VOID_FPTR, name
-name:
- .block 4
- .endm
diff --git a/c/src/lib/libbsp/a29k/portsw/start/register.ah b/c/src/lib/libbsp/a29k/portsw/start/register.ah
deleted file mode 100644
index 1dced5b043..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/start/register.ah
+++ /dev/null
@@ -1,214 +0,0 @@
-; /* @(#)register.ah 1.1 96/05/23 08:56:57, TEI */
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; naming of various registers
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; /* $Id$ */
-
-;* File information and includes.
-
- .file "register.ah"
- .ident "@(#)register.ah 1.1 96/05/23 08:56:57, TEI\n"
-
-;* Register Stack pointer and frame pointer registers.
-
- .extern Rrsp, Rfp
-
- .reg regsp, %%Rrsp
- .reg fp, %%Rfp
-
-
- .extern RTrapReg
- .extern Rtrapreg
-
- .reg TrapReg, %%RTrapReg
- .reg trapreg, %%Rtrapreg
-
-
-;* Operating system Interrupt handler registers (gr64-gr67)
-
- .extern ROSint0, ROSint1, ROSint2, ROSint3
-
- .reg OSint0, %%ROSint0
- .reg OSint1, %%ROSint1
- .reg OSint2, %%ROSint2
- .reg OSint3, %%ROSint3
-
- .reg it0, %%ROSint0
- .reg it1, %%ROSint1
- .reg it2, %%ROSint2
- .reg it3, %%ROSint3
-
-
-
-;* Operating system temporary (or scratch) registers (gr68-gr79)
-
- .extern ROStmp0, ROStmp1, ROStmp2, ROStmp3
- .extern ROStmp4, ROStmp5, ROStmp6, ROStmp7
- .extern ROStmp8, ROStmp9, ROStmp10, ROStmp11
-
- .reg OStmp0, %%ROStmp0
- .reg OStmp1, %%ROStmp1
- .reg OStmp2, %%ROStmp2
- .reg OStmp3, %%ROStmp3
-
- .reg OStmp4, %%ROStmp4
- .reg OStmp5, %%ROStmp5
- .reg OStmp6, %%ROStmp6
- .reg OStmp7, %%ROStmp7
-
- .reg OStmp8, %%ROStmp8
- .reg OStmp9, %%ROStmp9
- .reg OStmp10, %%ROStmp10
- .reg OStmp11, %%ROStmp11
-
-
- .reg kt0, %%ROStmp0
- .reg kt1, %%ROStmp1
- .reg kt2, %%ROStmp2
- .reg kt3, %%ROStmp3
-
- .reg kt4, %%ROStmp4
- .reg kt5, %%ROStmp5
- .reg kt6, %%ROStmp6
- .reg kt7, %%ROStmp7
-
- .reg kt8, %%ROStmp8
- .reg kt9, %%ROStmp9
- .reg kt10, %%ROStmp10
- .reg kt11, %%ROStmp11
-
-
- .reg TempReg0, %%ROSint0
- .reg TempReg1, %%ROSint1
- .reg TempReg2, %%ROSint2
- .reg TempReg3, %%ROSint3
-
- .reg TempReg4, %%ROStmp0
- .reg TempReg5, %%ROStmp1
- .reg TempReg6, %%ROStmp2
- .reg TempReg7, %%ROStmp3
-
- .reg TempReg8, %%ROStmp4
- .reg TempReg9, %%ROStmp5
- .reg TempReg10, %%ROStmp6
- .reg TempReg11, %%ROStmp7
-
- .reg TempReg12, %%ROStmp8
- .reg TempReg13, %%ROStmp9
- .reg TempReg14, %%ROStmp10
- .reg TempReg15, %%ROStmp11
-
-
-;* Assigned static registers
-
- .extern RSpillAddrReg, RFillAddrReg, RSignalAddrReg
- .extern Rpcb, Retc
- .extern RTimerExt, RTimerUtil, RLEDReg, RERRReg
- .extern Ret0, Ret1, Ret2, Ret3, Ret4, Ret5, Ret6, Ret7, Reta, Retb
- .extern Retx, Rety, Retz
-
-
- .reg SpillAddrReg, %%RSpillAddrReg
- .reg FillAddrReg, %%RFillAddrReg
- .reg SignalAddrReg, %%RSignalAddrReg
- .reg pcb, %%Rpcb
-
- .reg etx, %%Retx
- .reg ety, %%Rety
- .reg etz, %%Retz
- .reg eta, %%Reta
-
- .reg etb, %%Retb
- .reg etc, %%Retc
- .reg TimerExt, %%RTimerExt
- .reg TimerUtil, %%RTimerUtil
-
- .reg LEDReg, %%RLEDReg
- .reg ERRReg, %%RERRReg
-
-
- .reg et0, %%Ret0
- .reg et1, %%Ret1
- .reg et2, %%Ret2
- .reg et3, %%Ret3
-
- .reg et4, %%Ret4
- .reg et5, %%Ret5
- .reg et6, %%Ret6
- .reg et7, %%Ret7
-
-;
- .equ SCB1REG_NUM, 88
- .reg SCB1REG_PTR, %%Ret0
-
-; The floating point trap handlers need a few static registers
-
- .extern RFPStat0, RFPStat1, RFPStat2, RFPStat3
- .extern Rheapptr, RHeapPtr, RArgvPtr
-
- .reg FPStat0, %%RFPStat0
- .reg FPStat1, %%RFPStat1
- .reg FPStat2, %%RFPStat2
- .reg FPStat3, %%RFPStat3
-
- .reg heapptr, %%Rheapptr
- .reg HeapPtr, %%RHeapPtr
- .reg ArgvPtr, %%RArgvPtr
-
- .extern RXLINXReg, RVMBCReg, RUARTReg, RETHERReg
-
- .reg XLINXReg, %%RXLINXReg
- .reg VMBCReg, %%RVMBCReg
- .reg UARTReg, %%RUARTReg
- .reg ETHERReg, %%RXLINXReg
-
-;* Compiler and programmer registers. (gr96-gr127)
-
- .extern Rv0, Rv1, Rv2, Rv3, Rv4, Rv5, Rv6, Rv7, Rv8, Rv9
- .extern Rv10, Rv11, Rv12, Rv13, Rv14, Rv15
-
- .reg v0, %%Rv0
- .reg v1, %%Rv1
- .reg v2, %%Rv2
- .reg v3, %%Rv3
-
- .reg v4, %%Rv4
- .reg v5, %%Rv5
- .reg v6, %%Rv6
- .reg v7, %%Rv7
-
- .reg v8, %%Rv8
- .reg v9, %%Rv9
- .reg v10, %%Rv10
- .reg v11, %%Rv11
-
- .reg v12, %%Rv12
- .reg v13, %%Rv13
- .reg v14, %%Rv14
- .reg v15, %%Rv15
-
- .extern Rtv0, Rtv1, Rtv2, Rtv3, Rtv4
-
- .reg tv0, %%Rtv0
- .reg tv1, %%Rtv1
- .reg tv2, %%Rtv2
- .reg tv3, %%Rtv3
- .reg tv4, %%Rtv4
-
-; ****************************************************************************
-; For uatrap
-; register definitions -- since this trap handler must allow for
-; nested traps and interrupts such as TLB miss, protection violation,
-; or Data Access Exception, and these trap handlers use the shared
-; Temp registers, we must maintain our own that are safe over user-
-; mode loads and stores. The following must be assigned global
-; registers which are not used in INTR[0-3], TRAP[0-1], TLB miss,
-; TLB protection violation, or data exception trap handlers.
-
-; .reg cha_cpy, OStmp4 ; copy of CHA
-; .reg chd_cpy, OStmp5 ; copy of CHD
-; .reg chc_cpy, OStmp6 ; copy of CHC
-; .reg LTemp0, OStmp7 ; local temp 0
-; .reg LTemp1, OStmp8 ; local temp 1
-
-; ****************************************************************************
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/Makefile.in b/c/src/lib/libbsp/a29k/portsw/startup/Makefile.in
deleted file mode 100644
index 2be725234c..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/Makefile.in
+++ /dev/null
@@ -1,60 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@:@srcdir@/../../../shared
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-PGM=${ARCH}/startup.rel
-
-# C source names, if any, go here -- minus the .c
-C_PIECES=bspclean bsplibc bsppost bspstart main sbrk setvec iface
-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=
-S_FILES=$(S_PIECES:%=%.s)
-S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
-
-SRCS=ramlink romlink $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
-OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/leaf.cfg
-
-#
-# (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) ramlink romlink ${PROJECT_RELEASE}/lib
-
-# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
-
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/bspclean.c b/c/src/lib/libbsp/a29k/portsw/startup/bspclean.c
deleted file mode 100644
index c943896019..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/bspclean.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* bsp_cleanup()
- *
- * This routine normally is part of start.s and usually returns
- * control to a monitor.
- *
- * INPUT: NONE
- *
- * OUTPUT: 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>
-
-#ifndef lint
-static char _sccsid[] = "@(#)bspclean.c 04/08/96 1.1\n";
-#endif
-
-void bsp_cleanup( void )
-{
-}
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c b/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c
deleted file mode 100644
index 666a0f3d68..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/bspstart.c
+++ /dev/null
@@ -1,164 +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>
-
-#include <string.h>
-
-#ifndef lint
-static char _sccsid[] = "@(#)bspstart.c 09/11/96 1.15\n";
-#endif
-
-/*
- * 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;
-
-/* Initialize whatever libc we are using
- * called from postdriver hook
- */
-
-#define HEAP_BLOCK_SIZE (16 * 1024)
-
-rtems_unsigned32 heap_size = 0;
-rtems_unsigned32 heap_start;
-
-/*
- * 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)
-{
- /* allocate a maximum of 2 megabytes for the heap */
- heap_size = 2 * 1024 * 1024;
-
- /* allocate all remaining memory to the heap */
- do {
- heap_size -= HEAP_BLOCK_SIZE;
- heap_start = _sysalloc( heap_size );
- } while ( !heap_start );
-
- if (!heap_start)
- rtems_fatal_error_occurred( heap_size );
-
- if (heap_start & (CPU_ALIGNMENT-1))
- heap_start = (heap_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
-
-
- bsp_libc_init((void *) heap_start, heap_size, 0);
-
-
-#ifdef RTEMS_DEBUG
- rtems_debug_enable( RTEMS_DEBUG_ALL_MASK );
-#endif
-}
-
-/*
- * bsp_start
- *
- * This routine does the bulk of the system initialization.
- */
-
-int bsp_start(
- int argc,
- char **argv,
- char **environp
-)
-{
- if ((argc > 0) && argv && argv[0])
- rtems_progname = argv[0];
- else
- rtems_progname = "RTEMS";
-
- /* set the PIA0 register wait states */
- *(volatile unsigned32 *)0x80000020 = 0x04080000;
-
- /*
- * Allocate the memory for the RTEMS Work Space. This can come from
- * a variety of places: hard coded address, malloc'ed from outside
- * RTEMS world (e.g. simulator or primitive memory manager), or (as
- * typically done by stock BSPs) by subtracting the required amount
- * of work space from the last physical address on the CPU board.
- */
-
- /*
- * Need to "allocate" the memory for the RTEMS Workspace and
- * tell the RTEMS configuration where it is. This memory is
- * not malloc'ed. It is just "pulled from the air".
- */
-
- BSP_Configuration.work_space_start = _sysalloc( BSP_Configuration.work_space_size + 512 );
- if (!BSP_Configuration.work_space_start)
- rtems_fatal_error_occurred( BSP_Configuration.work_space_size );
-
- BSP_Configuration.work_space_start = (void *) ((unsigned int)((char *)BSP_Configuration.work_space_start + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1));
-
- /*
- * initialize the CPU table for this BSP
- */
-
- Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
- Cpu_table.postdriver_hook = bsp_postdriver_hook;
- Cpu_table.interrupt_stack_size = 4096;
-
- _settrap( 109,&a29k_enable_sup);
- _settrap( 110,&a29k_disable_sup);
- _settrap( 111,&a29k_enable_all_sup);
- _settrap( 112,&a29k_disable_all_sup);
- _settrap( 106,&a29k_context_switch_sup);
- _settrap( 107,&a29k_context_restore_sup);
- _settrap( 108,&a29k_context_save_sup);
- _settrap( 105,&a29k_sigdfl_sup);
-
- /*
- * Start RTEMS
- */
-
- rtems_initialize_executive( &BSP_Configuration, &Cpu_table );
-
- bsp_cleanup();
-
- return 0;
-}
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/iface.c b/c/src/lib/libbsp/a29k/portsw/startup/iface.c
deleted file mode 100644
index 90ab480037..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/iface.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * glue.c -- all the code to make GCC and the libraries run on
- * a target board running RTEMS. These should work with
- * any target which conforms to the RTEMS BSP.
- *
- * $Id$
- */
-
-#ifndef lint
-static char _sccsid[] = "@(#)iface.c 04/12/96 1.1\n";
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <errno.h>
-
-int
-read(int fd,
- char *buf,
- int nbytes)
-{
- return __rtems_read(fd, buf, nbytes);
-}
-
-int
-write(int fd,
- char *buf,
- int nbytes)
-{
- return __rtems_write(fd, buf, nbytes);
-}
-
-int
-open(char *buf,
- int flags,
- int mode)
-{
- return __rtems_open(buf, flags, mode);
-}
-
-int
-close(int fd)
-{
- return __rtems_close(fd);
-}
-
-/*
- * isatty -- returns 1 if connected to a terminal device,
- * returns 0 if not.
- */
-int
-isatty(int fd)
-{
- return __rtems_isatty(fd);
-}
-
-/*
- * lseek -- move read/write pointer. Since a serial port
- * is non-seekable, we return an error.
- */
-off_t
-lseek(int fd,
- off_t offset,
- int whence)
-{
- return __rtems_lseek(fd, offset, whence);
-}
-
-/*
- * fstat -- get status of a file. Since we have no file
- * system, we just return an error.
- */
-int
-fstat(int fd,
- struct stat *buf)
-{
- return __rtems_fstat(fd, buf);
-}
-
-int
-getpid()
-{
- return __rtems_getpid();
-}
-
-/*
- * kill -- go out via exit...
- */
-int
-kill(int pid,
- int sig)
-{
- return __rtems_kill(pid, sig);
-}
-
-
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/main.c b/c/src/lib/libbsp/a29k/portsw/startup/main.c
deleted file mode 100644
index 4bb9abbd1f..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/main.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* main()
- *
- * This is the entry point for the application. It calls
- * the bsp_start routine to the actual dirty work.
- *
- * 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>
-
-#ifndef lint
-static char _sccsid[] = "@(#)main.c 06/30/96 1.2\n";
-#endif
-
-int main(
- int argc,
- char **argv,
- char **environp
-)
-{
- bsp_start( argc, argv, environp );
-
- /*
- * May be able to return to the "crt/start.s" code but also
- * may not be able to. Do something here which is board dependent.
- */
-
- _exit(0);
- rtems_fatal_error_occurred( 0 );
-}
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/ramlink b/c/src/lib/libbsp/a29k/portsw/startup/ramlink
deleted file mode 100644
index 8f48e3b395..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/ramlink
+++ /dev/null
@@ -1,11 +0,0 @@
-;@(#)ez030.cmd 1.1 93/04/06 20:00:10, Copyright 1993 AMD.
-;Linker command file header for EZ-030 evaluation board.
-;Usage: ld29 -c .../29k/lib/ez030.cmd -o ...
-; -or-
-; hc29 -cmdez030.cmd ...
-;
-; $Id$
-;
-ALIGN .text=8192
-ALIGN .data=8192
-ORDER .text=0x40005000,!text,!data,!lit,!bss
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/romlink b/c/src/lib/libbsp/a29k/portsw/startup/romlink
deleted file mode 100644
index 043b2ed32c..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/romlink
+++ /dev/null
@@ -1,146 +0,0 @@
-;
-; $Id$
-;
-;#{
-;# SCCS INFORMATION:
-;# SID = @(#)sa29200.lnk 4.1; DLU=95/09/14-11:05:57
-;# Q = @(#) Copyright (C) 1995 Advanced Micro Devices, Inc.
-;# Module Type = @(#) OSBOOT/DBG_CORE absolute liker file (AMD-EPD-29K, AMIR)
-;# SCCS Path = %P\%
-;# SCCS File = %F\%
-;# FileName = sa29200.lnk
-;# SCCS ID = 4.1
-;# Date Update = 14 Sep 1995, (DLU=95/09/14-11:05:57)
-;# Date Extract = 12 Oct 1995, (DLE=95/10/12-16:27:31)
-;#}
-; @(#)sa29200.lnk 3.6 94/08/22 11:58:54, Srini, AMD.
-; This is the linker command file used to bind the inrementally linked
-; osboot.o module to a memory map. This also defines some link-time constants
-; used in the code. These constants are genral for all 29K family members.
-; You only need to customize, if necessary, the definitions that affect
-; your target processor, and leave the rest alone.
-; The default values in this file are for binding osboot.o for use with
-; SA29200 stand-alone board with the -29200/-29205 option.
-;
-; Order the code segments according to the memory map structure.
-; The defaul OSBOOT has only .text and .bss sections. You need to ORDER
-; other sections of your applications that are not included below.
-; We use separate ORDER statements below to distinguish the two memory
-; regions used. The text section is bound to ROM memory region, and the
-; data region to RAM memory space.
-; MAKE SURE to order the BSS section at the very end. This is because the
-; BSS section size could get adjusted after linking with raminit.o (produced
-; by romcoff utility) or other initialization routines. This change in size
-; could affect the offsets used by the program to refer to the remaining data
-; sections that follow BSS.
-ALIGN ProcInit=16
-ORDER Reset=0x0
-ORDER ProcInit,OsbText,.text,!text
-ORDER .lit,!lit
-ORDER vectable=0x40000000
-ORDER msg_data=0x40000400
-ORDER .data,!data
-ORDER OsbBss,dbg_030,dbg_bss,cfg_bss,.bss,!bss
-ORDER HeapBase
-ORDER .comment
-; For Stand-Alone application out of ROM use the ORDER statements below:
-; For Stand-Alone application out of RAM use the ORDER statement below:
-;ORDER Reset=0x40010000,ProcInit,OsbText,.text,!text,.lit,!lit,.data,!data,msg_data,dbg_dat,.bss,!bss,HeapBase,.comment
-;
-; definitions of link time constants used in code.
-;
-; Definition of the initial value of CPS register.
-; The value below is for an Am29200 processor. It sets TU, SM,DI, DA,IM fields
-; bits in the register. You may modify it to suit your target environment.
-; Like, changing the IM field for instance. IM is 0x11 by default enabling
-; all INTR[0-3] lines.
-;public _init_CPS=0x87F
-public _init_CPS=0x20813
-;public _init_CPS=0x2081F
-;public _init_CPS=0x081F
-; Define the memory map in general values. The code - except for simulators -
-; configures the external RAM at run-time and updates the DMemSize value.
-; DMemStart and DMemSize are the most important values below. DMemStart is
-; used to initialize the vector base address register (VAB). And DMemSize
-; is used to find the highest addressable data memory to place the register
-; and memory stacks. Remember, DMemSize is configured at run-time for hardware
-; targets and updated.
-public VectorBaseAddress=0x40000000
-public IMemStart=0x0000000
-public IMemSize=0xfffff
-public DMemStart=0x40000000
-#public DMemStart=0x100000
-public DMemSize=0xfffff
-#public DMemSize=0x17ffff
-#public DMemSize=0x3fffffff
-public RMemStart=0x0
-public RMemSize=0xfffff
-public EnableDRAMSizing=1
-;
-; For the 29K Microcontrollers, you need to define the ROM Control register
-; value (RMCT_VALUE), the ROM Configuration register value (RMCF_VALUE), and
-; the DRAM Control register value (DRCT_VALUE) based on DMemSize specified
-; above. This could be overwritten in software targets such as the simulator.
-; ROM and RAM Control registers. ROM COnfiguration. (not valid for Am2900X,
-; Am29050, and Am2903X processors)
-; The DRAM REFRATE value (in DRCT) must be specified here. To disable
-; DRAM refreshing (on a system with no DRAM), set REFRATE field in DRCT
-; to zero. Otherwise, set it to the desired frequency. The default is 0xFF
-; The default values in this file are for Am2920X processors.
-;public RMCT_VALUE=0x03030303
-;public DRCT_VALUE=0x888800FF
-;public RMCF_VALUE=0x00f8f8f8
-;
-public RMCT_VALUE=0x4a424300
-public DRCT_VALUE=0xccc000f0
-public RMCF_VALUE=0x011121ff
-;
-;
-; Execute trap handlers from ROM? If your trap handlers are in ROM space,
-; then set _TRAPINROM to TWO (0x2). It is used to modify the tarp vector
-; address installed to set the R bit when fetched. If the trap handlers in
-; ROM or if there is no ROM-space (no RE bit in CPS), set _TRAPINROM to ZERO.
-; The default in this file is for SA29200 board and _TRAPINROM is set to ZERO.
-public _TRAPINROM=0
-;
-; Define the processor clock frequencies. These values are used by the HIF
-; kernel to provide some HIF services.
-public TicksPerMillisecond=16000
-public ClockFrequency=16000000
-;
-; There are some C functions which are not leaf functions. However, they are
-; no expected to spill or fill registers. We ensure that by setting up a
-; pseudo register stack before calling those functions. The code generated
-; for those functions however do have the prologue and epilogue which refer
-; to the symbols V_SPILL and V_FILL. The linker does not know about these
-; symbols. So we define it here so that it does not complain.
-; If you use the hc29 compiler driver to link the objects it will warn that
-; the definitions here are already internally defined. You
-; can use hc29 with -nocrt0 option to do the linking for linear memory spaces.
-; public V_SPILL=64
-; public V_FILL=65
-;
-; Set the UART debug/monitor port serial communications baud rate.
-;
-public UCLK=32000000
-; INITBAUD defines the cold start baud rate. This is the baud rate
-; the monitor would use when powered up. This can be overridden by
-; defining BAUDRATE on the assembler/compiler command line.
-public INITBAUD=9600
-;
-; Is there a SCC 8530 on the target?
-; If there is an 8530 SC on target, define the symbols below appropriately.
-; The routines in scc8530.s use these values to access the registers of
-; SCC and program it. The default values are for EZ030 target.
-; Baudrate can be specified on the command-line to override the default
-; baud rate defined in scc8530.s.
-; scc channel A control
-;public SCC8530_CHA_CONTROL=0xC0000007
-; scc channel B control
-;public SCC8530_CHB_CONTROL=0xC0000003
-; scc channel A data
-;public SCC8530_CHA_DATA=0xC000000F
-; scc channel B data
-;public SCC8530_CHB_DATA=0xC000000B
-; scc baud clock generator
-;public SCC8530_BAUD_CLK_ENBL=3
diff --git a/c/src/lib/libbsp/a29k/portsw/startup/setvec.c b/c/src/lib/libbsp/a29k/portsw/startup/setvec.c
deleted file mode 100644
index e353cad88a..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/startup/setvec.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* set_vector
- *
- * This routine installs an interrupt vector on the target Board/CPU.
- * This routine is allowed to be as board dependent as necessary.
- *
- * 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>
-
-#ifndef lint
-static char _sccsid[] = "@(#)setvec.c 06/30/96 1.2\n";
-#endif
-
-no_cpu_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 */
-)
-{
- no_cpu_isr_entry previous_isr;
-
- if ( type )
- rtems_interrupt_catch( handler, vector, (rtems_isr_entry *) &previous_isr );
- else {
- /* XXX: install non-RTEMS ISR as "raw" interupt */
- _settrap( vector, handler );
- }
- return previous_isr;
-}
-
diff --git a/c/src/lib/libbsp/a29k/portsw/times b/c/src/lib/libbsp/a29k/portsw/times
deleted file mode 100644
index 110130b214..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/times
+++ /dev/null
@@ -1,195 +0,0 @@
-#
-# Timing Test Suite Results for the NO_BSP
-#
-# NOTE: This is just a template. The times are irrelevant since this BSP
-# can only be compiled -- not executed.
-#
-# $Id$
-#
-
-
-Board:
-CPU: include coprocessor if applicable
-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 X:
-Column Y:
-
-# 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_task_set_note 13
- rtems_task_get_note 13
- 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
diff --git a/c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in b/c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in
deleted file mode 100644
index 122f945c4e..0000000000
--- a/c/src/lib/libbsp/a29k/portsw/wrapup/Makefile.in
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# $Id$
-#
-
-@SET_MAKE@
-srcdir = @srcdir@
-VPATH = @srcdir@
-RTEMS_ROOT = @top_srcdir@
-PROJECT_ROOT = @PROJECT_ROOT@
-
-BSP_PIECES=startup console iic ethernet flash nvram
-CPU_PIECES=clock timer
-GENERIC_PIECES=
-
-# bummer; have to use $foreach since % pattern subst rules only replace 1x
-OBJS=$(foreach piece, $(BSP_PIECES), ../$(piece)/$(ARCH)/$(piece).rel) \
- $(foreach piece, $(CPU_PIECES), ../../../../libcpu/$(RTEMS_CPU)/$(piece)/$(ARCH)/$(piece).rel) \
- $(foreach piece, $(GENERIC_PIECES), ../../../$(piece)/$(ARCH)/$(piece).rel)
-LIB=$(ARCH)/libbsp.a
-
-include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
-include $(RTEMS_ROOT)/make/lib.cfg
-
-#
-# (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
-