[PATCH] mips/genmongoosev: Remove
Aun-Ali Zaidi
admin at kodeit.net
Mon Dec 14 05:41:15 UTC 2015
updates #2448.
---
c/src/lib/libbsp/mips/acinclude.m4 | 2 -
c/src/lib/libbsp/mips/genmongoosev/Makefile.am | 85 --
c/src/lib/libbsp/mips/genmongoosev/README | 225 -----
c/src/lib/libbsp/mips/genmongoosev/bsp_specs | 15 -
.../lib/libbsp/mips/genmongoosev/clock/clockdrv.c | 59 --
c/src/lib/libbsp/mips/genmongoosev/configure.ac | 21 -
.../libbsp/mips/genmongoosev/console/README.mguart | 101 ---
.../lib/libbsp/mips/genmongoosev/console/conscfg.c | 93 ---
.../lib/libbsp/mips/genmongoosev/console/mg5uart.c | 881 --------------------
.../lib/libbsp/mips/genmongoosev/console/mg5uart.h | 97 ---
.../libbsp/mips/genmongoosev/console/mg5uart_reg.c | 58 --
c/src/lib/libbsp/mips/genmongoosev/include/bsp.h | 73 --
c/src/lib/libbsp/mips/genmongoosev/include/irq.h | 95 ---
.../lib/libbsp/mips/genmongoosev/include/lr33000.h | 99 ---
.../lib/libbsp/mips/genmongoosev/include/lr333x0.h | 180 ----
.../libbsp/mips/genmongoosev/include/mongoose-v.h | 306 -------
c/src/lib/libbsp/mips/genmongoosev/include/r3000.h | 229 ------
c/src/lib/libbsp/mips/genmongoosev/include/tm27.h | 36 -
.../lib/libbsp/mips/genmongoosev/irq/vectorisrs.c | 257 ------
.../mips/genmongoosev/make/custom/genmongoosev.cfg | 16 -
c/src/lib/libbsp/mips/genmongoosev/preinstall.am | 103 ---
c/src/lib/libbsp/mips/genmongoosev/start/mg5.h | 379 ---------
c/src/lib/libbsp/mips/genmongoosev/start/regs.h | 148 ----
c/src/lib/libbsp/mips/genmongoosev/start/start.S | 909 ---------------------
.../libbsp/mips/genmongoosev/startup/bspstart.c | 97 ---
.../libbsp/mips/genmongoosev/startup/gdb-support.c | 145 ----
.../lib/libbsp/mips/genmongoosev/startup/linkcmds | 228 ------
c/src/lib/libbsp/mips/genmongoosev/timer/timer.c | 93 ---
28 files changed, 5030 deletions(-)
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/Makefile.am
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/README
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/bsp_specs
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/clock/clockdrv.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/configure.ac
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/console/README.mguart
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/bsp.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/irq.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/lr33000.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/lr333x0.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/mongoose-v.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/r3000.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/include/tm27.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/irq/vectorisrs.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/make/custom/genmongoosev.cfg
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/preinstall.am
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/start/mg5.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/start/regs.h
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/start/start.S
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/startup/bspstart.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/startup/gdb-support.c
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
delete mode 100644 c/src/lib/libbsp/mips/genmongoosev/timer/timer.c
diff --git a/c/src/lib/libbsp/mips/acinclude.m4 b/c/src/lib/libbsp/mips/acinclude.m4
index 6a7814f..cde1ebe 100644
--- a/c/src/lib/libbsp/mips/acinclude.m4
+++ b/c/src/lib/libbsp/mips/acinclude.m4
@@ -4,8 +4,6 @@ AC_DEFUN([RTEMS_CHECK_BSPDIR],
case "$1" in
csb350 )
AC_CONFIG_SUBDIRS([csb350]);;
- genmongoosev )
- AC_CONFIG_SUBDIRS([genmongoosev]);;
hurricane )
AC_CONFIG_SUBDIRS([hurricane]);;
jmr3904 )
diff --git a/c/src/lib/libbsp/mips/genmongoosev/Makefile.am b/c/src/lib/libbsp/mips/genmongoosev/Makefile.am
deleted file mode 100644
index 44fb24b..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/Makefile.am
+++ /dev/null
@@ -1,85 +0,0 @@
-ACLOCAL_AMFLAGS = -I ../../../../aclocal
-
-include $(top_srcdir)/../../../../automake/compile.am
-
-include_bspdir = $(includedir)/bsp
-
-dist_project_lib_DATA = bsp_specs
-
-include_HEADERS = include/bsp.h
-include_HEADERS += include/tm27.h
-include_bsp_HEADERS = start/regs.h
-#isr
-include_bsp_HEADERS += ../../shared/include/irq-generic.h
-include_bsp_HEADERS += ../../shared/include/irq-info.h
-include_bsp_HEADERS += include/irq.h
-
-nodist_include_HEADERS = include/bspopts.h
-nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
-nodist_include_bsp_HEADERS += include/lr33000.h
-nodist_include_bsp_HEADERS += include/lr333x0.h
-nodist_include_bsp_HEADERS += include/mongoose-v.h
-nodist_include_bsp_HEADERS += include/r3000.h
-nodist_include_bsp_HEADERS += console/mg5uart.h
-DISTCLEANFILES = include/bspopts.h
-noinst_PROGRAMS =
-
-nodist_include_HEADERS += ../../shared/include/coverhd.h
-
-noinst_LIBRARIES = libbspstart.a
-libbspstart_a_SOURCES = start/start.S
-libbspstart_a_SOURCES += start/regs.h
-libbspstart_a_SOURCES += start/mg5.h
-project_lib_DATA = start.$(OBJEXT)
-
-dist_project_lib_DATA += startup/linkcmds
-
-noinst_LIBRARIES += libbsp.a
-libbsp_a_SOURCES =
-
-# startup
-libbsp_a_SOURCES += ../../shared/bspclean.c
-libbsp_a_SOURCES += ../../shared/bsppredriverhook.c
-libbsp_a_SOURCES += ../../shared/bsplibc.c
-libbsp_a_SOURCES += ../../shared/bsppost.c
-libbsp_a_SOURCES += startup/bspstart.c
-libbsp_a_SOURCES += ../../shared/bootcard.c
-libbsp_a_SOURCES += ../../shared/sbrk.c
-libbsp_a_SOURCES += ../../shared/bspgetworkarea.c
-# clock
-libbsp_a_SOURCES += clock/clockdrv.c
-libbsp_a_SOURCES += ../../shared/clockdrv_shell.h
-# console
-libbsp_a_SOURCES += console/conscfg.c
-libbsp_a_SOURCES += console/mg5uart.c
-libbsp_a_SOURCES += ../../shared/console.c
-libbsp_a_SOURCES += ../../shared/console_select.c
-libbsp_a_SOURCES += ../../shared/console_control.c
-libbsp_a_SOURCES += ../../shared/console_read.c
-libbsp_a_SOURCES += ../../shared/console_write.c
-# timer
-libbsp_a_SOURCES += timer/timer.c
-#isr
-libbsp_a_SOURCES += ../../shared/src/irq-generic.c
-libbsp_a_SOURCES += ../../shared/src/irq-legacy.c
-libbsp_a_SOURCES += ../../shared/src/irq-info.c
-libbsp_a_SOURCES += ../../shared/src/irq-shell.c
-libbsp_a_SOURCES += ../../shared/src/irq-server.c
-libbsp_a_SOURCES += ../shared/irq/vectorexceptions.c
-libbsp_a_SOURCES += ../shared/irq/irq.c
-libbsp_a_SOURCES += irq/vectorisrs.c
-libbsp_a_SOURCES += ../shared/irq/interruptmask.c
-
-gdbstub_CPPFLAGS = -I$(srcdir)/../../mips/shared/gdbstub
-noinst_PROGRAMS += gdbstub.rel
-gdbstub_rel_SOURCES = ../../mips/shared/gdbstub/mips-stub.c
-gdbstub_rel_SOURCES += startup/gdb-support.c
-gdbstub_rel_SOURCES += ../../shared/gdbstub/rtems-stub-glue.c
-gdbstub_rel_CPPFLAGS = $(AM_CPPFLAGS) $(gdbstub_CPPFLAGS)
-gdbstub_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-
-libbsp_a_LIBADD = ../../../libcpu/@RTEMS_CPU@/shared/cache.rel
-libbsp_a_LIBADD += ../../../libcpu/@RTEMS_CPU@/shared/interrupts.rel
-
-include $(srcdir)/preinstall.am
-include $(top_srcdir)/../../../../automake/local.am
diff --git a/c/src/lib/libbsp/mips/genmongoosev/README b/c/src/lib/libbsp/mips/genmongoosev/README
deleted file mode 100644
index d8b9bd5..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/README
+++ /dev/null
@@ -1,225 +0,0 @@
-BSP supporting the on-CPU capabilities of the Synova Mongoose-V.
-The Synova Mongoose-V is a radiation hardened derivative of the
-LSI 33K with on-CPU peripherals.
-
-This BSP assumes that basic HW initialization is performed by PMON.
-
-Status
-======
-Per-task floating point enable/disable is supported for both immediate
-and deferred FPU context swaps.
-
-Interrupt Levels are adapted reasonably well to the MIPS interrupt
-model. Bit 0 of the int level is a global enable/disable, corresponding
-to bit 0 of the processor's SR register. Bits 1 thru 6 are configured
-as masks for the Int0 thru Int5 interrupts. The 2 software interrupt
-bits are always enabled by default. Each task maintains its own
-Interrupt Level setting, reconfiguring the SR register's interrupt bits
-whenever scheduled in. The software ints, though not addressable via
-the various Interrupt Level functions, are maintained on a per-task
-basis, so if software manipulates them directly, things should behave as
-expected. At the time of these udpates, the Interrupt Level was only 8
-bits, and completely supporting the global enable, software ints and the
-hardware ints would require 9 bits. When more than 8 bits are
-available, there is no reason the software interrupts could not be added
-to the Interrupt Level.
-
-While supporting the Int0 thru Int5 bits in this way doesn't seem
-wonderfully useful, it does increase the level of compliance with the
-RTEMS spec.
-
-Interrupt Level 0 corresponds to interrupts globally enabled, software
-ints enabled and Int0 thru Int5 enabled. If values other than 0 are
-supplied, they should be formulated to impose the desired bitmask.
-Interrupt priority is not a strong concept on this bsp, it is provided
-only by the order in which interrupts are checked.
-
-If during the vectoring of an interrupt, others arrive, they will all be
-processed in accordance with their ordering in SR & the peripheral
-register. For example, if while we're vectoring Int4, Int3 and Int5 are
-asserted, Int3 will be serviced before Int5. The peripheral interrupts
-are individually vectored as a consequence of Int5 being asserted,
-however Int5 is not itself vectored. Within the set of peripheral
-interrupts, bit 0 is vectored first, 31 is last.
-
-Interrupts are not nested for MIPS1 or MIPS3 processors, but are
-processed serially as possible. On an unloaded 50 task RTEMS program,
-runnning on a 12mhz MIPS1 processor, worst-case latencies of 100us were
-observed, the average being down at 60us or below.
-
-
-These features are principally a consequence of fixes and tweaks to the
-MIPS1 and MIPS3 processor support, and should be equally effective on
-both levels of MIPS processors for any of their bsp's.
-
-Address Map
-===========
-This is the generic address map of the Mongoose-V prototyping board
-this BSP was tested on.
-
-0x8000_0000 - 0x8FFF_FFFF - RAM (KSEG0 cached)
-0xA000_0000 - 0xAFFF_FFFF - RAM (KSEG1, same memory uncached)
-0xBFC0_0000 - 0xBFFF_FFFF - EEPROM
-0xFFFE_xxxx - on-CPU peripherals
-
-This is the hardware address map of the board used as it was
-actually populated.
-
-0x8000_0000 - 0x83FF_FFFF - 32 MB RAM (KSEG0 cached)
-0xA000_0000 - 0xA3FF_FFFF - 32 MB RAM (KSEG1, same memory uncached)
-0xBFC0_0000 - 0xBFDF_FFFF - 2 MB EEPROM
-0xFFFE_xxxx - on-CPU peripherals
-
-This is the organization of the EEPROM when fully populated. Since
-the board used to develop this BSP only had the first bank of EEPROM
-populated, only the first program image area was used.
-
-0xBFC0_0000 - 0xBFC3_FFFF - PMON
-0xBFC4_0000 - 0xBFC4_FFFF - reserved for boot loader
-0xBFC5_0000 - 0xBFDF_FFFF - reserved for program 1 image
-0xBFE0_0000 - 0xBFFF_FFFF - reserved for program 2 image
-
-The Mongoose-V on this board is at 12 Mhz.
-
-Downloading
-===========
-
-On the breadboard, a locally hacked PMON waits for a space to be pressed
-while the board is reset/powered up. If found, the PMON console is
-entered, else PMON jumps to the EEPROM address above, presuming a user
-program is located there.
-
-The default output of an RTEMS link is an image linked to run from
-0x80020000. It is suitable for copying to S3 records or can be burned
-to ROMs in whatever manner the user desires. If you want to locate the
-image into ROM at some other address, use mips-rtems-objcopy to shift
-the LMA.
-
-Operation
-=========
-
-A small relocator is supplied in the bsp startup code which copies the
-image down to RAM for execution before doing any other initialization.
-This locator code is location independent, and will do nothing if the
-image is already located at its run location. The LMA and VMA are both
-controlled via the bsp's link script. The above behavior is produced by
-using the default script. If this is not desirable, something like the
-following may be added to the user's RTEMS link statement to override
-the default linkcmds with a user-supplied version;
-
--qnolinkcmds -Wl,-T -Wl,mips-rtems-linkcmds-eprom
-
-this causes the file ./mips-rtems-linkcmds-eprom to override the default
-linkcmds.
-
-Before relocating the RTEMS image, the bsp startup routine attempts to
-configure the processor into a rational state. During this process,
-status characters are emitted at 19200N81 on UART port 0.
-
-The default link script simply places the image at 0x8002000 with
-LMA=VMA, which is conviently located in RAM on our board. You should
-probably consider creating your own linkcmds, putting things where you
-want and supply it as above.
-
-The Mongoose V has a somewhat restricted cache configuration model; you
-can only flush it if the code which does so executes within noncached
-memory, in our case, code in kseg1. If you do so from elsewhere the
-code will appear to lock up, this is caused by the cache clearing
-routine making the instruction fetch always return 0, or nop- leaving
-the processor in an endless loop. The default start.S code detects if
-its booting from outside kseg1, it which case it disables the cache
-flush code. This means you cannot flush the cache with the bsp's
-functions if you boot your program from outside kseg1. A more subtle
-issue is the bsp keeps a pointer to the location in kseg1 where the
-bsp's cache flush code resides. This is advantageous because you can
-relocate the system anywhere and still control the cache, but might
-cause trouble if the boot image becomes inaccessible. If this is
-possible, you should probably consider rolling your own cache control &
-disabling the bsp's.
-
-As stated above, if you boot from outside kseg1, the bsp disables the
-cache flush routines. This is not desirable in the long run because the
-Mongoose V remote debugger stub assumes it can flush caches when exiting
-an exception so it might not be able to update code/data properly,
-though it should still nominally function. However, if you're not using
-the remote debugger & don't care about flushing caches, then everything
-should run just fine.
-
-Our approach has to been locate ROM in kseg1, link the code for VMA in
-RAM and relocate the LMA up into kseg1 ROM. Since the start.S code is
-position-independent, it will relocate the entire app down to the VMA
-region before starting things up with everything in its proper place.
-The cache clear code runs before relocation, so executes from ROM &
-things work.
-
-You can prevent including the default start.S by adding;
-
--qnostartfile
-
-to the link command line in addition to the "nolinkcmds" options above.
-Be sure to supply your replacement start.o.
-
-
-
-Questions
-=========
-
-Why can I send characters slowly to a Mongoose V, but get framing errors
-when sending them fast?
-
-- The MongooseV chip seems to <require> that all incoming data have 2
- stop bits. When typing on a serial terminal, this is not an issue
- because the idle state of an RS232 line looks just like a stop bit-
- but when streaming in data, such pacing is required. The manual does
- not indicate anything along these lines, instead, we suspect a
- somewhat faulty UART design.
-
-
-Debugging
-=========
-
-After getting Joel's initial port of the gdb stub to the Mongoose bsp, I
-worked up & tested this stub on our R3000 board. It seems to work OK.
-Our MIPS has 2 serial ports, the first being dedicated to the console, I
-chose to arrange the 2nd one for the remote gdb protocol. While this
-solution is somewhat specific to our board & bsp, I think the technique
-is quite generalizable.
-
-The following is a code snippet to be included in the user program;
-
-/***********************************************/
-
-extern int mg5rdbgOpenGDBuart(int);
-extern void mg5rdbgCloseGDBuart(void);
-
-
-void setupgdb(void)
-{
- printf("Configuring remote GDB stub...\n");
-
- /* initialize remote gdb support */
- if( mg5rdbgOpenGDBuart(-1) != RTEMS_SUCCESSFUL )
- {
- printf("Remote GDB stub is disabled.\n\n");
- }
-}
-
-/***********************************************/
-
-It allows the program to decide if it wants gdb to be ready to pick up
-exceptions or not. The 2 extern functions are located in the MongooseV
-bsp inside gdb-support.c. They configure & initialize the 2nd serial
-port & invoke the vector initialization routine located in cpu_asm.
-Note, we call directly down into the MongooseV UART driver- its quite
-unfriendly to TERMIO. I chose this approach because I wanted to
-minimize dependence on the I/O subsystems because they might be in a
-state just short of collapsing if the program had done something bad to
-cause the exception.
-
-If user code leaves the 2nd port alone, then things will work out OK.
-
-Greg Menke
-2/27/2002
-
-============================================================================
-
diff --git a/c/src/lib/libbsp/mips/genmongoosev/bsp_specs b/c/src/lib/libbsp/mips/genmongoosev/bsp_specs
deleted file mode 100644
index ea4891e..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/bsp_specs
+++ /dev/null
@@ -1,15 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-%rename link old_link
-
-*startfile:
-%{!qrtems: %(old_startfile)} \
-%{!nostdlib: \
- %{qrtems: %{!qnostartfile: start.o%s -e _start} crti.o%s crtbegin.o%s}}
-
-*link:
-%(old_link) %{qrtems: -dc -dp -N}
-
-*endfile:
-%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
-
diff --git a/c/src/lib/libbsp/mips/genmongoosev/clock/clockdrv.c b/c/src/lib/libbsp/mips/genmongoosev/clock/clockdrv.c
deleted file mode 100644
index 20f730a..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/clock/clockdrv.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * @file
- *
- * Instantiate the clock driver shell for the Mongoose-V's on-CPU timer.
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <rtems.h>
-#include <bsp/irq.h>
-#include <bsp.h>
-
-#if defined(USE_TIMER2_FOR_CLOCK)
-#define CLOCK_BASE MONGOOSEV_TIMER2_BASE
-#define CLOCK_VECTOR MONGOOSEV_IRQ_TIMER2
-#else
-#define CLOCK_BASE MONGOOSEV_TIMER1_BASE
-#define CLOCK_VECTOR MONGOOSEV_IRQ_TIMER1
-#endif
-
-/* reset Timeout (TO) bit */
-
-#define Clock_driver_support_at_tick() \
- do { \
- MONGOOSEV_WRITE_REGISTER( CLOCK_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, \
- (MONGOOSEV_TIMER_CONTROL_COUNTER_ENABLE | MONGOOSEV_TIMER_CONTROL_INTERRUPT_ENABLE)); \
- } while(0)
-
-#define Clock_driver_support_install_isr( _new, _old ) \
- do { \
- rtems_interrupt_handler_install( \
- CLOCK_VECTOR, \
- "clock", \
- 0, \
- _new, \
- NULL \
- ); \
- } while(0)
-
-#define Clock_driver_support_initialize_hardware() \
- do { \
- uint32_t _clicks = CPU_CLOCK_RATE_MHZ * rtems_configuration_get_microseconds_per_tick(); \
- MONGOOSEV_WRITE_REGISTER( CLOCK_BASE, MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER, _clicks ); \
- Clock_driver_support_at_tick(); \
- } while(0)
-
-#define Clock_driver_support_shutdown_hardware() \
- MONGOOSEV_WRITE_REGISTER( CLOCK_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, 0 )
-
-#define CLOCK_DRIVER_USE_DUMMY_TIMECOUNTER
-
-#include "../../../shared/clockdrv_shell.h"
diff --git a/c/src/lib/libbsp/mips/genmongoosev/configure.ac b/c/src/lib/libbsp/mips/genmongoosev/configure.ac
deleted file mode 100644
index d8aa776..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/configure.ac
+++ /dev/null
@@ -1,21 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-
-AC_PREREQ([2.69])
-AC_INIT([rtems-c-src-lib-libbsp-mips-genmongoosev],[_RTEMS_VERSION],[https://devel.rtems.org/newticket])
-AC_CONFIG_SRCDIR([bsp_specs])
-RTEMS_TOP(../../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.12.2])
-
-RTEMS_BSP_CONFIGURE
-
-RTEMS_PROG_CC_FOR_TARGET
-RTEMS_CANONICALIZE_TOOLS
-RTEMS_PROG_CCAS
-
-RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/mips/genmongoosev/console/README.mguart b/c/src/lib/libbsp/mips/genmongoosev/console/README.mguart
deleted file mode 100644
index 8073ab7..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/console/README.mguart
+++ /dev/null
@@ -1,101 +0,0 @@
-Configuration Table Use
-=======================
-
-sDeviceName
-
- The name of this device.
-
-deviceType
-
- This field must be SERIAL_MG5UART.
-
-pDeviceFns
-
- The device interface control table. This may be:
- + mg5uart_fns for interrupt driven IO
- + mg5uart_fns_polled for polled IO
-
-deviceProbe
-
- This is the address of the routine which probes to see if the device
- is present.
-
-pDeviceFlow
-
- This field is ignored as hardware flow control is not currently supported.
-
-ulMargin
-
- This is currently unused.
-
-ulHysteresis
-
- This is currently unused.
-
-pDeviceParams
-
- This is set to the default settings.
-
-ulCtrlPort1
-
- This field is the address of the command register shared by both ports.
-
-ulCtrlPort2
-
- This field is the address of the port being used.
-
-ulDataPort
-
- This field is set to MG5UART_PORTA or MG5UART_PORTB.
-
-getRegister
-setRegister
-
- These do NOT follow standard conventions and are ignored.
- The register address routines are hard-coded as this is
- an on-CPU part and assumed to provide a 32-bit wide interface.
-
-getData
-
- This is address of the RX buffer register.
-
-setData
-
- This is address of the TX buffer register.
-
-ulClock
-
- baudRate Clock
-
-ulIntVector
-
- This is the interrupt vector number associated with this chip.
-
-Example:
-
-#if (CONSOLE_USE_INTERRUPTS)
-#define MG5UART_FUNCTIONS &mg5uart_fns
-#else
-#define MG5UART_FUNCTIONS &mg5uart_fns_polled
-#endif
-
-{
- "/dev/com0", /* sDeviceName */
- SERIAL_MG5UART, /* deviceType */
- MG5UART_FUNCTIONS, /* pDeviceFns */
- NULL, /* deviceProbe, assume it is there */
- NULL, /* pDeviceFlow */
- 16, /* ulMargin */
- 8, /* ulHysteresis */
- (void *) NULL, /* NULL */ /* pDeviceParams */
- MONGOOSEV_PERIPHERAL_COMMAND_REGISTER, /* ulCtrlPort1 */
- MONGOOSEV_UART0_BASE, /* ulCtrlPort2 */
- MG5UART_UART0, /* ulDataPort */
- mg5uart_get_register, /* getRegister */
- mg5uart_set_register, /* setRegister */
- NULL, /* unused */ /* getData */
- NULL, /* unused */ /* setData */
- 12000000, /* ulClock */
- MONGOOSEV_IRQ_UART0_RX_FRAME_ERROR /* ulIntVector -- base for port */
-}
-
diff --git a/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c b/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c
deleted file mode 100644
index 8a4cf99..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/console/conscfg.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/**
- * @file
- *
- * This file contains the libchip configuration information
- * to instantiate the libchip driver for the on-CPU DUART
- * and any other serial ports in the system.
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <unistd.h> /* write */
-
-#include <bsp.h>
-#include <bsp/irq.h>
-
-#include <libchip/serial.h>
-#include <bsp/mg5uart.h>
-
-/* #define CONSOLE_USE_INTERRUPTS */
-
-#ifdef CONSOLE_USE_INTERRUPTS
-#define MG5UART_FUNCTIONS &mg5uart_fns
-#else
-#define MG5UART_FUNCTIONS &mg5uart_fns_polled
-#endif
-
-console_tbl Console_Configuration_Ports[] = {
-{
- "/dev/com0", /* sDeviceName */
- SERIAL_MG5UART, /* deviceType */
- MG5UART_FUNCTIONS, /* pDeviceFns */
- NULL, /* deviceProbe, assume it is there */
- NULL, /* pDeviceFlow */
- 16, /* ulMargin */
- 8, /* ulHysteresis */
- (void *) NULL, /* NULL */ /* pDeviceParams */
- MONGOOSEV_PERIPHERAL_COMMAND_REGISTER, /* ulCtrlPort1 */
- MONGOOSEV_UART0_BASE, /* ulCtrlPort2 */
- MG5UART_UART0, /* ulDataPort */
- NULL, /* getRegister */
- NULL, /* setRegister */
- NULL, /* unused */ /* getData */
- NULL, /* unused */ /* setData */
- CLOCK_RATE, /* ulClock */
- MONGOOSEV_IRQ_UART0_RX_FRAME_ERROR /* ulIntVector -- base for port */
-},
-{
- "/dev/com1", /* sDeviceName */
- SERIAL_MG5UART, /* deviceType */
- MG5UART_FUNCTIONS, /* pDeviceFns */
- NULL, /* deviceProbe, assume it is there */
- NULL, /* pDeviceFlow */
- 16, /* ulMargin */
- 8, /* ulHysteresis */
- (void *) NULL, /* NULL */ /* pDeviceParams */
- MONGOOSEV_PERIPHERAL_COMMAND_REGISTER, /* ulCtrlPort1 */
- MONGOOSEV_UART1_BASE, /* ulCtrlPort2 */
- MG5UART_UART1, /* ulDataPort */
- NULL, /* getRegister */
- NULL, /* setRegister */
- NULL, /* unused */ /* getData */
- NULL, /* unused */ /* setData */
- CLOCK_RATE, /* ulClock */
- MONGOOSEV_IRQ_UART1_RX_FRAME_ERROR /* ulIntVector -- base for port */
-},
-};
-
-/*
- * Declare some information used by the console driver
- */
-
-#define NUM_CONSOLE_PORTS \
- (sizeof(Console_Configuration_Ports)/sizeof(console_tbl))
-
-unsigned long Console_Configuration_Count = NUM_CONSOLE_PORTS;
-
-/*
- * printk() support that simply routes printk to stderr
- */
-
-#include <rtems/bspIo.h>
-
-static void GENMG5_output_char(char c) { write( 2, &c, 1 ); }
-
-BSP_output_char_function_type BSP_output_char = GENMG5_output_char;
-BSP_polling_getchar_function_type BSP_poll_char = NULL;
diff --git a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.c b/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.c
deleted file mode 100644
index af463d9..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.c
+++ /dev/null
@@ -1,881 +0,0 @@
-/**
- * @file
- *
- * This file contains the termios TTY driver for the UART found
- * on the Synova Mongoose-V.
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <rtems.h>
-#include <rtems/libio.h>
-#include <rtems/score/sysstate.h>
-#include <stdlib.h>
-
-#include <libchip/serial.h>
-#include <libchip/sersupp.h>
-#include <bsp/mg5uart.h>
-#include <bsp/mongoose-v.h>
-
-#include <bsp/irq.h>
-#include <bsp.h>
-
-/*
- * Indices of registers
- */
-
-/*
- * Per chip context control
- */
-
-typedef struct _mg5uart_context
-{
- int mate;
-} mg5uart_context;
-
-/*
- * Define MG5UART_STATIC to nothing while debugging so the entry points
- * will show up in the symbol table.
- */
-/* #define MG5UART_STATIC */
-#define MG5UART_STATIC static
-
-#define MG5UART_SETREG( _base, _register, _value ) \
- MONGOOSEV_WRITE_REGISTER( _base, _register, _value )
-
-#define MG5UART_GETREG( _base, _register ) \
- MONGOOSEV_READ_REGISTER( _base, _register )
-
-/*
- * Console Device Driver Support Functions
- */
-
-MG5UART_STATIC int mg5uart_baud_rate(
- int minor,
- uint32_t baud,
- uint32_t *code
-);
-
-MG5UART_STATIC void mg5uart_enable_interrupts(
- int minor,
- int mask
-);
-
-/*
- * mg5uart_isr_XXX
- *
- * This is the single interrupt entry point which parcels interrupts
- * out to the handlers for specific sources and makes sure that the
- * shared handler gets the right arguments.
- *
- * NOTE: Yes .. this is ugly but it provides 5 interrupt source
- * wrappers which are nearly functionally identical.
- */
-extern void mips_default_isr(int vector);
-
-#define __ISR(_TYPE, _OFFSET) \
- MG5UART_STATIC void mg5uart_process_isr_ ## _TYPE ( \
- int minor \
- ); \
- \
- MG5UART_STATIC rtems_isr mg5uart_isr_ ## _TYPE ( \
- void *arg \
- ) \
- { \
- rtems_vector_number vector = (rtems_vector_number) arg; \
- int minor; \
- \
- for(minor=0 ; minor<Console_Port_Count ; minor++) { \
- if( Console_Port_Tbl[minor]->deviceType == SERIAL_MG5UART && \
- vector == Console_Port_Tbl[minor]->ulIntVector + _OFFSET ) { \
- mg5uart_process_isr_ ## _TYPE (minor); \
- return; \
- } \
- } \
- mips_default_isr( vector ); \
- }
-
-__ISR(rx_frame_error, MG5UART_IRQ_RX_FRAME_ERROR)
-__ISR(rx_overrun_error, MG5UART_IRQ_RX_OVERRUN_ERROR)
-__ISR(tx_empty, MG5UART_IRQ_TX_EMPTY)
-__ISR(tx_ready, MG5UART_IRQ_TX_READY)
-__ISR(rx_ready, MG5UART_IRQ_RX_READY)
-
-/*
- * mg5uart_set_attributes
- *
- * This function sets the UART channel to reflect the requested termios
- * port settings.
- */
-MG5UART_STATIC int mg5uart_set_attributes(
- int minor,
- const struct termios *t
-)
-{
- uint32_t pMG5UART_port;
- uint32_t pMG5UART;
- uint32_t cmd, cmdSave;
- uint32_t baudcmd;
- uint32_t shift;
- rtems_interrupt_level Irql;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- /*
- * Set the baud rate
- */
-
- if (mg5uart_baud_rate( minor, t->c_cflag, &baudcmd ) == -1)
- return -1;
-
- /*
- * Base settings
- */
-
- /*
- * Base settings
- */
-
- cmd = MONGOOSEV_UART_CMD_RX_ENABLE | MONGOOSEV_UART_CMD_TX_ENABLE;
-
- /*
- * Parity
- */
-
- if (t->c_cflag & PARENB) {
- cmd |= MONGOOSEV_UART_CMD_PARITY_ENABLE;
- if (t->c_cflag & PARODD)
- cmd |= MONGOOSEV_UART_CMD_PARITY_ODD;
- else
- cmd |= MONGOOSEV_UART_CMD_PARITY_EVEN;
- } else {
- cmd |= MONGOOSEV_UART_CMD_PARITY_DISABLE;
- }
-
- /*
- * Character Size
- */
-
- if (t->c_cflag & CSIZE) {
- switch (t->c_cflag & CSIZE) {
- case CS5:
- case CS6:
- case CS7:
- return -1;
- break;
- case CS8:
- /* Mongoose-V only supports CS8 */
- break;
-
- }
- } /* else default to CS8 */
-
- /*
- * Stop Bits
- */
-
-#if 0
- if (t->c_cflag & CSTOPB) {
- /* 2 stop bits not supported by Mongoose-V uart */
- return -1;
- }
-#endif
-
- /*
- * XXX what about CTS/RTS
- */
-
- /* XXX */
-
- /*
- * Now write the registers
- */
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_CMD_SHIFT;
- else
- shift = MONGOOSEV_UART1_CMD_SHIFT;
-
-
-
- rtems_interrupt_disable(Irql);
-
- cmdSave = MG5UART_GETREG( pMG5UART, MG5UART_COMMAND_REGISTER );
-
- MG5UART_SETREG( pMG5UART,
- MG5UART_COMMAND_REGISTER,
- (cmdSave & ~(MONGOOSEV_UART_ALL_STATUS_BITS << shift)) | (cmd << shift) );
-
- MG5UART_SETREG( pMG5UART_port, MG5UART_BAUD_RATE, baudcmd );
-
- rtems_interrupt_enable(Irql);
- return 0;
-}
-
-/*
- * mg5uart_initialize_context
- *
- * This function sets the default values of the per port context structure.
- */
-MG5UART_STATIC void mg5uart_initialize_context(
- int minor,
- mg5uart_context *pmg5uartContext
-)
-{
- int port;
- unsigned int pMG5UART;
- unsigned int pMG5UART_port;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- pmg5uartContext->mate = -1;
-
- for (port=0 ; port<Console_Port_Count ; port++ ) {
- if ( Console_Port_Tbl[port]->ulCtrlPort1 == pMG5UART &&
- Console_Port_Tbl[port]->ulCtrlPort2 != pMG5UART_port ) {
- pmg5uartContext->mate = port;
- break;
- }
- }
-
-}
-
-/*
- * mg5uart_init
- *
- * This function initializes the DUART to a quiecsent state.
- */
-MG5UART_STATIC void mg5uart_init(int minor)
-{
- uint32_t pMG5UART;
- uint32_t cmdSave;
- uint32_t shift;
-
- mg5uart_context *pmg5uartContext;
-
- pmg5uartContext = (mg5uart_context *) malloc(sizeof(mg5uart_context));
-
- Console_Port_Data[minor].pDeviceContext = (void *)pmg5uartContext;
-
- mg5uart_initialize_context( minor, pmg5uartContext );
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_CMD_SHIFT;
- else
- shift = MONGOOSEV_UART1_CMD_SHIFT;
-
- /*
- * Disable the uart and leave this port disabled.
- */
-
- cmdSave = MG5UART_GETREG(pMG5UART, MG5UART_COMMAND_REGISTER) & ~(MONGOOSEV_UART_ALL_STATUS_BITS << shift);
-
- MG5UART_SETREG( pMG5UART, MG5UART_COMMAND_REGISTER, cmdSave );
-
- /*
- * Disable interrupts on RX and TX for this port
- */
- mg5uart_enable_interrupts( minor, MG5UART_DISABLE_ALL );
-}
-
-/*
- * mg5uart_open
- *
- * This function opens a port for communication.
- *
- * Default state is 9600 baud, 8 bits, No parity, and 1 stop bit.
- */
-MG5UART_STATIC int mg5uart_open(
- int major,
- int minor,
- void *arg
-)
-{
- uint32_t pMG5UART;
- uint32_t pMG5UART_port;
- uint32_t cmd, cmdSave;
- uint32_t baudcmd;
- uint32_t shift;
-
- rtems_interrupt_level Irql;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_CMD_SHIFT;
- else
- shift = MONGOOSEV_UART1_CMD_SHIFT;
-
- /* XXX default baud rate could be from configuration table */
-
- (void) mg5uart_baud_rate( minor, B19200, &baudcmd );
-
- /*
- * Set the DUART channel to a default useable state
- * B19200, 8Nx since there is no stop bit control.
- */
-
- cmd = MONGOOSEV_UART_CMD_TX_ENABLE | MONGOOSEV_UART_CMD_RX_ENABLE;
-
- rtems_interrupt_disable(Irql);
-
- cmdSave = MG5UART_GETREG( pMG5UART, MG5UART_COMMAND_REGISTER );
-
- MG5UART_SETREG( pMG5UART_port, MG5UART_BAUD_RATE, baudcmd );
-
- MG5UART_SETREG( pMG5UART,
- MG5UART_COMMAND_REGISTER,
- cmd = (cmdSave & ~(MONGOOSEV_UART_ALL_STATUS_BITS << shift)) | (cmd << shift) );
-
- rtems_interrupt_enable(Irql);
-
- return RTEMS_SUCCESSFUL;
-}
-
-/*
- * mg5uart_close
- *
- * This function shuts down the requested port.
- */
-MG5UART_STATIC int mg5uart_close(
- int major,
- int minor,
- void *arg
-)
-{
- uint32_t pMG5UART;
- uint32_t cmd, cmdSave;
- uint32_t shift;
- rtems_interrupt_level Irql;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
-
- /*
- * Disable interrupts from this channel and then disable it totally.
- */
-
- /* XXX interrupts */
-
- cmd = MONGOOSEV_UART_CMD_TX_DISABLE | MONGOOSEV_UART_CMD_RX_DISABLE;
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_CMD_SHIFT;
- else
- shift = MONGOOSEV_UART1_CMD_SHIFT;
-
-
- rtems_interrupt_disable(Irql);
- cmdSave = MG5UART_GETREG( pMG5UART, MG5UART_COMMAND_REGISTER );
-
- MG5UART_SETREG( pMG5UART,
- MG5UART_COMMAND_REGISTER,
- (cmdSave & ~(MONGOOSEV_UART_ALL_STATUS_BITS << shift)) | (cmd << shift) );
- rtems_interrupt_enable(Irql);
-
- return(RTEMS_SUCCESSFUL);
-}
-
-/*
- * mg5uart_write_polled
- *
- * This routine polls out the requested character.
- */
-MG5UART_STATIC void mg5uart_write_polled(
- int minor,
- char c
-)
-{
- uint32_t pMG5UART;
- uint32_t pMG5UART_port;
- uint32_t status;
- int shift;
- int timeout;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_IRQ_SHIFT;
- else
- shift = MONGOOSEV_UART1_IRQ_SHIFT;
-
- /*
- * wait for transmitter holding register to be empty
- */
- timeout = 2000;
-
- while( --timeout )
- {
- status = MG5UART_GETREG(pMG5UART, MG5UART_STATUS_REGISTER) >> shift;
-
- /*
- if ( (status & (MONGOOSEV_UART_TX_READY | MONGOOSEV_UART_TX_EMPTY)) ==
- (MONGOOSEV_UART_TX_READY | MONGOOSEV_UART_TX_EMPTY) )
- break;
- */
-
- if( (status & (MONGOOSEV_UART_TX_READY | MONGOOSEV_UART_TX_EMPTY)) )
- break;
-
- /*
- * Yield while we wait
- */
-
-#if 0
- if(_System_state_Is_up(_System_state_Get()))
- {
- rtems_task_wake_after(RTEMS_YIELD_PROCESSOR);
- }
-#endif
- }
-
- /*
- * transmit character
- */
-
- MG5UART_SETREG(pMG5UART_port, MG5UART_TX_BUFFER, c);
-}
-
-MG5UART_STATIC void mg5uart_process_isr_rx_error(
- int minor,
- uint32_t mask
-)
-{
- uint32_t pMG5UART;
- int shift;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_IRQ_SHIFT;
- else
- shift = MONGOOSEV_UART1_IRQ_SHIFT;
-
- /* now clear the error */
-
- MG5UART_SETREG(
- pMG5UART,
- MG5UART_STATUS_REGISTER,
- mask << shift );
-}
-
-MG5UART_STATIC void mg5uart_process_isr_rx_frame_error(
- int minor
-)
-{
- mg5uart_process_isr_rx_error( minor, MONGOOSEV_UART_RX_FRAME_ERROR );
-}
-
-MG5UART_STATIC void mg5uart_process_isr_rx_overrun_error(
- int minor
-)
-{
- mg5uart_process_isr_rx_error( minor, MONGOOSEV_UART_RX_OVERRUN_ERROR );
-}
-
-MG5UART_STATIC void mg5uart_process_tx_isr(
- int minor,
- uint32_t source
-)
-{
- uint32_t pMG5UART;
- int shift;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
-
- mg5uart_enable_interrupts(minor, MG5UART_ENABLE_ALL_EXCEPT_TX);
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_IRQ_SHIFT;
- else
- shift = MONGOOSEV_UART1_IRQ_SHIFT;
-
- MG5UART_SETREG(
- pMG5UART,
- MG5UART_STATUS_REGISTER,
- source << shift );
-
- if( rtems_termios_dequeue_characters( Console_Port_Data[minor].termios_data, 1) )
- {
- mg5uart_enable_interrupts(minor, MG5UART_ENABLE_ALL);
- return;
- }
-
- /*
- * There are no more characters to transmit. The tx interrupts are be cleared
- * by writing data to the uart, so just disable the tx interrupt sources.
- */
-
- Console_Port_Data[minor].bActive = FALSE;
-
- /* mg5uart_enable_interrupts(minor, MG5UART_ENABLE_ALL_EXCEPT_TX); */
-}
-
-MG5UART_STATIC void mg5uart_process_isr_tx_empty(
- int minor
-)
-{
- /* mg5uart_process_tx_isr( minor, MONGOOSEV_UART_TX_EMPTY ); */
-}
-
-MG5UART_STATIC void mg5uart_process_isr_tx_ready(
- int minor
-)
-{
- mg5uart_process_tx_isr( minor, MONGOOSEV_UART_TX_READY );
-}
-
-MG5UART_STATIC void mg5uart_process_isr_rx_ready(
- int minor
-)
-{
- uint32_t pMG5UART_port;
- char c;
-
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- /* reading the RX buffer automatically resets the interrupt flag */
-
- c = (char) MG5UART_GETREG(pMG5UART_port, MG5UART_RX_BUFFER);
-
- rtems_termios_enqueue_raw_characters(
- Console_Port_Data[minor].termios_data,
- &c,
- 1
- );
-}
-
-static rtems_irq_connect_data mg5uart_rx_frame_error_cd = { \
- 0, /* filled in at initialization */
- mg5uart_isr_rx_frame_error, /* filled in at initialization */
- NULL, /* (void *) minor */
- NULL,
- NULL,
- NULL
-};
-
-static rtems_irq_connect_data mg5uart_rx_overrun_error_cd = { \
- 0, /* filled in at initialization */
- mg5uart_isr_rx_overrun_error, /* filled in at initialization */
- NULL, /* (void *) minor */
- NULL,
- NULL,
- NULL
-};
-
-static rtems_irq_connect_data mg5uart_tx_empty_cd = { \
- 0, /* filled in at initialization */
- mg5uart_isr_tx_empty, /* filled in at initialization */
- NULL, /* (void *) minor */
- NULL,
- NULL,
- NULL
-};
-
-static rtems_irq_connect_data mg5uart_tx_ready_cd = { \
- 0, /* filled in at initialization */
- mg5uart_isr_tx_ready, /* filled in at initialization */
- NULL, /* (void *) minor */
- NULL,
- NULL,
- NULL
-};
-
-static rtems_irq_connect_data mg5uart_rx_ready_cd = { \
- 0, /* filled in at initialization */
- mg5uart_isr_rx_ready, /* filled in at initialization */
- NULL, /* (void *) minor */
- NULL,
- NULL,
- NULL
-};
-
-
-/*
- * mg5uart_initialize_interrupts
- *
- * This routine initializes the console's receive and transmit
- * ring buffers and loads the appropriate vectors to handle the interrupts.
- */
-
-MG5UART_STATIC void mg5uart_initialize_interrupts(int minor)
-{
- unsigned long v;
- mg5uart_init(minor);
-
- Console_Port_Data[minor].bActive = FALSE;
- v = Console_Port_Tbl[minor]->ulIntVector;
-
- mg5uart_rx_frame_error_cd.name = v + MG5UART_IRQ_RX_FRAME_ERROR;
- mg5uart_rx_overrun_error_cd.name = v + MG5UART_IRQ_RX_OVERRUN_ERROR;
- mg5uart_tx_empty_cd.name = v + MG5UART_IRQ_TX_EMPTY;
- mg5uart_tx_ready_cd.name = v + MG5UART_IRQ_TX_READY;
- mg5uart_rx_ready_cd.name = v + MG5UART_IRQ_RX_READY;
-
- mg5uart_rx_frame_error_cd.handle = (void *)mg5uart_rx_frame_error_cd.name;
- mg5uart_rx_overrun_error_cd.handle = (void *)mg5uart_rx_overrun_error_cd.name;
- mg5uart_tx_empty_cd.handle = (void *)mg5uart_tx_empty_cd.name;
- mg5uart_tx_ready_cd.handle = (void *)mg5uart_tx_ready_cd.name;
- mg5uart_rx_ready_cd.handle = (void *)mg5uart_rx_ready_cd.name;
-
-
- BSP_install_rtems_irq_handler( &mg5uart_rx_frame_error_cd );
- BSP_install_rtems_irq_handler( &mg5uart_rx_overrun_error_cd );
- BSP_install_rtems_irq_handler( &mg5uart_tx_empty_cd );
- BSP_install_rtems_irq_handler( &mg5uart_tx_ready_cd );
- BSP_install_rtems_irq_handler( &mg5uart_rx_ready_cd );
-
- mg5uart_enable_interrupts(minor, MG5UART_ENABLE_ALL_EXCEPT_TX);
-}
-
-/*
- * mg5uart_write_support_int
- *
- * Console Termios output entry point when using interrupt driven output.
- */
-MG5UART_STATIC int mg5uart_write_support_int(
- int minor,
- const char *buf,
- size_t len
-)
-{
- uint32_t pMG5UART_port;
-
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- /*
- * We are using interrupt driven output and termios only sends us
- * one character at a time.
- */
-
- if ( !len )
- return 0;
-
- /*
- * Put the character out and enable interrupts if necessary.
- */
-
- MG5UART_SETREG(pMG5UART_port, MG5UART_TX_BUFFER, *buf);
-
- if( Console_Port_Data[minor].bActive == FALSE )
- {
- Console_Port_Data[minor].bActive = TRUE;
- mg5uart_enable_interrupts(minor, MG5UART_ENABLE_ALL);
- }
-
- return 1;
-}
-
-
-
-
-/*
- * mg5uart_write_support_polled
- *
- * Console Termios output entry point when using polled output.
- *
- */
-
-MG5UART_STATIC ssize_t mg5uart_write_support_polled(
- int minor,
- const char *buf,
- size_t len
-)
-{
- int nwrite = 0;
-
- /*
- * poll each byte in the string out of the port.
- */
- while (nwrite < len)
- {
- mg5uart_write_polled(minor, *buf++);
- nwrite++;
- }
-
- /*
- * return the number of bytes written.
- */
- return nwrite;
-}
-
-/*
- * mg5uart_inbyte_nonblocking_polled
- *
- * Console Termios polling input entry point.
- */
-
-MG5UART_STATIC int mg5uart_inbyte_nonblocking_polled(
- int minor
-)
-{
- uint32_t pMG5UART;
- uint32_t pMG5UART_port;
- uint32_t status;
- uint32_t tmp,shift;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
- pMG5UART_port = Console_Port_Tbl[minor]->ulCtrlPort2;
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_IRQ_SHIFT;
- else
- shift = MONGOOSEV_UART1_IRQ_SHIFT;
-
- /* reset overrrun or framing errors */
- status = MG5UART_GETREG(pMG5UART, MG5UART_STATUS_REGISTER) >> shift;
-
- if( (tmp = (status & 0x3)) )
- {
- MG5UART_SETREG(pMG5UART, MG5UART_STATUS_REGISTER, (tmp << shift) );
- status = MG5UART_GETREG(pMG5UART, MG5UART_STATUS_REGISTER) >> shift;
- }
-
- if ( status & MONGOOSEV_UART_RX_READY )
- {
- return (int) MG5UART_GETREG(pMG5UART_port, MG5UART_RX_BUFFER);
- }
- else
- {
- return -1;
- }
-}
-
-/*
- * mg5uart_baud_rate
- */
-
-MG5UART_STATIC int mg5uart_baud_rate(
- int minor,
- uint32_t baud,
- uint32_t *code
-)
-{
- uint32_t clock;
- uint32_t tmp_code;
- uint32_t baud_requested;
-
- baud_requested = baud & CBAUD;
- if (!baud_requested)
- baud_requested = B9600; /* default to 9600 baud */
-
- baud_requested = rtems_termios_baud_to_number( baud_requested );
-
- clock = (uint32_t) Console_Port_Tbl[minor]->ulClock;
- if (!clock)
- rtems_fatal_error_occurred(RTEMS_INVALID_NUMBER);
-
- /*
- * Formula is Code = round(ClockFrequency / Baud - 1).
- *
- * Since this is integer math, we will divide by twice the baud and
- * check the remaining odd bit.
- */
-
- tmp_code = (clock / baud_requested) - 1;
-
- /*
- * From section 12.7, "Keep C>100 for best receiver operation."
- * That is 100 cycles which is not a lot of instructions. It is
- * reasonable to think that the Mongoose-V could not keep
- * up with C < 100.
- */
-
- if ( tmp_code < 100 )
- return RTEMS_INVALID_NUMBER;
-
- /*
- * upper word is receiver baud and lower word is transmitter baud
- */
-
- *code = (tmp_code << 16) | tmp_code;
-
- return 0;
-}
-
-
-
-
-/*
- * mg5uart_enable_interrupts
- *
- * This function enables specific interrupt sources on the DUART.
- */
-
-MG5UART_STATIC void mg5uart_enable_interrupts(
- int minor,
- int mask
-)
-{
- uint32_t pMG5UART;
- uint32_t maskSave;
- uint32_t shift;
- rtems_interrupt_level Irql;
-
- pMG5UART = Console_Port_Tbl[minor]->ulCtrlPort1;
-
- /*
- * Enable interrupts on RX and TX -- not break
- */
-
- if ( Console_Port_Tbl[minor]->ulDataPort == MG5UART_UART0 )
- shift = MONGOOSEV_UART0_IRQ_SHIFT;
- else
- shift = MONGOOSEV_UART1_IRQ_SHIFT;
-
-
- rtems_interrupt_disable(Irql);
-
- maskSave = MG5UART_GETREG( pMG5UART, MG5UART_INTERRUPT_MASK_REGISTER );
-
- MG5UART_SETREG(
- pMG5UART,
- MG5UART_INTERRUPT_MASK_REGISTER,
- (maskSave & ~(MONGOOSEV_UART_ALL_STATUS_BITS << shift)) | (mask << shift) );
-
- rtems_interrupt_enable(Irql);
-}
-
-
-
-/*
- * Flow control is only supported when using interrupts
- */
-
-const console_fns mg5uart_fns =
-{
- libchip_serial_default_probe, /* deviceProbe */
- mg5uart_open, /* deviceFirstOpen */
- NULL, /* deviceLastClose */
- NULL, /* deviceRead */
- mg5uart_write_support_int, /* deviceWrite */
- mg5uart_initialize_interrupts, /* deviceInitialize */
- mg5uart_write_polled, /* deviceWritePolled */
- mg5uart_set_attributes, /* deviceSetAttributes */
- TRUE /* deviceOutputUsesInterrupts */
-};
-
-const console_fns mg5uart_fns_polled =
-{
- libchip_serial_default_probe, /* deviceProbe */
- mg5uart_open, /* deviceFirstOpen */
- mg5uart_close, /* deviceLastClose */
- mg5uart_inbyte_nonblocking_polled, /* deviceRead */
- mg5uart_write_support_polled, /* deviceWrite */
- mg5uart_init, /* deviceInitialize */
- mg5uart_write_polled, /* deviceWritePolled */
- mg5uart_set_attributes, /* deviceSetAttributes */
- FALSE, /* deviceOutputUsesInterrupts */
-};
diff --git a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.h b/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.h
deleted file mode 100644
index b9e69f2..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _MG5UART_H_
-#define _MG5UART_H_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * This is the ASCII for "MG5U" which should be unique enough to
- * distinguish this type of serial device from others.
- */
-
-#define SERIAL_MG5UART 0x474D5535
-
-#define MG5UART_UART0 0
-#define MG5UART_UART1 1
-
-/*
- * These are just used in the interface between this driver and
- * the read/write register routines when accessing the first
- * control port. They are indices of registers from the bases.
- */
-
-/* shared registers from peripheral base (i.e. from ulCtrlPort1) */
-/*
-#define MG5UART_COMMAND_REGISTER 0
-#define MG5UART_STATUS_REGISTER 1
-#define MG5UART_INTERRUPT_CAUSE_REGISTER 2
-#define MG5UART_INTERRUPT_MASK_REGISTER 3
-*/
-
-#define MG5UART_COMMAND_REGISTER 0
-#define MG5UART_STATUS_REGISTER 0x04
-#define MG5UART_INTERRUPT_CAUSE_REGISTER 0x08
-#define MG5UART_INTERRUPT_MASK_REGISTER 0x0C
-
-/* port specific registers from uart base (i.e. from ulCtrlPort2) */
-#define MG5UART_RX_BUFFER 0
-#define MG5UART_TX_BUFFER 4
-#define MG5UART_BAUD_RATE 8
-
-/*
- * Interrupt mask values
- */
-
-#define MG5UART_ENABLE_ALL_EXCEPT_TX MONGOOSEV_UART_ALL_RX_STATUS_BITS
-
-/* all rx ints on, but only tx ready. no need to also int on tx empty */
-#define MG5UART_ENABLE_ALL (MONGOOSEV_UART_ALL_STATUS_BITS & ~MONGOOSEV_UART_TX_EMPTY)
-
-#define MG5UART_DISABLE_ALL 0x0000
-
-/*
- * Assume vectors are sequential.
- */
-
-#define MG5UART_IRQ_RX_FRAME_ERROR 0
-#define MG5UART_IRQ_RX_OVERRUN_ERROR 1
-#define MG5UART_IRQ_TX_EMPTY 2
-#define MG5UART_IRQ_TX_READY 3
-#define MG5UART_IRQ_RX_READY 4
-/*
- * Driver function table
- */
-
-extern const console_fns mg5uart_fns;
-extern const console_fns mg5uart_fns_polled;
-
-/*
- * Default register access routines
- */
-
-uint32_t mg5uart_get_register( /* registers are on 32-bit boundaries */
- uintptr_t ulCtrlPort, /* and accessed as word */
- uint32_t ucRegNum
-);
-
-void mg5uart_set_register(
- uintptr_t ulCtrlPort,
- uint32_t ucRegNum,
- uint32_t ucData
-);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MG5UART_H_ */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c b/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c
deleted file mode 100644
index 134695f..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/console/mg5uart_reg.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * This file contains a typical set of register access routines which may be
- * used with the mg5uart chip if accesses to the chip are as follows:
- *
- * + registers are accessed as uint32_t 's
- * + registers are only u32-aligned (no address gaps)
- *
- * COPYRIGHT (c) 1989-2001.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <rtems.h>
-
-#ifndef _MG5UART_MULTIPLIER
-#define _MG5UART_MULTIPLIER 1
-#define _MG5UART_NAME(_X) _X
-#define _MG5UART_TYPE uint32_t
-#endif
-
-#define CALCULATE_REGISTER_ADDRESS( _base, _reg ) \
- (_MG5UART_TYPE *)((_base) + ((_reg) * _MG5UART_MULTIPLIER ))
-
-/*
- * MG5UART Get Register Routine
- */
-
-uint8_t _MG5UART_NAME(mg5uart_get_register)(
- uint32_t ulCtrlPort,
- uint8_t ucRegNum
-)
-{
- _MG5UART_TYPE *port;
-
- port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum );
-
- return *port;
-}
-
-/*
- * MG5UART Set Register Routine
- */
-
-void _MG5UART_NAME(mg5uart_set_register)(
- uint32_t ulCtrlPort,
- uint8_t ucRegNum,
- uint8_t ucData
-)
-{
- _MG5UART_TYPE *port;
-
- port = CALCULATE_REGISTER_ADDRESS( ulCtrlPort, ucRegNum );
-
- *port = ucData;
-}
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/bsp.h b/c/src/lib/libbsp/mips/genmongoosev/include/bsp.h
deleted file mode 100644
index ba0738c..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/bsp.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * @file
- *
- * This include file contains some definitions specific to a board
- * based upon the generic capabilities of a Mongoose-V.
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef LIBBSP_MIPS_GENMONGOOSEV_BSP_H
-#define LIBBSP_MIPS_GENMONGOOSEV_BSP_H
-
-#include <bspopts.h>
-#include <bsp/default-initial-extension.h>
-
-#include <rtems.h>
-#include <rtems/iosupp.h>
-#include <rtems/console.h>
-#include <rtems/clockdrv.h>
-#include <bsp/mongoose-v.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define BSP_FEATURE_IRQ_EXTENSION
-#define BSP_SHARED_HANDLER_SUPPORT 1
-
-#ifndef CPU_CLOCK_RATE
-#define CLOCK_RATE 12000000
-#endif
-
-#define CPU_CLOCK_RATE_HZ CLOCK_RATE
-#define CPU_CLOCK_RATE_MHZ (CLOCK_RATE/1000000)
-
-/*
- * Useful defines set here so we can avoid duplicating them all over
- * creation.
- *
- */
-
-/*
- * assertSoftwareInt defined in vectorisrs.c the prototype is here so
- * userspace code can get to it directly.
- * */
-
-extern void assertSoftwareInterrupt(uint32_t);
-
-#define CLOCK_VECTOR MONGOOSEV_IRQ_TIMER1
-
-/* from start.S */
-extern void promCopyIcacheFlush(void);
-extern void promCopyDcacheFlush(void);
-
-/*
- * Called from user programs wanting to use the GDB stub.
- */
-void mg5rdbgCloseGDBuart(void);
-int mg5rdbgOpenGDBuart(int);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/irq.h b/c/src/lib/libbsp/mips/genmongoosev/include/irq.h
deleted file mode 100644
index 7cfca65..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/irq.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * @file
- *
- * @ingroup bsp_interrupt
- *
- * @brief interrupt definitions.
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef LIBBSP_MIPS_MONGOOSEV_IRQ_H
-#define LIBBSP_MIPS_MONGOOSEV_IRQ_H
-
-#ifndef ASM
- #include <rtems.h>
- #include <rtems/irq.h>
- #include <rtems/irq-extension.h>
- #include <rtems/score/mips.h>
-#endif
-
-/**
- * @addtogroup bsp_interrupt
- *
- * @{
- */
-
-/*
- * Interrupt Vector Numbers
- *
- * NOTE: IRQ INT5 is logical or of peripheral cause register
- * per p. 5-22 of Mongoose-V manual.
- */
-
-#define BSP_INTERRUPT_VECTOR_MIN 0
-#define MONGOOSEV_IRQ_INT0 MIPS_INTERRUPT_BASE+0
-#define MONGOOSEV_IRQ_TIMER1 MONGOOSEV_IRQ_INT0
-#define MONGOOSEV_IRQ_INT1 MIPS_INTERRUPT_BASE+1
-#define MONGOOSEV_IRQ_TIMER2 MONGOOSEV_IRQ_INT1
-#define MONGOOSEV_IRQ_INT2 MIPS_INTERRUPT_BASE+2
-#define MONGOOSEV_IRQ_INT3 MIPS_INTERRUPT_BASE+3
-#define MONGOOSEV_IRQ_FPU MONGOOSEV_IRQ_INT3
-
-#define MONGOOSEV_IRQ_INT4 MIPS_INTERRUPT_BASE+4
-
-/* MONGOOSEV_IRQ_INT5 indicates that a peripheral caused the IRQ. */
-#define MONGOOSEV_IRQ_PERIPHERAL_BASE MIPS_INTERRUPT_BASE+5
-#define MONGOOSEV_IRQ_XINT0 MONGOOSEV_IRQ_PERIPHERAL_BASE + 0
-#define MONGOOSEV_IRQ_XINT1 MONGOOSEV_IRQ_PERIPHERAL_BASE + 1
-#define MONGOOSEV_IRQ_XINT2 MONGOOSEV_IRQ_PERIPHERAL_BASE + 2
-#define MONGOOSEV_IRQ_XINT3 MONGOOSEV_IRQ_PERIPHERAL_BASE + 3
-#define MONGOOSEV_IRQ_XINT4 MONGOOSEV_IRQ_PERIPHERAL_BASE + 4
-#define MONGOOSEV_IRQ_XINT5 MONGOOSEV_IRQ_PERIPHERAL_BASE + 5
-#define MONGOOSEV_IRQ_XINT6 MONGOOSEV_IRQ_PERIPHERAL_BASE + 6
-#define MONGOOSEV_IRQ_XINT7 MONGOOSEV_IRQ_PERIPHERAL_BASE + 7
-#define MONGOOSEV_IRQ_XINT8 MONGOOSEV_IRQ_PERIPHERAL_BASE + 8
-#define MONGOOSEV_IRQ_XINT9 MONGOOSEV_IRQ_PERIPHERAL_BASE + 9
-#define MONGOOSEV_IRQ_RESERVED_BIT_10 MONGOOSEV_IRQ_PERIPHERAL_BASE + 10
-#define MONGOOSEV_IRQ_UART0_RX_FRAME_ERROR MONGOOSEV_IRQ_PERIPHERAL_BASE + 11
-#define MONGOOSEV_IRQ_UART0_RX_OVERRUN_ERROR MONGOOSEV_IRQ_PERIPHERAL_BASE + 12
-#define MONGOOSEV_IRQ_UART0_TX_EMPTY MONGOOSEV_IRQ_PERIPHERAL_BASE + 13
-#define MONGOOSEV_IRQ_UART0_TX_READY MONGOOSEV_IRQ_PERIPHERAL_BASE + 14
-#define MONGOOSEV_IRQ_UART0_RX_READY MONGOOSEV_IRQ_PERIPHERAL_BASE + 15
-#define MONGOOSEV_IRQ_RESERVED_BIT_16 MONGOOSEV_IRQ_PERIPHERAL_BASE + 16
-#define MONGOOSEV_IRQ_UART1_RX_FRAME_ERROR MONGOOSEV_IRQ_PERIPHERAL_BASE + 17
-#define MONGOOSEV_IRQ_UART1_RX_OVERRUN_ERROR MONGOOSEV_IRQ_PERIPHERAL_BASE + 18
-#define MONGOOSEV_IRQ_UART1_TX_EMPTY MONGOOSEV_IRQ_PERIPHERAL_BASE + 19
-#define MONGOOSEV_IRQ_UART1_TX_READY MONGOOSEV_IRQ_PERIPHERAL_BASE + 20
-#define MONGOOSEV_IRQ_UART1_RX_READY MONGOOSEV_IRQ_PERIPHERAL_BASE + 21
-#define MONGOOSEV_IRQ_READ_ACCESS_VIOLATION MONGOOSEV_IRQ_PERIPHERAL_BASE + 22
-#define MONGOOSEV_IRQ_WRITE_ACCESS_VIOLATION MONGOOSEV_IRQ_PERIPHERAL_BASE + 23
-#define MONGOOSEV_IRQ_RESERVED_24 MONGOOSEV_IRQ_PERIPHERAL_BASE + 24
-#define MONGOOSEV_IRQ_RESERVED_25 MONGOOSEV_IRQ_PERIPHERAL_BASE + 25
-#define MONGOOSEV_IRQ_RESERVED_26 MONGOOSEV_IRQ_PERIPHERAL_BASE + 26
-#define MONGOOSEV_IRQ_RESERVED_27 MONGOOSEV_IRQ_PERIPHERAL_BASE + 27
-#define MONGOOSEV_IRQ_RESERVED_28 MONGOOSEV_IRQ_PERIPHERAL_BASE + 28
-#define MONGOOSEV_IRQ_RESERVED_29 MONGOOSEV_IRQ_PERIPHERAL_BASE + 29
-#define MONGOOSEV_IRQ_UNCORRECTABLE_ERROR MONGOOSEV_IRQ_PERIPHERAL_BASE + 30
-#define MONGOOSEV_IRQ_CORRECTABLE_ERROR MONGOOSEV_IRQ_PERIPHERAL_BASE + 31
-
-#define MONGOOSEV_IRQ_SOFTWARE_1 MIPS_INTERRUPT_BASE+37
-#define MONGOOSEV_IRQ_SOFTWARE_2 MIPS_INTERRUPT_BASE+38
-#define MONGOOSEV_MAXIMUM_VECTORS MIPS_INTERRUPT_BASE+39
-
-#define BSP_INTERRUPT_VECTOR_MAX MONGOOSEV_MAXIMUM_VECTORS
-
-/** @} */
-
-#endif /* LIBBSP_MIPS_MONGOOSEV_IRQ_H */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/lr33000.h b/c/src/lib/libbsp/mips/genmongoosev/include/lr33000.h
deleted file mode 100644
index 348cfe8..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/lr33000.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* lr33000.h - LSI LR33000 CPU header */
-
-
-/*
-modification history
---------------------
-01c,22sep92,rrr added support for c++
-01b,20apr92,ajm added CR_DCAS for ethernet support
-01a,10feb92,ajm written for FCS
-*/
-
-#ifndef __INClr33000h
-#define __INClr33000h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _ASMLANGUAGE
-#define C0_DCIC $7 /* cache control */
-#define C0_BPC $3 /* breakpoint on instr */
-#define C0_BDA $5 /* breakpoint on data */
-#endif /* _ASMLANGUAGE */
-
-#define DEBUG_VECT 0x00000040
-#define K0_DEBUG_VECT (K0BASE+DEBUG_VECT)
-#define K1_DEBUG_VECT (K1BASE+DEBUG_VECT)
-
-/* definitions for Debug and Cache Invalidate control (DCIC) register bits */
-#define DCIC_TR 0x80000000 /* Trap enable */
-#define DCIC_UD 0x40000000 /* User debug enable */
-#define DCIC_KD 0x20000000 /* Kernel debug enable */
-#define DCIC_TE 0x10000000 /* Trace enable */
-#define DCIC_DW 0x08000000 /* Enable data breakpoints on write */
-#define DCIC_DR 0x04000000 /* Enable data breakpoints on read */
-#define DCIC_DAE 0x02000000 /* Enable data addresss breakpoints */
-#define DCIC_PCE 0x01000000 /* Enable instruction breakpoints */
-#define DCIC_DE 0x00800000 /* Debug enable */
-#define DCIC_DL 0x00008000 /* Data cache line invalidate */
-#define DCIC_IL 0x00004000 /* Instruction cache line invalidate */
-#define DCIC_D 0x00002000 /* Data cache invalidate enable */
-#define DCIC_I 0x00001000 /* Instr. cache invalidate enable */
-#define DCIC_T 0x00000020 /* Trace, set by CPU */
-#define DCIC_W 0x00000010 /* Write reference, set by CPU */
-#define DCIC_R 0x00000008 /* Read reference, set by CPU */
-#define DCIC_DA 0x00000004 /* Data address, set by CPU */
-#define DCIC_PC 0x00000002 /* Program counter, set by CPU */
-#define DCIC_DB 0x00000001 /* Debug, set by CPU */
-
-/* Define counter/timer register addresses */
-#define M_TIC1 0xfffe0000 /* timer 1 initial count */
-#define M_TC1 0xfffe0004 /* timer 1 control */
-#define M_TIC2 0xfffe0008 /* timer 2 initial count */
-#define M_TC2 0xfffe000c /* timer 2 control */
-#define M_RTIC 0xfffe0010 /* refresh timer */
-#define M_CFGREG 0xfffe0020 /* configuration reg */
-
-/* Definitions for counter/timer control register bits */
-#define TC_CE 0x00000004 /* count enable */
-#define TC_IE 0x00000002 /* interrupt enable (1 == enable) */
-#define TC_INT 0x00000001 /* interrupt acknowlege (0 == ack) */
-#define TCNT_MASK 0x00ffffff /* 24 bit timer mask */
-
-/* Definitions for Configuration register bits */
-#define CR_ICDISABLE 0x00800000 /* Instruction cache disable */
-#define CR_DCDISABLE 0x00400000 /* Data cache disable */
-#define CR_IBLK_2 0x00000000 /* Instruction cache block size */
-#define CR_IBLK_4 0x00100000 /* Instruction cache block size */
-#define CR_IBLK_8 0x00200000 /* Instruction cache block size */
-#define CR_IBLK_16 0x00300000 /* Instruction cache block size */
-#define CR_IBLKMSK 0x00300000 /* Instruction cache block size */
-#define CR_DBLK_2 0x00000000 /* Data cache block size */
-#define CR_DBLK_4 0x00040000 /* Data cache block size */
-#define CR_DBLK_8 0x00080000 /* Data cache block size */
-#define CR_DBLK_16 0x000c0000 /* Data cache block size */
-#define CR_DBLKMSK 0x000c0000 /* Data cache block size */
-#define CR_IODIS 0x00020000 /* Disable DRDY for I/O addresses */
-#define CR_IOWAITSHFT 13 /* I/O wait states */
-#define CR_PDIS 0x00001000 /* Disable DRDY for PROM addresses */
-#define CR_PWAITSHFT 8 /* PROM wait states */
-#define CR_DCAS 0x00000080 /* Define # cycles of DCAS */
-#define CR_DPEN 0x00000040 /* Enable parity check for DRAM */
-#define CR_RDYGEN 0x00000020 /* Disable DRDY for DRAM addresses */
-#define CR_BLKFDIS 0x00000010 /* Disable DRAM block refill */
-#define CR_RFSHEN 0x00000008 /* Enable refresh generator */
-#define CR_RASPCHG 0x00000004 /* Define RAS precharge */
-#define CR_CASLNTH 0x00000002 /* Define CAS active time */
-#define CR_DRAMEN 0x00000001 /* Enable DRAM controller */
-#define CR_PWT(x) ((x) << 8) /* memory wait states */
-#define CR_IOWT(x) ((x) << 13) /* io wait states */
-
-#define LR33000_DSIZE 0x400 /* Data cache = 1Kbytes */
-#define LR33000_ISIZE 0x2000 /* Instructrion cache = 8Kbytes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __INClr33000h */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/lr333x0.h b/c/src/lib/libbsp/mips/genmongoosev/include/lr333x0.h
deleted file mode 100644
index 17ada5d..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/lr333x0.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/* lr333x0.h - LSI LR333x0 CPU header */
-
-
-#ifndef __INClr333x0h
-#define __INClr333x0h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _ASMLANGUAGE
-#define C0_BPC $3 /* breakpoint on instr */
-#define C0_BDA $5 /* breakpoint on data */
-#define C0_TAR $6 /* target address register */
-#define C0_DCIC $7 /* cache control */
-#define C0_BDAM $9 /* breakpoint data addr mask */
-#define C0_BPCM $11 /* breakpoint instr addr mask */
-#else
-IMPORT int sysICsize; /* inst cache size defined in BSP */
-IMPORT int sysDCsize; /* data cache size defined in BSP */
-IMPORT BOOL sysICset0; /* inst cache set 0 present ? */
-#endif /* _ASMLANGUAGE */
-
-#define DEBUG_VECT 0x00000040
-#define K0_DEBUG_VECT (K0BASE+DEBUG_VECT)
-#define K1_DEBUG_VECT (K1BASE+DEBUG_VECT)
-
-/* Define register addresses */
-
-#define M_TIC1 0xfffe0000 /* timer 1 initial count */
-#define M_TC1 0xfffe0004 /* timer 1 control */
-#define M_TIC2 0xfffe0008 /* timer 2 initial count */
-#define M_TC2 0xfffe000c /* timer 2 control */
-#define M_RTIC 0xfffe0010 /* refresh timer */
-#define M_SRAM 0xfffe0100 /* SRAM config reg */
-#define M_SPEC0 0xfffe0104
-#define M_SPEC1 0xfffe0108
-#define M_SPEC2 0xfffe010c
-#define M_SPEC3 0xfffe0110
-#define M_DRAM 0xfffe0120 /* DRAM configuration */
-#define M_BIU 0xfffe0130 /* BIU/cache configuration */
-
-/* Definitions for Debug and Cache Invalidate control (DCIC) register bits */
-
-#define DCIC_TR 0x80000000 /* Trap enable */
-#define DCIC_UD 0x40000000 /* User debug enable */
-#define DCIC_KD 0x20000000 /* Kernel debug enable */
-#define DCIC_TE 0x10000000 /* Trace enable */
-#define DCIC_DW 0x08000000 /* Enable data breakpoints on write */
-#define DCIC_DR 0x04000000 /* Enable data breakpoints on read */
-#define DCIC_DAE 0x02000000 /* Enable data addresss breakpoints */
-#define DCIC_PCE 0x01000000 /* Enable instruction breakpoints */
-#define DCIC_DE 0x00800000 /* Debug enable */
-#define DCIC_T 0x00000020 /* Trace, set by CPU */
-#define DCIC_W 0x00000010 /* Write reference, set by CPU */
-#define DCIC_R 0x00000008 /* Read reference, set by CPU */
-#define DCIC_DA 0x00000004 /* Data address, set by CPU */
-#define DCIC_PC 0x00000002 /* Program counter, set by CPU */
-#define DCIC_DB 0x00000001 /* Debug, set by CPU */
-
-/* Definitions for counter/timer control register bits */
-
-#define TC_CE 0x00000004 /* count enable */
-#define TC_IE 0x00000002 /* interrupt enable (1 == enable) */
-#define TC_INT 0x00000001 /* interrupt acknowlege (0 == ack) */
-
-/* Definitions for Wait-state configuration register bits */
-
-#define SPC_INHIBITSHFT 24 /* Inhibit shift count */
-#define SPC_EXTGNT 0x00800000 /* External data ready */
-#define SPC_16WIDE 0x00400000 /* 16-bit wide memory */
-#define SPC_8WIDE 0x00200000 /* 8-bit wide memory */
-#define SPC_PENA 0x00100000 /* Parity enable */
-#define SPC_CACHED 0x00080000 /* Cache data */
-#define SPC_CSDLY_3 0x00060000 /* Select delay, 3 cycles */
-#define SPC_CSDLY_2 0x00040000 /* Select delay, 2 cycles */
-#define SPC_CSDLY_1 0x00020000 /* Select delay, 1 cycles */
-#define SPC_CSDLY_0 0x00000000 /* Select delay, 0 cycles */
-#define SPC_BLKENA 0x00010000 /* Block enable */
-#define SPC_BLKWAIT_7 0x0000e000 /* Block delay, 7 cycles */
-#define SPC_BLKWAIT_6 0x0000c000 /* Block delay, 6 cycles */
-#define SPC_BLKWAIT_5 0x0000a000 /* Block delay, 5 cycles */
-#define SPC_BLKWAIT_4 0x00008000 /* Block delay, 4 cycles */
-#define SPC_BLKWAIT_3 0x00006000 /* Block delay, 3 cycles */
-#define SPC_BLKWAIT_2 0x00004000 /* Block delay, 2 cycles */
-#define SPC_BLKWAIT_1 0x00002000 /* Block delay, 1 cycles */
-#define SPC_BLKWAIT_0 0x00000000 /* Block delay, 0 cycles */
-#define SPC_RECSHFT 7 /* Recovery time shift count */
-#define SPC_WAITENA 0x00000040 /* Wait-state generator enable */
-#define SPC_WAITSHFT 0 /* Wait shift count */
-
-/* Definitions for DRAM configuration register bits */
-
-#define DRAM_DLP1 0x10000000 /* Data latch in phase 1 */
-#define DRAM_SYNC 0x08000000 /* Sunchronous DRAM mode */
-#define DRAM_SCFG 0x04000000 /* Synchronous Configuration mode */
-#define DRAM_DMARDY 0x02000000 /* DMA ready */
-#define DRAM_DMABLK_64 0x01400000 /* DMA block refill size, 64 words */
-#define DRAM_DMABLK_32 0x01000000 /* DMA block refill size, 32 words */
-#define DRAM_DMABLK_16 0x00c00000 /* DMA block refill size, 16 words */
-#define DRAM_DMABLK_8 0x00800000 /* DMA block refill size, 8 words */
-#define DRAM_DMABLK_4 0x00400000 /* DMA block refill size, 4 words */
-#define DRAM_DMABLK_2 0x00000000 /* DMA block refill size, 2 words */
-#define DRAM_DPTH_8 0x00300000 /* CAS ready depth, 8 per cycle */
-#define DRAM_DPTH_4 0x00200000 /* CAS ready depth, 4 per cycle */
-#define DRAM_DPTH_2 0x00100000 /* CAS ready depth, 2 per cycle */
-#define DRAM_DPTH_1 0x00000000 /* CAS ready depth, 1 per cycle */
-#define DRAM_RDYW 0x00080000 /* Ready Wait */
-#define DRAM_PGSZ_2K 0x00070000 /* Page size, 2K words */
-#define DRAM_PGSZ_1K 0x00060000 /* Page size, 1K words */
-#define DRAM_PGSZ_512 0x00050000 /* Page size, 512 words */
-#define DRAM_PGSZ_256 0x00040000 /* Page size, 256 words */
-#define DRAM_PGSZ_128 0x00030000 /* Page size, 128 words */
-#define DRAM_PGSZ_64 0x00020000 /* Page size, 64 words */
-#define DRAM_PGSZ_32 0x00010000 /* Page size, 32 words */
-#define DRAM_PGSZ_16 0x00000000 /* Page size, 16 words */
-#define DRAM_PGMW 0x00008000 /* Page mode write enable */
-#define DRAM_RFWE_0 0x00004000 /* Refresh write enable mode, bit 1 */
-#define DRAM_RFWE_1 0x00002000 /* Refresh write enable mode, bit 0 */
-#define DRAM_RFEN 0x00001000 /* Internal refresh enable */
-#define DRAM_RDYEN 0x00000800 /* Internal ready generation */
-#define DRAM_BFD 0x00000400 /* Block fetch disable */
-#define DRAM_PE 0x00000200 /* Parity checking enable */
-#define DRAM_RPC_3 0x00000180 /* RAS precharge, 3 */
-#define DRAM_RPC_2 0x00000100 /* RAS precharge, 2 */
-#define DRAM_RPC_1 0x00000080 /* RAS precharge, 1 */
-#define DRAM_RPC_0 0x00000000 /* RAS precharge, 0 */
-#define DRAM_RCD_3 0x00000060 /* RAS to CAS delay, 3 */
-#define DRAM_RCD_2 0x00000040 /* RAS to CAS delay, 2 */
-#define DRAM_RCD_1 0x00000020 /* RAS to CAS delay, 1 */
-#define DRAM_RCD_0 0x00000000 /* RAS to CAS delay, 0 */
-#define DRAM_CS 0x00000010 /* CAS short */
-#define DRAM_CL_8_5 0x0000000f /* CAS length, 8.5 cycles */
-#define DRAM_CL_7_5 0x0000000c /* CAS length, 7.5 cycles*/
-#define DRAM_CL_6_5 0x0000000a /* CAS length, 6.5 cycles */
-#define DRAM_CL_5_5 0x00000008 /* CAS length, 5.5 cycles */
-#define DRAM_CL_4_5 0x00000006 /* CAS length, 4.5 cycles */
-#define DRAM_CL_3_5 0x00000004 /* CAS length, 3.5 cycles*/
-#define DRAM_CL_2_5 0x00000002 /* CAS length, 2.5 cycles */
-#define DRAM_CL_1_5 0x00000000 /* CAS length, 1.5 cycles */
-#define DRAM_DCE 0x00000001 /* DRAM controller enable */
-
-/* Definitions for BIU/cache configuration register bits */
-
-#define BIU_NOSTR 0x00020000 /* no instruction streaming */
-#define BIU_LDSCH 0x00010000 /* enable load scheduling */
-#define BIU_BGNT 0x00008000 /* enable bus grant */
-#define BIU_NOPAD 0x00004000 /* no wait state */
-#define BIU_RDPRI 0x00002000 /* enable read priority */
-#define BIU_INTP 0x00001000 /* interrupt polarity */
-#define BIU_IS1 0x00000800 /* enable Inst cache, set 1 */
-#define BIU_IS0 0x00000400 /* enable Inst cache, set 0 */
-#define BIU_IBLKSZ_16 0x00000300 /* Inst cache fill sz = 16 words */
-#define BIU_IBLKSZ_8 0x00000200 /* Inst cache fill sz = 8 words */
-#define BIU_IBLKSZ_4 0x00000100 /* Inst cache fill sz = 4 words */
-#define BIU_IBLKSZ_2 0x00000000 /* Inst cache fill sz = 2 words */
-#define BIU_DS 0x00000080 /* enable Data cache */
-#define BIU_DBLKSZ_16 0x00000030 /* Data cache fill sz = 16 words */
-#define BIU_DBLKSZ_8 0x00000020 /* Data cache fill sz = 8 words */
-#define BIU_DBLKSZ_4 0x00000010 /* Data cache fill sz = 4 words */
-#define BIU_DBLKSZ_2 0x00000000 /* Data cache fill sz = 2 words */
-#define BIU_RAM 0x00000008 /* scratchpad RAM */
-#define BIU_TAG 0x00000004 /* tag test mode */
-#define BIU_INV 0x00000002 /* invalidate mode */
-#define BIU_LOCK 0x00000001 /* lock mode */
-
-/* Definitions for cache sizes */
-
-#define LR33300_IC_SIZE 0x1000 /* 33300 Inst cache = 4Kbytes */
-#define LR33310_IC_SIZE 0x1000 /* 33310 Inst cache = 4Kbytes */
- /* Note: each set is 4Kbytes! */
-
-#define LR33300_DC_SIZE 0x800 /* 33300 Data cache = 2Kbytes */
-#define LR33310_DC_SIZE 0x1000 /* 33310 Data cache = 4Kbytes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __INClr333x0h */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/mongoose-v.h b/c/src/lib/libbsp/mips/genmongoosev/include/mongoose-v.h
deleted file mode 100644
index b8ded3d..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/mongoose-v.h
+++ /dev/null
@@ -1,306 +0,0 @@
-/**
- * @file
- *
- * MIPS Mongoose-V specific information
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef __MONGOOSEV_h
-#define __MONGOOSEV_h
-
-/*
- * Macros to assist in accessing memory mapped Mongoose registers
- */
-
-
-#define MONGOOSEV_READ( _base ) \
- ( *((volatile uint32_t*)(_base)) )
-
-#define MONGOOSEV_WRITE( _base, _value ) \
- ( *((volatile uint32_t*)(_base)) = (_value) )
-
-#define MONGOOSEV_READ_REGISTER( _base, _register ) \
- ( *((volatile uint32_t*)((_base) + (_register))) )
-
-#define MONGOOSEV_WRITE_REGISTER( _base, _register, _value ) \
- ( *((volatile uint32_t*)((_base) + (_register))) = (_value) )
-
-
-
-
-
-/*
- * Macros to read/write the Mongoose FPU control register.
- */
-
-
-
-
-/*
- * BIU and DRAM Registers
- */
-
-#define MONGOOSEV_BIU_CACHE_CONFIGURATION_REGISTER 0xFFFE0130
-#define MONGOOSEV_DRAM_CONFIGURATION_REGISTER 0xFFFE0120
-#define MONGOOSEV_REFRESH_TIMER_INITIAL_COUNTER_REGISTER 0xFFFE0010
-#define MONGOOSEV_WAIT_STATE_CONFIGURATION_REGISTER_BASE 0xFFFE0100
-
-/*
- * Peripheral Function Addresses
- *
- * NOTE: Status and Interrupt Cause use the same bits
- */
-
-#define MONGOOSEV_PERIPHERAL_COMMAND_REGISTER 0xFFFE0180
-#define MONGOOSEV_PERIPHERAL_STATUS_REGISTER 0xFFFE0184
-#define MONGOOSEV_PERIPHERAL_FUNCTION_INTERRUPT_CAUSE_REGISTER 0xFFFE0188
-#define MONGOOSEV_PERIPHERAL_FUNCTION_INTERRUPT_MASK_REGISTER 0xFFFE018C
-
-#define MONGOOSEV_WATCHDOG 0xBE000000
-
-/* UART Bits in Peripheral Command Register Bits (TX/RX tied together here) */
-#define MONGOOSEV_UART_CMD_RESET_BOTH_PORTS 0x0001
-#define MONGOOSEV_UART_CMD_LOOPBACK_CTSN 0x0002
-#define MONGOOSEV_UART_CMD_LOOPBACK_RXTX 0x0004
-
-#define MONGOOSEV_UART_CMD_RX_ENABLE 0x001
-#define MONGOOSEV_UART_CMD_RX_DISABLE 0x000
-#define MONGOOSEV_UART_CMD_TX_ENABLE 0x002
-#define MONGOOSEV_UART_CMD_TX_DISABLE 0x000
-#define MONGOOSEV_UART_CMD_TX_READY 0x004
-#define MONGOOSEV_UART_CMD_PARITY_ENABLE 0x008
-#define MONGOOSEV_UART_CMD_PARITY_DISABLE 0x000
-#define MONGOOSEV_UART_CMD_PARITY_EVEN 0x010
-#define MONGOOSEV_UART_CMD_PARITY_ODD 0x000
-
-#define MONGOOSEV_UART0_CMD_SHIFT 5
-#define MONGOOSEV_UART1_CMD_SHIFT 11
-
-#define MONGOOSEV_UART_CMD_TX_ENABLE_0 \
- (MONGOOSEV_UART_CMD_TX_ENABLE << MONGOOSEV_UART0_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_RX_ENABLE_0 \
- (MONGOOSEV_UART_CMD_RX_ENABLE << MONGOOSEV_UART0_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_TX_READY_0 \
- (MONGOOSEV_UART_CMD_TX_READY << MONGOOSEV_UART0_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_ENABLE_0 \
- (MONGOOSEV_UART_CMD_PARITY_ENABLE << MONGOOSEV_UART0_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_DISABLE_0 \
- (MONGOOSEV_UART_CMD_PARITY_DISABLE << MONGOOSEV_UART0_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_EVEN_0 \
- (MONGOOSEV_UART_CMD_PARITY_EVEN << MONGOOSEV_UART0_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_ODD_0 \
- (MONGOOSEV_UART_CMD_PARITY_ODD << MONGOOSEV_UART0_CMD_SHIFT)
-
-#define MONGOOSEV_UART_CMD_TX_ENABLE_1 \
- (MONGOOSEV_UART_CMD_TX_ENABLE << MONGOOSEV_UART1_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_RX_ENABLE_1 \
- (MONGOOSEV_UART_CMD_RX_ENABLE << MONGOOSEV_UART1_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_TX_READY_1 \
- (MONGOOSEV_UART_CMD_TX_READY << MONGOOSEV_UART1_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_ENABLE_1 \
- (MONGOOSEV_UART_CMD_PARITY_ENABLE << MONGOOSEV_UART1_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_DISABLE_1 \
- (MONGOOSEV_UART_CMD_PARITY_DISABLE << MONGOOSEV_UART1_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_EVEN_1 \
- (MONGOOSEV_UART_CMD_PARITY_EVEN << MONGOOSEV_UART1_CMD_SHIFT)
-#define MONGOOSEV_UART_CMD_PARITY_ODD_1 \
- (MONGOOSEV_UART_CMD_PARITY_ODD << MONGOOSEV_UART1_CMD_SHIFT)
-
-/* UART Bits in Peripheral Status and Interrupt Cause Register */
-#define MONGOOSEV_UART_RX_FRAME_ERROR 0x0001
-#define MONGOOSEV_UART_RX_OVERRUN_ERROR 0x0002
-#define MONGOOSEV_UART_TX_EMPTY 0x0004
-#define MONGOOSEV_UART_TX_READY 0x0008
-#define MONGOOSEV_UART_RX_READY 0x0010
-
-#define MONGOOSEV_UART_ALL_RX_STATUS_BITS 0x0013
-#define MONGOOSEV_UART_ALL_STATUS_BITS 0x001F
-
-/*
- * The Peripheral Interrupt Status, Cause, and Mask registers have the
- * same bit assignments although some revisions of the document have
- * the Cause and Status registers incorrect.
- */
-
-#define MONGOOSEV_UART0_IRQ_SHIFT 11
-#define MONGOOSEV_UART1_IRQ_SHIFT 17
-
-#define MONGOOSEV_UART_FRAME_ERROR_0 \
- (MONGOOSEV_UART_FRAME_ERROR << MONGOOSEV_UART0_IRQ_SHIFT)
-#define MONGOOSEV_UART_RX_OVERRUN_ERROR_0 \
- (MONGOOSEV_UART_RX_OVERRUN_ERROR << MONGOOSEV_UART0_IRQ_SHIFT)
-#define MONGOOSEV_UART_TX_EMPTY_0 \
- (MONGOOSEV_UART_TX_EMPTY << MONGOOSEV_UART0_IRQ_SHIFT)
-#define MONGOOSEV_UART_TX_READY_0 \
- (MONGOOSEV_UART_TX_READY << MONGOOSEV_UART0_IRQ_SHIFT)
-#define MONGOOSEV_UART_RX_READY_0 \
- (MONGOOSEV_UART_RX_READY << MONGOOSEV_UART0_IRQ_SHIFT)
-
-#define MONGOOSEV_UART_FRAME_ERROR_1 \
- (MONGOOSEV_UART_FRAME_ERROR << MONGOOSEV_UART1_IRQ_SHIFT)
-#define MONGOOSEV_UART_RX_OVERRUN_ERROR_1 \
- (MONGOOSEV_UART_RX_OVERRUN_ERROR << MONGOOSEV_UART1_IRQ_SHIFT)
-#define MONGOOSEV_UART_TX_EMPTY_1 \
- (MONGOOSEV_UART_TX_EMPTY << MONGOOSEV_UART1_IRQ_SHIFT)
-#define MONGOOSEV_UART_TX_READY_1 \
- (MONGOOSEV_UART_TX_READY << MONGOOSEV_UART1_IRQ_SHIFT)
-#define MONGOOSEV_UART_RX_READY_1 \
- (MONGOOSEV_UART_RX_READY << MONGOOSEV_UART1_IRQ_SHIFT)
-
-/*
- * Bits in the Peripheral Interrupt Mask Register
- */
-
-/*
-** Interrupt Status/Cause/Mask register bits - from 31 to 0
-*/
-#define MONGOOSEV_EDAC_SERR_BIT 0x80000000
-#define MONGOOSEV_EDAC_MERR_BIT 0x40000000
-/* 29 - 24 reserved */
-#define MONGOOSEV_MAVN_WRITE_ACCESS 0x00800000
-#define MONGOOSEV_MAVN_READ_ACCESS 0x00400000
-#define MONGOOSEV_UART_1_RX_READY 0x00200000
-#define MONGOOSEV_UART_1_TX_READY 0x00100000
-#define MONGOOSEV_UART_1_TX_EMPTY 0x00080000
-#define MONGOOSEV_UART_1_RX_OVERRUN 0x00040000
-#define MONGOOSEV_UART_1_FRAME_ERROR 0x00020000
-#define MONGOOSEV_RESERVED_16 0x00010000
-#define MONGOOSEV_UART_0_RX_READY 0x00008000
-#define MONGOOSEV_UART_0_TX_READY 0x00004000
-#define MONGOOSEV_UART_0_TX_EMPTY 0x00002000
-#define MONGOOSEV_UART_0_RX_OVERRUN 0x00001000
-#define MONGOOSEV_UART_0_FRAME_ERROR 0x00000800
-#define MONGOOSEV_RESERVED_10 0x00000400
-#define MONGOOSEV_EXTERN_INT_9 0x00000200
-#define MONGOOSEV_EXTERN_INT_8 0x00000100
-#define MONGOOSEV_EXTERN_INT_7 0x00000080
-#define MONGOOSEV_EXTERN_INT_6 0x00000040
-#define MONGOOSEV_EXTERN_INT_5 0x00000020
-#define MONGOOSEV_EXTERN_INT_4 0x00000010
-#define MONGOOSEV_EXTERN_INT_3 0x00000008
-#define MONGOOSEV_EXTERN_INT_2 0x00000004
-#define MONGOOSEV_EXTERN_INT_1 0x00000002
-#define MONGOOSEV_EXTERN_INT_0 0x00000001
-
-
-/*
-** Peripheral Command bits (non-uart, those are defined above)
-*/
-#define MONGOOSEV_COMMAND_ENABLE_EDAC MONGOOSEV_EDAC_SERR_BIT
-#define MONGOOSEV_COMMAND_OVERRIDE_EDAC MONGOOSEV_EDAC_MERR_BIT
-
-
-
-/*
- * EDAC Registers
- */
-
-#define MONGOOSEV_EDAC_ERROR_ADDRESS_REGISTER 0xFFFE0190
-#define MONGOOSEV_EDAC_PARITY_TEST_MODE_REGISTER 0xFFFE0194
-
-/*
- * MAVN Registers
- */
-
-#define MONGOOSEV_MAVN_TEST_REGISTER 0xFFFE01B4
-#define MONGOOSEV_MAVN_ACCESS_PRIVILEGE_REGISTER 0xFFFE01B8
-#define MONGOOSEV_MAVN_ACCESS_VIOLATION_REGISTER 0xFFFE01BC
-#define MONGOOSEV_MAVN_RANGE_0_REGISTER 0xFFFE01C0
-#define MONGOOSEV_MAVN_RANGE_1_REGISTER 0xFFFE01C4
-#define MONGOOSEV_MAVN_RANGE_2_REGISTER 0xFFFE01C8
-#define MONGOOSEV_MAVN_RANGE_3_REGISTER 0xFFFE01CC
-#define MONGOOSEV_MAVN_RANGE_4_REGISTER 0xFFFE01D0
-#define MONGOOSEV_MAVN_RANGE_5_REGISTER 0xFFFE01D4
-#define MONGOOSEV_MAVN_RANGE_6_REGISTER 0xFFFE01D8
-#define MONGOOSEV_MAVN_RANGE_7_REGISTER 0xFFFE01DC
-
-/*
- * Timer Base Addresses, Offsets, and Values
- */
-
-#define MONGOOSEV_TIMER1_BASE 0xFFFE0000
-#define MONGOOSEV_TIMER2_BASE 0xFFFE0008
-
-#define MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER 0
-#define MONGOOSEV_TIMER_CONTROL_REGISTER 4
-
-/* Timer Control Register Constants */
-#define MONGOOSEV_TIMER_CONTROL_COUNTER_ENABLE 0x04
-#define MONGOOSEV_TIMER_CONTROL_INTERRUPT_ENABLE 0x02
-#define MONGOOSEV_TIMER_CONTROL_TIMEOUT 0x01
-
-/*
- * UART Base Addresses and Offsets
- *
- * Many bits in the peripheral command register are UART related
- * and the bits are defined there.
- */
-
-#define MONGOOSEV_UART0_BASE 0xFFFE01E8
-#define MONGOOSEV_UART1_BASE 0xFFFE01F4
-
-#define MONGOOSEV_RX_BUFFER 0
-#define MONGOOSEV_TX_BUFFER 4
-#define MONGOOSEV_BAUD_RATE 8
-
-
-/*
- * Status Register Bits
- */
-
-#define SR_CUMASK 0xf0000000 /* coproc usable bits */
-#define SR_CU3 0x80000000 /* Coprocessor 3 usable */
-#define SR_CU2 0x40000000 /* Coprocessor 2 usable */
-#define SR_CU1 0x20000000 /* Coprocessor 1 usable */
-#define SR_CU0 0x10000000 /* Coprocessor 0 usable */
-#define SR_BEV 0x00400000 /* use boot exception vectors */
-#define SR_TS 0x00200000 /* TLB shutdown */
-#define SR_PE 0x00100000 /* cache parity error */
-#define SR_CM 0x00080000 /* cache miss */
-#define SR_PZ 0x00040000 /* cache parity zero */
-#define SR_SWC 0x00020000 /* swap cache */
-#define SR_ISC 0x00010000 /* Isolate data cache */
-#define SR_IMASK 0x0000ff00 /* Interrupt mask */
-#define SR_IMASK8 0x00000000 /* mask level 8 */
-#define SR_IMASK7 0x00008000 /* mask level 7 */
-#define SR_IMASK6 0x0000c000 /* mask level 6 */
-#define SR_IMASK5 0x0000e000 /* mask level 5 */
-#define SR_IMASK4 0x0000f000 /* mask level 4 */
-#define SR_IMASK3 0x0000f800 /* mask level 3 */
-#define SR_IMASK2 0x0000fc00 /* mask level 2 */
-#define SR_IMASK1 0x0000fe00 /* mask level 1 */
-#define SR_IMASK0 0x0000ff00 /* mask level 0 */
-
-#define SR_IBIT8 0x00008000 /* bit level 8 */
-#define SR_IBIT7 0x00004000 /* bit level 7 */
-#define SR_IBIT6 0x00002000 /* bit level 6 */
-#define SR_IBIT5 0x00001000 /* bit level 5 */
-#define SR_IBIT4 0x00000800 /* bit level 4 */
-#define SR_IBIT3 0x00000400 /* bit level 3 */
-#define SR_IBIT2 0x00000200 /* bit level 2 */
-#define SR_IBIT1 0x00000100 /* bit level 1 */
-
-#define SR_KUO 0x00000020 /* old kernel/user, 0 => k, 1 => u */
-#define SR_IEO 0x00000010 /* old interrupt enable, 1 => enable */
-#define SR_KUP 0x00000008 /* prev kernel/user, 0 => k, 1 => u */
-#define SR_IEP 0x00000004 /* prev interrupt enable, 1 => enable */
-#define SR_KUC 0x00000002 /* cur kernel/user, 0 => k, 1 => u */
-#define SR_IEC 0x00000001 /* cur interrupt enable, 1 => enable */
-#define SR_KUMSK (SR_KUO|SR_IEO|SR_KUP|SR_IEP|SR_KUC|SR_IEC)
-
-#define SR_IMASKSHIFT 8
-
-
-
-#define MONGOOSEV_IC_SIZE 0x1000 /* instruction cache = 4Kbytes */
-#define MONGOOSEV_DC_SIZE 0x800 /* data cache 2Kbytes */
-
-#endif
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/r3000.h b/c/src/lib/libbsp/mips/genmongoosev/include/r3000.h
deleted file mode 100644
index 0d0670a..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/r3000.h
+++ /dev/null
@@ -1,229 +0,0 @@
-/* r3000.h - mips R3k architecture header file */
-
-/*
-* Copyright 1985-1997 by MIPS Computer Systems, Inc.
-*/
-
-/*
-modification history
---------------------
-01k,17jan96,kkk made MINCACHE 512 (spr# 7556)
-01j,13jan96,kkk undid 01i.
-01i,18dec96,tam enabled FP exceptions via FP_TASK_STATUS (spr #7665).
-01h,13sep93,caf fixed K2SIZE (SPR #1880).
-01g,22sep92,rrr added support for c++
-01f,02jun92,ajm the 5.0.5 merge
-01e,26may92,rrr the tree shuffle
-01d,04oct91,rrr passed through the ansification filter
- -changed copyright notice
-01c,23jul91,ajm changed default fp status register to all exceptions
- off forcing the user to enable exceptions for signals
- Enable FPA interrupt to tasks
-01b,08jul91,ajm added SR_KUMSK for exception handling
-01a,21feb91,ajm written.
-*/
-
-#ifndef __INCr3000h
-#define __INCr3000h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-* Segment base addresses and sizes
-*/
-
-#define K0BASE 0x80000000
-#define K0SIZE 0x20000000
-#define K1BASE 0xA0000000
-#define K1SIZE 0x20000000
-#define K2BASE 0xC0000000
-#define K2SIZE 0x40000000
-
-/*
-* Exception vectors
-*/
-
-#define UT_VEC K0BASE /* utlbmiss vector */
-#define E_VEC (K0BASE+0x80) /* exception vector */
-#define R_VEC (K1BASE+0x1fc00000) /* reset vector */
-
-/*
- * Address conversion macros
- */
-
-#define K0_TO_K1(x) ((unsigned)(x)|0xA0000000) /* kseg0 to kseg1 */
-#define K1_TO_K0(x) ((unsigned)(x)&0x9FFFFFFF) /* kseg1 to kseg0 */
-#define K0_TO_PHYS(x) ((unsigned)(x)&0x1FFFFFFF) /* kseg0 to physical */
-#define K1_TO_PHYS(x) ((unsigned)(x)&0x1FFFFFFF) /* kseg1 to physical */
-#define PHYS_TO_K0(x) ((unsigned)(x)|0x80000000) /* physical to kseg0 */
-#define PHYS_TO_K1(x) ((unsigned)(x)|0xA0000000) /* physical to kseg1 */
-
-/*
-* Address predicates
-*/
-
-#define IS_KSEG0(x) ((unsigned)(x) >= K0BASE && (unsigned)(x) < K1BASE)
-#define IS_KSEG1(x) ((unsigned)(x) >= K1BASE && (unsigned)(x) < K2BASE)
-#define IS_KUSEG(x) ((unsigned)(x) < K0BASE)
-
-/*
-* Cache size constants
-*/
-
-#define MINCACHE +(1*512) /* leading plus for mas's benefit */
-#define MAXCACHE +(256*1024) /* leading plus for mas's benefit */
-
-/*
-* Cause bit definitions
-*/
-
-#define CAUSE_BD 0x80000000 /* Branch delay slot */
-#define CAUSE_CEMASK 0x30000000 /* coprocessor error */
-#define CAUSE_CESHIFT 28
-
-#define CAUSE_IP8 0x00008000 /* External level 8 pending */
-#define CAUSE_IP7 0x00004000 /* External level 7 pending */
-#define CAUSE_IP6 0x00002000 /* External level 6 pending */
-#define CAUSE_IP5 0x00001000 /* External level 5 pending */
-#define CAUSE_IP4 0x00000800 /* External level 4 pending */
-#define CAUSE_IP3 0x00000400 /* External level 3 pending */
-#define CAUSE_SW2 0x00000200 /* Software level 2 pending */
-#define CAUSE_SW1 0x00000100 /* Software level 1 pending */
-
-#define CAUSE_IPMASK 0x0000FF00 /* Pending interrupt mask */
-#define CAUSE_IPSHIFT 8
-
-#define CAUSE_EXCMASK 0x0000003C /* Cause code bits */
-#define CAUSE_EXCSHIFT 2
-
-/*
-* Status definition bits
-*/
-
-#define SR_CUMASK 0xf0000000 /* coproc usable bits */
-#define SR_CU3 0x80000000 /* Coprocessor 3 usable */
-#define SR_CU2 0x40000000 /* Coprocessor 2 usable */
-#define SR_CU1 0x20000000 /* Coprocessor 1 usable */
-#define SR_CU0 0x10000000 /* Coprocessor 0 usable */
-#define SR_BEV 0x00400000 /* use boot exception vectors */
-#define SR_TS 0x00200000 /* TLB shutdown */
-#define SR_PE 0x00100000 /* cache parity error */
-#define SR_CM 0x00080000 /* cache miss */
-#define SR_PZ 0x00040000 /* cache parity zero */
-#define SR_SWC 0x00020000 /* swap cache */
-#define SR_ISC 0x00010000 /* Isolate data cache */
-#define SR_IMASK 0x0000ff00 /* Interrupt mask */
-#define SR_IMASK8 0x00000000 /* mask level 8 */
-#define SR_IMASK7 0x00008000 /* mask level 7 */
-#define SR_IMASK6 0x0000c000 /* mask level 6 */
-#define SR_IMASK5 0x0000e000 /* mask level 5 */
-#define SR_IMASK4 0x0000f000 /* mask level 4 */
-#define SR_IMASK3 0x0000f800 /* mask level 3 */
-#define SR_IMASK2 0x0000fc00 /* mask level 2 */
-#define SR_IMASK1 0x0000fe00 /* mask level 1 */
-#define SR_IMASK0 0x0000ff00 /* mask level 0 */
-
-#define SR_IBIT8 0x00008000 /* bit level 8 */
-#define SR_IBIT7 0x00004000 /* bit level 7 */
-#define SR_IBIT6 0x00002000 /* bit level 6 */
-#define SR_IBIT5 0x00001000 /* bit level 5 */
-#define SR_IBIT4 0x00000800 /* bit level 4 */
-#define SR_IBIT3 0x00000400 /* bit level 3 */
-#define SR_IBIT2 0x00000200 /* bit level 2 */
-#define SR_IBIT1 0x00000100 /* bit level 1 */
-
-#define SR_KUO 0x00000020 /* old kernel/user, 0 => k, 1 => u */
-#define SR_IEO 0x00000010 /* old interrupt enable, 1 => enable */
-#define SR_KUP 0x00000008 /* prev kernel/user, 0 => k, 1 => u */
-#define SR_IEP 0x00000004 /* prev interrupt enable, 1 => enable */
-#define SR_KUC 0x00000002 /* cur kernel/user, 0 => k, 1 => u */
-#define SR_IEC 0x00000001 /* cur interrupt enable, 1 => enable */
-#define SR_KUMSK (SR_KUO|SR_IEO|SR_KUP|SR_IEP|SR_KUC|SR_IEC)
-
-#define SR_IMASKSHIFT 8
-
-/*
-* fpa definitions
-*/
-
-#define FP_ROUND 0x3 /* r3010 round mode mask */
-#define FP_STICKY 0x7c /* r3010 sticky bits mask */
-#define FP_ENABLE 0xf80 /* r3010 enable mode mask */
-#define FP_EXC 0x3f000 /* r3010 exception mask */
-
-#define FP_ROUND_N 0x0 /* round to nearest */
-#define FP_ROUND_Z 0x1 /* round to zero */
-#define FP_ROUND_P 0x2 /* round to + infinity */
-#define FP_ROUND_M 0x3 /* round to - infinity */
-
-#define FP_STICKY_I 0x4 /* sticky inexact operation */
-#define FP_STICKY_U 0x8 /* sticky underflow */
-#define FP_STICKY_O 0x10 /* sticky overflow */
-#define FP_STICKY_Z 0x20 /* sticky divide by zero */
-#define FP_STICKY_V 0x40 /* sticky invalid operation */
-
-#define FP_ENABLE_I 0x80 /* enable inexact operation */
-#define FP_ENABLE_U 0x100 /* enable underflow exc */
-#define FP_ENABLE_O 0x200 /* enable overflow exc */
-#define FP_ENABLE_Z 0x400 /* enable divide by zero exc */
-#define FP_ENABLE_V 0x800 /* enable invalid operation exc */
-
-#define FP_EXC_I 0x1000 /* inexact operation */
-#define FP_EXC_U 0x2000 /* underflow */
-#define FP_EXC_O 0x4000 /* overflow */
-#define FP_EXC_Z 0x8000 /* divide by zero */
-#define FP_EXC_V 0x10000 /* invalid operation */
-#define FP_EXC_E 0x20000 /* unimplemented operation */
-
-#define FP_COND 0x800000 /* condition bit */
-
-#define FP_EXC_SHIFT 12
-#define FP_ENABLE_SHIFT 7
-#define FP_EXC_MASK (FP_EXC_I|FP_EXC_U|FP_EXC_O|FP_EXC_Z|FP_EXC_V|FP_EXC_E)
-#define FP_ENABLE_MASK (FP_ENABLE_I|FP_ENABLE_U|FP_ENABLE_O|FP_ENABLE_Z| \
- FP_ENABLE_V)
-#define FP_TASK_STATUS 0x0 /* all FP exceptions are disabled
- (see fppAlib.s and spr #7665) */
-
-/*
-* tlb definitions
-*/
-
-#define TLB_ENTRIES 64
-#define TLBLO_PFNMASK 0xfffff000
-#define TLBLO_PFNSHIFT 12
-#define TLBLO_N 0x800 /* non-cacheable */
-#define TLBLO_D 0x400 /* writeable */
-#define TLBLO_V 0x200 /* valid bit */
-#define TLBHI_VPNMASK 0xfffff000
-#define TLBHI_VPNSHIFT 12
-#define TLBHI_PIDMASK 0xfc0
-#define TLBHI_PIDSHIFT 6
-#define TLBHI_NPID 64
-#define TLBINX_PROBE 0x80000000
-#define TLBINX_INXMASK 0x00003f00
-#define TLBINX_INXSHIFT 8
-#define TLBRAND_RANDMASK 0x00003f00
-#define TLBRAND_RANDSHIFT 8
-#define TLBCTXT_BASEMASK 0xffe00000
-#define TLBCTXT_BASESHIFT 21
-#define TLBCTXT_VPNMASK 0x001ffffc
-#define TLBCTXT_VPNSHIFT 2
-
-/*
-* Coprocessor 0 operations
-*/
-
-#define C0_READI 0x1 /* read ITLB entry addressed by C0_INDEX */
-#define C0_WRITEI 0x2 /* write ITLB entry addressed by C0_INDEX */
-#define C0_WRITER 0x6 /* write ITLB entry addressed by C0_RAND */
-#define C0_PROBE 0x8 /* probe for ITLB entry addressed by TLBHI */
-#define C0_RFE 0x10 /* restore for exception */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __INCr3000h */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/include/tm27.h b/c/src/lib/libbsp/mips/genmongoosev/include/tm27.h
deleted file mode 100644
index 8c2dd5e..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/include/tm27.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * @file
- */
-
-/*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#ifndef _RTEMS_TMTEST27
-#error "This is an RTEMS internal file you must not include directly."
-#endif
-
-#ifndef __tm27_h
-#define __tm27_h
-
-/*
- * Define the interrupt mechanism for Time Test 27
- */
-
-#include <bsp/irq.h>
-
-#define MUST_WAIT_FOR_INTERRUPT 1
-
-#define Install_tm27_vector( handler ) \
- rtems_interrupt_handler_install( \
- MONGOOSEV_IRQ_SOFTWARE_1, "benchmark", 0, \
- (rtems_interrupt_handler)handler, NULL );
-
-#define Cause_tm27_intr() assertSoftwareInterrupt(0);
-
-#define Clear_tm27_intr() /* empty */
-#define Lower_tm27_intr() /* empty */
-
-#endif
diff --git a/c/src/lib/libbsp/mips/genmongoosev/irq/vectorisrs.c b/c/src/lib/libbsp/mips/genmongoosev/irq/vectorisrs.c
deleted file mode 100644
index b7210f7..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/irq/vectorisrs.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * @file
- *
- * ISR Vectoring support for the Synova Mongoose-V.
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <rtems.h>
-#include <stdlib.h>
-#include <bsp/mongoose-v.h>
-
-#include <rtems/mips/iregdef.h>
-#include <rtems/mips/idtcpu.h>
-#include <rtems/irq.h>
-#include <bsp/irq.h>
-#include <bsp/irq-generic.h>
-
-#include <rtems/bspIo.h> /* for printk */
-
-int mips_default_isr( int vector );
-int assertSoftwareInterrupt( uint32_t n );
-void mips_vector_isr_handlers( CPU_Interrupt_frame *frame );
-
-int mips_default_isr( int vector )
-{
- unsigned int sr, sr2;
- unsigned int cause;
-
- mips_get_sr( sr );
- mips_get_cause( cause );
-
- sr2 = sr & ~0xffff;
- mips_set_sr(sr2);
-
- printk( "Unhandled isr exception: vector 0x%02x, cause 0x%08X, sr 0x%08X\n", vector, cause, sr );
- rtems_fatal_error_occurred(1);
- return 0;
-}
-
-/* userspace routine to assert either software interrupt */
-
-int assertSoftwareInterrupt( uint32_t n )
-{
- if( n<2 )
- {
- uint32_t c;
-
- mips_get_cause(c);
- c = ((n+1) << CAUSE_IPSHIFT);
- mips_set_cause(c);
-
- return n;
- }
- else return -1;
-}
-
-
-/*
- * Instrumentation tweaks for isr timing measurement, turning them off
- * via this #if will remove the code entirely from the RTEMS kernel.
- */
-
-#if 0
-#define SET_ISR_FLAG( offset ) *((uint32_t*)(0x8001e000+offset)) = 1;
-#define CLR_ISR_FLAG( offset ) *((uint32_t*)(0x8001e000+offset)) = 0;
-#else
-#define SET_ISR_FLAG( offset )
-#define CLR_ISR_FLAG( offset )
-#endif
-
-
-
-
-
-
-static volatile uint32_t _ivcause, _ivsr;
-
-
-static uint32_t READ_CAUSE(void)
-{
- mips_get_cause( _ivcause );
- _ivcause &= SR_IMASK; /* mask off everything other than the interrupt bits */
-
- return ((_ivcause & (_ivsr & SR_IMASK)) >> CAUSE_IPSHIFT);
-}
-
-
-
-/*
- * This rather strangely coded routine enforces an interrupt priority
- * scheme. As it runs thru finding whichever interrupt caused it to get
- * here, it test for other interrupts arriving in the meantime (maybe it
- * occured while the vector code is executing for instance). Each new
- * interrupt will be served in order of its priority. In an effort to
- * minimize overhead, the cause register is only fetched after an
- * interrupt is serviced. Because of the intvect goto's, this routine
- * will only exit when all interrupts have been serviced and no more
- * have arrived, this improves interrupt latency at the cost of
- * increasing scheduling jitter; though scheduling jitter should only
- * become apparent in high interrupt load conditions.
- */
-void mips_vector_isr_handlers( CPU_Interrupt_frame *frame )
-{
- uint32_t cshifted;
-
- /* mips_get_sr( sr ); */
- _ivsr = frame->c0_sr;
-
- cshifted = READ_CAUSE();
-
- intvect:
-
- if( cshifted & 0x3 )
- {
- /* making the software interrupt the highest priority is kind of
- * stupid, but it makes the bit testing lots easier. On the other
- * hand, these ints are infrequently used and the testing overhead
- * is minimal. Who knows, high-priority software ints might be
- * handy in some situation.
- */
-
- /* unset both software int cause bits */
- mips_set_cause( _ivcause & ~(3 << CAUSE_IPSHIFT) );
-
- if ( cshifted & 0x01 ) /* SW[0] */
- {
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_SOFTWARE_1 );
- }
- if ( cshifted & 0x02 ) /* SW[1] */
- {
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_SOFTWARE_2 );
- }
- cshifted = READ_CAUSE();
- }
-
-
- if ( cshifted & 0x04 ) /* IP[0] ==> INT0 == TIMER1 */
- {
- SET_ISR_FLAG( 0x4 );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_TIMER1 );
- CLR_ISR_FLAG( 0x4 );
- if( (cshifted = READ_CAUSE()) & 0x3 ) goto intvect;
- }
-
- if ( cshifted & 0x08 ) /* IP[1] ==> INT1 == TIMER2*/
- {
- SET_ISR_FLAG( 0x8 );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_TIMER2 );
- CLR_ISR_FLAG( 0x8 );
- if( (cshifted = READ_CAUSE()) & 0x7 ) goto intvect;
- }
-
- if ( cshifted & 0x10 ) /* IP[2] ==> INT2 */
- {
- SET_ISR_FLAG( 0x10 );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_INT2 );
- CLR_ISR_FLAG( 0x10 );
- if( (cshifted = READ_CAUSE()) & 0xf ) goto intvect;
- }
-
- if ( cshifted & 0x20 ) /* IP[3] ==> INT3 == FPU interrupt */
- {
- SET_ISR_FLAG( 0x20 );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_INT3 );
- CLR_ISR_FLAG( 0x20 );
- if( (cshifted = READ_CAUSE()) & 0x1f ) goto intvect;
- }
-
- if ( cshifted & 0x40 ) /* IP[4] ==> INT4, external interrupt */
- {
- SET_ISR_FLAG( 0x40 );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_INT4 );
- CLR_ISR_FLAG( 0x40 );
- if( (cshifted = READ_CAUSE()) & 0x3f ) goto intvect;
- }
-
- if ( cshifted & 0x80 ) /* IP[5] ==> INT5, peripheral interrupt */
- {
- uint32_t bit;
- uint32_t pf_icr, pf_mask, pf_reset = 0;
- uint32_t i, m;
-
- pf_icr = MONGOOSEV_READ( MONGOOSEV_PERIPHERAL_FUNCTION_INTERRUPT_CAUSE_REGISTER );
-
-/*
- for (bit=0, pf_mask = 1; bit < 32; bit++, pf_mask <<= 1 )
- {
- if ( pf_icr & pf_mask )
- {
- SET_ISR_FLAG( 0x80 + (bit*4) );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_PERIPHERAL_BASE + bit );
- CLR_ISR_FLAG( 0x80 + (bit*4) );
- pf_reset |= pf_mask;
- if( (cshifted = READ_CAUSE()) & 0xff ) break;
- }
- }
-*/
-
- /*
- * iterate thru 32 bits in 4 chunks of 8 bits each. This lets us
- * quickly get past unasserted interrupts instead of flogging our
- * way thru a full 32 bits. pf_mask shifts left 8 bits at a time
- * to serve as a interrupt cause test mask.
- */
- for( bit=0, pf_mask = 0xff; (bit < 32 && pf_icr); (bit+=8, pf_mask <<= 8) )
- {
- if ( pf_icr & pf_mask )
- {
- /* one or more of the 8 bits we're testing is high */
-
- m = (1 << bit);
-
- /* iterate thru the 8 bits, servicing any of the interrupts */
- for(i=0; (i<8 && pf_icr); (i++, m <<= 1))
- {
- if( pf_icr & m )
- {
- SET_ISR_FLAG( 0x80 + ((bit + i) * 4) );
- bsp_interrupt_handler_dispatch( MONGOOSEV_IRQ_PERIPHERAL_BASE + bit + i );
- CLR_ISR_FLAG( 0x80 + ((bit + i) * 4) );
-
- /* or each serviced interrupt into our interrupt clear mask */
- pf_reset |= m;
-
- /* xor off each int we service so we can immediately
- * exit once we get the last one
- */
- pf_icr %= m;
-
- /* if another interrupt has arrived, jump out right
- * away but be sure to reset all the interrupts we've
- * already serviced
- */
- if( READ_CAUSE() & 0xff ) goto pfexit;
- }
- }
- }
- }
- pfexit:
- MONGOOSEV_WRITE( MONGOOSEV_PERIPHERAL_STATUS_REGISTER, pf_reset );
- }
-
- /*
- * this is a last ditch interrupt check, if an interrupt arrives
- * after this step, servicing it will incur the entire interrupt
- * overhead cost.
- */
- if( (cshifted = READ_CAUSE()) & 0xff ) goto intvect;
-}
diff --git a/c/src/lib/libbsp/mips/genmongoosev/make/custom/genmongoosev.cfg b/c/src/lib/libbsp/mips/genmongoosev/make/custom/genmongoosev.cfg
deleted file mode 100644
index e2e1bd4..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/make/custom/genmongoosev.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Config file for "generic" Mongoose-V board
-#
-
-include $(RTEMS_ROOT)/make/custom/default.cfg
-
-RTEMS_CPU=mips
-RTEMS_CPU_MODEL=mongoosev
-
-# This contains the compiler options necessary to select the CPU model
-# and (hopefully) optimize for it.
-#
-CPU_CFLAGS = -mips1 -G0
-
-# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g
diff --git a/c/src/lib/libbsp/mips/genmongoosev/preinstall.am b/c/src/lib/libbsp/mips/genmongoosev/preinstall.am
deleted file mode 100644
index e5988a4..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/preinstall.am
+++ /dev/null
@@ -1,103 +0,0 @@
-## Automatically generated by ampolish3 - Do not edit
-
-if AMPOLISH3
-$(srcdir)/preinstall.am: Makefile.am
- $(AMPOLISH3) $(srcdir)/Makefile.am > $(srcdir)/preinstall.am
-endif
-
-PREINSTALL_DIRS =
-DISTCLEANFILES += $(PREINSTALL_DIRS)
-
-all-am: $(PREINSTALL_FILES)
-
-PREINSTALL_FILES =
-CLEANFILES = $(PREINSTALL_FILES)
-
-all-local: $(TMPINSTALL_FILES)
-
-TMPINSTALL_FILES =
-CLEANFILES += $(TMPINSTALL_FILES)
-
-$(PROJECT_LIB)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_LIB)
- @: > $(PROJECT_LIB)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)
- @: > $(PROJECT_INCLUDE)/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
-
-$(PROJECT_INCLUDE)/bsp/$(dirstamp):
- @$(MKDIR_P) $(PROJECT_INCLUDE)/bsp
- @: > $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-PREINSTALL_DIRS += $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-
-$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
-PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
-
-$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
-
-$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
-
-$(PROJECT_INCLUDE)/bsp/regs.h: start/regs.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/regs.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/regs.h
-
-$(PROJECT_INCLUDE)/bsp/irq-generic.h: ../../shared/include/irq-generic.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-generic.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-generic.h
-
-$(PROJECT_INCLUDE)/bsp/irq-info.h: ../../shared/include/irq-info.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq-info.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq-info.h
-
-$(PROJECT_INCLUDE)/bsp/irq.h: include/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
-
-$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
-
-$(PROJECT_INCLUDE)/bsp/bootcard.h: ../../shared/include/bootcard.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/bootcard.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/bootcard.h
-
-$(PROJECT_INCLUDE)/bsp/lr33000.h: include/lr33000.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lr33000.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lr33000.h
-
-$(PROJECT_INCLUDE)/bsp/lr333x0.h: include/lr333x0.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lr333x0.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lr333x0.h
-
-$(PROJECT_INCLUDE)/bsp/mongoose-v.h: include/mongoose-v.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/mongoose-v.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/mongoose-v.h
-
-$(PROJECT_INCLUDE)/bsp/r3000.h: include/r3000.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/r3000.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/r3000.h
-
-$(PROJECT_INCLUDE)/bsp/mg5uart.h: console/mg5uart.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/mg5uart.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/mg5uart.h
-
-$(PROJECT_INCLUDE)/coverhd.h: ../../shared/include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
diff --git a/c/src/lib/libbsp/mips/genmongoosev/start/mg5.h b/c/src/lib/libbsp/mips/genmongoosev/start/mg5.h
deleted file mode 100644
index 8d54133..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/start/mg5.h
+++ /dev/null
@@ -1,379 +0,0 @@
-/*
-**
-** Section 1: Registers
-**
-*/
-
-/*
-**
-*/
-#define PMON_ADDRESS 0xbfc00000
-
-/*
-** Mongoose V Peripheral Function Registers
-*/
-
-#define MG5_COMMAND_REG 0xfffe0180
-
-/*
-** Extended Interrupt Registers
-** These registers are used as follows:
-** 1. The mask register is used to allow peripheral function and external
-** interrupts to function. To enable an interrupt, set the appropriate
-** bit.
-** 2. The status register contains the state of the peripheral functions
-** and external devices. This register should be read to poll devices
-** such as the uart when the interrupts are not enabled. Writing to this
-** register will clear the interrupt.
-** 3. The Cause register is similar to the status register, with the
-** exception that it only shows the bits that are set in the mask
-** register. This register should be read to determine which interrupt(s)
-** need to be serviced. This register when written to will CAUSE the interrupt.
-*/
-#define MG5_INT_STATUS_REG 0xfffe0184 /* Read to determine state/Write to clear */
-#define MG5_INT_CAUSE_REG 0xfffe0188 /* Read to determine int/Write to cause int */
-#define MG5_INT_MASK_REG 0xfffe018c /* Set bit here to enable int */
-
-/*
-** EDAC Registers
-*/
-#define MG5_EDAC_ADDR_REG 0xfffe0190 /* edac error address */
-#define MG5_EDAC_PARITY_REG 0xfffe0194 /* edac parity */
-
-/*
-** High speed serial port registers
-** This section is reserved for future Mongoose Processors
-*/
-
-/*
-** Floating Point Register
-*/
-#define MG5_FPU_CNTRL_REG 0xfffe0020 /* FPU control register */
-
-/*
-** MAVN Registers
-*/
-#define MG5_MAVN_TEST_REG 0xfffe01b4 /* test mavn */
-#define MG5_MAVN_PRIVLEGE_REG 0xfffe01b8 /* privlege bits */
-#define MG5_MAVN_VIOLATION_REG 0xfffe01bc /* address of violation */
-#define MG5_MAVN_RANGE_0_REG 0xfffe01c0 /* Range 0 */
-#define MG5_MAVN_RANGE_1_REG 0xfffe01c4 /* Range 1 */
-#define MG5_MAVN_RANGE_2_REG 0xfffe01c8 /* Range 2 */
-#define MG5_MAVN_RANGE_3_REG 0xfffe01cc /* Range 3 */
-#define MG5_MAVN_RANGE_4_REG 0xfffe01d0 /* Range 4 */
-#define MG5_MAVN_RANGE_5_REG 0xfffe01d4 /* Range 5 */
-
-/*
-** Uart Specific Peripheral Function Registers
-*/
-#define MG5_UART_0_RX_REG 0xfffe01e8
-#define MG5_UART_0_TX_REG 0xfffe01ec
-#define MG5_UART_0_BAUD_REG 0xfffe01f0
-#define MG5_UART_1_RX_REG 0xfffe01f4
-#define MG5_UART_1_TX_REG 0xfffe01f8
-#define MG5_UART_1_BAUD_REG 0xfffe01fc
-
-/*
-** Section 2: Bit definitions
-**
-*/
-
-/*
-** Command Register Bits - defined from 31 to 0
-*/
-#define EDAC_ENABLE_BIT 0x80000000
-#define EDAC_OVERRIDE_BIT 0x40000000
-/* 29 - 16 reserved */
-#define UART_1_PARITY_EVEN_BIT 0x00008000
-#define UART_1_PARITY_ENABLE_BIT 0x00004000
-#define UART_1_RTS_BIT 0x00002000
-#define UART_1_TX_ENABLE_BIT 0x00001000
-#define UART_1_RX_ENABLE_BIT 0x00000800
-#define UART_1_TX_BREAK_BIT 0x00000400
-
-#define UART_0_PARITY_EVEN_BIT 0x00000200
-#define UART_0_PARITY_ENABLE_BIT 0x00000100
-#define UART_0_RTS_BIT 0x00000080
-#define UART_0_TX_ENABLE_BIT 0x00000040
-#define UART_0_RX_ENABLE_BIT 0x00000020
-#define UART_0_TX_BREAK_BIT 0x00000010
-
-#define UART_LOOPBACK_MODE_BIT 0x00000008
-#define UART_CTSN_TEST_BIT 0x00000004
-#define UART_RESET_BIT 0x00000002
-
-/*
-** Interrupt Status/Cause/Mask register bits - from 31 to 0
-*/
-#define EDAC_SERR_BIT 0x80000000
-#define EDAC_MERR_BIT 0x40000000
-/* 29 - 24 reserved */
-#define UART_0_RX_READY_BIT 0x00008000
-#define UART_0_TX_READY_BIT 0x00004000
-#define UART_0_TX_EMPTY_BIT 0x00002000
-#define UART_0_RX_OVERRUN_BIT 0x00001000
-#define UART_0_FRAME_ERR_BIT 0x00000800
-#define UART_0_RESERVED_BIT 0x00000400
-#define UART_1_RX_READY_BIT 0x00200000
-#define UART_1_TX_READY_BIT 0x00100000
-#define UART_1_TX_EMPTY_BIT 0x00080000
-#define UART_1_RX_OVERRUN_BIT 0x00040000
-#define UART_1_FRAME_ERR_BIT 0x00020000
-#define UART_1_RESERVED_BIT 0x00010000
-#define MAVN_WRITE_ACC_BIT 0x00400000
-#define MAVN_READ_ACC_BIT 0x00800000
-#define EXTERN_INT_9_BIT 0x00000200
-#define EXTERN_INT_8_BIT 0x00000100
-#define EXTERN_INT_7_BIT 0x00000080
-#define EXTERN_INT_6_BIT 0x00000040
-#define EXTERN_INT_5_BIT 0x00000020
-#define EXTERN_INT_4_BIT 0x00000010
-#define EXTERN_INT_3_BIT 0x00000008
-#define EXTERN_INT_2_BIT 0x00000004
-#define EXTERN_INT_1_BIT 0x00000002
-#define EXTERN_INT_0_BIT 0x00000001
-
-/*
-** MAVN Range Bits
-*/
-
-#define MAVN_RANGE_0_WRITE_BIT 0x00000001
-#define MAVN_RANGE_1_WRITE_BIT 0x00000002
-#define MAVN_RANGE_2_WRITE_BIT 0x00000004
-#define MAVN_RANGE_3_WRITE_BIT 0x00000008
-#define MAVN_RANGE_4_WRITE_BIT 0x00000010
-#define MAVN_RANGE_5_WRITE_BIT 0x00000020
-
-#define MAVN_GLOBAL_WRITE_BIT 0x00000200
-
-#define MAVN_RANGE_0_READ_BIT 0x00000400
-#define MAVN_RANGE_1_READ_BIT 0x00000800
-#define MAVN_RANGE_2_READ_BIT 0x00001000
-#define MAVN_RANGE_3_READ_BIT 0x00002000
-#define MAVN_RANGE_4_READ_BIT 0x00004000
-#define MAVN_RANGE_5_READ_BIT 0x00008000
-
-#define MAVN_GLOBAL_READ_BIT 0x00080000
-
-#define MAVN_ENABLE_BIT 0x80000000
-#define MAVN_TEST_BIT 0x40000000
-
-#define MAVN_RANGE_NO_ACESS 0x00000000
-
-#define MAVN_PS_CODE_512 0x00000009
-#define MAVN_PS_CODE_1K 0x0000000a
-#define MAVN_PS_CODE_2K 0x0000000b
-#define MAVN_PS_CODE_4K 0x0000000c
-#define MAVN_PS_CODE_8K 0x0000000d
-#define MAVN_PS_CODE_16K 0x0000000e
-#define MAVN_PS_CODE_32K 0x0000000f
-#define MAVN_PS_CODE_64K 0x00000010
-#define MAVN_PS_CODE_128K 0x00000011
-#define MAVN_PS_CODE_256K 0x00000012
-#define MAVN_PS_CODE_512K 0x00000013
-#define MAVN_PS_CODE_1M 0x00000014
-#define MAVN_PS_CODE_2M 0x00000015
-
-/*
-** FPU Control Bits
-*/
-#define FPU_CNTRL_CONDITION 0x00800000
-#define FPU_CNTRL_EXCEPT_E 0x00020000
-#define FPU_CNTRL_EXCEPT_V 0x00010000
-#define FPU_CNTRL_EXCEPT_Z 0x00008000
-#define FPU_CNTRL_EXCEPT_O 0x00004000
-#define FPU_CNTRL_EXCEPT_U 0x00002000
-#define FPU_CNTRL_EXCEPT_I 0x00001000
-#define FPU_CNTRL_TRAP_V 0x00000800
-#define FPU_CNTRL_TRAP_Z 0x00000400
-#define FPU_CNTRL_TRAP_O 0x00000200
-#define FPU_CNTRL_TRAP_U 0x00000100
-#define FPU_CNTRL_TRAP_I 0x00000080
-#define FPU_CNTRL_STICKY_V 0x00000040
-#define FPU_CNTRL_STICKY_Z 0x00000020
-#define FPU_CNTRL_STICKY_O 0x00000010
-#define FPU_CNTRL_STICKY_U 0x00000008
-#define FPU_CNTRL_STICKY_I 0x00000004
-#define FPU_CNTRL_ROUND_RN 0x00000000
-#define FPU_CNTRL_ROUND_RZ 0x00000001
-#define FPU_CNTRL_ROUND_RP 0x00000002
-#define FPU_CNTRL_ROUND_RM 0x00000003
-
-#define FPU_EXCEPTIONS FPU_CNTRL_TRAP_V|FPU_CNTRL_TRAP_Z|FPU_CNTRL_TRAP_O|FPU_CNTRL_TRAP_U|FPU_CNTRL_TRAP_I
-#define FPU_CONFIGURATION FPU_EXCEPTIONS|FPU_CNTRL_ROUND_RN
-
-/*
-**
-** Section 3 -- Masks
-**
-*/
-
-#define UART_TX_BAUD_MASK 0x00007FFF
-#define UART_RX_BAUD_MASK 0x7FFF0000
-#define UART_DATA_MASK 0x000000FF
-
-#define UART_TX_BAUD_4800(x) ((((x*1000000)/4800) - 1) & UART_TX_BAUD_MASK)
-#define UART_TX_BAUD_9600(x) ((((x*1000000)/9600) - 1) & UART_TX_BAUD_MASK)
-#define UART_TX_BAUD_19200(x) ((((x*1000000)/19200) - 1)& UART_TX_BAUD_MASK)
-#define UART_TX_BAUD_38400(x) ((((x*1000000)/38400) - 1)& UART_TX_BAUD_MASK)
-
-#define UART_RX_BAUD_4800(x) (((((x*1000000)/4800) - 1) << 16) & UART_RX_BAUD_MASK)
-#define UART_RX_BAUD_9600(x) (((((x*1000000)/9600) - 1) << 16) & UART_RX_BAUD_MASK)
-#define UART_RX_BAUD_19200(x) (((((x*1000000)/19200) - 1) << 16)& UART_RX_BAUD_MASK)
-#define UART_RX_BAUD_38400(x) (((((x*1000000)/38400) - 1) << 16)& UART_RX_BAUD_MASK)
-
-#define UART_BAUD_4800(x) ((((x*1000000)/4800) - 1) & UART_TX_BAUD_MASK) | (((((x*1000000)/4800) - 1) << 16) & UART_RX_BAUD_MASK)
-#define UART_BAUD_9600(x) ((((x*1000000)/9600) - 1) & UART_TX_BAUD_MASK) | (((((x*1000000)/9600) - 1) << 16) & UART_RX_BAUD_MASK)
-#define UART_BAUD_19200(x) ((((x*1000000)/19200) - 1)& UART_TX_BAUD_MASK) | (((((x*1000000)/19200) - 1) << 16)& UART_RX_BAUD_MASK)
-#define UART_BAUD_38400(x) ((((x*1000000)/38400) - 1)& UART_TX_BAUD_MASK) | (((((x*1000000)/38400) - 1) << 16)& UART_RX_BAUD_MASK)
-
-#define EDAC_PARITY_MASK 0x000000FF
-
-#define MAVN_START_ADDR_MASK 0xFFFFFE00
-#define MAVN_PS_CODE_MASK 0x0000001F
-
-/* lr33000.h - defines for LSI Logic LR33000 */
-
-/* Define counter/timer register addresses */
-#define M_TIC1 0xfffe0000 /* timer 1 initial count */
-#define M_TC1 0xfffe0004 /* timer 1 control */
-#define M_TIC2 0xfffe0008 /* timer 2 initial count */
-#define M_TC2 0xfffe000c /* timer 2 control */
-#define M_RTIC 0xfffe0010 /* refresh timer */
-
-#ifdef LANGUAGE_C
-#define TIC1 (*((volatile unsigned long *)M_TIC1)) /* timer1 count */
-#define TC1 (*((volatile unsigned long *)M_TC1)) /* timer1 cntrl */
-#define TIC2 (*((volatile unsigned long *)M_TIC2)) /* timer2 count */
-#define TC2 (*((volatile unsigned long *)M_TC2)) /* timer2 cntrl */
-#define RTIC (*((volatile unsigned long *)M_RTIC)) /* refrsh timer */
-#endif
-
-/* Definitions for counter/timer control register bits */
-#define TC_CE 0x00000004 /* count enable */
-#define TC_IE 0x00000002 /* interrupt enable */
-#define TC_INT 0x00000001 /* interrupt request */
-
-/* lr33000.h */
-
-#define _LR33300_
-
-#define M_SRAM 0xfffe0100 /* SRAM config reg */
-#define M_SPEC0 0xfffe0104
-#define M_SPEC1 0xfffe0108
-#define M_SPEC2 0xfffe010c
-#define M_SPEC3 0xfffe0110
-#define M_DRAM 0xfffe0120 /* DRAM config reg */
-
-#ifdef LANGUAGE_C
-#define SRAM (*((volatile unsigned long *)M_SRAM))
-#define SPEC0 (*((volatile unsigned long *)M_SPEC0))
-#define SPEC1 (*((volatile unsigned long *)M_SPEC1))
-#define SPEC2 (*((volatile unsigned long *)M_SPEC2))
-#define SPEC3 (*((volatile unsigned long *)M_SPEC3))
-#define DRAM (*((volatile unsigned long *)M_DRAM))
-#endif
-
- /* wait-state config registers */
-#define SPC_INHIBITMASK (0xf<<24)
-#define SPC_INHIBITSHFT 24
-#define SPC_EXTGNT (1<<23)
-#define SPC_16WIDE (1<<22)
-#define SPC_8WIDE (1<<21)
-#define SPC_PENA (1<<20)
-#define SPC_CACHED (1<<19)
-#define SPC_CSDLYMASK (3<<17)
-#define SPC_CSDLYSHFT 17
-#define SPC_BLKENA (1<<16)
-#define SPC_BLKWAITMASK (7<<13)
-#define SPC_BLKWAITSHFT 13
-#define SPC_RECMASK (63<<7)
-#define SPC_RECSHFT 7
-#define SPC_WAITENA (1<<6)
-#define SPC_WAITMASK (63<<0)
-#define SPC_WAITSHFT 0
-
- /* DCR */
-#define DRAM_DLP1 (1<<28)
-#define DRAM_SYNC (1<<27)
-#define DRAM_SCFG (1<<26)
-#define DRAM_DMARDY (1<<25)
-#define DRAM_DMABLKMASK (7<<22)
-#define DRAM_DMABLKSHFT 22
-#define DRAM_DPTHMASK (3<<20)
-#define DRAM_DPTHSHFT 20
-#define DRAM_RDYW (1<<19)
-#define DRAM_PGSZMASK (7<<16)
-#define DRAM_PGSZSHFT 16
-#define DRAM_PGMW (1<<15)
-#define DRAM_RFWEMASK (3<<13)
-#define DRAM_RFWESHFT 13
-#define DRAM_RFEN (1<<12)
-#define DRAM_RDYEN (1<<11)
-#define DRAM_BFD (1<<10)
-#define DRAM_PE (1<<9)
-#define DRAM_RPCMASK (3<<7)
-#define DRAM_RPCSHFT 7
-#define DRAM_RCDMASK (3<<5)
-#define DRAM_RCDSHFT 5
-#define DRAM_CS (1<<4)
-#define DRAM_CLMASK (7<<1)
-#define DRAM_CLSHFT 1
-#define DRAM_DCE (1<<0)
-
-/* _LR33300_ */
-
-#define _ERNIE_CORE_
-
-#define M_BIU 0xfffe0130
-
-#ifdef LANGUAGE_C
-#define BIU (*((volatile unsigned long *)M_BIU))
-
-#define C0_TAR 6 /* target address register */
-#define C0_BDAM 9 /* breakpoint data addr mask */
-#define C0_BPCM 11 /* breakpoint instr addr mask */
-#else
-#define C0_TAR $6 /* target address register */
-#define C0_BDAM $9 /* breakpoint data addr mask */
-#define C0_BPCM $11 /* breakpoint instr addr mask */
-#endif
-
- /* cause register */
-#define CAUSE_BT (1<<30) /* branch taken */
-
- /* BIU */
-#define BIU_NOSTR (1<<17)
-#define BIU_LDSCH (1<<16)
-#define BIU_BGNT (1<<15)
-#define BIU_NOPAD (1<<14)
-#define BIU_RDPRI (1<<13)
-#define BIU_INTP (1<<12)
-#define BIU_IS1 (1<<11)
-#define BIU_IS0 (1<<10)
-#define BIU_IBLKSZMASK (3<<8)
-#define BIU_IBLKSZSHFT 8
-#define BIU_IBLKSZ2 (0<<BIU_IBLKSZSHFT)
-#define BIU_IBLKSZ4 (1<<BIU_IBLKSZSHFT)
-#define BIU_IBLKSZ8 (2<<BIU_IBLKSZSHFT)
-#define BIU_IBLKSZ16 (3<<BIU_IBLKSZSHFT)
-#define BIU_DS (1<<7)
-#define BIU_DS1 (1<<7)
-#define BIU_DS0 (1<<6)
-#define BIU_DBLKSZMASK (3<<4)
-#define BIU_DBLKSZSHFT 4
-#define BIU_DBLKSZ2 (0<<BIU_DBLKSZSHFT)
-#define BIU_DBLKSZ4 (1<<BIU_DBLKSZSHFT)
-#define BIU_DBLKSZ8 (2<<BIU_DBLKSZSHFT)
-#define BIU_DBLKSZ16 (3<<BIU_DBLKSZSHFT)
-#define BIU_RAM (1<<3)
-#define BIU_TAG (1<<2)
-#define BIU_INV (1<<1)
-#define BIU_LOCK (1<<0)
-
-/* _ERNIE_CORE_ */
-
-/* Definitions for cache sizes */
-
-#define LR33300_IC_SIZE 0x1000 /* 33300 Inst cache = 4Kbytes */
-#define LR33300_DC_SIZE 0x800 /* 33300 Data cache = 2Kbytes */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/start/regs.h b/c/src/lib/libbsp/mips/genmongoosev/start/regs.h
deleted file mode 100644
index e63544f..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/start/regs.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * regs.S -- standard MIPS register names from
- * newlib-1.8.2/libgloss/mips and adapted.
- *
- * Copyright (c) 1995 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* Standard MIPS register names: */
-#define zero $0
-#define z0 $0
-#define v0 $2
-#define v1 $3
-#define a0 $4
-#define a1 $5
-#define a2 $6
-#define a3 $7
-#define t0 $8
-#define t1 $9
-#define t2 $10
-#define t3 $11
-#define t4 $12
-#define t5 $13
-#define t6 $14
-#define t7 $15
-#define s0 $16
-#define s1 $17
-#define s2 $18
-#define s3 $19
-#define s4 $20
-#define s5 $21
-#define s6 $22
-#define s7 $23
-#define t8 $24
-#define t9 $25
-#define k0 $26 /* kernel private register 0 */
-#define k1 $27 /* kernel private register 1 */
-#define gp $28 /* global data pointer */
-#define sp $29 /* stack-pointer */
-#define fp $30 /* frame-pointer */
-#define ra $31 /* return address */
-#define pc $pc /* pc, used on mips16 */
-
-#define fp0 $f0
-#define fp1 $f1
-
-#define WATCHDOG 0xBE000000
-
-/* Useful memory constants: */
-#define K0BASE 0x80000000
-#ifndef __mips64
- #define K1BASE 0xA0000000
-#else
-#define K1BASE 0xFFFFFFFFA0000000LL
-#endif
-
-#define PHYS_TO_K1(a) ((unsigned)(a) | K1BASE)
-
-/* Standard Co-Processor 0 register numbers: */
-#define C0_DCIC $7 /* debug & cache invalidate control */
-#define C0_COUNT $9 /* Count Register */
-#define C0_SR $12 /* Status Register */
-#define C0_CAUSE $13 /* last exception description */
-#define C0_EPC $14 /* Exception error address */
-#define C0_CONFIG $16 /* CPU configuration */
-
-/* Standard Status Register bitmasks: */
-#define SR_CU0 0x10000000
-#define SR_CU1 0x20000000 /* Mark CP1 as usable */
-#define SR_FR 0x04000000 /* Enable MIPS III FP registers */
-#define SR_BEV 0x00400000 /* Controls location of exception vectors */
-#define SR_PE 0x00100000 /* Mark soft reset (clear parity error) */
-
-/* defined differently for Mongoose5- we don't use these anymore */
-#if UNUSED
-#define SR_KX 0x00000080 /* Kernel extended addressing enabled */
-#define SR_SX 0x00000040 /* Supervisor extended addressing enabled */
-#define SR_UX 0x00000020 /* User extended addressing enabled */
-#endif
-
-/* R3000 */
-#define SR_ISC 0x00010000 /* Isolate data cache */
-
-/* Standard (R4000) cache operations. Taken from "MIPS R4000
- Microprocessor User's Manual" 2nd edition: */
-
-#define CACHE_I (0) /* primary instruction */
-#define CACHE_D (1) /* primary data */
-#define CACHE_SI (2) /* secondary instruction */
-#define CACHE_SD (3) /* secondary data (or combined instruction/data) */
-
-#define INDEX_INVALIDATE (0) /* also encodes WRITEBACK if CACHE_D or CACHE_SD */
-#define INDEX_LOAD_TAG (1)
-#define INDEX_STORE_TAG (2)
-#define CREATE_DIRTY_EXCLUSIVE (3) /* CACHE_D and CACHE_SD only */
-#define HIT_INVALIDATE (4)
-#define CACHE_FILL (5) /* CACHE_I only */
-#define HIT_WRITEBACK_INVALIDATE (5) /* CACHE_D and CACHE_SD only */
-#define HIT_WRITEBACK (6) /* CACHE_I, CACHE_D and CACHE_SD only */
-#define HIT_SET_VIRTUAL (7) /* CACHE_SI and CACHE_SD only */
-
-#define BUILD_CACHE_OP(o,c) (((o) << 2) | (c))
-
-/* Individual cache operations: */
-#define INDEX_INVALIDATE_I BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_I)
-#define INDEX_WRITEBACK_INVALIDATE_D BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_D)
-#define INDEX_INVALIDATE_SI BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_SI)
-#define INDEX_WRITEBACK_INVALIDATE_SD BUILD_CACHE_OP(INDEX_INVALIDATE,CACHE_SD)
-
-#define INDEX_LOAD_TAG_I BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_I)
-#define INDEX_LOAD_TAG_D BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_D)
-#define INDEX_LOAD_TAG_SI BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_SI)
-#define INDEX_LOAD_TAG_SD BUILD_CACHE_OP(INDEX_LOAD_TAG,CACHE_SD)
-
-#define INDEX_STORE_TAG_I BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_I)
-#define INDEX_STORE_TAG_D BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_D)
-#define INDEX_STORE_TAG_SI BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_SI)
-#define INDEX_STORE_TAG_SD BUILD_CACHE_OP(INDEX_STORE_TAG,CACHE_SD)
-
-#define CREATE_DIRTY_EXCLUSIVE_D BUILD_CACHE_OP(CREATE_DIRTY_EXCLUSIVE,CACHE_D)
-#define CREATE_DIRTY_EXCLUSIVE_SD BUILD_CACHE_OP(CREATE_DIRTY_EXCLUSIVE,CACHE_SD)
-
-#define HIT_INVALIDATE_I BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_I)
-#define HIT_INVALIDATE_D BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_D)
-#define HIT_INVALIDATE_SI BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_SI)
-#define HIT_INVALIDATE_SD BUILD_CACHE_OP(HIT_INVALIDATE,CACHE_SD)
-
-#define CACHE_FILL_I BUILD_CACHE_OP(CACHE_FILL,CACHE_I)
-#define HIT_WRITEBACK_INVALIDATE_D BUILD_CACHE_OP(HIT_WRITEBACK_INVALIDATE,CACHE_D)
-#define HIT_WRITEBACK_INVALIDATE_SD BUILD_CACHE_OP(HIT_WRITEBACK_INVALIDATE,CACHE_SD)
-
-#define HIT_WRITEBACK_I BUILD_CACHE_OP(HIT_WRITEBACK,CACHE_I)
-#define HIT_WRITEBACK_D BUILD_CACHE_OP(HIT_WRITEBACK,CACHE_D)
-#define HIT_WRITEBACK_SD BUILD_CACHE_OP(HIT_WRITEBACK,CACHE_SD)
-
-#define HIT_SET_VIRTUAL_SI BUILD_CACHE_OP(HIT_SET_VIRTUAL,CACHE_SI)
-#define HIT_SET_VIRTUAL_SD BUILD_CACHE_OP(HIT_SET_VIRTUAL,CACHE_SD)
-
-/*> EOF regs.S <*/
diff --git a/c/src/lib/libbsp/mips/genmongoosev/start/start.S b/c/src/lib/libbsp/mips/genmongoosev/start/start.S
deleted file mode 100644
index 190c2d1..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/start/start.S
+++ /dev/null
@@ -1,909 +0,0 @@
-/*
-** start.S -- startup file for Mongoose V BSP based upon crt0.S from
-** newlib-1.8.2/libgloss/mips and adapted for RTEMS.
-**
-** crt0.S -- startup file for MIPS.
-**
-** Copyright (c) 1995, 1996, 1997 Cygnus Support
-**
-** The authors hereby grant permission to use, copy, modify, distribute,
-** and license this software and its documentation for any purpose, provided
-** that existing copyright notices are retained in all copies and that this
-** notice is included verbatim in any distributions. No written agreement,
-** license, or royalty fee is required for any of the authorized uses.
-** Modifications to this software may be copyrighted by their authors
-** and need not follow the licensing terms described here, provided that
-** the new terms are clearly indicated on the first page of each file where
-** they apply.
-**
-**
-** Modification History:
-** 01/XX/01 Joel Sherrill, OAR Corp,
-** Modified for Mongoose V BSP for NASA/GSFC Code 582.
-**
-** 06/XX/01 Greg Menke, Raytheon, Code 582
-** Debug modifications. Removed R4000 dependencies.
-** Added HACKED_PMON defines to facilitate startup.
-** Added DEFAULT_EXIT_RETURN_TO_MONITOR option.
-**
-** 11/14/01 A.Ferrer, NASA/GSFC, Code 582
-** Cleanup for ST5 mission.
-**
-** 11/27/01 A.Ferrer, NASA/GSFC, Code 582
-** Added cache flush routines.
-*/
-
-#ifndef LANGUAGE_ASSEMBLY
-#define LANGUAGE_ASSEMBLY
-#endif
-
-#include <rtems/asm.h>
-#include <bsp/regs.h>
-#include "mg5.h"
-
-#ifdef __mips16
- /* This file contains 32 bit assembly code. */
- .set nomips16
-#endif
-
-/*
-** defined by linkcmds, pointing to the start of the relocation target
-** memory, referenced in this way so we can avoid defining it
-** multiply
-*/
- .bss
- .word 0
- .text
- .align 2
-
-/**********************************************************************
-**
-** Function: _start
-*/
-
- /* Without the following nop, GDB thinks _start is a data variable.
- ** This is probably a bug in GDB in handling a symbol that is at the
- ** start of the .text section.
- */
- nop
- .globl _start
- .ent _start
-
- .globl putch_rom
-_start:
- .set noreorder
- $LF1 = . + 8
-
- /*
- ** Get the address of start into $5 in a position independent fashion.
- ** This lets us know whether we have been relocated or not.
- */
-
- bal $LF1
- nop
-_branch:
- move a1, ra /* save return address from the jump above */
-
- /* ensure we're sane before doing anything */
-
- li t0, SR_CU0|SR_PE
- mtc0 t0, C0_SR
- nop
- li t0, 0
- mtc0 t0, C0_DCIC
- nop
- mtc0 t0, C0_CAUSE
- nop
-
- /*
- ** Call cpuinit. Masking used to call EEPROM address of _cpuinit. Label is RAM label.
- */
- move t2,a1
- and t2,0xffff0000
- la t0,_cpuinit
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- /*
- ** Configure UART
- */
- move t2,a1
- and t2,0xffff0000
- la t0,config_uart
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- /*
- ** Print 'b'. Show that we started.
- */
- move t2,a1
- and t2,0xffff0000
- li a0,'b'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- li k0,0
- li k1,0
-
- move t1,a1
- nop
- li t2,0xa0000000 /* lower limit of kseg1 */
- li t3,0xbfffffff /* upper limit of kseg1 */
-
- subu t0,t1,t2
- srl t0,31 /* shift high bit down to bit 0 */
- bnez t0,1f /* booting from below kseg1 */
-
- subu t0,t3,t1
- srl t0,31 /* shift high bit down to bit 0 */
- bnez t0,1f /* booting from above kseg1 */
-
- /*
- ** Call IcacheFlush. Masking used to call EEPROM address of IcacheFlush. Label is RAM label.
- */
- move t2,a1
- and t2,0xffff0000
- la t0,IcacheFlush
- and t0,0x0000ffff
- or t0,t2
- move k0,t0 /* save cache flush in-prom address */
- jal t0
- nop
-
- /*
- ** Print 'I'. Show that we flushed I cache.
- */
- move t2,a1
- and t2,0xffff0000
- li a0,'I'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- /*
- ** Call DcacheFlush. Masking used to call EEPROM address of DcacheFlush. Label is RAM label.
- */
- move t2,a1
- and t2,0xffff0000
- la t0,DcacheFlush
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- /*
- ** Print 'D'. Show that we flushed D cache.
- */
- move t2,a1
- and t2,0xffff0000
- li a0,'D'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- move k1,t0 /* save cache flush in-prom address */
- jal t0
- nop
-
-1:
- /*
- ** Print ' RTEMS b'. Show that we are booting.
- */
- move t2,a1
- and t2,0xffff0000
- li a0,' '
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,'R'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,'T'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,'E'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,'M'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,'S'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,' '
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- move t2,a1
- and t2,0xffff0000
- li a0,'b'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- /*
- ** get the address of the _branch label above as it would appear in
- ** the relocated code
- */
-
- la a2, _branch /* relocation destination */
- beq a1, a2, _start_in_ram /* skip relocating if we're already there */
- nop
-
- /* relocate the code from EEPROM to RAM */
-
- /*
- ** Print 'r'
- */
- move t2,a1
- and t2,0xffff0000
- li a0,'r'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- la a3, _edata
-relocate:
- lw t0, (a1) /* load from EEPROM */
- addu a1, 4
- sw t0, (a2) /* store to RAM */
- addu a2, 4
- bne a2, a3, relocate /* copied all the way to edata? */
- nop
-
- /*
- ** Print 'R'
- */
- li a0,'R'
- la t0,putch_rom
- and t0,0x0000ffff
- or t0,t2
- jal t0
- nop
-
- la a2, _start_in_ram
- jr a2
- nop
- .end _start
-
-/**********************************************************************
-**
-** Function: _start_in_ram
-*/
-
- .globl _start_in_ram
- .ent _start_in_ram
-_start_in_ram:
-
- /*
- ** Print 'S'. Already in RAM no need to reference EEPROM address.
- */
- li a0,'S'
- jal putch_rom
- nop
-
- la gp, _gp /* set the global data pointer */
- .end _start_in_ram
-
-/**********************************************************************
-**
-** Function: zerobss
-*/
- .globl zerobss
- .ent zerobss
-zerobss:
-
- /*
- ** Print 'z'. Starting to zero out bss.
- */
- li a0,'z'
- jal putch_rom
- nop
-
- la v0, _fbss
- la v1, _end
-3:
- sw zero,0(v0)
- bltu v0,v1,3b
- addiu v0,v0,4 /* executed in delay slot */
-
- la t0, _stack_init /* initialize stack so we */
-
- /*
- ** We must subtract 24 bytes for the 3 8 byte arguments to main, in
- ** case main wants to write them back to the stack. The caller is
- ** supposed to allocate stack space for parameters in registers in
- ** the old MIPS ABIs. We must do this even though we aren't passing
- ** arguments, because main might be declared to have them.
- **
- ** Some ports need a larger alignment for the stack, so we subtract
- ** 32, which satisifes the stack for the arguments and keeps the
- ** stack pointer better aligned.
- */
- subu t0,t0,32
- move sp,t0 /* set stack pointer */
- nop
-
- /*
- ** Print 'Z'. Finished zeroing bss.
- */
- li a0,'Z'
- jal putch_rom
- nop
-
- .end zerobss
-
-/**********************************************************************
-**
-** Function: _init
-*/
- .globl exit .text
- .globl _initialize_rtems
- .ent _initialize_rtems
-_initialize_rtems:
-
- /*
- ** Print 'i'. Starting to initialize RTEMS.
- */
- li a0, 'i'
- jal putch_rom
- nop
-
- /*
- ** Save the boot-time addresses of the I & D cache flush routines.
- ** Note, if we're running from RAM, we cannot manipulate the cache
- ** so we just disable the cache flush functions.
- */
- la a0,_promIcache
- sw k0,0(a0)
- nop
-
- la a0,_promDcache
- sw k1,0(a0)
- nop
-
- move a0,zero /* set command line to 0 */
- jal boot_card /* call the program start function */
- nop
-
- /*
- ** fall through to the "exit" routine
- */
- jal _sys_exit
- nop
- .end _initialize_rtems
-
-/**********************************************************************
-**
-** Function: _sys_exit
-**
-** Exit from the application by jumping to PMON address in EEPROM.
-*/
- .globl _sys_exit
- .ent _sys_exit
-_sys_exit:
- la t0, PMON_ADDRESS
- jal t0
- .end _sys_exit
-
-/**********************************************************************
-**
-** function: putch
-** input : ASCII character in A0
-** registers used: ra, a0, t0, t1
-**
-*/
- .globl putch_rom
- .ent putch_rom
-putch_rom:
-
- /*
- ** Delay for UART
- */
- li t0, 1000
- move t1, zero
-2:
- beq t0, t1, 3f
- addu t1, 1
- b 2b
- nop
-
-3:
- /*
- ** Print a character out from a0
- */
-
- li t0, MG5_INT_STATUS_REG /* load uart register base address */
- lw t1, 0(t0) /* Read status */
- nop
- and t1, t1, UART_0_TX_READY_BIT /* see if the transmitter is ready */
- beq t1 , zero , 1f /* skip uart output if not ready */
- nop
- la t0, MG5_UART_0_TX_REG
- sw a0, 0(t0)
- nop
-
-1: /*
- ** if jumped to here, UART was not ready...forget it
- */
- j ra
- .end putch_rom
-
-/**********************************************************************
-**
-** function: config_uart
-** registers used: ra, t0, t1
-**
-*/
-
- .globl config_uart
- .ent config_uart
-config_uart:
-
- /*
- ** Configure UART 0
- */
-
- /* First, reset the uart */
- la t0, MG5_COMMAND_REG
- li t1, UART_RESET_BIT
- sw t1, 0(t0)
-
- /* Next, set the baud rate register for 19200 with a clock speed of 12 Mhz*/
- la t0, MG5_UART_0_BAUD_REG
- li t1, 0x02700270
- sw t1, 0(t0)
-
- /* Now, clear the reset bit & set the tx enable bit */
- la t0, MG5_COMMAND_REG
- li t1, UART_0_TX_ENABLE_BIT
- sw t1, 0(t0)
-
- /*
- ** return
- */
- j ra
-.end config_uart
-
-/*************************************************************
-* CpuInit:
-* Perform CPU-specific initialization
-* This routine is only callable from assembly because it
-* clobbers s7. It should be called from your ROM-based startup
-* code. It returns:
-* s0 = address of cache flush routine
-*/
-
- .globl _cpuinit
- .ent _cpuinit
-_cpuinit:
-
- /*
- ** BIU/Cache config register setup
- **
- ** RES = 0: 31 -> 18 : Reserved
- ** RES = 1: 17 : Reserved must be set to 1 (Synova Manual)
- ** RES = 0: 16 : Reserved must be set to 0 (Synova Manual)
- ** BGNT = 0: 15 : Disable Bus Grant (set to 0)
- ** NOPAD = 1: 14 : No padding of waitstates between transactions
- ** RDPRI = 1: 13 : Loads have priority over stores
- ** INTP = 1: 12 : Interrupts are active high
- ** IS1 = 1: 11 : Enable I-Cache
- ** IS0 = 0: 10 : Hardwired to zero
- ** IBLKSZ =10: 9 -> 8 : I-Cache refill size = 8 words
- ** DS = 1: 7 : Enable D-Cache
- ** RES = 0: 6 : Hardwared to zero
- ** DBLKSZ =10: 5 -> 4 : D-Cache refill block size 8 words
- ** RAM = 0: 3 : No Scratchpad RAM
- ** TAG = 0: 2 : Disable tag test
- ** INV = 0: 1 : Disable invalidate mode
- ** LOCK = 0: 0 : Disable cache lock
- **
- ** 0x00027AA0 caches on
- ** 0x00027220 caches off
- */
- li t0,0x00027aa0
- sw t0,M_BIU
-
- /*
- ** Refresh register setup
- **
- ** set 94 clock cycles at 12Mhz
- */
- li t1,M_RTIC
- li t0,0x5E
- sw t0,(t1)
-
- /*
- ** DRAM register setup
- **
- **
- ** RESERVED=0: 31 -> 29 : Reserved
- ** SYNC = 0 : 27 : No Syncronous DRAM
- ** SCFG = 0 : 26 : No Syncronous DRAM
- ** DMARDY =1 : 25 : Internal DRDY for DMA
- ** DMABLK =0 : 24 -> 22 : 2 word blk size for DMA transfers
- ** DPTH = 0 : 21 -> 20 : No interleaved or syncronous memory
- ** RDYW = 0 : 19 : No interleaved or syncronous memory
- ** PGSZ = 110: 18 -> 16 : Page size = 1K
- ** PGMW = 0 : 15 : Disable page mode write
- ** RFWE = 0 : 14 -> 13 : Allow BIU to do non-DRAM work during refresh
- ** RFEN = 1 : 12 : Enable Refresh generator
- ** RDYEN = 1 : 11 : Internal DRDY
- ** BFD = 1 : 10 : Block fetch disable
- ** PE = 0 : 9 : No parity checking
- ** RPC = 0 : 8 -> 7 : RAS Precharge = 2 SYSCLK cycles
- ** RCD = 1 : 6 -> 5 : RAS-to-CAS delay = 3 cycles
- ** CS = 0 : 4 : CAS shortened by 1/2 cycle
- ** CL = 1 : 3 -> 1 : 2.5 cycle CAS pulse width
- ** DCE = 1 : 0 : Enable DRAM controller
- */
- li s0,0x02061C23
- sw s0,M_DRAM
-
- /*
- ** SRAM setup
- ** Dont Care about this, we are not using SRAM
- ** Power on default of 0x0 is ok
- */
- li t0,0
- sw t0,M_SRAM
-
- /*
- ** SPEC0 setup
- **
- ** SPEC0 contains the BCRT registers, BCRT Shared RAM and EEPROM
- ** This area is configured to use an external waitstate generator
- ** and Data Ready signal.
- ** Also, I see no need to cache this data. It could confuse the
- ** BCRT.
- **
- ** - 9/29/99 - APC - set NOSNOOP to 1 and EXTGNT to 1
- ** Bit 23 = 1 : EXTGNT External data ready = 1
- ** Bit 19 = 1 : NOSNOOP No Snoop = 1
- */
- li t0,0x00880000 # use external waitstates
- sw t0,M_SPEC0
-
- /*
- ** SPEC1 setup
- **
- ** This is where most of the SDB I/O is.
- **
- ** Important fields:
- **
- ** Bit 19 =1 : NOSNOOP = 1
- ** Bit 6 = 1 : Enable DAWG
- ** Bit 5 -> 0 = 1 : 1 Wait state
- */
- li t0,0x00880000 /* Bit23 EXTGNT set to 1, Bit19 NOSNOOP set to 1 */
- sw t0,M_SPEC1
-
- /*
- ** SPEC2 setup
- **
- ** SPEC2 is not currently used on the SDB.
- ** Bit 19 = 1 : NOSNOOP = 1
- **
- **li t0, 0x00080000
- **sw t0,M_SPEC2
- */
- li t0, 0x0
- sw t0,M_SPEC2
-
- /*
- ** SPEC3 Setup
- ** SPEC3 will be used for the SONIC ethernet controller.
- ** Use the same ** of waitstates that the turborocket board uses.
- ** Bit 19 = 1 : NOSNOOP = 1
- **
- **li t0, (SPC_CACHED | SPC_WAITENA | (16<<SPC_WAITSHFT))
- **sw t0,M_SPEC3
- */
- li t0, 0x0
- sw t0,M_SPEC3
-
- /*
- ** Finally, delay to allow RAM to stabilize
- */
- li t0,2000
-1: subu t0,1
- bne t0,zero,1b
- nop
-
- /*
- ** Init Mongoose V registers.
- */
-
- /*
- ** Mongoose V Control Register Setup
- ** For now just setup UART defaults, turn edac off.
- ** May not even need to put anything in here...
- */
- li t0,0
- sw t0,MG5_COMMAND_REG
-
- /*
- ** Setup Mongoose V extended interrupt mask
- */
- li t0,0
- sw t0,MG5_INT_MASK_REG
-
- /*
- ** Clear Mongoose V extended interrupts
- ** Clear all of the pulse interrupts that may be pending.
- */
- li t0,( EDAC_SERR_BIT | EDAC_MERR_BIT | UART_0_RX_OVERRUN_BIT | UART_0_FRAME_ERR_BIT | UART_1_RX_OVERRUN_BIT | UART_1_FRAME_ERR_BIT | MAVN_WRITE_ACC_BIT | MAVN_READ_ACC_BIT )
- sw t0,MG5_INT_STATUS_REG
-
- /*
- ** Setup MAVN Access Priv Register
- */
- li t0,0x7FFFFFFF /* Default reset value */
- sw t0,MG5_MAVN_PRIVLEGE_REG
-
- /*
- ** Mavn Range Register 0 -- 0 and 1 cover EEPROM
- ** 0xbfc00000 -> 0xbfe00000
- */
- li t0,( 0xBFC00000 | 0x15 )
- sw t0,MG5_MAVN_RANGE_0_REG
-
- /*
- ** Mavn Range Register 1
- ** 0xbfe00000 -> 0xc0000000
- */
- li t0,( 0xBFE00000 | 0x15 )
- sw t0,MG5_MAVN_RANGE_1_REG
-
- /*
- ** Mavn Range Register 2 -- 2 and 3 cover the first RAM
- ** 0x80000000 -> 0x80200000
- */
- li t0,( 0x80000000 | 0x15 )
- sw t0,MG5_MAVN_RANGE_2_REG
-
- /*
- ** Mavn Range Register 3
- ** 0x80200000 -> 0x80400000
- */
- li t0, ( 0x80200000 | 0x15 )
- sw t0, MG5_MAVN_RANGE_3_REG
-
- /*
- ** Mavn Range Register 4 -- IO Space 1
- ** 0xBE00000 -> 0xBe0000200
- */
- li t0, ( 0xBe000000 | 0x09 )
- sw t0, MG5_MAVN_RANGE_4_REG
-
- /*
- ** Mavn Range Register 5 -- IO Space 2
- ** 0xBe200000 -> 0xbe400000
- */
- li t0, ( 0xBE200000 | 0x15 )
- sw t0, MG5_MAVN_RANGE_5_REG
-
- /*
- ** MAVN Error Address Register ( Unstick )
- */
- la t0, MG5_MAVN_VIOLATION_REG
- lw t1, 0(t0)
-
- /*
- ** Read EDAC Error Register to unstick it
- */
- la t0, MG5_EDAC_ADDR_REG
- lw t1, 0(t0)
-
- /*
- ** Enable Mongoose V EDAC
- */
- la t0, MG5_COMMAND_REG
- li t1, EDAC_ENABLE_BIT
- sw t1, 0(t0)
- nop
-
- /*
- ** Program Watchdog to 10 seconds - If PMON will
- ** run, it will be set to MAX later.
- */
- la t0, 0xBE000000
- li t1, 0xA0
- sw t1, 0(t0)
-
-3: nop
-
- j ra
- .end _cpuinit
-
-/**********************************************************************
-**
-** Keep the boot-time address of the I & D cache reset code for
-** later on. If we need to clear the I/D caches, we <must> run from
-** non-cached memory. This means the relocated versions are useless,
-** thankfully they are quite small.
-*/
-
-_promIcache: .word 0
-_promDcache: .word 0
-
- .globl promCopyIcacheFlush
- .ent promCopyIcacheFlush
- .set noreorder
-promCopyIcacheFlush:
- move a0,ra
-
- la t1,_promIcache
- lw t0,0(t1)
- nop
- beqz t0,1f
-
- jal t0
- nop
-
-1: j a0
- nop
- .set reorder
- .end promCopyIcacheFlush
-
- .globl promCopyDcacheFlush
- .ent promCopyDcacheFlush
- .set noreorder
-promCopyDcacheFlush:
- move a0,ra
-
- la t1,_promDcache
- lw t0,0(t1)
- nop
- beqz t0,1f
-
- jal t0
- nop
-
-1: j a0
- nop
- .set reorder
- .end promCopyDcacheFlush
-
-/*******************************************************************************
-** Function Name: IcacheFlush
-** Description: This functions flushes the on chip icache.
-*/
-
- .ent IcacheFlush
- .set noreorder
-IcacheFlush:
-
-1:
- /*
- ** Assume I cache is already enabled in BIU/Cache setup
- ** Get contents of M_BIU register and save in t1
- */
- li t0, M_BIU
- lw t1, 0(t0)
-
- /*
- ** Isolate I cache
- */
- mfc0 t3, C0_SR /* Read Status Register */
- nop
- or t0, t3, SR_ISC /* Isolate Cache so we don't propagate operations */
- mtc0 t0, C0_SR /* Write it back to Status Register */
- nop
-
- /*
- ** Setup for cache flush
- */
- li t8, 0 /* Store zero */
- li t9, LR33300_IC_SIZE
-
-icache_write:
- sw zero, 0(t8) /* Store zero to memory addres in t8 */
- addu t8, 4 /* Increment t8 address by 4 */
- bltu t8, t9, icache_write /* check to see if we are done */
- nop
-
- /*
- ** De-isolate I cache
- */
- mtc0 t3, C0_SR /* Load unchanged t3 to Status Register */
- nop
-
- jal ra
- nop
- .set reorder
- .end IcacheFlush
-
-/********************************************************
-** Function Name: DcacheFlush
-** Description: This functions flushes the on chip dcache.
-*/
-
- .ent DcacheFlush
- .set noreorder
-DcacheFlush:
-
- /*
- ** isolate icache
- */
- mfc0 t3,C0_SR
- nop
- or t0, t3, SR_ISC
- mtc0 t0, C0_SR
- nop
-
- /*
- ** Setup up for cache flush
- */
- li t8, 0
- li t9, LR33300_DC_SIZE
-
-dcache_write:
- sw zero, 0(t8)
- addu t8, 4
- bltu t8, t9, dcache_write /* check to see if we are done */
- nop
-
- /*
- ** De-isolate cache
- */
- mtc0 t3, C0_SR
- nop
-
- jal ra
- nop
- .set reorder
- .end DcacheFlush
-
-/* EOF start.S */
diff --git a/c/src/lib/libbsp/mips/genmongoosev/startup/bspstart.c b/c/src/lib/libbsp/mips/genmongoosev/startup/bspstart.c
deleted file mode 100644
index a8dd2cb..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/startup/bspstart.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * @file
- *
- * 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.
- *
- * Modification History:
- * 12/10/01 A.Ferrer, NASA/GSFC, Code 582
- * Set interrupt mask to 0xAF00 (Line 139).
- */
-
-/*
- * COPYRIGHT (c) 1989-2012.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <string.h>
-
-#include <bsp.h>
-#include <bsp/mongoose-v.h>
-#include <libcpu/isr_entries.h>
-#include <bsp/irq-generic.h>
-
-void bsp_start( void );
-void clear_cache( void );
-extern void _sys_exit(int);
-extern void mips_gdb_stub_install(void);
-
-/*
- * bsp_start
- *
- * This routine does the bulk of the system initialization.
- */
-void bsp_start( void )
-{
- /* mask off any interrupts */
- MONGOOSEV_WRITE( MONGOOSEV_PERIPHERAL_FUNCTION_INTERRUPT_MASK_REGISTER, 0 );
-
- /* reset the config register & clear any pending peripheral interrupts */
- MONGOOSEV_WRITE( MONGOOSEV_PERIPHERAL_COMMAND_REGISTER, 0 );
- MONGOOSEV_WRITE(
- MONGOOSEV_PERIPHERAL_COMMAND_REGISTER, MONGOOSEV_UART_CMD_RESET_BOTH_PORTS );
- MONGOOSEV_WRITE( MONGOOSEV_PERIPHERAL_COMMAND_REGISTER, 0 );
-
- /* reset both timers */
- MONGOOSEV_WRITE_REGISTER(
- MONGOOSEV_TIMER1_BASE, MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER, 0xffffffff);
- MONGOOSEV_WRITE_REGISTER(
- MONGOOSEV_TIMER1_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, 0);
-
- MONGOOSEV_WRITE_REGISTER(
- MONGOOSEV_TIMER2_BASE, MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER, 0xffffffff);
- MONGOOSEV_WRITE_REGISTER(
- MONGOOSEV_TIMER2_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, 0);
-
- /* clear any pending interrupts */
- MONGOOSEV_WRITE( MONGOOSEV_PERIPHERAL_STATUS_REGISTER, 0xffffffff );
-
- /* clear any writable bits in the cause register */
- mips_set_cause( 0 );
-
- /* set interrupt mask, but globally off. */
-
- /*
- * Bit 15 | Bit 14 | Bit 13 | Bit 12 | Bit 11 | Bit 10 | Bit 9 | Bit 8 |
- * periph | unused | FPU | unused | timer2 | timer1 | swint1 | swint2 |
- * extern | | | | | | | |
- *
- * 1 0 1 0 0 1 0 0
- *
- * 0x8C00 Enable only internal Mongoose V timers.
- * 0xA400 Enable Peripherial ints, FPU and timer1
- * 0x0400 Timer1 only
- */
-
- /* mips_set_sr( (SR_CU0 | SR_CU1 | 0xA400) ); */
-
- /* to start up, only enable coprocessor 0 & timer int. per-task
- * processor settings will be applied as they are created, this
- * is just to configure the processor for startup
- */
- mips_set_sr( (SR_CU0 | 0x400) );
-
- bsp_interrupt_initialize();
-}
-
-void clear_cache( void )
-{
- promCopyIcacheFlush();
- promCopyDcacheFlush();
-}
diff --git a/c/src/lib/libbsp/mips/genmongoosev/startup/gdb-support.c b/c/src/lib/libbsp/mips/genmongoosev/startup/gdb-support.c
deleted file mode 100644
index 6d064de..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/startup/gdb-support.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * GDB Support Routines for the Mongoose-V
- */
-
-/*
- * COPYRIGHT (c) 1989-2014.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <rtems/bspIo.h>
-#include <bsp/mongoose-v.h>
-#include "gdb_if.h"
-
-#include <rtems/libio.h>
-
-#include <stdio.h>
-#include <string.h>
-
-/*
-
-We're going to call right down into the uart driver because we're
-operating within an exception. if things are broken because something
-bad happened, this may be our last chance to debug before RTEMS goes
-mad, so we won't rely on the I/O subsystem to be operating. This is a
-little messy, but at least we're not talking right to the hardware.
-
-*/
-
-extern int mg5uart_set_attributes(int minor,const struct termios *t);
-extern int mg5uart_open(int major,int minor, void *arg);
-extern int mg5uart_close(int major,int minor, void *arg);
-extern void mg5uart_write_polled(int minor, char c );
-extern int mg5uart_inbyte_nonblocking_polled(int minor);
-
-/*
- * Prototypes for methods assumed to exist by the gdb stub
- */
-char getDebugChar (void);
-void putDebugChar (char c);
-
-static int debugUartEnabled = 0;
-
-int mg5rdbgOpenGDBuart(int breakoninit)
-{
- struct termios t;
- memset(&t,0,sizeof(struct termios));
-
- if( mg5uart_open(0,1,NULL) != RTEMS_SUCCESSFUL )
- {
- printf("gdbstub: Failed to open UART port 2\n");
- return -1;
- }
-
- t.c_cflag |= B19200;
- t.c_cflag |= CS8;
- if( mg5uart_set_attributes(1,&t) != 0 )
- {
- printf("gdbstub: Failed to configure UART 2 for 19200N82\n");
- return -1;
- }
- printf("gdbstub: UART 2 configured for 19200N82\n");
-
- debugUartEnabled = -1;
-
- /* set up vectoring for gdb */
- mips_gdb_stub_install(-1);
-
- /*
- this is a rough approximation of our memory map. Yours is
- probably different. It only needs to be sufficient for the stub
- to know what it can and can't do and where.
- */
- gdbstub_add_memsegment(0 , 0x8001ffff, MEMOPT_READABLE );
- gdbstub_add_memsegment(0x80020000, 0x80afffff, MEMOPT_READABLE | MEMOPT_WRITEABLE );
- gdbstub_add_memsegment(0x80b00000, 0x814fffff, MEMOPT_READABLE );
- gdbstub_add_memsegment(0x81500000, 0x81ffffff, MEMOPT_READABLE | MEMOPT_WRITEABLE );
-
- if( breakoninit )
- {
- printf("gdbstub: GDB stub entered, connect host debugger now\n");
- /*
- break to gdb. We'll wait there for the operator to get their gdb
- going, then they can 'continue' or do whatever.
- */
- mips_break(0);
- printf("gdbstub: User code running\n");
- }
- else
- printf("gdbstub: GDB stub ready for exceptions\n");
-
- return RTEMS_SUCCESSFUL;
-}
-
-void mg5rdbgCloseGDBuart(void)
-{
- mg5uart_close(0,1,NULL);
- debugUartEnabled = 0;
-}
-
-char getDebugChar (void)
-{
- if( debugUartEnabled )
- {
- int rv;
-
- while( (rv = mg5uart_inbyte_nonblocking_polled(1)) < 0 );
- return (char)rv;
- }
-
- return 0;
-}
-
-void putDebugChar (char c)
-{
- if( debugUartEnabled )
- return mg5uart_write_polled(1,c);
-}
-
-/*
- {
- * initialize hardware pc and data breakpoints to quiet state*
- uint32_t dcic, reg, mask;
-
- reg = 0xffffffff;
- mask = 0xffffffff;
-
- mips_set_bpcrm( reg, mask );
- mips_set_bdarm( reg, mask );
-
- mips_get_dcic( dcic );
- * configure dcic for trapping, user & kernel mode, PC traps and enable it *
- dcic = DCIC_TR | DCIC_UD | DCIC_KD | DCIC_PCE | DCIC_DE;
- * dcic = DCIC_UD | DCIC_KD | DCIC_PCE | DCIC_DE; *
- mips_set_dcic( dcic );
-
- mips_get_bpcrm( reg, mask );
- mips_get_dcic( dcic );
- * printf("bpc is %08X, bpc_mask is %08X, dcic is now %08X\n", reg, mask, dcic ); *
- }
-*/
diff --git a/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds b/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
deleted file mode 100644
index e396379..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Linker script for Mongoose-V prototyping board.
- * See README for address map details.
- */
-
-/* . = 0x80020000; */
-
-/*
- * Declare some sizes.
- */
-
-RamBase = DEFINED(RamBase) ? RamBase : 0x80000000;
-RamSize = DEFINED(RamSize) ? RamSize : 32M;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-_StackSize = DEFINED(_StackSize) ? _StackSize : 0x4000;
-ClockRate = DEFINED(ClockRate) ? ClockRate : 12000000;
-
-MEMORY
-{
- ram : ORIGIN = 0x80020000, LENGTH = 4M
-}
-
-SECTIONS
-{
- .text :
- {
- _ftext = . ;
-
- */start.o(.text)
-
- *(.text*)
- *(.gnu.linkonce.t*)
- *(.mips16.fn.*)
- *(.mips16.call.*)
- *(.reginfo)
- PROVIDE (__runtime_reloc_start = .);
- *(.rel.sdata)
- *(.rel.dyn)
- PROVIDE (__runtime_reloc_stop = .);
-
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
- *(.gcc_except_table*)
- *(.eh_frame_hdr)
- *(.eh_frame)
- } >ram
-
- .init :
- {
- KEEP(*(.init))
-
- } > ram
-
- .fini :
- {
- KEEP(*(.fini))
-
- } > ram
-
-
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
-
- KEEP (*crtbegin.o(.ctors))
-
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
-
- KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- } >ram
-
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
-
- etext = .;
- _etext = .;
- } >ram
-
-
-
- .rdata :
- {
- *(.rdata)
- *(.rodata)
- *(.rodata.*)
- KEEP (*(SORT(.rtemsroset.*)))
- *(.gnu.linkonce.r*)
- } >ram
-
- .tdata : {
- _TLS_Data_begin = .;
- *(.tdata .tdata.* .gnu.linkonce.td.*)
- _TLS_Data_end = .;
- } >ram
-
- .tbss : {
- _TLS_BSS_begin = .;
- *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
- _TLS_BSS_end = .;
- } >ram
-
- _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin;
- _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin;
- _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin;
- _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
- _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
- _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
-
- .data :
- {
- _fdata = ALIGN(16);
-
- *(.data)
- *(.data.*)
- KEEP (*(SORT(.rtemsrwset.*)))
- *(.gnu.linkonce.d*)
- } >ram
-
- .jcr :
- {
- . = ALIGN(8);
- KEEP (*(.jcr))
-
- _gp = ALIGN(16) + 0x7440;
- __global = _gp;
- } >ram
-
- .lit8 :
- {
- *(.lit8)
- } >ram
-
- .lit4 :
- {
- *(.lit4)
- } >ram
-
- .sdata :
- {
- *(.sdata*)
- *(.gnu.linkonce.s*)
- } >ram
-
- .sbss :
- {
- edata = .;
- _edata = .;
- _fbss = .;
- *(.sbss*)
- *(.scommon)
- } >ram
-
-
- .bss :
- {
- _bss_start = . ;
- *(.bss .bss.* .gnu.linkonce.b.*)
- *(COMMON)
- . = ALIGN (64);
- _stack_limit = .;
- . += _StackSize;
- __stack = .;
- _stack_init = .;
- _clear_end = .;
- WorkAreaBase = .;
- end = .;
- _end = .;
- } >ram
-
-
-/*
-** DWARF debug sections.
-** Symbols in the DWARF debugging sections are relative to
-** the beginning of the section so we begin them at 0.
-*/
-
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame)}
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
-}
diff --git a/c/src/lib/libbsp/mips/genmongoosev/timer/timer.c b/c/src/lib/libbsp/mips/genmongoosev/timer/timer.c
deleted file mode 100644
index a956c4b..0000000
--- a/c/src/lib/libbsp/mips/genmongoosev/timer/timer.c
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * This file implements a benchmark timer using a MONGOOSE-V timer.
- *
- * COPYRIGHT (c) 1989-2001.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <assert.h>
-
-#include <bsp.h>
-#include <rtems/btimer.h>
-
-bool benchmark_timer_find_average_overhead;
-
-#if defined(USE_TIMER2_FOR_CLOCK)
-#define TIMER_BASE MONGOOSEV_TIMER1_BASE
-#define TIMER_VECTOR MONGOOSEV_IRQ_TIMER1
-#else
-#define TIMER_BASE MONGOOSEV_TIMER2_BASE
-#define TIMER_VECTOR MONGOOSEV_IRQ_TIMER2
-#endif
-
-void benchmark_timer_initialize(void)
-{
- /*
- * Programming the compare register as the maximum value should let
- * it run long enough and accurate enough not to require an interrupt.
- * but if it ever does generate an interrupt, we will simply fault.
- *
- * NOTE: This is similar to the clock driver initialization
- * with the exception that the divider is disabled and
- * the compare register is set to the maximum value.
- */
-
- MONGOOSEV_WRITE_REGISTER( TIMER_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER, 0);
-
- MONGOOSEV_WRITE_REGISTER( TIMER_BASE,
- MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER,
- 0xffffffff );
-
- MONGOOSEV_WRITE_REGISTER( TIMER_BASE,
- MONGOOSEV_TIMER_CONTROL_REGISTER,
- MONGOOSEV_TIMER_CONTROL_COUNTER_ENABLE );
-
-}
-
-#define AVG_OVERHEAD 0 /* It typically takes N instructions */
- /* to start/stop the timer. */
-
-#define LEAST_VALID 1 /* Don't trust a value lower than this */
- /* mongoose-v can count cycles. :) */
-#include <rtems/bspIo.h>
-
-benchmark_timer_t benchmark_timer_read(void)
-{
- uint32_t clicks;
- uint32_t total;
- uint32_t tcr;
-
- clicks = MONGOOSEV_READ_REGISTER( TIMER_BASE,
- MONGOOSEV_TIMER_INITIAL_COUNTER_REGISTER );
- total = 0xffffffff - clicks;
-
- tcr = MONGOOSEV_READ_REGISTER( TIMER_BASE, MONGOOSEV_TIMER_CONTROL_REGISTER );
-
- MONGOOSEV_WRITE_REGISTER( TIMER_BASE,
- MONGOOSEV_TIMER_CONTROL_REGISTER,
- 0 );
-
- if ( tcr & MONGOOSEV_TIMER_CONTROL_TIMEOUT )
- printk( "MG5 timer overran\n" );
-
- if ( benchmark_timer_find_average_overhead == true )
- return total; /* in cycle units */
-
- if ( total < LEAST_VALID )
- return 0; /* below timer resolution */
-
- return (total - AVG_OVERHEAD) / CPU_CLOCK_RATE_MHZ;
-}
-
-void benchmark_timer_disable_subtracting_average_overhead(
- bool find_flag
-)
-{
- benchmark_timer_find_average_overhead = find_flag;
-}
-
-/* eof */
--
2.1.4
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited.
More information about the devel
mailing list