summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/ts_386ex
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2011-03-01 17:40:16 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2011-03-01 17:40:16 +0000
commit8986eb3674f73ce5343160273e23faed563a786e (patch)
tree4daa817c7676074a4025713700435d36b13bb5a6 /c/src/lib/libbsp/i386/ts_386ex
parentAdd config.h.in (diff)
downloadrtems-8986eb3674f73ce5343160273e23faed563a786e.tar.bz2
Remove (Abandoned).
Diffstat (limited to 'c/src/lib/libbsp/i386/ts_386ex')
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/.cvsignore8
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/ChangeLog720
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/Makefile.am90
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/README44
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/bsp_specs13
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c153
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/clock/rtc.c218
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/configure.ac46
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/console/console.c303
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/include/.cvsignore4
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/include/bsp.h111
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/include/coverhd.h102
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/include/tm27.h34
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/include/wd80x3.h122
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/make/custom/ts_386ex.cfg24
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/network/ne2000.c1042
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/preinstall.am96
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/start/80386ex.h252
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/start/80386ex.inc252
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/start/macros.inc115
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/start/start.S498
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/start/ts_1325.inc50
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/startup/README17
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c44
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/startup/linkcmds220
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/timer/timer.c174
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/timer/timerisr.S39
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/.cvsignore8
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ChangeLog151
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am51
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/README113
-rwxr-xr-xc/src/lib/libbsp/i386/ts_386ex/tools/coff2bin23
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/configure.ac18
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex42
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds290
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems1
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb32
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c83
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb65
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads17
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/cmds290
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/ddd-rtems1
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/debug_test.c24
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/init.c39
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.c59
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.h17
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/system.h36
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader.combin934 -> 0 bytes
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader_hybrid_com.asm575
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc48
-rwxr-xr-xc/src/lib/libbsp/i386/ts_386ex/tools/elf2exe23
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/README8
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/AUTHORS7
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/COPYING340
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/NEWS44
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/README35
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-constants.ads50
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-link.ads42
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.adb130
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.ads71
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.adb411
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.ads113
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-thin.ads440
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.adb84
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.ads52
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.adb409
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads155
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/Makefile.ts_386ex43
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/init.c97
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/listener.adb114
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/networkconfig.h104
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/Makefile.ts_386ex46
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/init.c99
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/print_error.c18
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/tcprelay.adb108
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/Makefile.ts_386ex40
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/README10
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.adb29
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.ads45
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/init.c83
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb22
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.ads22
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.adb46
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.ads26
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.adb13
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.ads21
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325.ads2
-rw-r--r--c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325_test.adb115
88 files changed, 0 insertions, 10291 deletions
diff --git a/c/src/lib/libbsp/i386/ts_386ex/.cvsignore b/c/src/lib/libbsp/i386/ts_386ex/.cvsignore
deleted file mode 100644
index baba64eafa..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-aclocal.m4
-autom4te*.cache
-config.cache
-config.log
-config.status
-configure
-Makefile
-Makefile.in
diff --git a/c/src/lib/libbsp/i386/ts_386ex/ChangeLog b/c/src/lib/libbsp/i386/ts_386ex/ChangeLog
deleted file mode 100644
index b2c6117217..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/ChangeLog
+++ /dev/null
@@ -1,720 +0,0 @@
-2011-02-11 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * include/bsp.h, include/tm27.h, tools/debug_c/serial_gdb.h:
- Use "__asm__" instead of "asm" for improved c99-compliance.
-
-2011-02-09 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * timer/timer.c: Include <rtems/btimer.h>.
- Fix benchmark_timer_read() definition.
-
-2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Require autoconf-2.68, automake-1.11.1.
-
-2011-01-28 Joel Sherrill <joel.sherrilL@OARcorp.com>
-
- * clock/rtc.c, console/console.c, network/ne2000.c: Fix typo where
- license said found in found in.
-
-2010-05-21 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * Makefile.am: Add bspreset.c
-
-2010-04-30 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * Makefile.am, preinstall.am: Update for generic interrupt support
- changes.
-
-2009-11-06 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * clock/ckinit.c: Remove nested externs.
- Add missing prototypes.
- Fix Clock_isr prototype.
-
-2009-10-21 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * make/custom/ts_386ex.cfg: Remove RTEMS_BSP_FAMILY.
-
-2009-10-20 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Don't add -ansi -fasm to CFLAGS.
-
-2009-10-15 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * make/custom/ts_386ex.cfg: New (relocated from /make/custom).
-
-2009-09-30 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * console/console.c: Reflect termios_baud_to_number having been
- renamed to rtems_termios_baud_to_number.
-
-2009-09-15 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Remove RTEMS_BSP_BOOTCARD_OPTIONS.
-
-2009-08-06 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * startup/setvec.c: Removed.
-
-2009-08-06 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * include/tm27.h: Remove references to rtems_interrupt_catch since this
- archiecture does not use Simple Vectored Interrupt model.
-
-2009-07-16 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Rename BSP_BOOTCARD_OPTIONS to
- RTEMS_BSP_BOOTCARD_OPTIONS. Add RTEMS_BSP_CLEANUP_OPTIONS so all BSPs
- have the same options.
-
-2009-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * Makefile.am, preinstall.am: Update for generic interrupt support.
-
-2009-04-28 Chris Johns <chrisj@rtems.org>
-
- * start/start.S: Update for boot_card command line change.
-
-2008-12-04 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * bsp_specs: Move -e start from *link to *startfile to avoid warning
- for undefined entry symbol when linking relocatables with binutils
- 2.19.
-
-2008-09-30 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * timer/timer.c: Eliminate uses of old benchmark timer names.
-
-2008-09-30 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Eliminate bsp.am. Build startup files as side-effect
- of building libbspstart.a, using automake-rules.
-
-2008-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Eliminate *_SOURCES.
-
-2008-09-29 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Move noinst_LIBRARIES = libbsp.a before its
- components.
-
-2008-09-26 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Cleanup ../../shared/include/bootcard.h handling.
-
-2008-09-23 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * configure.ac: Make letting boot_card() handle work area allocation
- mandatory. Rename RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION to
- BSP_BOOTCARD_OPTIONS.
-
-2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * Makefile.am, configure.ac, startup/bspstart.c, startup/linkcmds: Use
- top level shared bsp_get_work_area() implementation.
-
-2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * include/bsp.h: Remove unnecessary variables and EXTERN magic.
-
-2008-09-18 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * include/bsp.h: Remove unnecessary boilerplate comments.
-
-2008-09-16 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * clock/ckinit.c, startup/bspstart.c: Remove unnecessary includes of
- rtems/libcsupport.h and rtems/libio.h.
-
-2008-09-05 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * clock/ckinit.c: The Shared Memory Driver no longer requires the
- special IOCTL in Clock_control. This was a hack which has existed
- since before the Classic API Timer Manager was implemented. All
- implementations of and references to Clock_control were removed.
-
-2008-09-05 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * timer/timer.c: Convert to "bool".
-
-2008-09-02 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * clock/rtc.c, network/ne2000.c: Eliminate rtems_boolean.
-
-2008-08-31 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * timer/timer.c: Eliminate empty function from every benchmark timer
- driver. Fix spelling.
-
-2008-08-31 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * timer/timer.c: Rename timer driver methods to follow RTEMS
- programming conventions.
-
-2008-08-18 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * clock/ckinit.c, startup/bspstart.c, timer/timer.c:
- Add missing prototypes.
-
-2008-05-23 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * console/console.c: Eliminate copies of switches to convert termios
- Bxxx constants to xxx as an integer. Use the shared
- termios_baud_to_number() routine to do the same conversion.
-
-2008-05-15 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * startup/bspstart.c: Add capability for bootcard.c BSP Initialization
- Framework to ask the BSP where it has memory for the RTEMS Workspace
- and C Program Heap. These collectively are referred to as work area.
- If the BSP supports this, then it does not have to include code to
- split the available memory between the two areas. This reduces the
- amount of code in the BSP specific bspstart.c file. Additionally, the
- shared framework can initialize the C Library, call
- rtems_debug_enable(), and dirty the work area memory. Until most/all
- BSPs support this new capability, if the BSP supports this, it should
- call RTEMS_BSP_BOOTCARD_HANDLES_RAM_ALLOCATION from its configure.ac.
- When the transition is complete, this autoconf macro can be removed.
-
-2008-05-14 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * Makefile.am: Rework to avoid .rel files.
-
-2008-05-12 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * startup/bspstart.c: Refactored and renamed initialization routines to
- rtems_initialize_data_structures, rtems_initialize_before_drivers,
- rtems_initialize_device_drivers, and
- rtems_initialize_start_multitasking. This opened the sequence up so
- that bootcard() could provide a more robust and flexible framework
- which is easier to explain and understand. This also lays the
- groundwork for sharing the division of available memory between the
- RTEMS workspace and heap and the C library initialization across all
- BSPs.
-
-2008-05-07 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- PR 649/bsps
- * clock/ckinit.c, console/console.c: Add missing structure element.
-
-2008-03-03 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * startup/linkcmds: Add wildcard to gcc_except_table section so
- programs compiled with gcc 4.3.x can link.
-
-2007-12-11 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies
- of the Configuration Table. Use the RTEMS provided accessor macros to
- obtain configuration fields.
-
-2007-12-04 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field
- from CPU Table to Configuration Table. Eliminate CPU Table from all
- ports. Delete references to CPU Table in all forms.
-
-2007-12-03 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * Makefile.am, startup/bspstart.c: Moved most of the remaining CPU
- Table fields to the Configuration Table. This included
- pretasking_hook, predriver_hook, postdriver_hook, idle_task,
- do_zero_of_workspace, extra_mpci_receive_server_stack,
- stack_allocate_hook, and stack_free_hook. As a side-effect of this
- effort some multiprocessing code was made conditional and some style
- clean up occurred.
-
-2007-11-26 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * startup/bspstart.c: Eliminate the interrupt_table_segment and
- interrupt_table_offset fields in the i386 CPU Table since they are
- never read.
-
-2007-05-28 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * startup/bspstart.c: Eliminate maximum_drivers configuration parameter
- since it was used to configure a no longer used feature. Device names
- are now part of the filesystem not in a table.
-
-2007-04-12 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * bsp_specs: Remove qrtems_debug.
-
-2006-12-15 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * network/ne2000.c: Use ioctl_command_t as arg in ioctl-functions.
-
-2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: New BUG-REPORT address.
-
-2006-11-15 Joel Sherrill <joel@OARcorp.com>
-
- * Makefile.am: Merge c_rtems_main() into boot_card(). This eliminated a
- file and simplified initialization.
-
-2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Remove superfluous -DASM.
-
-2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Require autoconf-2.60. Require automake-1.10.
-
-2006-01-11 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Remove explicit ampolish3 support (now in
- RTEMS_BSP_CONFIGURE).
-
-2006-01-10 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Add ampolish3 support.
- * Makefile.am: Add preinstall.am.
-
-2005-10-17 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Add pci.rel.
-
-2005-10-17 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Install/preinstall headers from ../../i386/shared.
-
-2005-09-19 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * network/ne2000.c: Include <errno.h> instead of <sys/errno.h>.
-
-2005-05-26 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * include/bsp.h: New header guard.
-
-2005-05-06 Jennifer Averett <jennifer.averett@oarcorp.com>
-
- * clock/ckinit.c, console/console.c, include/bsp.h, network/ne2000.c:
- Moved irq.h to bsp subdirectory.
-
-2005-01-07 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Eliminate CFLAGS_OPTIMIZE_V.
-
-2005-01-02 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * Makefile.am: Remove build-variant support.
-
-2004-09-24 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * configure.ac: Require automake > 1.9.
-
-2004-07-25 Joel Sherrill <joel@OARcorp.com>
-
- * Makefile.am: Add -D__INSIDE_RTEMS_BSD_TCPIP_STACK__ for network.
- * network/ne2000.c: Add include of <sys/errno.h>.
-
-2004-04-23 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- PR 610/bsps
- * Makefile.am: Add include/tm27.h, Cosmetics.
- * include/tm27.h: Final cosmetics.
-
-2004-04-22 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * include/bsp.h: Split out tmtest27 support.
- * include/tm27.h: New.
-
-2004-04-21 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- PR 613/bsps
- * include/bsp.h: Remove MAX_LONG_TEST_DURATION.
-
-2004-04-21 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- PR 614/bsps
- * include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused).
-
-2004-04-02 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * start/start.S: Include <rtems/asm.h> instead of <asm.h>.
- * timer/timerisr.S: Include <rtems/asm.h> instead of <asm.h>.
-
-2004-04-01 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * include/bsp.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
- * include/bsp.h: Include <rtems/console.h> instead of <console.h>.
- * include/bsp.h: Include <rtems/iosupp.h> instead of <iosupp.h>.
-
-2004-03-31 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * clock/ckinit.c, clock/rtc.c, include/bsp.h, startup/bspstart.c,
- timer/timer.c: Convert to using c99 fixed size types.
-
-2004-02-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect changes to bsp.am.
- Preinstall dist_project_lib*.
-
-2004-02-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect changes to bsp.am.
-
-2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Use CPPASCOMPILE instead of CCASCOMPILE.
-
-2004-02-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Pickup files from ../../i386/shared instead of
- ../shared. Reformat.
-
-2004-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Merge-in clock/Makefile.am, console/Makefile.am,
- network/Makefile.am, startup/Makefile.am, timer/Makefile.am,
- wrapup/Makefile.am. Use automake compilation rules.
- * clock/Makefile.am, console/Makefile.am, network/Makefile.am,
- startup/Makefile.am, timer/Makefile.am, wrapup/Makefile.am: Remove.
- * configure.ac: Reflect changes above.
-
-2004-01-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Add nostdinc to AUTOMAKE_OPTIONS.
- Add RTEMS_PROG_CCAS.
-
-2004-01-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Add PREINSTALL_DIRS.
- * wrapup/Makefile.am: Reflect changes to libcpu.
-
-2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
- Add PRE/TMPINSTALL_FILES to CLEANFILES.
- * startup/Makefile.am: Ditto.
-
-2004-01-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Remove.
- * Makefile.am: Merge-in start/Makefile.am.
- * configure.ac: Reflect changes above.
-
-2004-01-05 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Eliminate $(LIB).
- Use noinst_DATA to trigger building libbsp.a.
-
-2003-12-13 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
- * startup/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
- * startup/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Require automake >= 1.8, autoconf >= 2.59.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Cosmetics.
-
-2003-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Misc cleanups and fixes.
- * startup/Makefile.am: Misc cleanups and fixes.
- * wrapup/Makefile.am: Misc cleanups and fixes.
-
-2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Add preinstallation dirstamp support.
- * clock/Makefile.am: Cosmetics.
- * console/Makefile.am: Cosmetics.
- * network/Makefile.am: Cosmetics.
- * startup/Makefile.am: Cosmetics.
- * timer/Makefile.am: Cosmetics.
- * wrapup/Makefile.am: Cosmetics.
-
-2003-12-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Remove all-local: $(ARCH).
- * console/Makefile.am: Remove all-local: $(ARCH).
- * network/Makefile.am: Remove all-local: $(ARCH).
- * start/Makefile.am: Remove all-local: $(ARCH).
- * startup/Makefile.am: Remove all-local: $(ARCH).
- * timer/Makefile.am: Remove all-local: $(ARCH).
- * wrapup/Makefile.am: Remove all-local: $(ARCH).
-
-2003-09-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Merge-in include/Makefile.am.
- Reflect changes to bsp.am.
- * include/Makefile.am: Remove.
- * configure.ac: Reflect changes above.
-
-2003-09-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * bsp_specs: Remove *lib:.
-
-2003-09-04 Joel Sherrill <joel@OARcorp.com>
-
- * clock/ckinit.c, clock/rtc.c, console/console.c, include/bsp.h,
- include/coverhd.h, network/ne2000.c, start/80386ex.h,
- start/80386ex.inc, start/macros.inc, start/start.S,
- startup/bspstart.c, startup/linkcmds, startup/setvec.c,
- timer/timer.c, timer/timerisr.S, tools/debug_ada/init.c,
- tools/debug_c/init.c, tools/debug_c/serial_gdb.c,
- tools/debug_c/system.h, tools/network_ada/listener/init.c,
- tools/network_ada/tcprelay/init.c, tools/ts_1325_ada/init.c: URL for
- license changed.
-
-2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved aclocal/.
-
-2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved automake/.
- * clock/Makefile.am: Reflect having moved automake/.
- * console/Makefile.am: Reflect having moved automake/.
- * include/Makefile.am: Reflect having moved automake/.
- * network/Makefile.am: Reflect having moved automake/.
- * start/Makefile.am: Reflect having moved automake/.
- * startup/Makefile.am: Reflect having moved automake/.
- * timer/Makefile.am: Reflect having moved automake/.
- * wrapup/Makefile.am: Reflect having moved automake/.
-
-2003-08-13 Joel Sherrill <joel@OARcorp.com>
-
- PR 451/bsps
- * startup/Makefile.am: Include shared i386 TTY driver in these BSPs.
-
-2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- PR 452/bsps
- * startup/Makefile.am: Remove USE_INIT_FINI.
-
-2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Use rtems-bugs@rtems.com as bug report email address.
-
-2003-08-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- PR 445/bsps
- * bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp.
- Remove cpp, old_cpp (now unused).
-
-2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove AC_CONFIG_AUX_DIR.
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AC_PREREQ(2.57).
-
-2003-01-20 Joel Sherrill <joel@OARcorp.com>
-
- * startup/linkcmds: Add FreeBSD SYSCTL() sections for networking.
-
-2002-12-19 Joel Sherrill <joel@OARcorp.com>
-
- * console/console.c: Removed __assert() which conflicts with newlib.
-
-2002-12-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * console/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * network/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * start/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * startup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
- * timer/Makefile.am: Don't include @RTEMS_BSP@.cfg.
-
-2002-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Use install-data-local to install startfile.
-
-2002-12-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg.
-
-2002-11-04 Joel Sherrill <joel@OARcorp.com>
-
- * console/console.c, network/ne2000.c: Removed warnings.
-
-2002-11-01 Joel Sherrill <joel@OARcorp.com>
-
- * startup/bspstart.c: Removed warnings.
-
-2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Reformat.
- Add autom4te*cache.
- Remove autom4te.cache.
-
-2002-09-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove duplicate timer/Makefile in AC_CONFIG_FILES.
-
-2002-08-21 Joel Sherrill <joel@OARcorp.com>
-
- * bsp_specs: Added support for -nostdlibs.
-
-2002-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am: Use .$(OBJEXT) instead of .o.
- * console/Makefile.am: Use .$(OBJEXT) instead of .o.
- * network/Makefile.am: Use .$(OBJEXT) instead of .o.
- * start/Makefile.am: Use .$(OBJEXT) instead of .o.
- * startup/Makefile.am: Use .$(OBJEXT) instead of .o.
- * timer/Makefile.am: Use .$(OBJEXT) instead of .o.
- * wrapup/Makefile.am: Use .$(OBJEXT) instead of .o.
-
-2002-07-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Eliminate PGM.
- Add bsplib_DATA = $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o.
-
-2002-07-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * startup/Makefile.am: Add bsplib_DATA = linkcmds.
-
-2002-07-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Eliminate TMPINSTALL_FILES.
- Remove $(OBJS) from all-local.
-
-2002-06-29 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * wrapup/Makefile.am: Remove preinstallation of libbsp.a,
-
-2001-05-17 Joel Sherrill <joel@OARcorp.com>
-
- * startup/linkcmds: Per PR224, added wild card math to .rodata.
-
-2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * include/bsp.h: include <libcpu/cpu.h>.
- * console/console.c: Remove unused variable console_open_count.
-
-2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac:
- AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
- AM_INIT_AUTOMAKE([no-define foreign 1.6]).
- * clock/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * Makefile.am: Remove AUTOMAKE_OPTIONS.
- * console/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * include/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * network/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * start/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * startup/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * timer/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * wrapup/Makefile.am: Remove AUTOMAKE_OPTIONS.
-
-2002-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove stray ';', PR 139.
-
-2002-01-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * include/bsp.h: Include rtems/bspIo.h instead of bspIo.h.
-
-2001-12-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu,
- replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g.
-
-2001-11-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Introduce RTEMS_BSP_CONFIGURE.
-
-2001-11-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Add RTEMS_BSPOPTS_*(LOAD_RTC_AT_START),
- RTEMS_BSPOPTS_*(BSP_DEBUG), RTEMS_BSPOPTS_*(UARTDEBUG),
- remove RTEMS_OUTPUT_BUILD_SUBDIRS.
-
-2001-10-12 Joel Sherrill <joel@OARcorp.com>
-
- * startup/linkcmds: Fixed typo.
-
-2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Add autom4te.cache for autoconf > 2.52.
- * configure.in: Remove.
- * configure.ac: New file, generated from configure.in by autoupdate.
-
-2001-09-27 Joel Sherrill <joel@OARcorp.com>
-
- * include/bsp.h: Renamed delay() to rtems_bsp_delay().
-
-2001-09-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * include/Makefile.am: Use 'PREINSTALL_FILES ='.
-
-2001-05-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.in: Add bspopts.h.
- * include/.cvsignore: Add bspopts.h*, stamp-h*.
- * include/Makefile.am: Use *_HEADERS instead of *H_FILES.
- * include/bsp.h: Include bspopts.h.
-
-2001-05-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]).
-
-2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
-
-2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
-
-2000-11-01 Joel Sherrill <joel@OARcorp.com>
-
- * startup/bspstart.c: assoc.h, error.h, libio_.h, libio.h,
- and libcsupport.h moved from libc to lib/include/rtems and
- now must be referenced as <rtems/XXX.h>. Header file order
- was cleaned up while doing this.
-
-2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.in, Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
- Switch to GNU canonicalization.
-
-2000-10-19 Joel Sherrill <joel@OARcorp.com>
-
- * console/console.c: Invoke BSP_uart_init() with all arguments
- now that it takes more parameters.
-
-2000-10-17 Joel Sherrill <joel@OARcorp.com>
-
- * startup/Makefile.am: Added idt.c since it has been moved libcpu/i386
- to libbsp/i386/shared/irq.
-
-2000-09-29 Charles-Antoine Gauthier <charles.gauthier@nrc.ca>
-
- * startup/linkcmds: Added lines so DWARF debug information
- would be available. Otherwise gdb complains that the offsets
- for the debug info are incorrect and doesn't load the files.
-
-2000-09-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * start/Makefile.am: Remove AM_CPPFLAGS and GAS_CODE16 conditional.
- * startup/Makefile.am: Cleanup comments.
-
-2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * clock/Makefile.am, console/Makefile.am, network/Makefile.am,
- start/Makefile.am, startup/Makefile.am, timer/Makefile.am,
- wrapup/Makefile.am: Include compile.am
-
-2000-08-10 Joel Sherrill <joel@OARcorp.com>
-
- * ChangeLog: New file.
diff --git a/c/src/lib/libbsp/i386/ts_386ex/Makefile.am b/c/src/lib/libbsp/i386/ts_386ex/Makefile.am
deleted file mode 100644
index 3b3677e576..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/Makefile.am
+++ /dev/null
@@ -1,90 +0,0 @@
-##
-## $Id$
-##
-
-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
-
-nodist_include_HEADERS = include/bspopts.h
-nodist_include_bsp_HEADERS = ../../shared/include/bootcard.h
-DISTCLEANFILES = include/bspopts.h
-
-noinst_PROGRAMS =
-
-# wrapup is the one that actually builds and installs the library
-# from the individual .rel files built in other directories
-SUBDIRS = . tools
-
-include_HEADERS += include/coverhd.h
-
-include_bsp_HEADERS = ../../i386/shared/irq/irq.h \
- ../../i386/shared/irq/irq_asm.h \
- ../../shared/include/irq-generic.h \
- ../../shared/include/irq-info.h
-
-noinst_LIBRARIES = libbspstart.a
-libbspstart_a_SOURCES = start/start.S start/80386ex.h \
- start/80386ex.inc start/macros.inc start/ts_1325.inc
-project_lib_DATA = start.$(OBJEXT)
-
-dist_project_lib_DATA += startup/linkcmds
-
-noinst_LIBRARIES += libbsp.a
-libbsp_a_SOURCES =
-
-include_HEADERS += ../../i386/shared/comm/uart.h
-# startup
-libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
- ../../shared/bsppredriverhook.c ../../shared/bsppretaskinghook.c \
- ../../shared/bspgetworkarea.c ../../shared/bspreset.c \
- ../../shared/bsppost.c startup/bspstart.c ../../shared/bootcard.c \
- ../../shared/sbrk.c ../../i386/shared/irq/idt.c \
- ../../i386/shared/irq/irq.c ../../i386/shared/irq/irq_init.c \
- ../../i386/shared/comm/i386-stub.c \
- ../../i386/shared/comm/i386-stub-glue.c ../../i386/shared/comm/uart.c \
- ../../shared/gnatinstallhandler.c ../../i386/shared/comm/gdb_glue.c \
- ../../i386/shared/comm/tty_drv.c ../../i386/shared/irq/irq_asm.S \
- ../../shared/src/irq-generic.c \
- ../../shared/src/irq-legacy.c \
- ../../shared/src/irq-info.c \
- ../../shared/src/irq-shell.c
-# clock
-libbsp_a_SOURCES += clock/ckinit.c clock/rtc.c
-# console
-libbsp_a_SOURCES += console/console.c
-include_HEADERS += ../../i386/shared/pci/pcibios.h
-# pci
-libbsp_a_SOURCES += ../../i386/shared/pci/pcibios.c \
- ../../i386/shared/pci/pcibios.h
-# timer
-libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
-
-if HAS_NETWORKING
-include_HEADERS += include/wd80x3.h
-
-# dec21140 is supported via libchip
-# FIXME: Do we really need these flags?
-network_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
-noinst_PROGRAMS += network.rel
-network_rel_SOURCES = network/ne2000.c network/wd80x3.h
-network_rel_CPPFLAGS = $(AM_CPPFLAGS) $(network_CPPFLAGS)
-network_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
-endif
-
-libbsp_a_LIBADD = \
- ../../../libcpu/@RTEMS_CPU@/cache.rel \
- ../../../libcpu/@RTEMS_CPU@/score.rel
-if HAS_NETWORKING
-libbsp_a_LIBADD += network.rel
-endif
-
-include $(srcdir)/preinstall.am
-include $(top_srcdir)/../../../../automake/local.am
diff --git a/c/src/lib/libbsp/i386/ts_386ex/README b/c/src/lib/libbsp/i386/ts_386ex/README
deleted file mode 100644
index bfe757eff2..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/README
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# $Id$
-#
-
-This BSP is for the Technologic Systems TS-1325, an i386EX PC/AT
-compatible SBC equipped with 2 standard serial ports and a parallel
-port suitable for general digital I/O. It comes with 2MB RAM and 1MB
-Flash ROM. Additional information is available at the TS web site:
-http://www.t-systems.com.
-
-The BSP uses software floating-point emulation, so one must build the
-cross-compilation tools with this support. The BSP also supports the
-on-board RTC, and an NE2000 compatible network card. It has been used
-successfully with C/C++ (egcs-1.1.2) and Ada95 (gnat-3.11p), including
-networking applications.
-
-The TS-1325 runs a version of DOS, and should be configured with a RAM
-disk and Zmodem software (see WWW site). RTEMS executables are loaded
-and run in DOS conventional memory, giving a 600K file-size limit. The
-1MB extended memory is used for the RTEMS workspace, heap, stack and
-BSS. Console output is to COM2 @ 115200 baud, 8-N-1. The high baud
-rate is needed to speed up serial-line Zmodem file transfers. The
-TS-1325 DOS console I/O is by default 9600 baud, and should be changed
-to 115200 baud (see WWW site).
-
-A typical development cycle involves these steps:
-
-1. Cross-compile the application, yielding an ELF executable. Convert
- this to raw binary format, using objcopy or the elf2exe script (see
- the tools subdirectory in the BSP).
-
-2. Use Zmodem to download the raw executable to the TS-1325's ram-disk
- (faster than the A: flash disk). A terminal program supporting
- Zmodem is needed on the host e.g. minicom under Linux.
-
-3. Use the DOS-based RTEMS loader "loader.com" (see tools
- subdirectory) to load and run the executable on the TS-1325.
-
-Additional documentation and support software is in the tools subdirectory
-of the BSP.
-
-Happy Coding!
-
-Tony Ambardar, 8/8/99
diff --git a/c/src/lib/libbsp/i386/ts_386ex/bsp_specs b/c/src/lib/libbsp/i386/ts_386ex/bsp_specs
deleted file mode 100644
index b264b62d3d..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/bsp_specs
+++ /dev/null
@@ -1,13 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-%rename link old_link
-
-*startfile:
-%{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: start.o%s crti.o%s crtbegin.o%s -e _init_i386ex}}
-
-*link:
-%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N}
-
-*endfile:
-%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c b/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c
deleted file mode 100644
index 7527f90354..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Clock_initialize
- *
- * This routine initializes the Timer/Counter on the Intel
- * 386ex evaluation board.
- *
- * The tick frequency is 1 millisecond.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <bsp.h>
-#include <bsp/irq.h>
-
-#include <stdlib.h>
-
-uint32_t Clock_isrs; /* ISRs until next tick */
-static uint32_t Clock_initial_isr_value;
-
-volatile uint32_t Clock_driver_ticks;
-
-extern void Clock_exit( void );
-
-/* External Prototypes */
-extern void init_rtc(void); /* defined in 'rtc.c' */
-extern long rtc_read(rtems_time_of_day *); /* defined in 'rtc.c' */
-
-/*
- * These are set by clock driver during its init
- */
-
-rtems_device_major_number rtems_clock_major = ~0;
-rtems_device_major_number rtems_clock_minor = 0;
-
-/*
- * This is the ISR handler.
- */
-
-void Clock_isr(rtems_irq_hdl_param unused)
-{
- /* enable_tracing(); */
- Clock_driver_ticks += 1;
- if ( Clock_isrs == 1 ) {
- rtems_clock_tick();
- Clock_isrs = Clock_initial_isr_value; /* rtems_configuration_get_microseconds_per_tick() / 1000;*/
- }
- else
- Clock_isrs -= 1;
-}
-
-void ClockOff(const rtems_irq_connect_data* unused)
-{
- outport_byte (TIMER_CONFIG, 0x80 ); /* disable the counter timer */
-}
-
-void ClockOn(const rtems_irq_connect_data* unused)
-{
- outport_byte (TIMER_CONFIG, 0x00 ); /* enable the counter timer */
-}
-
-int ClockIsOn(const rtems_irq_connect_data* unused)
-{
- return ((i8259s_cache & 0x1) == 0);
-}
-
-static rtems_irq_connect_data clockIrqData = {BSP_PERIODIC_TIMER,
- Clock_isr,
- 0,
- ClockOn,
- ClockOff,
- ClockIsOn};
-
-rtems_device_driver Clock_initialize(
- rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *pargp
-)
-{
- unsigned timer_counter_init_value;
- unsigned char clock_lsb, clock_msb;
-
-#ifdef BSP_DEBUG
- printk("Initializing clock driver in Clock_initialize().\n");
-#endif
-
-#ifdef LOAD_RTC_AT_START
- /* Initialize clock from on-board real time clock. This breaks the */
- /* test code which assumes which assumes the application will do it. */
- {
- rtems_time_of_day now;
-
-
-#ifdef BSP_DEBUG
- printk("Loading clock from on-board real-time clock.\n");
-#endif
-
- init_rtc();
- if (rtc_read(&now) >= 0)
- rtems_clock_set(&now);
- }
-#endif
-
- Clock_driver_ticks = 0;
-
- Clock_isrs =
- Clock_initial_isr_value =
- rtems_configuration_get_microseconds_per_tick() / 1000; /* ticks per clock_isr */
-
- /*
- * configure the counter timer ( should be based on microsecs/tick )
- * NB. The divisor(Clock_isrs) resolves the is the same number that appears in confdefs.h
- * when setting the microseconds_per_tick value.
- */
- ClockOff ( &clockIrqData );
-
- timer_counter_init_value = rtems_configuration_get_microseconds_per_tick() / Clock_isrs;
- clock_lsb = (unsigned char)timer_counter_init_value;
- clock_msb = timer_counter_init_value >> 8;
-
- outport_byte (TIMER_MODE, TIMER_SEL0|TIMER_16BIT|TIMER_RATEGEN);
- outport_byte (TIMER_CNTR0, clock_lsb ); /* load LSB first */
- outport_byte (TIMER_CNTR0, clock_msb ); /* then MSB */
-
- if (!BSP_install_rtems_irq_handler (&clockIrqData)) {
- printk("Unable to initialize system clock\n");
- rtems_fatal_error_occurred(1);
- }
-
- /*
- * make major/minor avail to others such as shared memory driver
- */
-
- rtems_clock_major = major;
- rtems_clock_minor = minor;
-
- return RTEMS_SUCCESSFUL;
-}
-
-void Clock_exit(void)
-{
- ClockOff(&clockIrqData);
- BSP_remove_rtems_irq_handler (&clockIrqData);
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/clock/rtc.c b/c/src/lib/libbsp/i386/ts_386ex/clock/rtc.c
deleted file mode 100644
index a82ac835db..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/clock/rtc.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*-------------------------------------------------------------------------+
-| rtc.c v1.1 - PC386 BSP - 1997/08/07
-+--------------------------------------------------------------------------+
-| This file contains the real time clock manipulation package for the
-| PC386 board.
-+--------------------------------------------------------------------------+
-| (C) Copyright 1997 -
-| - NavIST Group - Real-Time Distributed Systems and Industrial Automation
-|
-| http://pandora.ist.utl.pt
-|
-| Instituto Superior Tecnico * Lisboa * PORTUGAL
-+--------------------------------------------------------------------------+
-| Disclaimer:
-|
-| This file is provided "AS IS" without warranty of any kind, either
-| expressed or implied.
-+--------------------------------------------------------------------------+
-| This code is based on:
-| rtc.c,v 1.4 1995/12/19 20:07:15 joel Exp - go32 BSP
-| With the following copyright notice:
-| **************************************************************************
-| * 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.com/license/LICENSE.
-| **************************************************************************
-|
-| $Id$
-+--------------------------------------------------------------------------*/
-
-#include <string.h>
-
-#include <bsp.h>
-
-/*-------------------------------------------------------------------------+
-| Constants
-+--------------------------------------------------------------------------*/
-#define IO_RTC 0x70 /* RTC */
-
-#define RTC_SEC 0x00 /* seconds */
-#define RTC_SECALRM 0x01 /* seconds alarm */
-#define RTC_MIN 0x02 /* minutes */
-#define RTC_MINALRM 0x03 /* minutes alarm */
-#define RTC_HRS 0x04 /* hours */
-#define RTC_HRSALRM 0x05 /* hours alarm */
-#define RTC_WDAY 0x06 /* week day */
-#define RTC_DAY 0x07 /* day of month */
-#define RTC_MONTH 0x08 /* month of year */
-#define RTC_YEAR 0x09 /* month of year */
-#define RTC_STATUSA 0x0a /* status register A */
-#define RTCSA_TUP 0x80 /* time update, don't look now */
-
-#define RTC_STATUSB 0x0b /* status register B */
-
-#define RTC_INTR 0x0c /* status register C (R) interrupt source */
-#define RTCIR_UPDATE 0x10 /* update intr */
-#define RTCIR_ALARM 0x20 /* alarm intr */
-#define RTCIR_PERIOD 0x40 /* periodic intr */
-#define RTCIR_INT 0x80 /* interrupt output signal */
-
-#define RTC_STATUSD 0x0d /* status register D (R) Lost Power */
-#define RTCSD_PWR 0x80 /* clock lost power */
-
-#define RTC_DIAG 0x0e /* status register E - bios diagnostic */
-#define RTCDG_BITS "\020\010clock_battery\007ROM_cksum\006config_unit\005memory_size\004fixed_disk\003invalid_time"
-
-#define RTC_CENTURY 0x32 /* current century - increment in Dec99 */
-
-/*-------------------------------------------------------------------------+
-| Auxiliary Functions
-+--------------------------------------------------------------------------*/
-/*-------------------------------------------------------------------------+
-| Function: bcd
-| Description: Convert 2 digit number to its BCD representation.
-| Global Variables: None.
-| Arguments: i - Number to convert.
-| Returns: BCD representation of number.
-+--------------------------------------------------------------------------*/
-static inline uint8_t
-bcd(uint8_t i)
-{
- return ((i / 16) * 10 + (i % 16));
-} /* bcd */
-
-#define QUICK_READ /* Quick read of the RTC: don't return number of seconds. */
-
-#ifndef QUICK_READ
-
-#define SECS_PER_DAY (24 * 60 * 60)
-#define SECS_PER_REG_YEAR (365 * SECS_PER_DAY)
-
-/*-------------------------------------------------------------------------+
-| Function: ytos
-| Description: Convert years to seconds (since 1970).
-| Global Variables: None.
-| Arguments: y - year to convert (1970 <= y <= 2100).
-| Returns: number of seconds since 1970.
-+--------------------------------------------------------------------------*/
-static inline uint32_t
-ytos(uint16_t y)
-{ /* v NUM LEAP YEARS v */
- return ((y - 1970) * SECS_PER_REG_YEAR + (y - 1970 + 1) / 4 * SECS_PER_DAY);
-} /* ytos */
-
-/*-------------------------------------------------------------------------+
-| Function: mtos
-| Description: Convert months to seconds since January.
-| Global Variables: None.
-| Arguments: m - month to convert, leap - is this a month of a leap year.
-| Returns: number of seconds since January.
-+--------------------------------------------------------------------------*/
-static inline uint32_t
-mtos(uint8_t m, bool leap)
-{
- static uint16_t daysMonth[] = { 0, 0, 31, 59, 90, 120, 151, 181,
- 212, 243, 273, 304, 334, 365 };
- /* Days since beginning of year until beginning of month. */
-
- return ((daysMonth[m] + (leap ? 1 : 0)) * SECS_PER_DAY);
-} /* mtos */
-
-#endif /* QUICK_READ */
-
-/*-------------------------------------------------------------------------+
-| Function: rtcin
-| Description: Perform action on RTC and return its result.
-| Global Variables: None.
-| Arguments: what - what to write to RTC port (what to do).
-| Returns: result received from RTC port after action performed.
-+--------------------------------------------------------------------------*/
-static inline uint8_t
-rtcin(uint8_t what)
-{
- uint8_t r;
-
- outport_byte(IO_RTC, what);
- inport_byte (IO_RTC+1, r);
- return r;
-} /* rtcin */
-
-/*-------------------------------------------------------------------------+
-| Functions
-+--------------------------------------------------------------------------*/
-/*-------------------------------------------------------------------------+
-| Function: init_rtc
-| Description: Initialize real-time clock (RTC).
-| Global Variables: None.
-| Arguments: None.
-| Returns: Nothing.
-+--------------------------------------------------------------------------*/
-void
-init_rtc(void)
-{
- uint8_t s;
-
- /* initialize brain-dead battery powered clock */
- outport_byte(IO_RTC, RTC_STATUSA);
- outport_byte(IO_RTC+1, 0x26);
- outport_byte(IO_RTC, RTC_STATUSB);
- outport_byte(IO_RTC+1, 2);
-
- outport_byte(IO_RTC, RTC_DIAG);
- inport_byte (IO_RTC+1, s);
- if (s)
- printk("RTC BIOS diagnostic error %b\n", s);
-
- /* FIXME: This was last line's original version. How was it supposed to work?
- printf("RTC BIOS diagnostic error %b\n", s, RTCDG_BITS); */
-} /* init_rtc */
-
-/*-------------------------------------------------------------------------+
-| Function: rtc_read
-| Description: Read present time from RTC and return it.
-| Global Variables: None.
-| Arguments: tod - to return present time in 'rtems_time_of_day' format.
-| Returns: number of seconds from 1970/01/01 corresponding to 'tod'.
-+--------------------------------------------------------------------------*/
-long int
-rtc_read(rtems_time_of_day *tod)
-{
- uint8_t sa;
- uint32_t sec = 0;
-
- memset(tod, 0, sizeof *tod); /* zero tod structure */
-
- /* do we have a realtime clock present? (otherwise we loop below) */
- sa = rtcin(RTC_STATUSA);
- if (sa == 0xff || sa == 0)
- return -1;
-
- /* ready for a read? */
- while ((sa&RTCSA_TUP) == RTCSA_TUP)
- sa = rtcin(RTC_STATUSA);
-
- tod->year = bcd(rtcin(RTC_YEAR)) + 1900; /* year */
- if (tod->year < 1970) tod->year += 100;
- tod->month = bcd(rtcin(RTC_MONTH)); /* month */
- tod->day = bcd(rtcin(RTC_DAY)); /* day */
- (void) bcd(rtcin(RTC_WDAY)); /* weekday */
- tod->hour = bcd(rtcin(RTC_HRS)); /* hour */
- tod->minute = bcd(rtcin(RTC_MIN)); /* minutes */
- tod->second = bcd(rtcin(RTC_SEC)); /* seconds */
- tod->ticks = 0;
-
-#ifndef QUICK_READ /* Quick read of the RTC: don't return number of seconds. */
- sec = ytos(tod->year);
- sec += mtos(tod->month, (tod->year % 4) == 0);
- sec += tod->day * SECS_PER_DAY;
- sec += tod->hour * 60 * 60; /* hour */
- sec += tod->minute * 60; /* minutes */
- sec += tod->second; /* seconds */
-#endif /* QUICK_READ */
-
- return (long int)sec;
-} /* rtc_read */
diff --git a/c/src/lib/libbsp/i386/ts_386ex/configure.ac b/c/src/lib/libbsp/i386/ts_386ex/configure.ac
deleted file mode 100644
index 547c99ffe1..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/configure.ac
+++ /dev/null
@@ -1,46 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-##
-## $Id$
-
-AC_PREREQ([2.68])
-AC_INIT([rtems-c-src-lib-libbsp-i386-ts_386ex],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
-AC_CONFIG_SRCDIR([bsp_specs])
-RTEMS_TOP(../../../../../..)
-
-RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.11.1])
-RTEMS_BSP_CONFIGURE
-
-RTEMS_PROG_CC_FOR_TARGET
-RTEMS_CANONICALIZE_TOOLS
-RTEMS_PROG_CCAS
-
-RTEMS_CHECK_NETWORKING
-
-## if this is an i386, does gas have good code16 support?
-RTEMS_I386_GAS_CODE16
-AM_CONDITIONAL(RTEMS_GAS_CODE16,test "$RTEMS_GAS_CODE16" = "yes")
-
-AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
-
-RTEMS_CONFIG_BUILD_SUBDIRS(tools)
-
-# bsp-specific options
-RTEMS_BSPOPTS_SET([LOAD_RTC_AT_START],[*],[1])
-RTEMS_BSPOPTS_HELP([LOAD_RTC_AT_START],
-[Initialize RTC and load into system clock at startup. This will break
-some tests.])
-
-RTEMS_BSPOPTS_SET([BSP_DEBUG],[*],[])
-RTEMS_BSPOPTS_HELP([BSP_DEBUG],
-[Enables some debugging in the BSP package.])
-
-RTEMS_BSPOPTS_SET([UARTDEBUG],[*],[])
-RTEMS_BSPOPTS_HELP([UARTDEBUG],
-[Enables some debugging in the BSP's uart.])
-
-RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/i386/ts_386ex/console/console.c b/c/src/lib/libbsp/i386/ts_386ex/console/console.c
deleted file mode 100644
index 322ccb7795..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/console/console.c
+++ /dev/null
@@ -1,303 +0,0 @@
-/*-------------------------------------------------------------------------+
-| console.c v1.1 - i386ex BSP - 1997/08/07
-+--------------------------------------------------------------------------+
-| This file contains the i386ex console I/O package. It is just a termios
-| wrapper.
-+--------------------------------------------------------------------------+
-| (C) Copyright 1997 -
-| - NavIST Group - Real-Time Distributed Systems and Industrial Automation
-|
-| http://pandora.ist.utl.pt
-|
-| Instituto Superior Tecnico * Lisboa * PORTUGAL
-+--------------------------------------------------------------------------+
-| Disclaimer:
-|
-| This file is provided "AS IS" without warranty of any kind, either
-| expressed or implied.
-+--------------------------------------------------------------------------+
-| This code is based on:
-| console.c,v 1.4 1995/12/19 20:07:23 joel Exp - go32 BSP
-| console.c,v 1.15 pc386 BSP
-| With the following copyright notice:
-| **************************************************************************
-| * 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.com/license/LICENSE.
-| **************************************************************************
-|
-| $Id$
-+--------------------------------------------------------------------------*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <rtems/error.h>
-
-#include <bsp.h>
-#include <bsp/irq.h>
-#include <rtems/libio.h>
-#include <termios.h>
-#include <uart.h>
-#include <libcpu/cpuModel.h>
-#include <rtems/termiostypes.h>
-
-/*
- * Possible value for console input/output :
- * BSP_UART_COM1
- * BSP_UART_COM2
- * BSP_CONSOLE_PORT_CONSOLE is not valid in this BSP.
- * All references to either keyboard or video handling have been removed.
- */
-
-int BSPConsolePort = BSP_UART_COM2;
-int BSPBaseBaud = 115200;
-int BSP_poll_read(int);
-
-extern BSP_polling_getchar_function_type BSP_poll_char;
-
-static int conSetAttr(int minor, const struct termios *);
-static void isr_on(const rtems_irq_connect_data *);
-static void isr_off(const rtems_irq_connect_data *);
-static int isr_is_on(const rtems_irq_connect_data *);
-
-/*
- * Change references to com2 if required.
- */
-
-static rtems_irq_connect_data console_isr_data =
-{ BSP_UART_COM2_IRQ,
- BSP_uart_termios_isr_com2,
- 0,
- isr_on,
- isr_off,
- isr_is_on};
-
-static void
-isr_on(const rtems_irq_connect_data *unused)
-{
- return;
-}
-
-static void
-isr_off(const rtems_irq_connect_data *unused)
-{
- return;
-}
-
-static int
-isr_is_on(const rtems_irq_connect_data *irq)
-{
- return BSP_irq_enabled_at_i8259s(irq->name);
-}
-
-/*-------------------------------------------------------------------------+
-| Console device driver INITIALIZE entry point.
-+--------------------------------------------------------------------------+
-| Initilizes the I/O console (keyboard + VGA display) driver.
-+--------------------------------------------------------------------------*/
-rtems_device_driver
-console_initialize(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg)
-{
- rtems_status_code status;
-
- /*
- * Set up TERMIOS
- */
- rtems_termios_initialize ();
-
- /*
- * Do device-specific initialization
- */
-
- /* 115200-8-N-1, without hardware flow control */
- BSP_uart_init(BSPConsolePort, 115200, CHR_8_BITS, 0, 0, 0);
-
- /* Set interrupt handler */
- if(BSPConsolePort == BSP_UART_COM1)
- {
- console_isr_data.name = BSP_UART_COM1_IRQ;
- console_isr_data.hdl = BSP_uart_termios_isr_com1;
-
- }
- else
- {
- assert(BSPConsolePort == BSP_UART_COM2);
- console_isr_data.name = BSP_UART_COM2_IRQ;
- console_isr_data.hdl = BSP_uart_termios_isr_com2;
- }
-
- status = BSP_install_rtems_irq_handler(&console_isr_data);
-
- if (!status){
- printk("Error installing serial console interrupt handler!\n");
- rtems_fatal_error_occurred(status);
- }
- /*
- * Register the device
- */
- status = rtems_io_register_name ("/dev/console", major, 0);
- if (status != RTEMS_SUCCESSFUL)
- {
- printk("Error registering console device!\n");
- rtems_fatal_error_occurred (status);
- }
-
- if(BSPConsolePort == BSP_UART_COM1)
- {
- printk("Initialized console on port COM1 115200-8-N-1\n\n");
- }
- else
- {
- printk("Initialized console on port COM2 115200-8-N-1\n\n");
- }
-
- return RTEMS_SUCCESSFUL;
-} /* console_initialize */
-
-static int console_last_close(int major, int minor, void *arg)
-{
- BSP_remove_rtems_irq_handler (&console_isr_data);
-
- return 0;
-}
-
-/*-------------------------------------------------------------------------+
-| Console device driver OPEN entry point
-+--------------------------------------------------------------------------*/
-rtems_device_driver
-console_open(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg)
-{
- rtems_status_code status;
- static rtems_termios_callbacks cb =
- {
- NULL, /* firstOpen */
- console_last_close, /* lastClose */
- NULL, /* poll read */
- BSP_uart_termios_write_com1, /* write */
- conSetAttr, /* setAttributes */
- NULL, /* stopRemoteTx */
- NULL, /* startRemoteTx */
- 1 /* outputUsesInterrupts */
- };
-
- if(BSPConsolePort == BSP_UART_COM2)
- {
- cb.write = BSP_uart_termios_write_com2;
- }
-
- status = rtems_termios_open (major, minor, arg, &cb);
-
- if(status != RTEMS_SUCCESSFUL)
- {
- printk("Error openning console device\n");
- return status;
- }
-
- /*
- * Pass data area info down to driver
- */
- BSP_uart_termios_set(BSPConsolePort,
- ((rtems_libio_open_close_args_t *)arg)->iop->data1);
-
- /* Enable interrupts on channel */
- BSP_uart_intr_ctrl(BSPConsolePort, BSP_UART_INTR_CTRL_TERMIOS);
-
- return RTEMS_SUCCESSFUL;
-}
-
-/*-------------------------------------------------------------------------+
-| Console device driver CLOSE entry point
-+--------------------------------------------------------------------------*/
-rtems_device_driver
-console_close(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg)
-{
-
- return (rtems_termios_close (arg));
-
-} /* console_close */
-
-/*-------------------------------------------------------------------------+
-| Console device driver READ entry point.
-+--------------------------------------------------------------------------+
-| Read characters from the I/O console. We only have stdin.
-+--------------------------------------------------------------------------*/
-rtems_device_driver
-console_read(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void *arg)
-{
- rtems_status_code sc;
-
- sc = rtems_termios_read (arg);
-
- if ( sc != RTEMS_SUCCESSFUL )
- printk("console_read: fails %s\n",rtems_status_text(sc));
-
- return sc;
-
-} /* console_read */
-
-/*-------------------------------------------------------------------------+
-| Console device driver WRITE entry point.
-+--------------------------------------------------------------------------+
-| Write characters to the I/O console. Stderr and stdout are the same.
-+--------------------------------------------------------------------------*/
-rtems_device_driver
-console_write(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg)
-{
- return rtems_termios_write (arg);
-
-} /* console_write */
-
-/*
- * Handle ioctl request.
- */
-rtems_device_driver
-console_control(rtems_device_major_number major,
- rtems_device_minor_number minor,
- void * arg
-)
-{
- return rtems_termios_ioctl (arg);
-}
-
-static int
-conSetAttr(int minor, const struct termios *t)
-{
- rtems_termios_baud_t baud;
-
- baud = rtems_termios_baud_to_number(t->c_cflag & CBAUD);
- if ( baud > 115200 )
- rtems_fatal_error_occurred (RTEMS_INTERNAL_ERROR);
-
- BSP_uart_set_baud(BSPConsolePort, baud);
-
- return 0;
-}
-
-/*
- * BSP initialization
- */
-
-BSP_output_char_function_type BSP_output_char =
- (BSP_output_char_function_type) BSP_output_char_via_serial;
-
-BSP_polling_getchar_function_type BSP_poll_char =
- (BSP_polling_getchar_function_type) BSP_poll_char_via_serial;
-
-int BSP_poll_read(int ttyMinor){
-
- return BSP_poll_char_via_serial();
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/include/.cvsignore b/c/src/lib/libbsp/i386/ts_386ex/include/.cvsignore
deleted file mode 100644
index 5f1077556d..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/include/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-bspopts.h
-bspopts.h.in
-stamp-h
-stamp-h.in
diff --git a/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h b/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h
deleted file mode 100644
index f2fd0d0e91..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/include/bsp.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * This include file definitions related to an Intel i386ex board.
- *
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#ifndef _BSP_H
-#define _BSP_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <bspopts.h>
-
-#include <rtems.h>
-#include <rtems/iosupp.h>
-#include <rtems/console.h>
-#include <rtems/clockdrv.h>
-#include <rtems/bspIo.h>
-#include <libcpu/cpu.h>
-#include <bsp/irq.h>
-
-/*
- * Network driver configuration
- */
-
-struct rtems_bsdnet_ifconfig;
-extern int rtems_ne_driver_attach (struct rtems_bsdnet_ifconfig *config);
-
-extern void Wait_X_ms (unsigned);
-
-#define RTEMS_BSP_NETWORK_DRIVER_NAME "ne1"
-#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_ne_driver_attach
-
-#define NE2000_BYTE_TRANSFERS
-
-/*
- * Constants relating to the 8254 (or 8253) programmable interval timers.
- */
-
-#define TIMER_CONFIG 0xF834
-#define IO_TIMER1 0xF040
-
- /* Port address of the control port and timer channels */
-
-#define TIMER_CNTR0 (IO_TIMER1 + 0) /* timer 0 counter port */
-#define TIMER_CNTR1 (IO_TIMER1 + 1) /* timer 1 counter port */
-#define TIMER_CNTR2 (IO_TIMER1 + 2) /* timer 2 counter port */
-#define TIMER_MODE (IO_TIMER1 + 3) /* timer mode port */
-#define TIMER_SEL0 0x00 /* select counter 0 */
-#define TIMER_SEL1 0x40 /* select counter 1 */
-#define TIMER_SEL2 0x80 /* select counter 2 */
-#define TIMER_INTTC 0x00 /* mode 0, intr on terminal cnt */
-#define TIMER_ONESHOT 0x02 /* mode 1, one shot */
-#define TIMER_RATEGEN 0x04 /* mode 2, rate generator */
-#define TIMER_SQWAVE 0x06 /* mode 3, square wave */
-#define TIMER_SWSTROBE 0x08 /* mode 4, s/w triggered strobe */
-#define TIMER_HWSTROBE 0x0a /* mode 5, h/w triggered strobe */
-#define TIMER_LATCH 0x00 /* latch counter for reading */
-#define TIMER_LSB 0x10 /* r/w counter LSB */
-#define TIMER_MSB 0x20 /* r/w counter MSB */
-#define TIMER_16BIT 0x30 /* r/w counter 16 bits, LSB first */
-#define TIMER_BCD 0x01 /* count in BCD */
-
-/*
- * Simple spin delay in microsecond units for device drivers.
- * This is very dependent on the clock speed of the target.
- */
-
-#define rtems_bsp_delay( _microseconds ) \
- { \
- uint32_t _counter; \
- \
- _counter = (_microseconds); \
- \
- __asm__ volatile ( "0: nop;" \
- " mov %0,%0 ;" \
- " loop 0b" : "=c" (_counter) \
- : "0" (_counter) \
- ); \
- \
- }
-
-/* Constants */
-
-#define RAM_START 0
-
-/* replaced the earlier EI kludge of 0xfffff */
-
-#define RAM_END 0x200000
-
-/* Structures */
-
-#define IDT_SIZE 256
-#define GDT_SIZE 3
-
-extern interrupt_gate_descriptor Interrupt_descriptor_table[IDT_SIZE];
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/i386/ts_386ex/include/coverhd.h b/c/src/lib/libbsp/i386/ts_386ex/include/coverhd.h
deleted file mode 100644
index 077d731f0d..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/include/coverhd.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/* coverhd.h
- *
- * This include file has defines to represent the overhead associated
- * with calling a particular directive from C on this target.
- *
- * COPYRIGHT (c) 1989-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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#ifndef __COVERHD_h
-#define __COVERHD_h
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 3
-#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 3
-#define CALLING_OVERHEAD_TASK_CREATE 4
-#define CALLING_OVERHEAD_TASK_IDENT 4
-#define CALLING_OVERHEAD_TASK_START 4
-#define CALLING_OVERHEAD_TASK_RESTART 3
-#define CALLING_OVERHEAD_TASK_DELETE 3
-#define CALLING_OVERHEAD_TASK_SUSPEND 3
-#define CALLING_OVERHEAD_TASK_RESUME 3
-#define CALLING_OVERHEAD_TASK_SET_PRIORITY 4
-#define CALLING_OVERHEAD_TASK_MODE 4
-#define CALLING_OVERHEAD_TASK_GET_NOTE 4
-#define CALLING_OVERHEAD_TASK_SET_NOTE 4
-#define CALLING_OVERHEAD_TASK_WAKE_WHEN 7
-#define CALLING_OVERHEAD_TASK_WAKE_AFTER 3
-#define CALLING_OVERHEAD_INTERRUPT_CATCH 4
-#define CALLING_OVERHEAD_CLOCK_GET 7
-#define CALLING_OVERHEAD_CLOCK_SET 7
-#define CALLING_OVERHEAD_CLOCK_TICK 2
-
-#define CALLING_OVERHEAD_TIMER_CREATE 3
-#define CALLING_OVERHEAD_TIMER_IDENT 3
-#define CALLING_OVERHEAD_TIMER_DELETE 3
-#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 4
-#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 8
-#define CALLING_OVERHEAD_TIMER_RESET 3
-#define CALLING_OVERHEAD_TIMER_CANCEL 3
-#define CALLING_OVERHEAD_SEMAPHORE_CREATE 4
-#define CALLING_OVERHEAD_SEMAPHORE_DELETE 3
-#define CALLING_OVERHEAD_SEMAPHORE_IDENT 4
-#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 4
-#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 3
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 4
-#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 3
-
-#define CALLING_OVERHEAD_EVENT_SEND 4
-#define CALLING_OVERHEAD_EVENT_RECEIVE 4
-#define CALLING_OVERHEAD_SIGNAL_CATCH 3
-#define CALLING_OVERHEAD_SIGNAL_SEND 3
-#define CALLING_OVERHEAD_PARTITION_CREATE 4
-#define CALLING_OVERHEAD_PARTITION_IDENT 4
-#define CALLING_OVERHEAD_PARTITION_DELETE 3
-#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 4
-#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 4
-#define CALLING_OVERHEAD_REGION_CREATE 4
-#define CALLING_OVERHEAD_REGION_IDENT 3
-#define CALLING_OVERHEAD_REGION_DELETE 3
-#define CALLING_OVERHEAD_REGION_GET_SEGMENT 4
-#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 4
-#define CALLING_OVERHEAD_PORT_CREATE 4
-#define CALLING_OVERHEAD_PORT_IDENT 3
-#define CALLING_OVERHEAD_PORT_DELETE 3
-#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 4
-#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 4
-
-#define CALLING_OVERHEAD_IO_INITIALIZE 4
-#define CALLING_OVERHEAD_IO_OPEN 4
-#define CALLING_OVERHEAD_IO_CLOSE 4
-#define CALLING_OVERHEAD_IO_READ 4
-#define CALLING_OVERHEAD_IO_WRITE 4
-#define CALLING_OVERHEAD_IO_CONTROL 4
-#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 3
-#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 3
-#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 2
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/c/src/lib/libbsp/i386/ts_386ex/include/tm27.h b/c/src/lib/libbsp/i386/ts_386ex/include/tm27.h
deleted file mode 100644
index 623a045f16..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/include/tm27.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * tm27.h
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-#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
- *
- * NOTE: Use a software interrupt for the i386.
- */
-
-#define MUST_WAIT_FOR_INTERRUPT 0
-
-#define Install_tm27_vector(handler)
-
-#define Cause_tm27_intr() __asm__ volatile( "int $0x90" : : );
-
-#define Clear_tm27_intr() /* empty */
-
-#define Lower_tm27_intr() /* empty */
-
-#endif
diff --git a/c/src/lib/libbsp/i386/ts_386ex/include/wd80x3.h b/c/src/lib/libbsp/i386/ts_386ex/include/wd80x3.h
deleted file mode 100644
index c82035b61c..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/include/wd80x3.h
+++ /dev/null
@@ -1,122 +0,0 @@
-
-/* Register descriptions */
-/* Controller DP8390. */
-
-#define DATAPORT 0x10 /* Port Window. */
-#define RESET 0x1f /* Issue a read for reset */
-#define W83CREG 0x00 /* I/O port definition */
-#define ADDROM 0x08
-
-/* page 0 read or read/write registers */
-
-#define CMDR 0x00+RO
-#define CLDA0 0x01+RO /* current local dma addr 0 for read */
-#define CLDA1 0x02+RO /* current local dma addr 1 for read */
-#define BNRY 0x03+RO /* boundary reg for rd and wr */
-#define TSR 0x04+RO /* tx status reg for rd */
-#define NCR 0x05+RO /* number of collision reg for rd */
-#define FIFO 0x06+RO /* FIFO for rd */
-#define ISR 0x07+RO /* interrupt status reg for rd and wr */
-#define CRDA0 0x08+RO /* current remote dma address 0 for rd */
-#define CRDA1 0x09+RO /* current remote dma address 1 for rd */
-#define RSR 0x0C+RO /* rx status reg for rd */
-#define CNTR0 0x0D+RO /* tally cnt 0 for frm alg err for rd */
-#define CNTR1 RO+0x0E /* tally cnt 1 for crc err for rd */
-#define CNTR2 0x0F+RO /* tally cnt 2 for missed pkt for rd */
-
-/* page 0 write registers */
-
-#define PSTART 0x01+RO /* page start register */
-#define PSTOP 0x02+RO /* page stop register */
-#define TPSR 0x04+RO /* tx start page start reg */
-#define TBCR0 0x05+RO /* tx byte count 0 reg */
-#define TBCR1 0x06+RO /* tx byte count 1 reg */
-#define RSAR0 0x08+RO /* remote start address reg 0 */
-#define RSAR1 0x09+RO /* remote start address reg 1 */
-#define RBCR0 0x0A+RO /* remote byte count reg 0 */
-#define RBCR1 0x0B+RO /* remote byte count reg 1 */
-#define RCR 0x0C+RO /* rx configuration reg */
-#define TCR 0x0D+RO /* tx configuration reg */
-#define DCR RO+0x0E /* data configuration reg */
-#define IMR 0x0F+RO /* interrupt mask reg */
-
-/* page 1 registers */
-
-#define PAR 0x01+RO /* physical addr reg base for rd and wr */
-#define CURR 0x07+RO /* current page reg for rd and wr */
-#define MAR 0x08+RO /* multicast addr reg base fro rd and WR */
-#define MARsize 8 /* size of multicast addr space */
-
-/*-----W83CREG command bits-----*/
-#define MSK_RESET 0x80 /* W83CREG masks */
-#define MSK_ENASH 0x40
-#define MSK_DECOD 0x3F /* memory decode bits, corresponding */
- /* to SA 18-13. SA 19 assumed to be 1 */
-
-/*-----CMDR command bits-----*/
-#define MSK_STP 0x01 /* stop the chip */
-#define MSK_STA 0x02 /* start the chip */
-#define MSK_TXP 0x04 /* initial txing of a frm */
-#define MSK_RRE 0x08 /* remote read */
-#define MSK_RWR 0x10 /* remote write */
-#define MSK_RD2 0x20 /* no DMA used */
-#define MSK_PG0 0x00 /* select register page 0 */
-#define MSK_PG1 0x40 /* select register page 1 */
-#define MSK_PG2 0x80 /* select register page 2 */
-
-/*-----ISR and TSR status bits-----*/
-#define MSK_PRX 0x01 /* rx with no error */
-#define MSK_PTX 0x02 /* tx with no error */
-#define MSK_RXE 0x04 /* rx with error */
-#define MSK_TXE 0x08 /* tx with error */
-#define MSK_OVW 0x10 /* overwrite warning */
-#define MSK_CNT 0x20 /* MSB of one of the tally counters is set */
-#define MSK_RDC 0x40 /* remote dma completed */
-#define MSK_RST 0x80 /* reset state indicator */
-
-/*-----DCR command bits-----*/
-#define MSK_WTS 0x01 /* word transfer mode selection */
-#define MSK_BOS 0x02 /* byte order selection */
-#define MSK_LAS 0x04 /* long addr selection */
-#define MSK_BMS 0x08 /* burst mode selection */
-#define MSK_ARM 0x10 /* autoinitialize remote */
-#define MSK_FT00 0x00 /* burst lrngth selection */
-#define MSK_FT01 0x20 /* burst lrngth selection */
-#define MSK_FT10 0x40 /* burst lrngth selection */
-#define MSK_FT11 0x60 /* burst lrngth selection */
-
-/*-----RCR command bits-----*/
-#define MSK_SEP 0x01 /* save error pkts */
-#define MSK_AR 0x02 /* accept runt pkt */
-#define MSK_AB 0x04 /* 8390 RCR */
-#define MSK_AM 0x08 /* accept multicast */
-#define MSK_PRO 0x10 /* accept all pkt with physical adr */
-#define MSK_MON 0x20 /* monitor mode */
-
-/*-----TCR command bits-----*/
-#define MSK_CRC 0x01 /* inhibit CRC, do not append crc */
-#define MSK_LOOP 0x02 /* set loopback mode */
-#define MSK_BCST 0x04 /* Accept broadcasts */
-#define MSK_LB01 0x06 /* encoded loopback control */
-#define MSK_ATD 0x08 /* auto tx disable */
-#define MSK_OFST 0x10 /* collision offset enable */
-
-/*-----receive status bits-----*/
-#define SMK_PRX 0x01 /* rx without error */
-#define SMK_CRC 0x02 /* CRC error */
-#define SMK_FAE 0x04 /* frame alignment error */
-#define SMK_FO 0x08 /* FIFO overrun */
-#define SMK_MPA 0x10 /* missed pkt */
-#define SMK_PHY 0x20 /* physical/multicase address */
-#define SMK_DIS 0x40 /* receiver disable. set in monitor mode */
-#define SMK_DEF 0x80 /* deferring */
-
-/*-----transmit status bits-----*/
-#define SMK_PTX 0x01 /* tx without error */
-#define SMK_DFR 0x02 /* non deferred tx */
-#define SMK_COL 0x04 /* tx collided */
-#define SMK_ABT 0x08 /* tx abort because of excessive collisions */
-#define SMK_CRS 0x10 /* carrier sense lost */
-#define SMK_FU 0x20 /* FIFO underrun */
-#define SMK_CDH 0x40 /* collision detect heartbeat */
-#define SMK_OWC 0x80 /* out of window collision */
diff --git a/c/src/lib/libbsp/i386/ts_386ex/make/custom/ts_386ex.cfg b/c/src/lib/libbsp/i386/ts_386ex/make/custom/ts_386ex.cfg
deleted file mode 100644
index 6e9e4ee962..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/make/custom/ts_386ex.cfg
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# Config file for the ts-386ex BSP
-#
-# $Id$
-#
-
-include $(RTEMS_ROOT)/make/custom/default.cfg
-
-RTEMS_CPU=i386
-RTEMS_CPU_MODEL=i386_nofp
-
-# This contains the compiler options necessary to select the CPU model
-# and (hopefully) optimize for it. Enables software floating-point
-# emulation since we don't have a i387 co-processor.
-#
-CPU_CFLAGS =-msoft-float -mno-fp-ret-in-387
-
-# optimize flag: typically -O2
-CFLAGS_OPTIMIZE_V = -O2 -g
-
-define bsp-post-link
- $(default-bsp-post-link)
- $(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
-endef
diff --git a/c/src/lib/libbsp/i386/ts_386ex/network/ne2000.c b/c/src/lib/libbsp/i386/ts_386ex/network/ne2000.c
deleted file mode 100644
index ca7f3b2693..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/network/ne2000.c
+++ /dev/null
@@ -1,1042 +0,0 @@
-/* ne2k.c -- RTEMS NE2000 Ethernet driver.
- * Written by Ian Lance Taylor, Zembu Labs.
- * October, 1998.
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- *
- * Both the ne2000 and the wd80x3 are based on the National Semiconductor
- * 8390 chip, so there is a fair amount of overlap between the two
- * drivers. It would be possible in principle to combine some code into
- * a separate set of subroutines called by both. In fact, the drivers in
- * both OpenBSD and Linux work this way. I didn't bother, because for
- * the relatively simple drivers used by RTEMS, the overlap is not
- * especially large, and any reasonable use of subroutines would lead to
- * slightly less efficient code.
-
- * This ne2000 driver uses two transmit buffers. While one packet is
- * being transmitted over the Ethernet, RTEMS will upload another. Since
- * uploading a packet to the ne2000 is rather slow, I don't think there
- * is any point to having more than two transmit buffers. However, the
- * code does make it possible, by changing NE_TX_BUFS, although that
- * would of course reduce the number of receive buffers.
- *
- * I suspect that the wd80x3 driver would benefit slightly from copying
- * the multiple transmit buffer code. However, I have no way to test
- * that.
- */
-
-#include <bsp.h>
-#include <wd80x3.h>
-
-#include <stdio.h>
-#include <assert.h>
-
-#include <rtems/error.h>
-#include <rtems/rtems_bsdnet.h>
-
-#include <sys/param.h>
-#include <sys/mbuf.h>
-#include <sys/socket.h>
-#include <sys/sockio.h>
-#include <errno.h>
-
-#include <net/if.h>
-
-#include <netinet/in.h>
-#include <netinet/if_ether.h>
-
-#include <bsp/irq.h>
-
-/* Define this to force byte-wide data transfers with the NIC. This
- is needed for boards like the TS-1325 386EX PC, which support only
- an 8-bit PC/104 bus. Undefine this on a normal PC.*/
-
-/* #define NE2000_BYTE_TRANSFERS */
-
-/* Define this to print debugging messages with printk. */
-
-/* #define DEBUG_NE2000 */
-
-/* We expect to be able to read a complete packet into an mbuf. */
-
-#if (MCLBYTES < 1520)
-# error "Driver must have MCLBYTES >= 1520"
-#endif
-
-/* The 8390 macro definitions in wd80x3.h expect RO to be defined. */
-#define RO 0
-
-/* Minimum size of Ethernet packet. */
-#define ET_MINLEN 60
-
-/* The number of NE2000 devices supported by this driver. */
-
-#define NNEDRIVER 1
-
-/* RTEMS event number used by the interrupt handler to signal the
- driver task. This must not be any of the events used by the
- network task synchronization. */
-#define INTERRUPT_EVENT RTEMS_EVENT_1
-
-/* RTEMS event number used to start the transmit daemon. This must
- not be the same as INTERRUPT_EVENT. */
-#define START_TRANSMIT_EVENT RTEMS_EVENT_2
-
-/* Interrupts we want to handle from the device. */
-
-#define NE_INTERRUPTS \
- (MSK_PRX | MSK_PTX | MSK_RXE | MSK_TXE | MSK_OVW | MSK_CNT)
-
-/* The size of a page in device memory. */
-
-#define NE_PAGE_SIZE (256)
-
-/* The first page address in device memory. */
-
-#define NE_START_PAGE (0x40)
-
-/* The last page address, plus 1. */
-
-#define NE_STOP_PAGE (0x80)
-
-/* The number of pages used for a single transmit buffer. This is
- 1536 bytes, enough for a full size packet. */
-
-#define NE_TX_PAGES (6)
-
-/* The number of transmit buffers. We use two, so we can load one
- packet while the other is being sent. */
-
-#define NE_TX_BUFS (2)
-
-/* We use the first pages in memory as transmit buffers, and the
- remaining ones as receive buffers. */
-
-#define NE_FIRST_TX_PAGE (NE_START_PAGE)
-
-#define NE_FIRST_RX_PAGE (NE_FIRST_TX_PAGE + NE_TX_PAGES * NE_TX_BUFS)
-
-/* Data we store for each NE2000 device. */
-
-struct ne_softc {
- /* The bsdnet information structure. */
- struct arpcom arpcom;
-
- /* The interrupt request number. */
- unsigned int irno;
- /* The base IO port number. */
- unsigned int port;
-
- /* Whether we accept broadcasts. */
- int accept_broadcasts;
-
- /* The thread ID of the transmit task. */
- rtems_id tx_daemon_tid;
- /* The thread ID of the receive task. */
- rtems_id rx_daemon_tid;
-
- /* Whether we use byte-transfers with the device. */
- bool byte_transfers;
-
- /* The number of memory buffers which the transmit daemon has loaded
- with data to be sent, but which have not yet been completely
- sent. */
- int inuse;
- /* The index of the next available transmit memory buffer. */
- int nextavail;
- /* The index of the next transmit buffer to send. */
- int nextsend;
- /* Nonzero if the device is currently transmitting a packet. */
- int transmitting;
- /* The length of the data stored in each transmit buffer. */
- int sendlen[NE_TX_BUFS];
-
- /* Set if we have a packet overrun while receiving. */
- int overrun;
- /* Set if we should resend after an overrun. */
- int resend;
-
- /* Statistics. */
- struct {
- /* Number of packets received. */
- unsigned long rx_packets;
- /* Number of packets sent. */
- unsigned long tx_packets;
- /* Number of interrupts. */
- unsigned long interrupts;
- /* Number of receive acknowledgements. */
- unsigned long rx_acks;
- /* Number of transmit acknowledgements. */
- unsigned long tx_acks;
- /* Number of packet overruns. */
- unsigned long overruns;
- /* Number of frame errors. */
- unsigned long rx_frame_errors;
- /* Number of CRC errors. */
- unsigned long rx_crc_errors;
- /* Number of missed packets. */
- unsigned long rx_missed_errors;
- } stats;
-};
-
-/* The list of NE2000 devices on this system. */
-
-static struct ne_softc ne_softc[NNEDRIVER];
-
-/* Find the NE2000 device which is attached at a particular interrupt
- vector. */
-
-static struct ne_softc *
-ne_device_for_irno (int irno)
-{
- int i;
-
- for (i = 0; i < NNEDRIVER; ++i)
- {
- if (ne_softc[i].irno == irno
- && ne_softc[i].arpcom.ac_if.if_softc != NULL)
- return &ne_softc[i];
- }
-
- return NULL;
-}
-
-/* Read data from an NE2000 device. Read LEN bytes at ADDR, storing
- them into P. */
-
-static void
-ne_read_data (struct ne_softc *sc, int addr, int len, unsigned char *p)
-{
- unsigned int port = sc->port;
- unsigned int dport = port + DATAPORT;
-
- outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STA);
- outport_byte (port + RBCR0, len);
- outport_byte (port + RBCR1, len >> 8);
- outport_byte (port + RSAR0, addr);
- outport_byte (port + RSAR1, addr >> 8);
- outport_byte (port + CMDR, MSK_PG0 | MSK_RRE | MSK_STA);
-
- if (sc->byte_transfers)
- while (len > 0) {
- unsigned char d;
-
- inport_byte (dport, d);
- *p++ = d;
- len--;
- }
- else /* word transfers */
- while (len > 0) {
- unsigned short d;
-
- inport_word (dport, d);
- *p++ = d;
- *p++ = d >> 8;
- len -= 2;
- }
-
- outport_byte (port + ISR, MSK_RDC);
-}
-
-/* Handle the current NE2000 status. This is called when the device
- signals an interrupt. It is also called at other times while
- NE2000 interrupts have been disabled. */
-
-static void
-ne_check_status (struct ne_softc *sc)
-{
- unsigned int port = sc->port;
- unsigned char status;
-
- /* It seems that we need to use a loop here, because if the NE2000
- signals an interrupt because packet transmission is complete, and
- then receives a packet while interrupts are disabled, it seems to
- sometimes fail to signal the interrupt for the received packet
- when interrupts are reenabled. (Based on the behaviour of the
- Realtek 8019AS chip). */
-
- while (1) {
- inport_byte (port + ISR, status);
- if (status == 0)
- break;
-
-#ifdef DEBUG_NE2000
- printk ("NE2000 status 0x%x (8259 enabled: %s; mask: %x)\n", status,
- i8259s_cache & (1 << sc->irno) ? "no" : "yes",
- i8259s_cache);
-#endif
-
- /* Check for incoming packet overwrite. */
- if (status & MSK_OVW) {
- unsigned char status2;
-
- ++sc->stats.overruns;
- outport_byte (port + CMDR, MSK_PG0 | MSK_STP | MSK_RD2);
- Wait_X_ms (2);
- outport_byte (port + RBCR0, 0);
- outport_byte (port + RBCR1, 0);
- inport_byte (port + ISR, status2);
- status |= status2 & (MSK_PTX | MSK_TXE);
- outport_byte (port + TCR, MSK_LOOP);
- outport_byte (port + CMDR, MSK_PG0 | MSK_STA | MSK_RD2);
- sc->overrun = 1;
- if ((status & (MSK_PTX | MSK_TXE)) == 0)
- sc->resend = 1;
- rtems_event_send (sc->rx_daemon_tid, INTERRUPT_EVENT);
- }
-
- /* Check for transmitted packet. The transmit daemon may now be
- able to send another packet to the device. */
- if ((status & (MSK_PTX | MSK_TXE)) != 0) {
- ++sc->stats.tx_acks;
- outport_byte (port + ISR, status & (MSK_PTX | MSK_TXE));
- --sc->inuse;
- sc->transmitting = 0;
- if (sc->inuse > 0 || (sc->arpcom.ac_if.if_flags & IFF_OACTIVE) != 0)
- rtems_event_send (sc->tx_daemon_tid, START_TRANSMIT_EVENT);
- }
-
- /* Check for received packet. */
- if ((status & (MSK_PRX | MSK_RXE)) != 0) {
- ++sc->stats.rx_acks;
- outport_byte (port + ISR, status & (MSK_PRX | MSK_RXE));
- rtems_event_send (sc->rx_daemon_tid, INTERRUPT_EVENT);
- }
-
- /* Check for counter change. */
- if ((status & MSK_CNT) != 0) {
- unsigned char add;
-
- inport_byte (port + CNTR0, add);
- sc->stats.rx_frame_errors += add;
- inport_byte (port + CNTR1, add);
- sc->stats.rx_crc_errors += add;
- inport_byte (port + CNTR2, add);
- sc->stats.rx_missed_errors += add;
- outport_byte (port + ISR, MSK_CNT);
- }
- }
-
- outport_byte (port + CMDR, MSK_PG0 | MSK_STA | MSK_RD2);
-}
-
-/* Handle an NE2000 interrupt. */
-
-static rtems_isr
-ne_interrupt_handler (rtems_vector_number v)
-{
- struct ne_softc *sc;
-
- sc = ne_device_for_irno (v);
- if (sc == NULL)
- return;
-
- ++sc->stats.interrupts;
-
- ne_check_status (sc);
-}
-
-/* Turn NE2000 interrupts on. */
-
-static void
-ne_interrupt_on (const rtems_irq_connect_data *irq)
-{
- struct ne_softc *sc;
-
-#ifdef DEBUG_NE2000
- printk ("ne_interrupt_on\n");
-#endif
- sc = ne_device_for_irno (irq->name);
- if (sc != NULL)
- outport_byte (sc->port + IMR, NE_INTERRUPTS);
-}
-
-/* Turn NE2000 interrupts off. See ne_interrupt_on. */
-
-static void
-ne_interrupt_off (const rtems_irq_connect_data *irq)
-{
- struct ne_softc *sc;
-
-#ifdef DEBUG_NE2000
- printk ("ne_interrupt_off\n");
-#endif
- sc = ne_device_for_irno (irq->name);
- if (sc != NULL)
- outport_byte (sc->port + IMR, 0);
-}
-
-/* Return whether NE2000 interrupts are on. */
-
-static int
-ne_interrupt_is_on (const rtems_irq_connect_data *irq)
-{
- return BSP_irq_enabled_at_i8259s (irq->name);
-}
-
-/* Initialize the NE2000 hardware. */
-
-static void
-ne_init_hardware (struct ne_softc *sc)
-{
- unsigned int port = sc->port;
- int i;
- rtems_irq_connect_data irq;
-
-#ifdef DEBUG_NE2000
- printk ("ne_init_hardware\n");
-#endif
-
- /* Initialize registers. */
-
- outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STP);
-
- if (sc->byte_transfers) {
- outport_byte (port + DCR, MSK_FT10 | MSK_BMS);
- }
- else {
- outport_byte (port + DCR, MSK_FT10 | MSK_BMS | MSK_WTS);
- }
-
- outport_byte (port + RBCR0, 0);
- outport_byte (port + RBCR1, 0);
- outport_byte (port + RCR, MSK_MON);
- outport_byte (port + TCR, MSK_LOOP);
- outport_byte (port + IMR, 0);
- outport_byte (port + ISR, 0xff);
- outport_byte (port + PSTOP, NE_STOP_PAGE);
- outport_byte (port + PSTART, NE_FIRST_RX_PAGE);
- outport_byte (port + BNRY, NE_STOP_PAGE - 1);
-
- /* Set the Ethernet hardware address. */
-
- outport_byte (port + CMDR, MSK_PG1 | MSK_RD2);
- for (i = 0; i < ETHER_ADDR_LEN; ++i)
- outport_byte (port + PAR + i, sc->arpcom.ac_enaddr[i]);
-
-#ifdef DEBUG_NE2000
- printk ("Using ethernet address: ");
- for (i = 0; i < ETHER_ADDR_LEN; ++i)
- printk("%x ",sc->arpcom.ac_enaddr[i]);
- printk ("\n");
-#endif
-
- /* Clear the multicast address. */
- for (i = 0; i < MARsize; ++i)
- outport_byte (port + MAR + i, 0);
-
- outport_byte (port + CURR, NE_FIRST_RX_PAGE);
-
- outport_byte (port + CMDR, MSK_PG0 | MSK_RD2);
-
- /* Put the device on line. */
- outport_byte (port + CMDR, MSK_PG0 | MSK_STA | MSK_RD2);
-
- /* Set up interrupts. */
-
- irq.name = sc->irno;
- irq.hdl = (rtems_irq_hdl)ne_interrupt_handler;
- irq.on = ne_interrupt_on;
- irq.off = ne_interrupt_off;
- irq.isOn = ne_interrupt_is_on;
-
- if (! BSP_install_rtems_irq_handler (&irq))
- rtems_panic ("Can't attach NE interrupt handler for irq %d.\n",
- sc->irno);
-
- /* Prepare to receive packets. */
-
- outport_byte (port + TCR, 0);
- outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0));
-}
-
-/* The NE2000 packet receive daemon. This task is started when the
- NE2000 driver is initialized. */
-
-static void
-ne_rx_daemon (void *arg)
-{
- struct ne_softc *sc = (struct ne_softc *) arg;
- struct ifnet *ifp = &sc->arpcom.ac_if;
- unsigned int port = sc->port;
- unsigned int dport = port + DATAPORT;
-
- while (1) {
- rtems_event_set events;
-
- /* Wait for the interrupt handler to tell us that there is a
- packet ready to receive. */
- rtems_bsdnet_event_receive (INTERRUPT_EVENT,
- RTEMS_WAIT | RTEMS_EVENT_ANY,
- RTEMS_NO_TIMEOUT,
- &events);
-
- /* Don't let the device interrupt us now. */
- outport_byte (port + IMR, 0);
-
- while (1) {
- unsigned char startpage, currpage;
- unsigned short statnext, len;
- int next;
- struct mbuf *m;
- unsigned char *p;
- int startaddr;
- int toend;
- struct ether_header *eh;
-
- inport_byte (port + BNRY, startpage);
-
- outport_byte (port + CMDR, MSK_PG1 | MSK_RD2);
- inport_byte (port + CURR, currpage);
- outport_byte (port + CMDR, MSK_PG0 | MSK_RD2);
-
- ++startpage;
- if (startpage >= NE_STOP_PAGE)
- startpage = NE_FIRST_RX_PAGE;
-
- if (startpage == currpage)
- break;
-
-#ifdef DEBUG_NE2000
- printk ("ne_rx_daemon: start page %x; current page %x\n",
- startpage, currpage);
-#endif
-
- /* Read the buffer header. This is 1 byte receive status, 1
- byte page of next buffer, 2 bytes length. */
- outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STA);
- outport_byte (port + RBCR0, 4);
- outport_byte (port + RBCR1, 0);
- outport_byte (port + RSAR0, 0);
- outport_byte (port + RSAR1, startpage);
- outport_byte (port + CMDR, MSK_PG0 | MSK_RRE | MSK_STA);
-
- if (sc->byte_transfers) {
- unsigned char data;
-
- inport_byte (dport, data); /* Throw away status */
- inport_byte (dport, data);
- next = data;
-
- inport_byte (dport, data);
- len = data;
- inport_byte (dport, data);
- len |= data << 8;
- }
- else { /* Word transfers */
- inport_word (dport, statnext);
- inport_word (dport, len);
-
- next = statnext >> 8;
- }
-
- outport_byte (port + ISR, MSK_RDC);
-
- if (next >= NE_STOP_PAGE)
- next = NE_FIRST_RX_PAGE;
-
- /* The first four bytes of the length are the buffer header. */
- len -= 4;
- startaddr = startpage * NE_PAGE_SIZE + 4;
-
- MGETHDR (m, M_WAIT, MT_DATA);
- MCLGET (m, M_WAIT);
- m->m_pkthdr.rcvif = ifp;
-
- p = mtod (m, unsigned char *);
- m->m_len = m->m_pkthdr.len = len - sizeof (struct ether_header);
-
- toend = NE_STOP_PAGE * NE_PAGE_SIZE - startaddr;
- if (toend < len) {
- ne_read_data (sc, startaddr, toend, p);
- p += toend;
- len -= toend;
- startaddr = NE_FIRST_RX_PAGE * NE_PAGE_SIZE;
- }
-
- if (len > 0)
- ne_read_data (sc, startaddr, len, p);
-
- eh = mtod (m, struct ether_header *);
- m->m_data += sizeof (struct ether_header);
- ether_input (ifp, eh, m);
-
- ++sc->stats.rx_packets;
-
- outport_byte (port + BNRY, next - 1);
- }
-
- if (sc->overrun) {
- outport_byte (port + ISR, MSK_OVW);
- outport_byte (port + TCR, 0);
- if (sc->resend)
- outport_byte (port + CMDR, MSK_PG0 | MSK_TXP | MSK_RD2 | MSK_STA);
- sc->resend = 0;
- sc->overrun = 0;
- }
-
- /* Reenable device interrupts. */
- outport_byte (port + IMR, NE_INTERRUPTS);
- }
-}
-
-/* Load an NE2000 packet onto the device. */
-
-static void
-ne_loadpacket (struct ne_softc *sc, struct mbuf *m)
-{
- unsigned int port = sc->port;
- unsigned int dport = port + DATAPORT;
- struct mbuf *mhold = m;
- int leftover;
- unsigned char leftover_data;
- int timeout;
-
-#ifdef DEBUG_NE2000
- printk ("Uploading NE2000 packet\n");
-#endif
-
- /* Reset remote DMA complete flag. */
- outport_byte (port + ISR, MSK_RDC);
-
- /* Write out the count. */
- outport_byte (port + RBCR0, m->m_pkthdr.len);
- outport_byte (port + RBCR1, m->m_pkthdr.len >> 8);
-
- sc->sendlen[sc->nextavail] = m->m_pkthdr.len;
-
- /* Tell the device which address we want to write to. */
- outport_byte (port + RSAR0, 0);
- outport_byte (port + RSAR1,
- NE_FIRST_TX_PAGE + (sc->nextavail * NE_TX_PAGES));
-
- /* Set up the write. */
- outport_byte (port + CMDR, MSK_PG0 | MSK_RWR | MSK_STA);
-
- /* Transfer the mbuf chain to device memory. NE2000 devices require
- that the data be transferred as words, so we need to handle odd
- length mbufs. Never occurs if we force byte transfers. */
-
- leftover = 0;
- leftover_data = '\0';
-
- for (; m != NULL; m = m->m_next) {
- int len;
- unsigned char *data;
-
- len = m->m_len;
- if (len == 0)
- continue;
-
- data = mtod (m, unsigned char *);
-
- if (leftover) {
- unsigned char next;
-
- /* Data left over from previous mbuf in chain. */
- next = *data++;
- --len;
- outport_word (dport, leftover_data | (next << 8));
- leftover = 0;
- }
-
- /* If using byte transfers, len always ends up as zero so
- there are no leftovers. */
-
- if (sc->byte_transfers)
- while (len > 0) {
- outport_byte (dport, *data++);
- len--;
- }
- else
- while (len > 1) {
- outport_word (dport, data[0] | (data[1] << 8));
- data += 2;
- len -= 2;
- }
-
- if (len > 0)
- {
- leftover = 1;
- leftover_data = *data++;
- }
- }
-
- if (leftover)
- outport_word (dport, leftover_data);
-
- m_freem (mhold);
-
- /* Wait for the device to complete accepting the data, with a
- limiting counter so that we don't wait too long. */
- for (timeout = 0; timeout < 100; ++timeout)
- {
- unsigned char status;
-
- inport_byte (port + ISR, status);
-
-#ifdef DEBUG_NE2000
- if ((status &~ MSK_RDC) != 0)
- printk ("Status 0x%x while waiting for acknowledgement of uploaded packet\n",
- status);
-#endif
-
- if ((status & MSK_RDC) != 0) {
- outport_byte (port + ISR, MSK_RDC);
- break;
- }
- }
-
- if (timeout >= 100)
- printk ("Timed out waiting for acknowledgement of uploaded NE2000 packet\n");
-
- ++sc->nextavail;
- if (sc->nextavail == NE_TX_BUFS)
- sc->nextavail = 0;
-}
-
-/* Tell the NE2000 to transmit a buffer whose contents we have already
- loaded onto the device. */
-
-static void
-ne_transmit (struct ne_softc *sc)
-{
- unsigned int port = sc->port;
- int len;
-
-#ifdef DEBUG_NE2000
- printk ("Transmitting NE2000 packet\n");
-#endif
-
- len = sc->sendlen[sc->nextsend];
- if (len < ET_MINLEN)
- len = ET_MINLEN;
- outport_byte (port + TBCR0, len);
- outport_byte (port + TBCR1, len >> 8);
-
- outport_byte (port + TPSR, NE_FIRST_TX_PAGE + (sc->nextsend * NE_TX_PAGES));
-
- outport_byte (port + CMDR, MSK_PG0 | MSK_TXP | MSK_RD2 | MSK_STA);
-
- ++sc->nextsend;
- if (sc->nextsend == NE_TX_BUFS)
- sc->nextsend = 0;
-
- ++sc->stats.tx_packets;
-}
-
-/* The NE2000 packet transmit daemon. This task is started when the
- NE2000 driver is initialized. */
-
-static void
-ne_tx_daemon (void *arg)
-{
- struct ne_softc *sc = (struct ne_softc *) arg;
- unsigned int port = sc->port;
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- while (1) {
- rtems_event_set events;
-
- /* Wait for a packet to be ready for sending, or for there to be
- room for another packet in the device memory. */
- rtems_bsdnet_event_receive (START_TRANSMIT_EVENT,
- RTEMS_EVENT_ANY | RTEMS_WAIT,
- RTEMS_NO_TIMEOUT,
- &events);
-
-#ifdef DEBUG_NE2000
- printk ("ne_tx_daemon\n");
-#endif
-
- /* This daemon handles both uploading data onto the device and
- telling the device to transmit data which has been uploaded.
- These are separate tasks, because while the device is
- transmitting one buffer we will upload another. */
-
- /* Don't let the device interrupt us now. */
- outport_byte (port + IMR, 0);
-
- while (1) {
- struct mbuf *m;
-
- /* If the device is not transmitting a packet, and we have
- uploaded a packet, tell the device to transmit it. */
- if (! sc->transmitting && sc->inuse > 0) {
- sc->transmitting = 1;
- ne_transmit (sc);
- }
-
- /* If we don't have any more buffers to send, quit now. */
- if (ifp->if_snd.ifq_head == NULL) {
- ifp->if_flags &= ~IFF_OACTIVE;
- break;
- }
-
- /* Allocate a buffer to load data into. If there are none
- available, quit until a buffer has been transmitted. */
- if (sc->inuse >= NE_TX_BUFS)
- break;
-
- ++sc->inuse;
-
- IF_DEQUEUE (&ifp->if_snd, m);
- if (m == NULL)
- panic ("ne_tx_daemon");
-
- ne_loadpacket (sc, m);
-
- /* Check the device status. It may have finished transmitting
- the last packet. */
- ne_check_status (sc);
- }
-
- /* Reenable device interrupts. */
- outport_byte (port + IMR, NE_INTERRUPTS);
- }
-}
-
-/* Start sending an NE2000 packet. */
-
-static void
-ne_start (struct ifnet *ifp)
-{
- struct ne_softc *sc = ifp->if_softc;
-
- /* Tell the transmit daemon to wake up and send a packet. */
- rtems_event_send (sc->tx_daemon_tid, START_TRANSMIT_EVENT);
- ifp->if_flags |= IFF_OACTIVE;
-}
-
-/* Initialize and start and NE2000. */
-
-static void
-ne_init (void *arg)
-{
- struct ne_softc *sc = (struct ne_softc *) arg;
- struct ifnet *ifp = &sc->arpcom.ac_if;
-
- if (sc->tx_daemon_tid == 0) {
- sc->inuse = 0;
- sc->nextavail = 0;
- sc->nextsend = 0;
- sc->transmitting = 0;
-
- ne_init_hardware (sc);
-
- sc->tx_daemon_tid = rtems_bsdnet_newproc ("SCtx", 4096, ne_tx_daemon, sc);
- sc->rx_daemon_tid = rtems_bsdnet_newproc ("SCrx", 4096, ne_rx_daemon, sc);
- }
-
- ifp->if_flags |= IFF_RUNNING;
-}
-
-/* Stop an NE2000. */
-
-static void
-ne_stop (struct ne_softc *sc)
-{
- unsigned int port = sc->port;
- int i;
-
- sc->arpcom.ac_if.if_flags &= ~IFF_RUNNING;
-
- /* Stop everything. */
- outport_byte (port + CMDR, MSK_STP | MSK_RD2);
-
- /* Wait for the interface to stop, using I as a time limit. */
- for (i = 0; i < 5000; ++i)
- {
- unsigned char status;
-
- inport_byte (port + ISR, status);
- if ((status & MSK_RST) != 0)
- break;
- }
-
- sc->inuse = 0;
- sc->nextavail = 0;
- sc->nextsend = 0;
- sc->transmitting = 0;
-}
-
-/* Show NE2000 interface statistics. */
-
-static void
-ne_stats (struct ne_softc *sc)
-{
- printf (" Received packets: %-8lu", sc->stats.rx_packets);
- printf (" Transmitted packets: %-8lu\n", sc->stats.tx_packets);
- printf (" Receive acks: %-8lu", sc->stats.rx_acks);
- printf (" Transmit acks: %-8lu\n", sc->stats.tx_acks);
- printf (" Packet overruns: %-8lu", sc->stats.overruns);
- printf (" Frame errors: %-8lu\n", sc->stats.rx_frame_errors);
- printf (" CRC errors: %-8lu", sc->stats.rx_crc_errors);
- printf (" Missed packets: %-8lu\n", sc->stats.rx_missed_errors);
- printf (" Interrupts: %-8lu\n", sc->stats.interrupts);
-}
-
-/* NE2000 driver ioctl handler. */
-
-static int
-ne_ioctl (struct ifnet *ifp, ioctl_command_t command, caddr_t data)
-{
- struct ne_softc *sc = ifp->if_softc;
- int error = 0;
-
- switch (command) {
- case SIOCGIFADDR:
- case SIOCSIFADDR:
- error = ether_ioctl (ifp, command, data);
- break;
-
- case SIOCSIFFLAGS:
- switch (ifp->if_flags & (IFF_UP | IFF_RUNNING)) {
- case IFF_RUNNING:
- ne_stop (sc);
- break;
-
- case IFF_UP:
- ne_init (sc);
- break;
-
- case IFF_UP | IFF_RUNNING:
- ne_stop (sc);
- ne_init (sc);
- break;
-
- default:
- break;
- }
- break;
-
- case SIO_RTEMS_SHOW_STATS:
- ne_stats (sc);
- break;
-
- /* FIXME: Multicast commands must be added here. */
-
- default:
- error = EINVAL;
- break;
- }
-
- return error;
-}
-
-/* Attach an NE2000 driver to the system. */
-
-int
-rtems_ne_driver_attach (struct rtems_bsdnet_ifconfig *config)
-{
- int i;
- struct ne_softc *sc;
- struct ifnet *ifp;
- int mtu;
-
- /* Find a free driver. */
- sc = NULL;
- for (i = 0; i < NNEDRIVER; ++i) {
- sc = &ne_softc[i];
- ifp = &sc->arpcom.ac_if;
- if (ifp->if_softc == NULL)
- break;
- }
-
- if (sc == NULL) {
- printf ("Too many NE2000 drivers.\n");
- return 0;
- }
-
- memset (sc, 0, sizeof *sc);
-
- /* Check whether we do byte-wide or word-wide transfers. */
-
-#ifdef NE2000_BYTE_TRANSFERS
- sc->byte_transfers = true;
-#else
- sc->byte_transfers = false;
-#endif
-
- /* Handle the options passed in by the caller. */
-
- if (config->mtu != 0)
- mtu = config->mtu;
- else
- mtu = ETHERMTU;
-
- if (config->irno != 0)
- sc->irno = config->irno;
- else {
- /* We use 5 as the default IRQ. */
- sc->irno = 5;
- }
-
- if (config->port != 0)
- sc->port = config->port;
- else {
- /* We use 0x300 as the default IO port number. */
- sc->port = 0x300;
- }
-
- sc->accept_broadcasts = ! config->ignore_broadcast;
-
- if (config->hardware_address != NULL)
- memcpy (sc->arpcom.ac_enaddr, config->hardware_address,
- ETHER_ADDR_LEN);
- else
- {
- unsigned char prom[16];
- int ia;
-
- /* Read the PROM to get the Ethernet hardware address. */
-
- outport_byte (sc->port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STP);
-
- if (sc->byte_transfers) {
- outport_byte (sc->port + DCR, MSK_FT10 | MSK_BMS);
- }
- else {
- outport_byte (sc->port + DCR, MSK_FT10 | MSK_BMS | MSK_WTS);
- }
-
- outport_byte (sc->port + RBCR0, 0);
- outport_byte (sc->port + RBCR1, 0);
- outport_byte (sc->port + RCR, MSK_MON);
- outport_byte (sc->port + TCR, MSK_LOOP);
- outport_byte (sc->port + IMR, 0);
- outport_byte (sc->port + ISR, 0xff);
-
- ne_read_data (sc, 0, sizeof prom, prom);
-
- outport_byte (sc->port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STP);
-
- for (ia = 0; ia < ETHER_ADDR_LEN; ++ia)
- sc->arpcom.ac_enaddr[ia] = prom[ia * 2];
- }
-
- /* Set up the network interface. */
-
- ifp->if_softc = sc;
- ifp->if_unit = i + 1;
- ifp->if_name = "ne";
- ifp->if_mtu = mtu;
- ifp->if_init = ne_init;
- ifp->if_ioctl = ne_ioctl;
- ifp->if_start = ne_start;
- ifp->if_output = ether_output;
- ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX;
- if (ifp->if_snd.ifq_maxlen == 0)
- ifp->if_snd.ifq_maxlen = ifqmaxlen;
-
- /* Attach the interface. */
-
- if_attach (ifp);
- ether_ifattach (ifp);
-
- return 1;
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/preinstall.am b/c/src/lib/libbsp/i386/ts_386ex/preinstall.am
deleted file mode 100644
index d930ba5476..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/preinstall.am
+++ /dev/null
@@ -1,96 +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-local: $(TMPINSTALL_FILES)
-
-TMPINSTALL_FILES =
-CLEANFILES = $(TMPINSTALL_FILES)
-
-all-am: $(PREINSTALL_FILES)
-
-PREINSTALL_FILES =
-CLEANFILES += $(PREINSTALL_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)/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)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
-
-$(PROJECT_INCLUDE)/bsp/irq.h: ../../i386/shared/irq/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
-
-$(PROJECT_INCLUDE)/bsp/irq_asm.h: ../../i386/shared/irq/irq_asm.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq_asm.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq_asm.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_LIB)/start.$(OBJEXT): start.$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/start.$(OBJEXT)
-TMPINSTALL_FILES += $(PROJECT_LIB)/start.$(OBJEXT)
-
-$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
-PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
-
-$(PROJECT_INCLUDE)/uart.h: ../../i386/shared/comm/uart.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/uart.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/uart.h
-
-$(PROJECT_INCLUDE)/pcibios.h: ../../i386/shared/pci/pcibios.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/pcibios.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/pcibios.h
-
-if HAS_NETWORKING
-$(PROJECT_INCLUDE)/wd80x3.h: include/wd80x3.h $(PROJECT_INCLUDE)/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/wd80x3.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/wd80x3.h
-endif
diff --git a/c/src/lib/libbsp/i386/ts_386ex/start/80386ex.h b/c/src/lib/libbsp/i386/ts_386ex/start/80386ex.h
deleted file mode 100644
index a3ee4c7aba..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/start/80386ex.h
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Submitted by:
- *
- * Erik Ivanenko
- * University of Toronto
- * erik.ivanenko@utoronto.ca
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-/* REMAP ADDRESSING Registers */
-#define REMAPCFGH 0x0023
-#define REMAPCFGL 0x0022
-#define REMAPCFG 0x0022
-/* INTERRUPT CONTROL REGISTERS -- SLOT 15 ADDRESSES */
-#define ICW1M 0xF020
-#define ICW1S 0xF0A0
-#define ICW2M 0xF021
-#define ICW2S 0xF0A1
-#define ICW3M 0xF021
-#define ICW3S 0xF0A1
-#define ICW4M 0xF021
-#define ICW4S 0xF0A1
-#define OCW1M 0xF021
-#define OCW1S 0xF0A1
-#define OCW2M 0xF020
-#define OCW2S 0xF0A0
-#define OCW3M 0xF020
-#define OCW3S 0xF0A0
-/* INTERRUPT CONTROL REGISTERS -- SLOT 0 ADDRESSES */
-#define ICW1MDOS 0x0020
-#define ICW1SDOS 0x00A0
-#define ICW2MDOS 0x0021
-#define ICW2SDOS 0x00A1
-#define ICW3MDOS 0x0021
-#define ICW3SDOS 0x00A1
-#define ICW4MDOS 0x0021
-#define ICW4SDOS 0x00A1
-#define OCW1MDOS 0x0021
-#define OCW1SDOS 0x00A1
-#define OCW2MDOS 0x0020
-#define OCW2SDOS 0x00A0
-#define OCW3MDOS 0x0020
-#define OCW3SDOS 0x00A0
-
-/* CONFIGURATION Registers */
-#define DMACFG 0xF830
-#define INTCFG 0xF832
-#define TMRCFG 0xF834
-#define SIOCFG 0xF836
-#define P1CFG 0xF820
-#define P2CFG 0xF822
-#define P3CFG 0xF824
-#define PINCFG 0xF826
-
-/* WATCHDOG TIMER Registers */
-#define WDTRLDH 0xF4C0
-#define WDTRLDL 0xF4C2
-#define WDTCNTH 0xF4C4
-#define WDTCNTL 0xF4C6
-#define WDTCLR 0xF4C8
-#define WDTSTATUS 0xF4CA
-
-/* TIMER CONTROL REGISTERS -- SLOT 15 ADDRESSES */
-#define TMR0 0xF040
-#define TMR1 0xF041
-#define TMR2 0xF042
-#define TMRCON 0xF043
-/* TIMER CONTROL REGISTERS -- SLOT 0 ADDRESSES */
-#define TMR0DOS 0x0040
-#define TMR1DOS 0x0041
-#define TMR2DOS 0x0042
-#define TMRCONDOS 0x0043
-
-/* INPUT/OUTPUT PORT UNIT Registers */
-#define P1PIN 0xF860
-#define P1LTC 0xF862
-#define P1DIR 0xF864
-#define P2PIN 0xF868
-#define P2LTC 0xF86A
-#define P2DIR 0xF86C
-#define P3PIN 0xF870
-#define P3LTC 0xF872
-#define P3DIR 0xF874
-
-/* ASYNCHRONOUS SERIAL CHANNEL 0 -- SLOT 15 ADDRESSES */
-#define RBR0 0xF4F8
-#define THR0 0xF4F8
-#define TBR0 0xF4F8
-#define DLL0 0xF4F8
-#define IER0 0xF4F9
-#define DLH0 0xF4F9
-#define IIR0 0xF4FA
-#define LCR0 0xF4FB
-#define MCR0 0xF4FC
-#define LSR0 0xF4FD
-#define MSR0 0xF4FE
-#define SCR0 0xF4FF
-/* ASYNCHRONOUS SERIAL CHANNEL 0 -- SLOT 0 ADDRESSES */
-#define RBR0DOS 0x03F8
-#define THR0DOS 0x03F8
-#define TBR0DOS 0x03F8
-#define DLL0DOS 0x03F8
-#define IER0DOS 0x03F9
-#define DLH0DOS 0x03F9
-#define IIR0DOS 0x03FA
-#define LCR0DOS 0x03FB
-#define MCR0DOS 0x03FC
-#define LSR0DOS 0x03FD
-#define MSR0DOS 0x03FE
-#define SCR0DOS 0x03FF
-
-/* ASYNCHRONOUS SERIAL CHANNEL 1 -- SLOT 15 ADDRESSES */
-#define RBR1 0xF8F8
-#define THR1 0xF8F8
-#define TBR1 0XF8F8
-#define DLL1 0xF8F8
-#define IER1 0xF8F9
-#define DLH1 0xF8F9
-#define IIR1 0xF8FA
-#define LCR1 0xF8FB
-#define MCR1 0xF8FC
-#define LSR1 0xF8FD
-#define MSR1 0xF8FE
-#define SCR1 0xF8FF
-/* ASYNCHRONOUS SERIAL CHANNEL 1 -- SLOT 0 ADDRESSES */
-#define RBR1DOS 0x02F8
-#define THR1DOS 0x02F8
-#define TBR1DOS 0x02F8
-#define DLL1DOS 0x02F8
-#define IER1DOS 0x02F9
-#define DLH1DOS 0x02F9
-#define IIR1DOS 0x02FA
-#define LCR1DOS 0x02FB
-#define MCR1DOS 0x02FC
-#define LSR1DOS 0x02FD
-#define MSR1DOS 0x02FE
-#define SCR1DOS 0x02FF
-
-/* SYNCHRONOUS SERIAL CHANNEL REGISTERS */
-#define SSIOTBUF 0xF480
-#define SSIORBUF 0xF482
-#define SSIOBAUD 0xF484
-#define SSIOCON1 0xF486
-#define SSIOCON2 0xF488
-#define SSIOCTR 0xF48A
-
-/* CHIP SELECT UNIT Registers */
-#define CS0ADL 0xF400
-#define CS0ADH 0xF402
-#define CS0MSKL 0xF404
-#define CS0MSKH 0xF406
-#define CS1ADL 0xF408
-#define CS1ADH 0xF40A
-#define CS1MSKL 0xF40C
-#define CS1MSKH 0xF40E
-#define CS2ADL 0xF410
-#define CS2ADH 0xF412
-#define CS2MSKL 0xF414
-#define CS2MSKH 0xF416
-#define CS3ADL 0xF418
-#define CS3ADH 0xF41A
-#define CS3MSKL 0xF41C
-#define CS3MSKH 0xF41E
-#define CS4ADL 0xF420
-#define CS4ADH 0xF422
-#define CS4MSKL 0xF424
-#define CS4MSKH 0xF426
-#define CS5ADL 0xF428
-#define CS5ADH 0xF42A
-#define CS5MSKL 0xF42C
-#define CS5MSKH 0xF42E
-#define CS6ADL 0xF430
-#define CS6ADH 0xF432
-#define CS6MSKL 0xF434
-#define CS6MSKH 0xF436
-#define UCSADL 0xF438
-#define UCSADH 0xF43A
-#define UCSMSKL 0xF43C
-#define UCSMSKH 0xF43E
-
-/* REFRESH CONTROL UNIT Registers */
-
-#define RFSBAD 0xF4A0
-#define RFSCIR 0xF4A2
-#define RFSCON 0xF4A4
-#define RFSADD 0xF4A6
-
-/* POWER MANAGEMENT CONTROL Registers */
-
-#define PWRCON 0xF800
-#define CLKPRS 0xF804
-
-/* DMA UNIT REGISTERS -- SLOT 15 ADDRESSES */
-#define DMA0TAR 0xF000
-#define DMA0BYC 0xF001
-#define DMA1TAR 0xF002
-#define DMA1BYC 0xF003
-#define DMACMD1 0xF008
-#define DMASTS 0xF008
-#define DMASRR 0xF009
-#define DMAMSK 0xF00A
-#define DMAMOD1 0xF00B
-#define DMACLRBP 0xF00C
-#define DMACLR 0xF00D
-#define DMACLRMSK 0xF00E
-#define DMAGRPMSK 0xF00F
-#define DMA0REQL 0xF010
-#define DMA0REQH 0xF011
-#define DMA1REQL 0xF012
-#define DMA1REQH 0xF013
-#define DMABSR 0xF018
-#define DMACHR 0xF019
-#define DMAIS 0xF019
-#define DMACMD2 0xF01A
-#define DMAMOD2 0xF01B
-#define DMAIEN 0xF01C
-#define DMAOVFE 0xF01D
-#define DMACLRTC 0xF01E
-#define DMA1TARPL 0xF083
-#define DMA1TARPH 0xF085
-#define DMA0TARPH 0xF086
-#define DMA0TARPL 0xF087
-#define DMA0BYCH 0xF098
-#define DMA1BYCH 0xF099
-
-/* DMA UNIT REGISTERS -- SLOT 0 ADDRESSES */
-#define DMA0TARDOS 0x0000
-#define DMA0BYCDOS 0x0001
-#define DMA1TARDOS 0x0002
-#define DMA1BYCDOS 0x0003
-#define DMACMD1DOS 0x0008
-#define DMASTSDOS 0x0008
-#define DMASRRDOS 0x0009
-#define DMAMSKDOS 0x000A
-#define DMAMOD1DOS 0x000B
-#define DMACLRBPDOS 0x000C
-#define DMACLRDOS 0x000D
-#define DMACLRMSKDOS 0x000E
-#define DMAGRPMSKDOS 0x000F
-#define DMA1TARPLDOS 0x0083
-#define DMA0TARPLDOS 0x0087
-
-/* A20GATE AND FAST CPU RESET -- SLOT 15 ADDRESS */
-#define PORT92 0xF092
-/* A20GATE AND FAST CPU RESET -- SLOT 0 ADDRESS */
-#define PORT92DOS 0x0092
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/start/80386ex.inc b/c/src/lib/libbsp/i386/ts_386ex/start/80386ex.inc
deleted file mode 100644
index bec46baddf..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/start/80386ex.inc
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Submitted by:
- *
- * Erik Ivanenko
- * University of Toronto
- * erik.ivanenko@utoronto.ca
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-/* REMAP ADDRESSING Registers */
-.set REMAPCFGH , 0x0023
-.set REMAPCFGL , 0x0022
-.set REMAPCFG , 0x0022
-/* INTERRUPT CONTROL REGISTERS -- SLOT 15 ADDRESSES */
-.set ICW1M , 0xF020
-.set ICW1S , 0xF0A0
-.set ICW2M , 0xF021
-.set ICW2S , 0xF0A1
-.set ICW3M , 0xF021
-.set ICW3S , 0xF0A1
-.set ICW4M , 0xF021
-.set ICW4S , 0xF0A1
-.set OCW1M , 0xF021
-.set OCW1S , 0xF0A1
-.set OCW2M , 0xF020
-.set OCW2S , 0xF0A0
-.set OCW3M , 0xF020
-.set OCW3S , 0xF0A0
-/* INTERRUPT CONTROL REGISTERS -- SLOT 0 ADDRESSES */
-.set ICW1MDOS , 0x0020
-.set ICW1SDOS , 0x00A0
-.set ICW2MDOS , 0x0021
-.set ICW2SDOS , 0x00A1
-.set ICW3MDOS , 0x0021
-.set ICW3SDOS , 0x00A1
-.set ICW4MDOS , 0x0021
-.set ICW4SDOS , 0x00A1
-.set OCW1MDOS , 0x0021
-.set OCW1SDOS , 0x00A1
-.set OCW2MDOS , 0x0020
-.set OCW2SDOS , 0x00A0
-.set OCW3MDOS , 0x0020
-.set OCW3SDOS , 0x00A0
-
-
-/* CONFIGURATION Registers */
-.set DMACFG , 0xF830
-.set INTCFG , 0xF832
-.set TMRCFG , 0xF834
-.set SIOCFG , 0xF836
-.set P1CFG , 0xF820
-.set P2CFG , 0xF822
-.set P3CFG , 0xF824
-.set PINCFG , 0xF826
-
-/* WATCHDOG TIMER Registers */
-.set WDTRLDH , 0xF4C0
-.set WDTRLDL , 0xF4C2
-.set WDTCNTH , 0xF4C4
-.set WDTCNTL , 0xF4C6
-.set WDTCLR , 0xF4C8
-.set WDTSTATUS , 0xF4CA
-
-/* TIMER CONTROL REGISTERS -- SLOT 15 ADDRESSES */
-.set TMR0 , 0xF040
-.set TMR1 , 0xF041
-.set TMR2 , 0xF042
-.set TMRCON , 0xF043
-/* TIMER CONTROL REGISTERS -- SLOT 0 ADDRESSES */
-.set TMR0DOS , 0x0040
-.set TMR1DOS , 0x0041
-.set TMR2DOS , 0x0042
-.set TMRCONDOS , 0x0043
-
-/* INPUT/OUTPUT PORT UNIT Registers */
-.set P1PIN , 0xF860
-.set P1LTC , 0xF862
-.set P1DIR , 0xF864
-.set P2PIN , 0xF868
-.set P2LTC , 0xF86A
-.set P2DIR , 0xF86C
-.set P3PIN , 0xF870
-.set P3LTC , 0xF872
-.set P3DIR , 0xF874
-
-/* ASYNCHRONOUS SERIAL CHANNEL 0 -- SLOT 15 ADDRESSES */
-.set RBR0 , 0xF4F8
-.set THR0 , 0xF4F8
-.set TBR0 , 0xF4F8
-.set DLL0 , 0xF4F8
-.set IER0 , 0xF4F9
-.set DLH0 , 0xF4F9
-.set IIR0 , 0xF4FA
-.set LCR0 , 0xF4FB
-.set MCR0 , 0xF4FC
-.set LSR0 , 0xF4FD
-.set MSR0 , 0xF4FE
-.set SCR0 , 0xF4FF
-/* ASYNCHRONOUS SERIAL CHANNEL 0 -- SLOT 0 ADDRESSES */
-.set RBR0DOS , 0x03F8
-.set THR0DOS , 0x03F8
-.set TBR0DOS , 0x03F8
-.set DLL0DOS , 0x03F8
-.set IER0DOS , 0x03F9
-.set DLH0DOS , 0x03F9
-.set IIR0DOS , 0x03FA
-.set LCR0DOS , 0x03FB
-.set MCR0DOS , 0x03FC
-.set LSR0DOS , 0x03FD
-.set MSR0DOS , 0x03FE
-.set SCR0DOS , 0x03FF
-
-/* ASYNCHRONOUS SERIAL CHANNEL 1 -- SLOT 15 ADDRESSES */
-.set RBR1 , 0xF8F8
-.set THR1 , 0xF8F8
-.set TBR1 , 0XF8F8
-.set DLL1 , 0xF8F8
-.set IER1 , 0xF8F9
-.set DLH1 , 0xF8F9
-.set IIR1 , 0xF8FA
-.set LCR1 , 0xF8FB
-.set MCR1 , 0xF8FC
-.set LSR1 , 0xF8FD
-.set MSR1 , 0xF8FE
-.set SCR1 , 0xF8FF
-/* ASYNCHRONOUS SERIAL CHANNEL 1 -- SLOT 0 ADDRESSES */
-.set RBR1DOS , 0x02F8
-.set THR1DOS , 0x02F8
-.set TBR1DOS , 0x02F8
-.set DLL1DOS , 0x02F8
-.set IER1DOS , 0x02F9
-.set DLH1DOS , 0x02F9
-.set IIR1DOS , 0x02FA
-.set LCR1DOS , 0x02FB
-.set MCR1DOS , 0x02FC
-.set LSR1DOS , 0x02FD
-.set MSR1DOS , 0x02FE
-.set SCR1DOS , 0x02FF
-
-/* SYNCHRONOUS SERIAL CHANNEL REGISTERS */
-.set SSIOTBUF , 0xF480
-.set SSIORBUF , 0xF482
-.set SSIOBAUD , 0xF484
-.set SSIOCON1 , 0xF486
-.set SSIOCON2 , 0xF488
-.set SSIOCTR , 0xF48A
-
-/* CHIP SELECT UNIT Registers */
-.set CS0ADL , 0xF400
-.set CS0ADH , 0xF402
-.set CS0MSKL , 0xF404
-.set CS0MSKH , 0xF406
-.set CS1ADL , 0xF408
-.set CS1ADH , 0xF40A
-.set CS1MSKL , 0xF40C
-.set CS1MSKH , 0xF40E
-.set CS2ADL , 0xF410
-.set CS2ADH , 0xF412
-.set CS2MSKL , 0xF414
-.set CS2MSKH , 0xF416
-.set CS3ADL , 0xF418
-.set CS3ADH , 0xF41A
-.set CS3MSKL , 0xF41C
-.set CS3MSKH , 0xF41E
-.set CS4ADL , 0xF420
-.set CS4ADH , 0xF422
-.set CS4MSKL , 0xF424
-.set CS4MSKH , 0xF426
-.set CS5ADL , 0xF428
-.set CS5ADH , 0xF42A
-.set CS5MSKL , 0xF42C
-.set CS5MSKH , 0xF42E
-.set CS6ADL , 0xF430
-.set CS6ADH , 0xF432
-.set CS6MSKL , 0xF434
-.set CS6MSKH , 0xF436
-.set UCSADL , 0xF438
-.set UCSADH , 0xF43A
-.set UCSMSKL , 0xF43C
-.set UCSMSKH , 0xF43E
-
-/* REFRESH CONTROL UNIT Registers */
-
-.set RFSBAD , 0xF4A0
-.set RFSCIR , 0xF4A2
-.set RFSCON , 0xF4A4
-.set RFSADD , 0xF4A6
-
-/* POWER MANAGEMENT CONTROL Registers */
-
-.set PWRCON , 0xF800
-.set CLKPRS , 0xF804
-
-/* DMA UNIT REGISTERS -- SLOT 15 ADDRESSES */
-.set DMA0TAR , 0xF000
-.set DMA0BYC , 0xF001
-.set DMA1TAR , 0xF002
-.set DMA1BYC , 0xF003
-.set DMACMD1 , 0xF008
-.set DMASTS , 0xF008
-.set DMASRR , 0xF009
-.set DMAMSK , 0xF00A
-.set DMAMOD1 , 0xF00B
-.set DMACLRBP , 0xF00C
-.set DMACLR , 0xF00D
-.set DMACLRMSK , 0xF00E
-.set DMAGRPMSK , 0xF00F
-.set DMA0REQL , 0xF010
-.set DMA0REQH , 0xF011
-.set DMA1REQL , 0xF012
-.set DMA1REQH , 0xF013
-.set DMABSR , 0xF018
-.set DMACHR , 0xF019
-.set DMAIS , 0xF019
-.set DMACMD2 , 0xF01A
-.set DMAMOD2 , 0xF01B
-.set DMAIEN , 0xF01C
-.set DMAOVFE , 0xF01D
-.set DMACLRTC , 0xF01E
-.set DMA1TARPL , 0xF083
-.set DMA1TARPH , 0xF085
-.set DMA0TARPH , 0xF086
-.set DMA0TARPL , 0xF087
-.set DMA0BYCH , 0xF098
-.set DMA1BYCH , 0xF099
-
-/* DMA UNIT REGISTERS -- SLOT 0 ADDRESSES */
-.set DMA0TARDOS , 0x0000
-.set DMA0BYCDOS , 0x0001
-.set DMA1TARDOS , 0x0002
-.set DMA1BYCDOS , 0x0003
-.set DMACMD1DOS , 0x0008
-.set DMASTSDOS , 0x0008
-.set DMASRRDOS , 0x0009
-.set DMAMSKDOS , 0x000A
-.set DMAMOD1DOS , 0x000B
-.set DMACLRBPDOS , 0x000C
-.set DMACLRDOS , 0x000D
-.set DMACLRMSKDOS , 0x000E
-.set DMAGRPMSKDOS , 0x000F
-.set DMA1TARPLDOS , 0x0083
-.set DMA0TARPLDOS , 0x0087
-
-/* A20GATE AND FAST CPU RESET -- SLOT 15 ADDRESS */
-.set PORT92 , 0xF092
-/* A20GATE AND FAST CPU RESET -- SLOT 0 ADDRESS */
-.set PORT92DOS , 0x0092
diff --git a/c/src/lib/libbsp/i386/ts_386ex/start/macros.inc b/c/src/lib/libbsp/i386/ts_386ex/start/macros.inc
deleted file mode 100644
index 1e31820a4c..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/start/macros.inc
+++ /dev/null
@@ -1,115 +0,0 @@
-/* macros.inc
- *
- * This file assists the board independent startup code
- * by initializing the chip-select channels to
- * reflect the proper memory configuration.
- *
- * NOTE: No stack has been established when this routine
- * is invoked. It returns to start.s through ldsegs
- *
- * Submitted by:
- *
- * Erik Ivanenko
- * University of Toronto
- * erik.ivanenko@utoronto.ca
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-.set GDT_CODE_PTR , 0x08
-.set GDT_DATA_PTR , 0x10
-
-.set BOARD_SELECT , 0x301
-.set BOARD_DATA , 0x302
-.set BOARD_LATCH , 0x303
-
-
-#define SetExRegByte(_register,_value) \
- movb $ ## _value, al; \
- movw $ ## _register, dx; \
- outb al, dx
-
-#define SetExRegWord(_register,_value) \
- movw $ ## _value, ax; \
- movw $ ## _register, dx ; \
- outw ax, dx
-
-
-#define DESC2(lim_0_15, bas_0_15, bas_16_23, access, gran, bas_24_31) \
- .word lim_0_15 ; \
- .word bas_0_15 ; \
- .byte bas_16_23 ; \
- .byte access ; \
- .byte gran ; \
- .byte bas_24_31
-
-#define DESC3( _base, _limit) \
-.word _limit ; \
-.long _base
-
-/* THE GET_ACCESS IS CHANGED FROM 8E TO 9E */
-
-#define INTERRUPT_GATE( _vector ) \
- .word _vector ; \
- .word GDT_CODE_PTR ; \
- .byte 0x0 ; \
- .byte 0x8E ; \
- .word 0x0
-
-#define rLOAD_INDEX( _selector, _segment_register) \
- movl _selector , _segment_register ; \
- addb al, ( eax )
-
-#define rLOAD_SEGMENT( _reg, _segment_register) \
- mov _reg , _segment_register ; \
-
-/* #define rLOAD_SEGMENT( _reg, _segment_register) \
- .code16 ; \
- mov _reg , _segment_register ; \
- .code32
-*/
-#define pLOAD_SEGMENT( _selector, _segment_register) \
- movl $ ## _selector , eax ; .code16 ; \
- mov ax, _segment_register ; .code32
-
-/* #define MOVE_WORD( _immed32, _reg ) \
- data16 ; \
- movl _immed32, _reg
-*/
-
-#define MOVE_WORD( _immed32, _reg ) \
- movw _immed32, _reg
-
-/* #define MOVE_IMMED_WORD( _immed32, _reg ) \
- data16 ; \
- mov $ ## _immed32, _reg
-
-#define CS_OFF( _cs_symbol, _reg ) \
- data16 ; \
- mov _cs_symbol, _reg ; \
- data16 ;\
- andl $0x000ffff, _reg
-
-#define _16_NOPS \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ; \
- nop ;
-*/
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/start/start.S b/c/src/lib/libbsp/i386/ts_386ex/start/start.S
deleted file mode 100644
index 0e9dbe50da..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/start/start.S
+++ /dev/null
@@ -1,498 +0,0 @@
-/*
- * This file is the main boot and configuration file for the TS-1325. It is
- * solely responsible for initializing the internal register set to reflect
- * the proper board configuration. This version is modified from the i386ex
- * BSP startup:
- *
- * 1) 1 MB RAM @ 0x0100000
- * 2) 1 MB RAM @ 0x0 but with standard DOS memory usage.
- * 3) Timer0 used as RTEMS clock ticker, 1 msec tick rate.
- * 4) READY# is generated by CPU
- *
- * The file describes the ".initial" section, which contains:
- * 1) device configuration code
- * 2) interrupt descriptor table
- * 3) global descriptor table
- * 4) and initial boot code
- *
- * Modified by:
- *
- * Tony Ambardar
- * University of British Columbia
- * tonya@ece.ubc.ca
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <rtems/asm.h>
-#include "macros.inc"
-#include "80386ex.inc"
-
-#include "ts_1325.inc" /* controls for LED and button */
-
-/*
- * NEW_GAS Needed for binutils 2.9.1.0.7 and higher
- */
-
- EXTERN (boot_card) /* exits to bspstart */
- EXTERN (_DOS_seg_base) /* defined in startup/linkcmds */
- EXTERN (Clock_exit)
-
- PUBLIC (Interrupt_descriptor_table)
- PUBLIC ( SYM(IDTR) )
- PUBLIC (_Global_descriptor_table)
- PUBLIC ( SYM(GDTR) )
-
- PUBLIC( SYM(_init_i386ex) )
-
- .section .initial, "ax"
-
-/*
- * Enable access to peripheral register at expanded I/O addresses
- */
-SYM(_init_i386ex):
- .code16
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-# cli Move this up for now for debug.
- movw $0x8000 , ax
- outb al , $REMAPCFGH
- xchg al , ah
- outb al , $REMAPCFGL
- outw ax , $REMAPCFG ;
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-/*
- * Configure operation of the A20 Address Line
- */
-SYM(A20):
- movw $PORT92 , dx
-
- inb dx , al # clear A20 port reset
- andb $0xfe , al # b0 Fast Reset(0)=disabled,(1)=reset triggered
- orb $0x02 , al # Bit 1 Fast A20 = 0 (always 0) else enabled.
- outb al , dx
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
-SYM(Watchdog):
- movw $WDTSTATUS , dx # address the WDT status port
- inb dx , al # get the WDT status
- orb $0x01 , al # set the CLKDIS bit
- outb al , dx # disable the clock to the WDT
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-/*
- * Initialize Refresh Control Unit for:
- * Refresh Address = 0x0000
-
- * Refresh gate between rows is 20.0 (???) uSec
- * Using a CLK2 frequency of 50Mhz ( 25Mhz CPU )
- * The refresh unit is enabled
- * The refresh pin is not used.
- *
- * Different TS units might have different refresh intervals, so
- * comment out. Will be set up anyway after booting to DOS.
- */
-
-/*
-SYM(InitRCU):
- SetExRegWord( RFSCIR , 0x1F4) # refresh interval 500
- SetExRegWord( RFSBAD , 0x0) # base address
- SetExRegWord( RFSADD , 0x0) # address register
- SetExRegWord( RFSCON , 0x8000) # enable bit
-*/
-
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-/*
- * Initialize clock and power mgmt unit for:
- * Clock Frequency = 50 Mhz
- * Prescaled clock output = 1 Mhz
- * Normal halt instructions
- *
- * NOTE: Hope this doesn't change the COMCLK frequency
- */
-
-SYM(InitClk):
- SetExRegByte( PWRCON, 0x0 )
- SetExRegWord( CLKPRS, 0x17) # 0x13 for 1.19318 MHz. 0x17 for 1MHz.
-
-/**************************************************************
- * Initialize the Pin Configurations
- *************************************************************/
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
-/*
- * Initialize I/O port 1 for:
- * PIN 0 = 0, Inport for external push-button switch
- * PIN 1 = 1, RTS0# to package pin
- * PIN 2 = 1, DTR0# to package pin
- * PIN 3 = 1, DSR0# to package pin
- * PIN 4 = 0, Inport ???
- * PIN 5 = 0, Outport (Green LED, 1 = ON)
- * PIN 6 = 0, Outport (Red LED, 1 = OFF)
- * PIN 7 = 0, Inport ???
- */
-
-SYM(InitPort1):
- SetExRegByte( P1LTC , 0xd1 )
- SetExRegByte( P1DIR , 0x91)
- SetExRegByte( P1CFG , 0x0e)
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-/*
- * Initialize I/O port 2 for:
- * PIN 0 = 0, Outport ???
- * PIN 1 = 0, Outport ???
- * PIN 2 = 0, Outport ???
- * PIN 3 = 0, Outport ???
- * PIN 4 = 0, Outport ???
- * PIN 5 = 1, Int. periph, RXD0
- * PIN 6 = 1, Int. periph, TXD0
- * PIN 7 = 0, Outport ???
- */
-
-SYM(InitPort2):
- SetExRegByte( P2LTC , 0x1f )
- SetExRegByte( P2DIR , 0x00 )
- SetExRegByte( P2CFG , 0x60)
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-/*
- * Initialize I/O port 3 P3CFG
- * PIN 0 = 1, Int. periph, TMROUT0
- * PIN 1 = 1, Int. periph, TMROUT1
- * PIN 2 = 1, Int. periph, INT0 (IR1)
- * PIN 3 = 1, Int. periph, INT1 (IR5)
- * PIN 4 = 1, Int. periph, INT2 (IR6)
- * PIN 5 = 1, Int. periph, INT2 (IR7)
- * PIN 6 = 0, Outport ???
- * PIN 7 = 1, Int. periph, COMCLK used for serial I/O
- */
-
-SYM(InitPort3):
- SetExRegByte( P3LTC , 0x00 )
- SetExRegByte( P3DIR , 0xbf )
- SetExRegByte( P3CFG , 0xbf ) # can check TMROUT0
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
-/*
- * Initialize Peripheral Pin Configurations:
- * PIN 0 = 1, Select RTS1#
- * PIN 1 = 1, Select DTR1#
- * PIN 2 = 1, Select TXD1#
- * PIN 3 = 1, Select CTS1#
- * PIN 4 = 1, CS5
- * PIN 5 = 1, Timer2 pins enabled
- * PIN 6 = 0, Select CS6#
- * PIN 7 = 0, Don't care
- */
-
-SYM(InitPeriph):
- SetExRegByte( PINCFG , 0x3f)
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-/*
- * Initialize the Asynchronous Serial Ports:
- * BIT 7 = 1, Internal SIO1 modem signals
- * BIT 6 = 1, Internal SIO0 modem signals
- * BIT 2 = 0, PSCLK for SSIO clock
- * BIT 1 = 1, SERCLK for SIO1 clock
- * BIT 0 = 1, SERCLK for SIO0 clock
- */
-
-SYM(InitSIO):
- SetExRegByte( SIOCFG, 0x00 ) # COMCLK -> baud-rate generator
- # modem signals -> package pins
- SetExRegByte( LCR0, 0x80 ) # latch DLL0, DLH0
- SetExRegByte( DLL0, 0x01 ) # 0x0C sets to 9600 baud 0x6 = 19.2K
- SetExRegByte( DLH0, 0x00 ) # 0x4 is 28.8K baud, 0x1 is 115K baud
- SetExRegByte( LCR0, 0x03 ) # enable r/w buffers, IER0 accessible
- # mode 8-n-1
- SetExRegByte( IER0, 0x00 ) # no generated interrupts
-
- SetExRegByte( LCR1, 0x80 ) # latch DLL0, DLH0
- SetExRegByte( DLL1, 0x01 ) # 0x0C set to 9600 baud, 0x6 = 19.2K
- SetExRegByte( DLH1, 0x00 ) # 0x4 is 28.8K baud
- SetExRegByte( LCR1, 0x03 ) # enable r/w buffers, IER1 accessible
- # reg 8-n-1
- SetExRegByte( IER1, 0x00 ) # no generated intrrupts
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-SYM(InitMCR):
- SetExRegByte( MCR0, 0x03 ) # standard mode, RTS,DTR activated
- SetExRegByte( MCR1, 0x03 ) # standard mode, RTS,DTR activated
-
-/*
- * Initialize Timer for:
- * BIT 7 = 1, Timer clocks disabled
- * BIT 6 = 0, Reserved
- * BIT 5 = 1, TMRCLK2 instead of Vcc to Gate2
- * BIT 4 = 0, PSCLK to CLK2
- * BIT 3 = 1, TMRCLK1 instead of Vcc to Gate1
- * BIT 2 = 0, PSCLK to Gate1
- * BIT 1 = 0, Vcc to Gate0
- * BIT 0 = 0, PSCLK to Gate0
- */
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
-SYM(InitTimer):
- SetExRegByte(TMRCFG , 0x80 ) # All counters disabled, Gates 0,1
- # and 2 are set to Vcc
-
- SetExRegByte(TMRCON , 0x34 ) # prepare to write counter 0 LSB,MSB
- SetExRegByte(TMR0 , 0x00 ) # sfa
- SetExRegByte(TMR0 , 0x00 ) # sfa
-
- SetExRegByte(TMRCON , 0x70 ) # mode 0 disables on Gate= Vcc
- SetExRegByte(TMR1 , 0x00 ) # sfa
- SetExRegByte(TMR1 , 0x00 ) # sfa
-
- SetExRegByte(TMRCON , 0xB0 ) # mode 0 disables on gate =Vcc
- SetExRegByte(TMR2 , 0x00 ) #
- SetExRegByte(TMR2 , 0x00 ) #
-
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-/*
- * Initialize the DMACFG register for:
- * BIT 7 = 1 , Disable DACK#1
- * BITs 6:4 = 100, TMROUT2 connected to DRQ1
- * BIT 3 = 1 , Disable DACK0#
- * BIT 2:0 = 000, Pin is connected to DRQ0
- *
- * NOTE: not 100% sure of this...
- */
-
- SetExRegByte(DMACFG , 0xC0 )
- SetExRegByte(DMACMD1, 0x00 ) # disable both DMA channels
- SetExRegByte(DMAMOD1, 0x40 ) # DMA0 single transer mode
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-/*
- * Initialize the INTCFG register for:
- * BIT 7 = 0, 8259 cascade disabled
- * BIT 3 = 0, SLAVE IR6 connected to Vss
- * BIT 2 = 0, SLAVE IR5 connected to Vss
- * BIT 1 = 0, SLAVE IR1 connected to SSIOINT
- * BIT 0 = 0, SLAVE IR0 connected to Vss
- *
- * NOTE: not 100% sure of this either... Why IR5 active?
- */
-
-SYM(InitInt):
-
- cli # !
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
- SetExRegByte(ICW1S , 0x11 ) # EDGE TRIGGERED
- SetExRegByte(ICW2S , 0x28 ) # Slave base vector after Master
- SetExRegByte(ICW3S , 0x02 ) # slave cascaded to IR2 on master
- SetExRegByte(ICW4S , 0x01 ) # fully nested mode, no EOI
-
- SetExRegByte(ICW1M , 0x11 ) # edge triggered
- SetExRegByte(ICW2M , 0x20 ) # base vector starts at byte 32
- SetExRegByte(ICW3M , 0x04) # internal slave cascaded from master IR2
- SetExRegByte(ICW4M , 0x01 ) # idem
-
- SetExRegByte(OCW1M , 0xfb ) # mask master IRQs, but not IR2 (cascade)
- SetExRegByte(OCW1S , 0xff ) # mask all slave IRQs
- SetExRegByte(INTCFG , 0x00 ) # slave IRs -> Vss or SSIOINT
-
-/* The i8259s_cache (IRQ mask) location is in BSS, which is zeroed later!
- * So to initialize the cache we should do the following command after
- * the BSS is zeroed, and in 32-bit protected mode.
- *
- * movw $0xFFFB, SYM(i8259s_cache)
- *
- */
-
-/*
- NOTE: not sure about this so comment out...
-
-SYM(SetCS4):
- SetExRegWord(CS4ADL , 0x702) #Configure chip select 4
- SetExRegWord(CS4ADH , 0x00)
- SetExRegWord(CS4MSKH, 0x03F)
- SetExRegWord(CS4MSKL, 0xFC01)
-*/
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-/*****************************
- * Load the Global Descriptor
- * Table Register
- ****************************/
-
- movl $SYM(GDTR), eax
- andl $0xFFFF, eax
-
-#ifdef NEW_GAS
- addr32
- data32
-#endif
-
-#if 0
- lgdt (eax) # location of GDT in segment
-#endif
- lgdt SYM(GDTR) # location of GDT
-
-/*
- NOTE: not sure about this either so comment out for now...
-SYM(SetUCS):
- SetExRegWord(UCSADL, 0xC503) # values taken from TS-1325 memory
- SetExRegWord(UCSADH, 0x000D)
- SetExRegWord(UCSMSKH, 0x0000)
- SetExRegWord(UCSMSKL, 0x3C01) # configure upper chip select
-*/
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-/***************************
- * Switch to Protected Mode
- ***************************/
- mov cr0, eax
- orw $0x1, ax
- mov eax, cr0
-
-/**************************
- * Flush prefetch queue,
- * and load CS selector
- *********************/
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
- ljmpl $ GDT_CODE_PTR , $ SYM(_load_segment_registers) # sets the code selector
-
-/*
- * Load the segment registers
- */
-SYM(_load_segment_registers):
- .code32
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
- pLOAD_SEGMENT( GDT_DATA_PTR, fs)
- pLOAD_SEGMENT( GDT_DATA_PTR, gs)
- pLOAD_SEGMENT( GDT_DATA_PTR, ss)
- pLOAD_SEGMENT( GDT_DATA_PTR, ds)
- pLOAD_SEGMENT( GDT_DATA_PTR, es)
-
-/*
- * Set up the stack
- */
-/*
- LED_OFF
- WAIT_BUTTON
-*/
-SYM(lidtr):
- lidt SYM(IDTR)
-/*
- LED_YELLOW
- WAIT_BUTTON
-*/
-SYM (_establish_stack):
- movl $_ebss, eax # stack starts right after bss
- movl $stack_origin, esp # this is the high starting address
- movl $stack_origin, ebp
-/*
- LED_GREEN
- WAIT_BUTTON
-*/
-/*
- * Zero out the BSS segment
- */
-SYM (zero_bss):
- cld # make direction flag count up
- movl $ SYM (_ebss),ecx # find end of .bss
- movl $ SYM (_bss_start),edi # edi = beginning of .bss
- subl edi,ecx # ecx = size of .bss in bytes
- shrl ecx # size of .bss in longs
- shrl ecx
- xorl eax,eax # value to clear out memory
- repne # while ecx != 0
- stosl # clear a long in the bss
-/*
- * Now we can initialize the IRQ mask in i8259s_cache
- */
- movw $0xFFFB, SYM(i8259s_cache)
-/*
- LED_YELLOW # Indicate ready to run
- WAIT_BUTTON
-*/
- LED_GREEN # Indicate RTEMS running!
-
-/*
- * Transfer control to User's Board Support Package
- */
- pushl $0 # command line
- call SYM(boot_card)
- addl $4,esp
-
- LED_RED # Indicate RTEMS exited
-/*
- WAIT_BUTTON
-*/
- cli # stops interrupts after hlt!
- hlt # shutdown
-
- .balign 4 # align tables to 4 byte boundary
-
-SYM(IDTR): DESC3( SYM(Interrupt_descriptor_table), 0x07ff );
-
-SYM(Interrupt_descriptor_table): /* Now in data section */
- .rept 256
- .word 0,0,0,0
- .endr
-
-/*
- * Use the first (null) entry in the the GDT as a self-pointer for the GDTR.
- * (looks like a common trick)
- */
-
-SYM (_Global_descriptor_table):
-SYM(GDTR): DESC3( GDTR, 0x17 ); # one less than the size
- .word 0 # padding to DESC2 size
-SYM(GDT_CODE): DESC2(0xffff,0,0x0,0x9B,0xDF,0x00);
-SYM(GDT_DATA): DESC2(0xffff,0,0x0,0x92,0xDF,0x00); # was CF
-SYM(GDT_END):
-
-END
diff --git a/c/src/lib/libbsp/i386/ts_386ex/start/ts_1325.inc b/c/src/lib/libbsp/i386/ts_386ex/start/ts_1325.inc
deleted file mode 100644
index e10999abc0..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/start/ts_1325.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- These are just some useful macros that control the TS-1325's
- LEDs and push-button switch. Useful for debugging.
-
- NOTE: This *must* be 16-bit compatible code to work in start.s
-
- Tony Ambardar
-*/
-
- .macro LED_OFF
- movw $P1LTC, dx
- inb dx, al
- orb $0b01000000, al
- andb $0b11011111, al
- outb al, dx
- .endm
-
- .macro LED_GREEN
- movw $P1LTC, dx
- inb dx, al
- orb $0b01100000, al
- outb al, dx
- .endm
-
- .macro LED_YELLOW
- movw $P1LTC, dx
- inb dx, al
- orb $0b00100000, al
- andb $0b10111111, al
- outb al, dx
- .endm
-
- .macro LED_RED
- movw $P1LTC, dx
- inb dx, al
- andb $0b10011111, al
- outb al, dx
- .endm
-
- .macro WAIT_BUTTON # Wait till the button is pressed for a bit.
- movw $P1PIN, dx # ~25-30 cycles per loop, 25MHz -> 1 sec.
- movl $300000,ecx # "Timer" count determines how long.
-0: inb dx, al
- andb $0b00000001,al
- jnz 0b # Button pressed?
- decl ecx
- jnz 0b # CX count expired?
- .endm
-
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/startup/README b/c/src/lib/libbsp/i386/ts_386ex/startup/README
deleted file mode 100644
index 17fde76a91..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/startup/README
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# $Id$
-#
-
-
-The requirements for this BSP are only that the GAS used supports the
-.code16 directive. The GAS released with any GCC version 2.8.0 or better
-is required. The BSP was built with an egcs snapshot pre-1.0.2 and
-post-1.0.1. However, any egcs should work.
-
-
-The only "real" differences are in bspstart.c, where the initialization now
-configures all available RAM, (after setting up the Workspaces) as heap.
-The location of the stack was changed so that the heap was not trapped
-between low memory and the stack; the stack comes before the heap.
-
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c b/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c
deleted file mode 100644
index 8db8f8ef37..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * This routine starts the application. It includes application,
- * board, and monitor specific initialization and configuration.
- * The generic CPU dependent initialization has been performed
- * before this routine is invoked.
- *
- * COPYRIGHT (c) 1989-2008.
- * 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.com/license/LICENSE.
- *
- * Ported to the i386ex and submitted by:
- *
- * Erik Ivanenko
- * University of Toronto
- * erik.ivanenko@utoronto.ca
- *
- * $Id$
- */
-
-#include <bsp.h>
-
-extern void rtems_irq_mngt_init(void);
-
-/*
- * bsp_start
- *
- * This routine does the bulk of the system initialization.
- */
-void bsp_start( void )
-{
-
- /*
- * Init rtems_interrupt_management
- */
- rtems_irq_mngt_init();
-
- /*
- * Init rtems exceptions management
- */
- rtems_exception_init_mngt();
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/startup/linkcmds b/c/src/lib/libbsp/i386/ts_386ex/startup/linkcmds
deleted file mode 100644
index 093be01330..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/startup/linkcmds
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * This file contains directives for the GNU linker which are specific
- * to the Technologic Systems TS-1325 (i386ex) board.
- *
- * Copyright (c) 1989-1998.
- * 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.com/license/LICENSE.
- *
- * $Id$
- *
- * Memory layout:
- *
- * 0x0008000 -> ... : initial section ( init 386ex, goto protected mode)
- * ... -> ... : text section ( executable code )
- * ... -> 0x00A0000 : data section ( initialized storage )
- * 0x0100000 -> 0x0200000 : bss section, stack space, heap storage
- */
-
-RamBase = DEFINED(RamBase) ? RamBase : 0x00100000;
-RamSize = DEFINED(RamSize) ? RamSize : 512K;
-HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
-
-ENTRY(_init_i386ex);
-
-SECTIONS
-{
-
-/***************************************************************************
- * initial section:
- *
- * This subsection of ".text" is the first in memory, and executed by the DOS
- * loader. It initializes the i386ex, sets up the gdt in RAM, loads the gdt,
- * jumps to protected mode, loads the idt, zeros the bss section, sets up
- * the stack and calls the rest of the RTEMS initialization.
- ***************************************************************************/
-
- _DOS_ld_addr = 0x0008000 ;
-
-/***************************************************************************
- * text section:
- *
- * Nobody here but us opcodes.
- ***************************************************************************/
-
- .text _DOS_ld_addr :
- {
- CREATE_OBJECT_SYMBOLS
- text_start = . ;
- _text_start = . ;
-
- *(.initial);
- . = ALIGN(0x20);
-
- *(.text );
- . = ALIGN (0x20);
-
- /*
- * Special FreeBSD sysctl sections.
- */
- . = ALIGN (16);
- __start_set_sysctl_set = .;
- *(set_sysctl_*);
- __stop_set_sysctl_set = ABSOLUTE(.);
- *(set_domain_*);
- *(set_pseudo_*);
-
- *(.eh_frame)
- . = ALIGN (0x20);
-
- *(.gnu.linkonce.t*)
- . = ALIGN(0x20);
-
- /*
- * C++ constructors
- */
-
- __CTOR_LIST__ = .;
- LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
- *(.ctors)
- LONG(0)
- __CTOR_END__ = .;
- . = ALIGN (4) ;
- __DTOR_LIST__ = .;
- LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
- *(.dtors)
- LONG(0)
- __DTOR_END__ = .;
-
- _rodata_start = . ;
- *(.rodata*)
- . = ALIGN(0x20);
- _erodata = .;
-
- *(.gnu.linkonce.r*)
- . = ALIGN(0x20);
- _endtext = . ;
- }
-
-/***************************************************************************
- * ctor/dtor sections:
- *
- * These sections house the global constructors and destructors.
- ***************************************************************************/
-
- .init BLOCK(0x20) :
- {
- *(.init)
- } = 0x9090
-
- .fini BLOCK(0x20) :
- {
- *(.fini)
- } = 0x9090
-
-/***************************************************************************
- * data section:
- *
- * This section defines the location of the data section in RAM.
- ***************************************************************************/
-
- .data BLOCK(0x20) :
- {
- _sdata = .;
- *(.data);
- . = ALIGN(0x20);
- *(.gnu.linkonce.d*)
- . = ALIGN(0x20);
- *(.gcc_except_table*)
- . = ALIGN(0x20);
- _edata = .;
- }
- _data_size = _edata - _sdata ;
-
-/***************************************************************************
- * bss section:
- *
- * The bss section is the first section in extended RAM ( > 1MB).
- ***************************************************************************/
-
- .bss 0x100000 (NOLOAD) :
- {
- _bss_start = .;
- *(.bss);
- *(COMMON);
- _ebss = ALIGN(0x20);
- }
- _bss_size = _ebss - _bss_start ;
-
-/***************************************************************************
- * discard section:
- *
- * This section is used to throw away stuff we don't want.
- ***************************************************************************/
-
- /DISCARD/ :
- {
- *(.comment);
- *(.note);
- }
-
-/***************************************************************************
- * General variables:
- *
- * The stack_size variable is customizable here. The heap is located directly
- * after the stack in RAM. A routine within bspstart.c uses these variables
- * to ensure that the heap used by RTEMS is as large as the RAM remaining
- * after all workspace configurations are complete.
- ***************************************************************************/
-
- stack_size = 0x8000 ;
- stack_origin = _ebss + stack_size ;
- heap_bottom = stack_origin + 4 ;
- . = ALIGN(0x10);
- WorkAreaBase = .;
-
-
-
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
-
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to the beginning
- of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
-
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
-
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
-
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
-
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
- /* These must appear regardless of . */
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/timer/timer.c b/c/src/lib/libbsp/i386/ts_386ex/timer/timer.c
deleted file mode 100644
index be68f24185..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/timer/timer.c
+++ /dev/null
@@ -1,174 +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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <rtems.h>
-#include <bsp.h>
-#include <rtems/btimer.h>
-#include <stdlib.h>
-
-volatile uint32_t Ttimer_val; /* Updated from ISR!!! */
-bool benchmark_timer_find_average_overhead;
-
-extern void timerisr(void);
-
-/*
- * Number of us per timer interrupt. Note: 1 us == 1 tick.
- */
-
-#define US_PER_ISR 250
-
-void TimerOn(const rtems_raw_irq_connect_data* used)
-{
-
- Ttimer_val = 0; /* clear timer ISR count */
-
- /* Select timer, stay in mode 0 */
- outport_byte (TIMER_MODE, TIMER_SEL0|TIMER_16BIT|TIMER_RATEGEN);
-
- /* Set to 250 usec interval */
- outport_byte (TIMER_CNTR0, US_PER_ISR & 0xFF );
- outport_byte (TIMER_CNTR0, (US_PER_ISR >> 8) & 0xFF );
-
- /* Enable all timers */
- outport_byte (TIMER_CONFIG, 0x00);
-
- /*
- * enable interrrupt at i8259 level
- */
- BSP_irq_enable_at_i8259s(used->idtIndex - BSP_IRQ_VECTOR_BASE);
-}
-
-static int TimerIsOn (const rtems_raw_irq_connect_data *used)
-{
- return BSP_irq_enabled_at_i8259s(used->idtIndex - BSP_IRQ_VECTOR_BASE);
-}
-
-void TimerOff(const rtems_raw_irq_connect_data* used)
-{
- /* Disable all timers */
- outport_byte (TIMER_CONFIG, 0x80);
-
- /*
- * disable interrrupt at i8259 level
- */
- BSP_irq_disable_at_i8259s(used->idtIndex - BSP_IRQ_VECTOR_BASE);
- /* reset timer mode to standard (DOS) value */
-}
-
-static rtems_raw_irq_connect_data timer_raw_irq_data = {
- BSP_PERIODIC_TIMER + BSP_IRQ_VECTOR_BASE,
- timerisr,
- TimerOn,
- TimerOff,
- TimerIsOn
-};
-
-static rtems_raw_irq_connect_data old_raw_irq_data = {
- BSP_PERIODIC_TIMER + BSP_IRQ_VECTOR_BASE,
-};
-
-void Timer_exit(void)
-{
- if (!i386_delete_idt_entry(&timer_raw_irq_data)) {
- printk("Timer_exit:Timer raw handler removal failed\n");
- rtems_fatal_error_occurred(1);
- }
-}
-
-void benchmark_timer_initialize(void)
-{
-
- static bool First = true;
-
- if (First)
- {
- First = false;
-
- if (!i386_get_current_idt_entry (&old_raw_irq_data)) {
- printk("benchmark_timer_initialize: failed to get old raw irq entry.\n");
- rtems_fatal_error_occurred(1);
- }
-
- if (!i386_delete_idt_entry (&old_raw_irq_data)) {
- printk("benchmark_timer_initialize: failed to delete old raw irq entry.\n");
- rtems_fatal_error_occurred(1);
- }
-
- atexit(Timer_exit); /* Try not to hose the system at exit. */
- if (!i386_set_idt_entry (&timer_raw_irq_data)) {
- printk("benchmark_timer_initialize: raw handler installation failed.\n");
- rtems_fatal_error_occurred(1);
- }
- }
-
- /* wait for ISR to be called at least once */
- Ttimer_val = 0;
- while (Ttimer_val == 0)
- continue;
- Ttimer_val = 0;
-}
-
-#define AVG_OVERHEAD 3 /* It typically takes 3.0 microseconds */
- /* (3 ticks) to start/stop the timer. */
-#define LEAST_VALID 4 /* Don't trust a value lower than this */
-
-uint32_t benchmark_timer_read(void)
-{
- register uint32_t clicks, total;
- register uint8_t lsb, msb;
-
- /* latch the count */
- outport_byte (TIMER_MODE, TIMER_SEL0|TIMER_LATCH );
-
- /* read the count */
- inport_byte (TIMER_CNTR0, lsb );
- inport_byte (TIMER_CNTR0, msb );
-
- /*
- * Timer ISR increments Ttimer_val every US_PER_ISR clock ticks,
- * where 1 tick == 1 us. Below, 'click' is in microseconds.
- *
- * This assumes the timer input clocks are sourced from the system's
- * prescaled clock (PSCLK), which is set to be at 1MHz.
- */
- clicks = (msb << 8) | lsb;
- total = Ttimer_val * US_PER_ISR + (US_PER_ISR - clicks);
-
- if ( benchmark_timer_find_average_overhead == true )
- return total; /* in one microsecond units */
- else if ( total < LEAST_VALID )
- return 0; /* below timer resolution */
- else
- return (total - AVG_OVERHEAD);
-}
-
-void benchmark_timer_disable_subtracting_average_overhead(
- bool find_flag
-)
-{
- benchmark_timer_find_average_overhead = find_flag;
-}
-
-/*
- * Wait_X_ms: a delay loop used by the network driver...
- */
-
-#define SLOW_DOWN_IO 0x80 /* I/O port which does nothing */
-#define LOOP1MS 320 /* Just a guess.... */
-
-void Wait_X_ms (unsigned timeToWait)
-{
- unsigned i, j;
-
- for (j=0; j<timeToWait; j++)
- for (i=0; i<LOOP1MS; i++)
- outport_byte (SLOW_DOWN_IO, 0);
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/timer/timerisr.S b/c/src/lib/libbsp/i386/ts_386ex/timer/timerisr.S
deleted file mode 100644
index 8bb34936ad..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/timer/timerisr.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/* timer_isr()
- *
- * This routine provides the ISR for the Z8036 timer on the MVME136
- * board. The timer is set up to generate an interrupt at maximum
- * intervals.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <rtems/asm.h>
-
- BEGIN_CODE
-
- EXTERN (Ttimer_val)
-
- PUBLIC (timerisr)
-SYM (timerisr):
- incl SYM (Ttimer_val) # add another tick
- pushl eax
- movb 0xa0,al /* signal generic End Of Interrupt (EOI) to slave PIC */
- outb al, $0x20
- movb $0x20, al
- outb al, $0x20 /* signal generic EOI to Master PIC */
- popl eax
- iret
-
-END_CODE
-END
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/.cvsignore b/c/src/lib/libbsp/i386/ts_386ex/tools/.cvsignore
deleted file mode 100644
index baba64eafa..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/.cvsignore
+++ /dev/null
@@ -1,8 +0,0 @@
-aclocal.m4
-autom4te*.cache
-config.cache
-config.log
-config.status
-configure
-Makefile
-Makefile.in
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ChangeLog b/c/src/lib/libbsp/i386/ts_386ex/tools/ChangeLog
deleted file mode 100644
index 19158e5eb6..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ChangeLog
+++ /dev/null
@@ -1,151 +0,0 @@
-2011-02-25 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Remove RTEMS_CANONICAL_TARGET_CPU.
-
-2011-02-02 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Require autoconf-2.68, automake-1.11.1.
-
-2007-08-02 Joel Sherrill <joel.sherrill@OARcorp.com>
-
- * debug_ada/cmds, debug_c/cmds: Remove RDBG.
-
-2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: New BUG-REPORT address.
-
-2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * configure.ac: Require autoconf-2.60. Require automake-1.10.
-
-2006-10-15 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * network_ada/adasockets/AUTHORS,
- network_ada/adasockets/sockets-link.ads,
- network_ada/adasockets/sockets-multicast.adb,
- network_ada/adasockets/sockets-multicast.ads,
- network_ada/adasockets/sockets-utils.adb,
- network_ada/adasockets/sockets-utils.ads,
- network_ada/adasockets/sockets.adb,
- network_ada/adasockets/sockets.ads,
- network_ada/listener/listener.adb,
- network_ada/tcprelay/tcprelay.adb: Convert to utf-8.
-
-2004-09-24 Ralf Corsepius <ralf_corsepius@rtems.org>
-
- * configure.ac: Require automake > 1.9.
-
-2004-01-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Merge-in debug_ada/Makefile.am, debug_c/Makefile.am,
- dos_sup/Makefile.am, network_ada/adasockets/Makefile.am,
- network_ada/Makefile.am, network_ada/listener/Makefile.am,
- network_ada/tcprelay/Makefile.am, ts_1325_ada/Makefile.am. Use automake
- compilation rules.
- * debug_ada/Makefile.am, debug_c/Makefile.am, dos_sup/Makefile.am,
- network_ada/adasockets/Makefile.am, network_ada/Makefile.am,
- network_ada/listener/Makefile.am, network_ada/tcprelay/Makefile.am,
- ts_1325_ada/Makefile.am: Remove.
- * configure.ac: Reflect changes above.
-
-2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Require automake >= 1.8, autoconf >= 2.59.
-
-2003-12-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Cosmetics.
- * debug_ada/Makefile.am: Cosmetics.
- * debug_c/Makefile.am: Cosmetics.
- * dos_sup/Makefile.am: Cosmetics.
- * network_ada/Makefile.am: Cosmetics.
- * network_ada/adasockets/Makefile.am: Cosmetics.
- * network_ada/listener/Makefile.am: Cosmetics.
- * network_ada/tcprelay/Makefile.am: Cosmetics.
- * ts_1325_ada/Makefile.am: Cosmetics.
-
-2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved aclocal/.
-
-2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Reflect having moved automake/.
- * debug_ada/Makefile.am: Reflect having moved automake/.
- * debug_c/Makefile.am: Reflect having moved automake/.
- * dos_sup/Makefile.am: Reflect having moved automake/.
- * network_ada/Makefile.am: Reflect having moved automake/.
- * network_ada/adasockets/Makefile.am: Reflect having moved automake/.
- * network_ada/listener/Makefile.am: Reflect having moved automake/.
- * network_ada/tcprelay/Makefile.am: Reflect having moved automake/.
- * ts_1325_ada/Makefile.am: Reflect having moved automake/.
-
-2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Use rtems-bugs@rtems.com as bug report email address.
-
-2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove AC_CONFIG_AUX_DIR.
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
-
-2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: AC_PREREQ(2.57).
-
-2002-11-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac: Remove duplicate
- AC_CONFIG_FILES(ts_1325_ada/Makefile).
-
-2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Reformat.
- Add autom4te*cache.
- Remove autom4te.cache.
-
-2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.ac:
- AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
- AM_INIT_AUTOMAKE([no-define foreign 1.6]).
- * debug_ada/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * Makefile.am: Remove AUTOMAKE_OPTIONS.
- * debug_c/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * dos_sup/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * network_ada/adasockets/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * network_ada/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * network_ada/listener/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * network_ada/tcprelay/Makefile.am: Remove AUTOMAKE_OPTIONS.
- * ts_1325_ada/Makefile.am: Remove AUTOMAKE_OPTIONS.
-
-2001-10-12 Joel Sherrill <joel@OARcorp.com>
-
- * debug_ada/init.c, network_ada/listener/init.c,
- network_ada/tcprelay/init.c, ts_1325_ada/init.c: Fixed typo.
-
-2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * .cvsignore: Add autom4te.cache for autoconf > 2.52.
- * configure.in: Remove.
- * configure.ac: New file, generated from configure.in by autoupdate.
-
-2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
-
-2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
-
-2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
-
- * configure.in, Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
- Switch to GNU canonicalization.
-
-2000-08-10 Joel Sherrill <joel@OARcorp.com>
-
- * ChangeLog: New file.
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am b/c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am
deleted file mode 100644
index 770bb37f6d..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-##
-## $Id$
-##
-
-ACLOCAL_AMFLAGS = -I ../../../../../aclocal
-
-dist_noinst_SCRIPTS = coff2bin elf2exe
-
-EXTRA_DIST = README
-
-EXTRA_DIST += debug_ada/Makefile.ts_386ex debug_ada/cmds debug_ada/ddd-rtems \
- debug_ada/debug.adb debug_ada/init.c debug_ada/serial_debug.adb \
- debug_ada/serial_debug.ads
-
-EXTRA_DIST += debug_c/cmds debug_c/ddd-rtems debug_c/debug_test.c \
- debug_c/init.c debug_c/serial_gdb.c debug_c/serial_gdb.h \
- debug_c/system.h
-
-EXTRA_DIST += dos_sup/loader.com dos_sup/loader_hybrid_com.asm \
- dos_sup/ts1325.inc
-
-EXTRA_DIST += network_ada/adasockets/AUTHORS network_ada/adasockets/COPYING \
- network_ada/adasockets/NEWS network_ada/adasockets/README \
- network_ada/adasockets/sockets-constants.ads \
- network_ada/adasockets/sockets-link.ads \
- network_ada/adasockets/sockets-multicast.adb \
- network_ada/adasockets/sockets-multicast.ads \
- network_ada/adasockets/sockets-naming.adb \
- network_ada/adasockets/sockets-naming.ads \
- network_ada/adasockets/sockets-thin.ads \
- network_ada/adasockets/sockets-utils.adb \
- network_ada/adasockets/sockets-utils.ads \
- network_ada/adasockets/sockets.adb network_ada/adasockets/sockets.ads
-
-EXTRA_DIST += network_ada/README network_ada/networkconfig.h
-
-EXTRA_DIST += network_ada/listener/Makefile.ts_386ex \
- network_ada/listener/init.c network_ada/listener/listener.adb
-
-EXTRA_DIST += network_ada/tcprelay/Makefile.ts_386ex \
- network_ada/tcprelay/init.c network_ada/tcprelay/print_error.c \
- network_ada/tcprelay/tcprelay.adb
-
-EXTRA_DIST += ts_1325_ada/Makefile.ts_386ex ts_1325_ada/README \
- ts_1325_ada/i386_ports.adb ts_1325_ada/i386_ports.ads ts_1325_ada/init.c \
- ts_1325_ada/ts1325-button.adb ts_1325_ada/ts1325-button.ads \
- ts_1325_ada/ts1325-led.adb ts_1325_ada/ts1325-led.ads \
- ts_1325_ada/ts1325-parallel.adb ts_1325_ada/ts1325-parallel.ads \
- ts_1325_ada/ts1325.ads ts_1325_ada/ts1325_test.adb
-
-include $(top_srcdir)/../../../../../automake/host.am
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/README b/c/src/lib/libbsp/i386/ts_386ex/tools/README
deleted file mode 100644
index dbc4ed86b4..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/README
+++ /dev/null
@@ -1,113 +0,0 @@
-This directory contains various support software for using RTEMS on
-the TS-1325. Descriptions follow.
-
-
-DOS Loader
-==========
-
-The dos_sup directory contains a DOS-based loader (loader.com) for
-RTEMS executables on the TS-1325. Fully commented source code is
-included.
-
-Once an application has been compiled and the resulting ELF format
-executable converted to raw binary format and transferred to the
-TS-1325, the DOS loader program must be used to load and execute
-it. The loader is simply invoked as "loader filename", where the
-filename cannot contain an explicit path.
-
-The loader will work with files stored either on the C: ram disk or
-the A: flash disk. Since Zmodem transfers to the C: ram disk are much
-faster than to the A: disk, most development work will be done using
-the C: disk. Once completed, an application may copied to the
-(non-volatile) A: disk. Additionally, one may add the line "loader
-filename" to the AUTOEXEC.BAT file, allowing the application to be
-run automatically at boot time.
-
-Note that the DOS loader will abort and exit if it detects that the
-push-button switch is pressed, thus allowing one to break out of a
-pathological "boot loop" situation i.e. abort an automatic load from
-the AUTOEXEC.BAT file.
-
-
-elf2exe
-========
-
-The elf2exe script is just a convenient wrapper for the objcopy
-command. It can convert a list of RTEMS-generated ELF files to raw
-binary images that can be loaded on the TS-1325. The converted files
-are saved in the current directory with a ".exe" extension.
-
-
-TS-1325 Ada95 Support
-=====================
-
-The TS-1325 includes a few peripherals which are very useful for
-embedded development: a push-button switch, an LED, and a parallel
-port which may be used for digital I/O. Note that the pin-out for the
-parallel port is given in the TS-1325 manual.
-
-These devices are all supported by Ada packages allowing easy access;
-they may be found in the ts_1325_ada directory. Doing a make command
-here will build a program that tests and exercises all these support
-packages. Plugging in some kind of parallel-port "loop-back" connector
-would be useful during this test.
-
-Brief descriptions of the main packages are as follows:
-
-* ts1325-button: allows one to check or wait for a button press.
-
-* ts1325-led: allows safe reading and setting of the LED colour.
-
-* ts1325-parallel: used to read and write byte date to the parallel
- port.
-
-* i386_ports: code to access the I/O address space, using Ada
- inline assembly.
-
-
-Serial Debugging Support
-========================
-
-RTEMS supports an Ada95 and RTEMS aware version of the GNU gdb
-debugger, which can be configured to debug targets over a serial
-line.
-
-The port COM2 on the TS-1325 is normally used for console I/O, leaving
-COM1 for use by gdb; an appropriate cable should be connected from the
-development host to the TS-1325's COM1. The serial port used on the host
-should match the line "target remote /dev/tty??" in the "cmds" file.
-
-Sample C and Ada95 applications showing how to add debugging support
-are given in the debug_c and debug_ada sub-directories. Once the
-debugging-enabled executable is running on the TS-1325, gdb must be
-started on the Linux host, taking as argument the RTEMS ELF executable.
-
-Using a graphical front end to gdb such as the program ddd is highly
-recommended. The script ddd-rtems shows how to invoke gdb using ddd as
-a front end.
-
-
-Ada95 Networking Support
-========================
-
-The sub-directory network_ada contains code and examples for an Ada95
-binding to BSD network sockets. The code is based on Samuel Tardieu's
-adasockets-0.1.3 package, but has been modified to work under RTEMS.
-
-The binding itself is in the adasockets sub-directory. Edit the
-Makefile to reflect your choice of installation directory, then type
-the command "make install" to compile and install the binding. The
-file networkconfig.h should also be edited according to the RTEMS
-networking document.
-
-The directories listener and tcprelay contain networking examples that
-use the binding. The listener application simply accepts connections
-on a certain port and echoes back any received data. The tcprelay
-program accepts connections on a port and then relays all subsequent
-data to and from another remote host. The makefiles in both
-directories should be edited to reflect the installation point of the
-adasockets binding.
-
-
-
-Tony Ambardar, 8/8/99
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/coff2bin b/c/src/lib/libbsp/i386/ts_386ex/tools/coff2bin
deleted file mode 100755
index fbe5ed5ca3..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/coff2bin
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Just a Q&D prog to convert a bunch of RTEMS generated COFF files to raw
-# binary images that can be loaded on the TS-1325. The converted files are
-# saved in the current directory.
-#
-# Tony Ambardar
-
-OBJCOPY=/usr/local/rtems/bin/i386-rtems-objcopy
-
-if [ $# = 0 ]
-then
- echo "Description: Convert RTEMS coff files to raw binary files."
- echo "Usage: coff2bin <list-of-coff-files>"
- echo
- exit 1
-fi
-
-for i in $*
-do
- OUTFILE=$(basename `echo $i | sed 's/\.[a-zA-Z0-9]*$//g'`.bin)
- $OBJCOPY -O binary $i $OUTFILE
-done
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/configure.ac b/c/src/lib/libbsp/i386/ts_386ex/tools/configure.ac
deleted file mode 100644
index f85f39c80c..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/configure.ac
+++ /dev/null
@@ -1,18 +0,0 @@
-## Process this file with autoconf to produce a configure script.
-##
-## $Id$
-
-AC_PREREQ([2.68])
-AC_INIT([rtems-c-src-lib-libbsp-i386-ts_386ex-tools],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
-AC_CONFIG_SRCDIR([coff2bin])
-RTEMS_TOP(../../../../../../..)
-
-AM_INIT_AUTOMAKE([no-define foreign 1.11.1])
-AM_MAINTAINER_MODE
-
-RTEMS_PROJECT_ROOT
-RTEMS_TOOLPATHS
-
-# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex
deleted file mode 100644
index 4effbc7f75..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex
+++ /dev/null
@@ -1,42 +0,0 @@
-#
-# Makefile for debug example
-#
-
-MAIN=debug
-
-# Tool paths
-tooldir=/usr/local/rtems
-rtemsdir=${tooldir}/ts_386ex
-
-# Tool names
-GCC=${tooldir}/bin/i386-rtemself-gcc
-GNATMAKE=${tooldir}/bin/i386-rtemself-gnatmake
-SIZE=${tooldir}/bin/i386-rtemself-size
-SIS=${tooldir}/bin/sis
-GDB=${tooldir}/bin/sis-gdb
-
-CINCLUDES=
-
-AINCLUDES=-i -I../ts_1325_ada
-
-CARGS=-B${rtemsdir}/lib/ -specs bsp_specs -qrtems \
- -msoft-float -mno-fp-ret-in-387
-
-all: init.o
- $(GNATMAKE) -O2 -g -gnata -gnatE -gnato -gnatn $(AINCLUDES) $(MAIN) \
- -bargs -r \
- -cargs $(CARGS) \
- -largs $(CARGS) init.o
- $(SIZE) $(MAIN)
-
-init.o: init.c
- $(GCC) -O2 -g -Wall -ansi -fasm $(CARGS) $(CINCLUDES) -c init.c
-
-run:
- $(SIS) $(MAIN)
-
-gdb:
- $(GDB) $(MAIN)
-
-clean:
- rm -f b_$(MAIN).c b_$(MAIN).o *.o *.ali $(MAIN)
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds
deleted file mode 100644
index 021d7a0cbd..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds
+++ /dev/null
@@ -1,290 +0,0 @@
-dir /usr/local/rtems/tools/rtems-19990709/c/src/
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/optman
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/sys
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/rtems/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline/rtems/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros/rtems/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/optman
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/rtems/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline/rtems/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros/rtems/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/optman
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/sh
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/generic
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/hppa1.1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/unix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rdbg
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rdbg/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rpc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rtems++
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/sys
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/comm
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/io
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/irq
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/pci
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/clock
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/console
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/network
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/start
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/startup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/timer
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/rtc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/network
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/serial
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu/i386/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/assoc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/cpuuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/dumpbuf
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/error
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/monitor
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/rtmonuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/stackchk
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/untar
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/arpa
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/kern
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/lib
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/libc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/machine
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/net
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/netinet
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/nfs
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/rtems_servers
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/sys
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/vm
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librpc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librtems++
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/start
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/cpuuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/malloctest
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/monitor
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/rtems++
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/rtmonuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/stackchk
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/termios
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/filesupp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx10
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxfile01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxfile02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxhdrs
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxmount
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxreaddir
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxstat
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxtime
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxtimer
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/support
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/support/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_sp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/cdtest
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/hello
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/paranoia
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/ticker
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/unlimited
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/minimum
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp14
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp15
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp16
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp17
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp19
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp20
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp21
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp22
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp23
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp24
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp25
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/spfatal
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/spsize
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/stubdr
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm10
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm14
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm15
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm16
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm17
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm18
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm19
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm20
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm21
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm22
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm23
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm24
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm25
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm26
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm27
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm28
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm29
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tmck
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tmoverhd
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tools
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tools/generic
-
-dir /usr/local/rtems/include
-dir /usr/local/rtems/include/g++
-dir /usr/local/rtems/include/g++/std
-
-set remotebaud 38400
-target remote /dev/ttyS0
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems
deleted file mode 100644
index 84b343b13d..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems
+++ /dev/null
@@ -1 +0,0 @@
-ddd --debugger "i386-rtemself-gdb --nx --command=./cmds" $*
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb
deleted file mode 100644
index fd9215c978..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb
+++ /dev/null
@@ -1,32 +0,0 @@
-with Ada.Text_IO; use Ada.Text_IO;
-with Ada.Numerics.Discrete_Random;
-
-with TS1325.LED; use TS1325.LED;
-
-with Serial_Debug; use Serial_Debug;
-
-procedure Debug is
-
- package Random_LED_Colour is
- new Ada.Numerics.Discrete_Random (LED_Colour);
- use Random_LED_Colour;
-
- Colour_Gen: Random_LED_Colour.Generator;
-
- New_Colour: LED_Colour;
-
- Count: Integer := 0;
-
-begin
- Breakpoint;
-
- Put_Line ("******* Starting Random LED Debug Test *******");
-
- for I in 1 .. 10_000 loop
- Count := Count + 1;
- New_Colour := Random_LED_Colour.Random (Colour_Gen);
- LED_State.Set (New_Colour);
- end loop;
-
- Put_Line ("******* Finished Random LED Debug Test *******");
-end Debug;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c
deleted file mode 100644
index ede6acd692..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * COPYRIGHT (c) 1989-1997.
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <bsp.h>
-
-#include <assert.h>
-#include <pthread.h>
-
-#include <stdio.h>
-
-#ifdef GNAT_PID
-#include <unistd.h>
-pid_t getpid()
-{
- return GNAT_PID;
-}
-#endif
-
-/*
- * By having the POSIX_Init thread create a second thread just
- * to invoke gnat_main, we can override all default attributes
- * of the "Ada environment task". Otherwise, we would be
- * stuck with the defaults set by RTEMS.
- */
-
-void *start_gnat_main( void * argument )
-{
- extern int gnat_main ( int argc, char **argv, char **envp );
-
- (void) gnat_main ( 0, 0, 0 );
-
- exit( 0 );
-
- return 0;
-}
-
-void *POSIX_Init( void *argument )
-{
- pthread_t thread_id;
- pthread_attr_t attr;
- int status;
-
- status = pthread_attr_init( &attr );
- assert( !status );
-
-#ifdef GNAT_MAIN_STACKSPACE
- status = pthread_attr_setstacksize( &attr, GNAT_MAIN_STACKSPACE );
- assert( !status );
-#endif
-
- status = pthread_create( &thread_id, &attr, start_gnat_main, NULL );
- assert( !status );
-
- pthread_exit( 0 );
-
- return 0;
-}
-
-/* configuration information */
-
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-
-#define CONFIGURE_POSIX_INIT_THREAD_TABLE
-
-#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1)
-
-#define CONFIGURE_MAXIMUM_POSIX_THREADS 20
-#define CONFIGURE_MAXIMUM_POSIX_KEYS 20
-#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 30
-#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 20
-
-#define CONFIGURE_INIT
-
-#include <confdefs.h>
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb
deleted file mode 100644
index 5250d82fee..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb
+++ /dev/null
@@ -1,65 +0,0 @@
-with Ada.Text_IO; use Ada.Text_IO;
-with System.Machine_Code; use System.Machine_Code;
-
-package body Serial_Debug is
-
- ----------------
- -- Breakpoint --
- ----------------
-
- procedure Breakpoint is
- begin
- Asm ("int $3",
- No_Output_Operands,
- No_Input_Operands,
- Volatile => True);
- end Breakpoint;
-
-
- -- This type is from uart.h
- -- Equivalent to an int, with (COM1, COM2) => (0, 1)
-
- type BSP_Uart is (COM1, COM2);
- pragma Convention (C, BSP_Uart);
-
-
- -- The serial port currently used for console I/O
-
- BSP_Console_Port: BSP_Uart;
- pragma Import (C, BSP_Console_Port, "BSPConsolePort");
-
-
- -- C utility routines to set up serial-port debugging
-
- procedure I386_Stub_Glue_Init (Debug_Port: in BSP_Uart);
- pragma Import (C, I386_Stub_Glue_Init, "i386_stub_glue_init");
-
- procedure Set_Debug_Traps;
- pragma Import (C, Set_Debug_Traps, "set_debug_traps");
-
- procedure I386_Stub_Glue_Init_Breakin;
- pragma Import (C, I386_Stub_Glue_Init_Breakin,
- "i386_stub_glue_init_breakin");
-
-begin
-
- if BSP_Console_Port /= COM2
- then
- I386_Stub_Glue_Init (COM2);
-
- Put_Line ("Remote GDB using COM2...");
- else
- I386_Stub_Glue_Init (COM1);
-
- Put_Line ("Remote GDB using COM1...");
- end if;
-
- Put_Line ("Remote GDB setting traps...");
-
- Set_Debug_Traps;
-
- Put_Line ("Remote GDB waiting for connection...");
-
- I386_Stub_Glue_Init_Breakin;
-
-end Serial_Debug;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads
deleted file mode 100644
index d645ca52c5..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads
+++ /dev/null
@@ -1,17 +0,0 @@
--- This package allows one to easily add serial debugging support to any
--- Ada program by simply adding "with Serial_Debug; use Serial_Debug".
--- Debugging will be automatically initialized when the program is run,
--- and it should be possible to interrupt the running program from ddd/gdb.
---
--- Additionally, one can place explicit breakpoints for the debugger using
--- the procedure Breakpoint
-
-package Serial_Debug is
-
- procedure Breakpoint;
-
-private
-
- pragma Inline (Breakpoint);
-
-end Serial_Debug;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/cmds b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/cmds
deleted file mode 100644
index 021d7a0cbd..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/cmds
+++ /dev/null
@@ -1,290 +0,0 @@
-dir /usr/local/rtems/tools/rtems-19990709/c/src/
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/sapi/optman
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/sys
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/rtems/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/include/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/inline/rtems/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/macros/rtems/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/posix/optman
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/include/rtems/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/inline/rtems/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/macros/rtems/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/rtems/optman
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/cpu/i386/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems/wrap
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/include/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/inline/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/macros/rtems/score
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/src
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/sh
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/generic
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/hppa1.1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/score/tools/unix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup/posix
-dir /usr/local/rtems/tools/rtems-19990709/c/src/exec/wrapup/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rdbg
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rdbg/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rpc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/rtems++
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/include/sys
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/bare/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/comm
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/io
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/irq
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/shared/pci
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/clock
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/console
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/network
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/start
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/startup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/timer
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libbsp/i386/ts_386ex/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/rtc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/network
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libchip/serial
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu/i386
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libcpu/i386/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/assoc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/cpuuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/dumpbuf
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/error
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/monitor
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/rtmonuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/stackchk
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/untar
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libmisc/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/arpa
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/kern
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/lib
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/libc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/machine
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/net
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/netinet
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/nfs
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/rtems
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/rtems_servers
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/sys
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/vm
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/libnetworking/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librpc
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/librtems++
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/start
-dir /usr/local/rtems/tools/rtems-19990709/c/src/lib/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/cpuuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/malloctest
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/monitor
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/rtems++
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/rtmonuse
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/stackchk
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/libtests/termios
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp01/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp02/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp03/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp04/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp05/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp06/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp07/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp08/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp09/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp10/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp11/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp12/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp13/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/mptests/mp14/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/filesupp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx10
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psx13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxfile01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxfile02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxhdrs
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxmount
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxreaddir
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxstat
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxtime
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/psxtimer
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/support
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/psxtests/support/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp/node1
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_mp/node2
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/base_sp
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/cdtest
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/hello
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/paranoia
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/ticker
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/unlimited
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/samples/minimum
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp14
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp15
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp16
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp17
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp19
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp20
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp21
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp22
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp23
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp24
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/sp25
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/spfatal
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/sptests/spsize
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/stubdr
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/support/wrapup
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm01
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/include
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm02
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm03
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm04
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm05
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm06
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm07
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm08
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm09
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm10
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm11
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm12
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm13
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm14
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm15
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm16
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm17
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm18
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm19
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm20
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm21
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm22
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm23
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm24
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm25
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm26
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm27
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm28
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tm29
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tmck
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tmtests/tmoverhd
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tools
-dir /usr/local/rtems/tools/rtems-19990709/c/src/tests/tools/generic
-
-dir /usr/local/rtems/include
-dir /usr/local/rtems/include/g++
-dir /usr/local/rtems/include/g++/std
-
-set remotebaud 38400
-target remote /dev/ttyS0
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/ddd-rtems b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/ddd-rtems
deleted file mode 100644
index 84b343b13d..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/ddd-rtems
+++ /dev/null
@@ -1 +0,0 @@
-ddd --debugger "i386-rtemself-gdb --nx --command=./cmds" $*
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/debug_test.c b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/debug_test.c
deleted file mode 100644
index 3017015c48..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/debug_test.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Simple debug test program.
- */
-
-#include <stdio.h>
-
-#include "serial_gdb.h"
-
-void debug_test(void)
-{
- unsigned i, sum;
-
- /* Initialize debugging support and insert breakpoint. */
-
- init_serial_gdb();
-
- breakpoint();
-
- sum = 1;
- for(i=1; i <= 100; i++) {
- sum += sum % i;
- printf("Current sum = %d\n", sum);
- }
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/init.c b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/init.c
deleted file mode 100644
index 7ad0c8f456..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/init.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Init
- *
- * This routine is the initialization task for this test program.
- * It is called from init_exec and has the responsibility for creating
- * and starting the tasks that make up the test. If the time of day
- * clock is required for the test, it should also be set to a known
- * value by this function.
- *
- * Input parameters: NONE
- *
- * Output parameters: NONE
- *
- * COPYRIGHT (c) 1989-1999.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- *
- * $Id$
- */
-
-#define TEST_INIT
-#include "system.h"
-
-extern void debug_test(void);
-
-rtems_task Init(
- rtems_task_argument ignored
-)
-{
- printf( "\n\n*** C DEBUG TEST ***\n" );
-
- debug_test();
-
- printf( "\n*** END OF C DEBUG TEST ***\n" );
-
- exit( 0 );
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.c b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.c
deleted file mode 100644
index 395b606660..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* serial_gdb
- *
- * Interface to initialize the GDB.
- *
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <uart.h>
-#include <rtems/bspIo.h>
-
-extern int BSPConsolePort;
-
-void i386_stub_glue_init(int);
-void i386_stub_glue_init_breakin(void);
-void set_debug_traps(void);
-
- /* Init GDB glue */
-
-void init_serial_gdb( void )
-{
- if(BSPConsolePort != BSP_UART_COM2)
- {
- /*
- * If com2 is not used as console use it for
- * debugging
- */
-
- i386_stub_glue_init(BSP_UART_COM2);
- printk( "Remote GDB using COM2...\n" );
-
- }
- else
- {
- /* Otherwise use com1 */
- i386_stub_glue_init(BSP_UART_COM1);
- printk( "Remote GDB using COM1...\n" );
- }
-
- printk( "Remote GDB: setting traps...\n" );
- /* Init GDB stub itself */
- set_debug_traps();
-
- printk( "Remote GDB: waiting for remote connection...\n" );
-
- /*
- * Init GDB break in capability,
- * has to be called after
- * set_debug_traps
- */
- i386_stub_glue_init_breakin();
-
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.h b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.h
deleted file mode 100644
index 41e8583abf..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* serial_gdb.h
- *
- * Interface to invoke and initialize GDB support.
- *
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void init_serial_gdb( void );
-
-#define breakpoint() __asm__ ("int $3")
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/system.h b/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/system.h
deleted file mode 100644
index f52335e0fb..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/system.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* system.h
- *
- * This include file contains information that is included in every
- * function in the test set.
- *
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <tmacros.h>
-
-/* functions */
-
-rtems_task Init(
- rtems_task_argument argument
-);
-
-/* configuration information */
-
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#include <confdefs.h>
-
-/* global variables */
-
-TEST_EXTERN rtems_id Global_variable; /* example global variable */
-
-/* end of include file */
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader.com b/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader.com
deleted file mode 100644
index 945a7d2339..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader.com
+++ /dev/null
Binary files differ
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader_hybrid_com.asm b/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader_hybrid_com.asm
deleted file mode 100644
index cd951ec8fd..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader_hybrid_com.asm
+++ /dev/null
@@ -1,575 +0,0 @@
-; loader_hybrid_com.asm
-;
-; This is a DOS command-line loader for RTEMS executables running on
-; the Technologic Systems TS-1325 Embedded PC.
-;
-; It loads a DOS file given on the command line to the address `KernelBase',
-; and then transfers control there. It uses DOS file I/O commands to read from
-; the A: flash disk, and direct memory access to read from the C: ramdisk.
-;
-; Copying uses protected flat mode, so kernelbase could be above 1MB.
-; It does not initialize protected mode before transferring control
-; to the RTEMS executable image.
-;
-; Compile with: nasm -o loader.com loader_hybrid_com.asm
-;
-; Tony Ambardar (c) 1999
-; E.C.E. Department
-; University of British Columbia
-
-%include "ts1325.inc" ; Some useful LED and button macros
-
-; IMPORTANT: [org xxx] MUST be the same as RelocAddr below.
-
-[org E000h]
-[bits 16]
-
-; Only these three definitions may need to change
-
-KernelBase equ 08000h ; Where (32-bit) to locate and run RTEMS executable
-
-RelocSeg equ 9000h ; Segment to relocate code.
-RelocAddr equ 0E000h ; Address to relocate code, same as "org" above
-
-; Next three used in GDT
-
-RelocBase equ RelocSeg*16
-Reloc15 equ RelocBase & 0FFFFh
-Reloc23 equ RelocBase / 10000h
-
-Buffer equ RelocAddr+400h ; In same segment as RelocSeg
-BuffSiz equ 200h ; Size of disk read + copy
-
-StackSeg equ RelocSeg
-StackSiz equ 40h
-StackAddr equ Buffer+BuffSiz+StackSiz
-
-; Used to jump to kernel in real mode
-
-KernelAddr equ KernelBase & 0FFFFh
-KernelSeg equ (KernelBase - KernelAddr) / 16
-
-; Used to load from the ramdisk
-
-Extended equ 100000h ; Start of extended memory / C: ramdisk
-OffsetBPB equ 0Bh ; Start of BIOS param block in bootsector
-
-; Command-line parameters
-
-ParamLen equ 80h ; Byte length of command line params
-ParamStr equ 82h ; Start of param string
-
-; The ORG address above means pre-relocation addresses are wrong. The
-; following macro fixes these up.
-
-%define PRE_RELOC_ADDR(addr) (addr-CodeStart+100h)
-
-CodeStart:
-
-mov dx, PRE_RELOC_ADDR(Greet)
-mov ah, 9h
-int 21h
-
-mov ax, 0b021h ; Exit to DOS if push-button switch pressed
-int 15h
-and al, 01h ; Bit 0 == 0 if button pressed
-jz ButtonExit
-
-xor cx, cx
-mov cl, [ParamLen] ; See if there is a command line arg
-jcxz NameError
-
-dec cx ; Nix leading space. Is this standard?
-cmp cx, 12 ; Limit to 12 chars: e.g. ABCDEFGH.IJK
-jg NameError
- ; Damn. Should make sure of no ':' or '\' chars too.
-
-; Required by "relocated" [org] statement above
-
-mov di, PRE_RELOC_ADDR(FName)
-mov si, ParamStr
-repne
-movsb ; Copy command line arg
-
-; Make sure no ':' in filename. This forces using the default dir.
-
-mov di, PRE_RELOC_ADDR(FName)
-mov al, ':'
-mov cx, 12
-repne
-scasb
-je NameError
-
-jmp Relocate
-
-ButtonExit:
-mov dx, PRE_RELOC_ADDR(Button)
-jmp short DosPrint
-
-NameError:
-mov dx, PRE_RELOC_ADDR(FError)
-jmp short DosPrint
-
-DosError: ; Only call this AFTER relocation
-mov dx, RError
-
-DosPrint:
-mov ah, 9h
-int 21h
-
-DosExit:
-mov ax, 04C00h ; DOS Function: Exit program
-int 21h ; Call DOS. Terminate Program
-
-Relocate: ; Move this code down to RelocAddr
-
-cld
-mov ax, RelocSeg
-mov es, ax ; Set destination = RelocSeg:RelocAddr
-mov di, RelocAddr
-mov si, 100h ; Source is ds:0100h i.e. a COM file
-mov cx, CodeEnd - CodeStart ; Size of all code
-
-repne
-movsb
-
-; continue in copied code
-
-jmp RelocSeg:RelocAddr + (RelocStart - CodeStart)
-
-RelocStart:
-cli
-mov ax, StackSeg
-mov ss, ax
-mov sp, StackAddr
-mov ax, cs
-mov ds, ax
-mov es, ax ; Setup segments and stack
-sti
-
-mov ah, 19h
-int 21h
-mov [DDrive], al ; Save current default drive
-
-mov ax, 3d00h ; DOS Function: Open the file for reading
-mov dx, FName ; Presume DS points at filename segment
-int 21h
-jc DosError
-
-GoodOpen:
-mov [FHndl], ax ; Save file handle
-
-mov al, [DDrive] ; Check if loading from C: drive (ramdisk)
-cmp al, 2
-je LoadRamdisk
-
-LoadDosdisk:
-
-; Here we are loading from A: drive. Use DOS calls to load the file into
-; extended memory. Then copy from extended memory to `KernelBase'. This way
-; we avoid overwriting DOS file I/O structures if reading directly into
-; conventional (<640K) memory.
-
-mov edi, Extended ; Destination for code read @ 1 Meg
-
-ReadLoop:
-
-mov ah,3fh ; DOS Function: Read data from the file
-mov bx, [FHndl]
-mov dx, Buffer ; Address of data buffer
-mov cx, BuffSiz ; Request BuffSiz bytes
-int 21h
-jc DosError
-
-GoodRead:
-
-cmp ax, cx ; EOF reached? AX = # bytes read
-pushf
-
-add ax, 3
-shr ax, 2 ; Copy buffer by dwords, # = (ax + 3)/4
-movzx ecx, ax
-mov esi, RelocBase + Buffer ; Source for copy, destination is in edi
-
-call CopyData32 ; Do protected-mode copy
-
-popf
-je ReadLoop ; Still data left, so read next chunk
-
-mov esi, Extended ; Source for copy @ 1 Meg
-mov ecx, edi ; Make count in dwords
-sub ecx, esi
-add ecx, 3
-shr ecx, 2
-mov edi, KernelBase ; Destination copy
-
-call CopyData32 ; Move code into conventional memory
-jmp RunKernel
-
-LoadRamdisk:
-
-; Here we are loading from C: drive. Use protected mode to directly access
-; the virtual disk sectors in extended memory and copy to `KernelBase'.
-; This way we avoid using DOS file I/O calls, except for an `open' earlier
-; which tells us the file exists.
-
-; Copy C: "bootsector" to buffer and save the BIOS parameter block
-
-mov esi, Extended
-mov edi, RelocBase + Buffer ; Must be a 32-but address...
-mov ecx, 80h
-call CopyData32
-
-mov si, Buffer + OffsetBPB
-mov di, SavBPB
-mov cx, EndBPB - SavBPB
-repne
-movsb
-
-; Calculate FAT, root dir, and data start addresses for the ramdisk
-
-xor eax, eax
-mov ebx, eax
-mov ecx, ebx
-
-mov ax, [ResSec]
-
-mov bl, [NumFAT]
-imul bx, [SecFAT]
-
-mov cx, [NRoot]
-shr cx, 4 ; 10h directory entries per sector
-
-add bx, ax
-add cx, bx
-
-mov dx, [BpSect]
-imul ax, dx
-imul bx, dx
-imul cx, dx
-
-add eax, Extended
-add ebx, Extended
-add ecx, Extended
-
-mov [BegFAT], eax
-mov [BegRoot], ebx
-mov [BegData], ecx
-
-; Convert the saved filename to format used in directory entry. Assume
-; there's a `.' in it. Hopefully this won't haunt us later...
-
-mov di, FName ; Find the `.'
-mov al, '.'
-mov cx, 12
-repne
-scasb
-
-mov bx, di ; di points to filename extension
-
-mov di, DirName
-mov si, FName
-mov cx, bx ; Make count
-sub cx, si
-dec cx
-repne ; Copy initial part of filename
-movsb
-
-mov di, bx ; Find the terminating zero
-xor al,al
-mov cx, 4
-repne
-scasb
-
-mov cx, di ; Make count
-sub cx, bx
-dec cx
-mov si, bx
-mov di, DirName + 8
-repne ; Copy filename extension
-movsb
-
-mov si, DirName ; Convert the stupid thing to upper case
-mov di, si
-mov cx, 11
-
-Cvt2Upper:
-
-lodsb
-cmp al, 'a'
-jb NotLow
-cmp al, 'z'
-ja NotLow
-xor al, 20h
-
-NotLow:
-
-stosb
-loop Cvt2Upper
-
-; Now load in the root directory (temporarily) to find the first cluster
-; of our file. Use KernelSeg:KernelAddr as temporary storage.
-
-mov esi, [BegRoot]
-mov edi, KernelBase
-xor ecx, ecx
-mov cx, [NRoot]
-shl cx, 3 ; Each root entry is 8 dwords
-call CopyData32
-
-mov dx, [NRoot] ; Max # of dir entries
-
-mov cx, KernelSeg ; Setup segment selector for comparison
-mov es, cx
-mov di, KernelAddr
-
-FindEntry:
-
-mov cx, 11
-mov si, DirName
-push di
-rep cmpsb
-pop di
-je GotEntry
-add di, 20h ; Point to next dir entry
-dec dx
-jnz FindEntry
-
-int 3h ; Should never get here...
-
-GotEntry:
-
-mov eax, KernelBase ; Setup initial address for copy
-mov [CurrDst], eax
-
-add di, 32 - 6 ; Load first cluster number
-mov ax, [es:di]
-mov cx, ds ; Fix `es' selector just in case
-mov es, cx
-
-LoadKernel:
-
-call LoadCluster ; Load cluster `ax' to [CurrDst], update [CurrDst]
-
-call NextCluster ; Get next cluster number in ax
-
-cmp ax, 0FF8h ; Repeat until EOF
-jb LoadKernel
-
-RunKernel:
-
-mov ax, KernelSeg ; Setup data segment and transfer control
-mov ds, ax
-
-jmp KernelSeg:KernelAddr ; Huzzah!!
-
-
-; Load cluster `ax' to [CurrDst], update [CurrDst]
-
-LoadCluster:
-
-push ax
-sub ax, 2 ; Cluster numbers start at 2
-movzx eax, ax
-
-xor ecx, ecx ; Calculate bytes in a cluster
-mov cl, [SpClst]
-imul cx, [BpSect]
-
-imul eax, ecx
-add eax, [BegData] ; Start of cluster
-
-shr ecx, 2 ; Cluster size in dwords
-mov esi, eax ; Copy source
-mov edi, [CurrDst] ; Copy destination
-call CopyData32
-
-mov [CurrDst], edi ; Update dest
-pop ax ; Restore cluster number
-
-ret
-
-; Search FAT (FAT12 format) for next cluster in file after `ax'.
-
-NextCluster:
-
-movzx ecx, ax ; Calculate offset into FAT
-shr ax, 1
-pushf
-add cx, ax
-
-mov esi, [BegFAT] ; Copy word containing next cluster to buffer
-add esi, ecx
-mov edi, RelocBase + Buffer
-xor ecx, ecx
-inc ecx
-call CopyData32
-
-mov ax, [Buffer] ; Handle odd/even cluster numbers
-popf
-jnc EvenCluster
-shr ax, 4
-
-EvenCluster:
-
-and ax, 0FFFh
-ret
-
-; Enable the A20 line for accesses to extended memory.
-
-EnableA20:
- in al,92h
- or al,2
- jmp short $+2
- jmp short $+2
- jmp short $+2
- out 92h,al
- ret
-
-; The CopyData32 routine copies ecx dwords from esi to edi. Both esi
-; and edi hold 32-bit values. CopyData32 runs in 32-bit protected mode.
-
-CopyData32:
- cli
-
- call EnableA20 ; Put here in case file I/O screws with this
- ; or with the GDTR
-
- lgdt [GDTStart] ; Initialize GDTR for 32-bit protected mode
-
- mov eax, cr0
- or al, 1
- mov cr0, eax ;go to real flat mode
-
-; LED_GRN
-; PSW_WAIT
-
- jmp dword 8h : RelocBase+ProtJmp
-[bits 32]
-ProtJmp:
-; LED_YEL
-; PSW_WAIT
-
- mov ax, 10h
- mov ds, ax
- mov es, ax
- mov ss, ax
-
- rep movsd ;copy the sector to where it should be
-
- mov ax, 20h
- mov ds, ax
- mov es, ax
- mov ss, ax
-
-; LED_RED
-; PSW_WAIT
-
- jmp 18h : RealJmp1 ;use code segment with 64K limit
-[bits 16]
-RealJmp1:
-; LED_OFF
-; PSW_WAIT
-
- mov eax, cr0 ;back to real segmented mode
- and eax, 0fffffffeh
- mov cr0, eax
-
- jmp RelocSeg : RealJmp2
-RealJmp2:
-; LED_GRN
-; PSW_WAIT
-
- mov ax, cs
- mov es, ax
- mov ds, ax
- mov ss, ax
-
- sti
-ret
-
-; Storage for a Dos 3+ BIOS Parameter Block (for the C: ramdisk)
-
-SavBPB:
-
-BpSect dw 0h ; Bytes per sector, always 512
-SpClst db 0h ; Sectors per cluster
-ResSec dw 0h ; Num of reserved sectors
-NumFAT db 0h ; Num of FATs
-NRoot dw 0h ; Num of root directory entries
-TotSec dw 0h ; Total sectors
-Media db 0h ; Media descriptor byte
-SecFAT dw 0h ; Sectors per FAT
-
-EndBPB:
-
-CurrDst dd 0h ; Current destination address for copying RTEMS exec
-
-; Important (32-bit) address for the C: ramdisk
-
-BegFAT dd 0h ; Start of the FAT
-BegRoot dd 0h ; Start of root directory
-BegData dd 0h ; Start of data clusters
-
-DDrive db 0h ; Default drive: 0h = A:, 2h = C:
-
-DirName times 11 db 32 ; Room for 8.3 directory entry name
-
-FName times 13 db 0 ; Room for a 12 character null-terminated string
-FHndl dw 0000h
-
-Greet db "RTEMS DOS Loader (c) 1999 Tony R. Ambardar",13,10,"$"
-Button db "Button pressed -- Aborting.",13,10,"$"
-FError db "Missing or incorrect file name.",13,10,"$"
-RError db "Error opening or reading file.",13,10,"$"
-
-; Global Descriptor Table used for protectd mode.
-; Store the GDTR in the first null GDT entry
-
-GDTStart:
-
-dw GDTEnd - GDTStart - 1
-dd RelocBase + GDTStart
-dw 0
-
-; base=0h, limit=4Gb, present, code, exec/read, conform, 32-bit
-
-dw 0ffffh ;seg. lim. [15:0]
-dw 0 ;base[15:0]
-db 0 ;base[23:16]
-db 9eh ;p=1,dpl=0,s=1 ; code: execute/read, conforming
-db 0cfh ;c: gran=4K, D/B=1(32-bit) ; f: seg. lim. [19:16]
-db 0 ;base[31:24]
-
-; base=0h, limit=4Gb, present, data, read/write exp. up, 32-bit SP
-
-dw 0ffffh ;seg. lim. [15:0]
-dw 0 ;base[15:0]
-db 0 ;base[23:16]
-db 92h ;p=1,dpl=0,s=1 ; data: read/write expand-up
-db 0cfh ;c: gran=4K, D/B=1(32-bit) ; f: seg. lim. [19:16]
-db 0 ;base[31:24]
-
-; base=0h, limit=ffffh, present, code, exec/read, conform, 16-bit
-; NOTE: this descriptor is used to change back to real mode.
-
-dw 0ffffh ;seg. lim. [15:0]
-dw Reloc15 ;base[15:0]
-db Reloc23 ;base[23:16]
-db 9eh ;p=1,dpl=0,s=1 ; code: execute/read, conforming
-db 000h ;4: gran=1 byte, D/B=0(16-bit) ; 0: seg. lim. [19:16]
-db 0 ;base[31:24]
-
-; base=0h, limit=ffffh, present, data, read/write exp. up, 16-bit SP
-; NOTE: this descriptor is used to change back to real mode.
-
-dw 0ffffh ;seg. lim. [15:0]
-dw Reloc15 ;base[15:0]
-db Reloc23 ;base[23:16]
-db 92h ;p=1,dpl=0,s=1 ; data: read/write expand-up
-db 000h ;0: gran=1 byte, D/B=0(16-bit) ; 0: seg. lim. [19:16]
-db 0 ;base[31:24]
-
-GDTEnd:
-
-CodeEnd: ; end-of-code marker for copy
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc b/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc
deleted file mode 100644
index 40ed3659ab..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc
+++ /dev/null
@@ -1,48 +0,0 @@
-; Some nasm macros to turn on TS-1325 LEDs and wait for button presses.
-; This should be '%include'ed in your nasm source file.
-;
-; Tony Ambardar
-
-P1LTC equ 0F862h
-P1PIN equ 0F860h
-
-%macro LED_OFF 0
- mov dx, P1LTC
- in al, dx
- or al, 01000000b ; turn off red
- and al, 11011111b ; turn off green
- out dx, al
-%endmacro
-
-%macro LED_GRN 0
- mov dx, P1LTC
- in al, dx
- or al, 01100000b ; turn off red, turn on green
- out dx, al
-%endmacro
-
-%macro LED_YEL 0
- mov dx, P1LTC
- in al, dx
- or al, 00100000b ; turn on green
- and al, 10111111b ; turn on red
- out dx, al
-%endmacro
-
-%macro LED_RED 0
- mov dx, P1LTC
- in al, dx
- and al, 10011111b ; turn on red, turn off green
- out dx, al
-%endmacro
-
-%macro PSW_WAIT 0
- mov dx, P1PIN ; Get PSW state
- mov ecx, 80000h
-%%read in al, dx
- test al, 00000001b ; is PSW asserted?
- jnz %%read ; if not, we're done
- dec ecx
- jnz %%read
-%endmacro
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/elf2exe b/c/src/lib/libbsp/i386/ts_386ex/tools/elf2exe
deleted file mode 100755
index fc0d5a995c..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/elf2exe
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-# Just a Q&D prog to convert a bunch of RTEMS generated ELF files to raw
-# binary images that can be loaded on the TS-1325. The converted files are
-# saved in the current directory.
-#
-# Tony Ambardar
-
-OBJCOPY=/usr/local/rtems/bin/i386-rtemself-objcopy
-
-if [ $# = 0 ]
-then
- echo "Description: Convert RTEMS elf files to raw binary files."
- echo "Usage: elf2exe <list-of-elf-files>"
- echo
- exit 1
-fi
-
-for i in $*
-do
- OUTFILE=$(basename `echo $i | sed 's/\.[a-zA-Z0-9]*$//g'`.exe)
- $OBJCOPY -O binary $i $OUTFILE
-done
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/README b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/README
deleted file mode 100644
index f13242d945..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/README
+++ /dev/null
@@ -1,8 +0,0 @@
-The code and examples in this sub-directory have been adapted from
-Samuel Tardieu's adasockets-0.1.3 library to work with RTEMS and
-FreeBSD sockets.
-
-The Ada source files which were modified are sockets-multicast.adb,
-sockets-thin.ads, sockets-constants.ads, and sockets-naming.adb
-
-Tony Ambardar, 8/8/99 \ No newline at end of file
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/AUTHORS b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/AUTHORS
deleted file mode 100644
index 29e6e9ba7c..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/AUTHORS
+++ /dev/null
@@ -1,7 +0,0 @@
-Samuel Tardieu
-ENST -- Département Informatique
-46, rue Barrault
-75634 Paris Cedex 13
-E-mail: sam@inf.enst.fr
-URL: http://www.inf.enst.fr/~tardieu/
-
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/COPYING b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/COPYING
deleted file mode 100644
index 60549be514..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/NEWS b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/NEWS
deleted file mode 100644
index 6990e32019..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/NEWS
+++ /dev/null
@@ -1,44 +0,0 @@
--*- outline -*-
-
-* New in AdaSockets 0.1.3
-
-** Support for IP multicast
-
-The package Sockets.Multicast can be used to create Multicast
-interfaces on machine that support it.
-
-** Interface changes
-
-Some functions have been transformed into procedures to ease the
-addition of multicast sockets.
-
-** New example
-
-The multi example can be used as both a multicast sender and receiver.
-
-* New in AdaSockets 0.1.2
-
-** Warning suppressed
-
-Some versions of GNAT were detecting incorrectly a missing raise in
-some cases. Signaled by Nicolas Ollinger <Nicolas.Ollinger@ens-lyon.fr>.
-
-** New example
-
-A listener example which is only a server has been added to avoid any
-confusion between clients and servers. Suggestion by Scott Moody
-<scott@plato.ds.boeing.com>.
-
-* New in AdaSockets 0.1.1
-
-** `aux' -> `support'
-
-The subdirectory `aux' in the distribution has been renamed into
-`support' to avoid a name clash on Windows NT with the standard
-peripherical `aux'. Suggestion from Juanma Barranquero
-<barranquero@laley-actualidad.es>.
-
-** Better error messages
-
-Exception raised during the connection now have messages in many cases
-explaining why the connexion could not be made.
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/README b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/README
deleted file mode 100644
index 2192f8d334..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/README
+++ /dev/null
@@ -1,35 +0,0 @@
-README file for adasockets version 0.1.3 (beta)
-
-AdaSockets is a medium binding (it is not a thin binding because it uses Ada
-types and not a thick binding because you have the same subprogram names as
-in C) for using BSD-style sockets in Ada.
-
-This package is in no way complete! This is a half-day work that will be
-extended in the future. If there is an extension that you would like to see in,
-drop a note to the author (Samuel Tardieu <sam@inf.enst.fr>).
-
-As you may have noticed, the name is not really original. If you have a better
-name, send me a note with your suggestion.
-
-AdaSockets is free software; you can redistribute it and/or modify it
-under terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2, or (at your option) any later
-version. AdaSockets is distributed in the hope that it will be
-useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details. You should have received a
-copy of the GNU General Public License distributed with AdaSockets;
-see file COPYING. If not, write to the Free Software Foundation, 59
-Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-As a special exception, if other files instantiate generics from this
-unit, or you link this unit with other files to produce an executable,
-this unit does not by itself cause the resulting executable to be
-covered by the GNU General Public License. This exception does not
-however invalidate any other reasons why the executable file might be
-covered by the GNU Public License.
-
-The main repository for this software is located at:
- http://www-inf.enst.fr/ANC/
-
-The author, Samuel Tardieu <sam@inf.enst.fr>
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-constants.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-constants.ads
deleted file mode 100644
index b5c07b79c5..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-constants.ads
+++ /dev/null
@@ -1,50 +0,0 @@
--- This package has been generated automatically on:
--- Linux wasp 2.0.36 #1 Tue Dec 29 13:11:13 EST 1998 i586
--- unknown
--- Generation date: Fri Mar 5 00:03:14 PST 1999
--- Any change you make here is likely to be lost !
-package Sockets.Constants is
- Tcp_Nodelay : constant := 16#0001#;
- Af_Inet : constant := 16#0002#;
- Sock_Stream : constant := 16#0001#;
- Sock_Dgram : constant := 16#0002#;
- Eintr : constant := 16#0004#;
- Eagain : constant := 16#000B#;
- Ewouldblock : constant := 16#000B#;
- Einprogress : constant := 16#0077#;
- Ealready : constant := 16#0078#;
- Eisconn : constant := 16#007F#;
- Econnrefused : constant := 16#006F#;
- Fndelay : constant := 16#0004#;
- Fasync : constant := 16#0040#;
- F_Getfl : constant := 16#0003#;
- F_Setfl : constant := 16#0004#;
- F_Setown : constant := 16#0006#;
- So_Rcvbuf : constant := 16#1002#;
- So_Reuseaddr : constant := 16#0004#;
- Sol_Socket : constant := 16#FFFF#;
- Sigterm : constant := 16#000F#;
- Sigkill : constant := 16#0009#;
- O_Rdonly : constant := 16#0000#;
- O_Wronly : constant := 16#0001#;
- O_Rdwr : constant := 16#0002#;
- Host_Not_Found : constant := 16#0001#;
- Try_Again : constant := 16#0002#;
- No_Recovery : constant := 16#0003#;
- No_Data : constant := 16#0004#;
- No_Address : constant := 16#0004#;
- Pollin : constant := 16#0001#;
- Pollpri : constant := 16#0002#;
- Pollout : constant := 16#0004#;
- Pollerr : constant := 16#0008#;
- Pollhup : constant := 16#0010#;
- Pollnval : constant := 16#0020#;
- I_Setsig : constant := -1;
- S_Rdnorm : constant := -1;
- S_Wrnorm : constant := -1;
- Ipproto_Ip : constant := 16#0000#;
- Ip_Add_Membership : constant := 16#000C#;
- Ip_Multicast_Loop : constant := 16#000B#;
- Ip_Multicast_Ttl : constant := 16#000A#;
- Ip_Drop_Membership : constant := 16#000D#;
-end Sockets.Constants;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-link.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-link.ads
deleted file mode 100644
index 6572e48f71..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-link.ads
+++ /dev/null
@@ -1,42 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . L I N K --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-private package Sockets.Link is
-
- -- pragma Linker_Options ("-lnsl");
- -- pragma Linker_Options ("-lsocket");
-
-end Sockets.Link;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.adb
deleted file mode 100644
index f34bcb6720..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.adb
+++ /dev/null
@@ -1,130 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . M U L T I C A S T --
--- --
--- B o d y --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Exceptions; use Ada.Exceptions;
-with Interfaces.C; use Interfaces.C;
-with Sockets.Constants; use Sockets.Constants;
-with Sockets.Naming; use Sockets.Naming;
-with Sockets.Thin; use Sockets.Thin;
-with Sockets.Utils; use Sockets.Utils;
-
-package body Sockets.Multicast is
-
- use Ada.Streams;
-
- procedure Setsockopt_Add_Membership is
- new Customized_Setsockopt (IPPROTO_IP, IP_ADD_MEMBERSHIP, Ip_Mreq);
-
- -----------------------------
- -- Create_Multicast_Socket --
- -----------------------------
-
- function Create_Multicast_Socket
- (Group : String;
- Port : Positive;
- TTL : Positive := 16;
- Self_Loop : Boolean := True)
- return Multicast_Socket_FD
- is
- Result : Multicast_Socket_FD;
- Mreq : aliased Ip_Mreq;
- C_Self_Loop : Integer;
- begin
- Socket (Socket_FD (Result), AF_INET, SOCK_DGRAM);
- if Self_Loop then
- C_Self_Loop := 1;
- else
- C_Self_Loop := 0;
- end if;
- Setsockopt (Result, SOL_SOCKET, SO_REUSEADDR, 1);
- Bind (Result, Port);
- Mreq.Imr_Multiaddr := To_In_Addr (Address_Of (Group));
- Setsockopt_Add_Membership (Result, Mreq);
- Setsockopt (Result, IPPROTO_IP, IP_MULTICAST_TTL, TTL);
- Setsockopt (Result, IPPROTO_IP, IP_MULTICAST_LOOP, C_Self_Loop);
- Result.Target := (Result.Target'Size / 8,
- Constants.Af_Inet,
- Port_To_Network (unsigned_short (Port)),
- To_In_Addr (Address_Of (Group)),
- (others => char'Val (0)));
- return Result;
- end Create_Multicast_Socket;
-
- ----------
- -- Send --
- ----------
-
- procedure Send (Socket : in Multicast_Socket_FD;
- Data : in Stream_Element_Array)
- is
- Sin : aliased Sockaddr_In := Socket.Target;
- Index : Stream_Element_Offset := Data'First;
- Rest : Stream_Element_Count := Data'Length;
- Count : int;
- begin
- while Rest > 0 loop
- Count := C_Sendto (Socket.FD,
- Data (Index) 'Address,
- int (Rest),
- 0,
- Sin'Address,
- Sin'Size / 8);
- if Count < 0 then
- Raise_With_Message ("Send failed");
- elsif Count = 0 then
- raise Connection_Closed;
- end if;
- Index := Index + Stream_Element_Count (Count);
- Rest := Rest - Stream_Element_Count (Count);
- end loop;
- end Send;
-
- ------------
- -- Socket --
- ------------
-
- procedure Socket
- (Sock : out Multicast_Socket_FD;
- Domain : in Socket_Domain := AF_INET;
- Typ : in Socket_Type := SOCK_STREAM)
- is
- begin
- Raise_Exception (Program_Error'Identity,
- "Use Create_Multicast_Socket instead");
- Sock := Sock; -- To keep the compiler happy
- end Socket;
-
-end Sockets.Multicast;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.ads
deleted file mode 100644
index 3942ed0547..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.ads
+++ /dev/null
@@ -1,71 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . M U L T I C A S T --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Sockets.Thin;
-
-package Sockets.Multicast is
-
- pragma Elaborate_Body;
-
- -- This package aims at helping the creation of multicast sockets
-
- type Multicast_Socket_FD is new Socket_FD with private;
-
- function Create_Multicast_Socket
- (Group : String;
- Port : Positive;
- TTL : Positive := 16;
- Self_Loop : Boolean := True)
- return Multicast_Socket_FD;
- -- Create a multicast socket
-
- procedure Send (Socket : in Multicast_Socket_FD;
- Data : in Ada.Streams.Stream_Element_Array);
- -- Send data over a multicast socket
-
-private
-
- procedure Socket
- (Sock : out Multicast_Socket_FD;
- Domain : in Socket_Domain := AF_INET;
- Typ : in Socket_Type := SOCK_STREAM);
- -- Do not call this one, it will raise Program_Error
-
- type Multicast_Socket_FD is new Socket_FD with record
- Target : Sockets.Thin.Sockaddr_In;
- end record;
-
-end Sockets.Multicast;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.adb
deleted file mode 100644
index 4faa989138..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.adb
+++ /dev/null
@@ -1,411 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . N A M I N G --
--- --
--- B o d y --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1996-1998 Free Software Foundation --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Exceptions;
-with Interfaces.C; use Interfaces.C;
-with Interfaces.C.Strings; use Interfaces.C.Strings;
-with Sockets.Constants; use Sockets.Constants;
-with Ada.Unchecked_Conversion;
-with Ada.Unchecked_Deallocation;
-
-package body Sockets.Naming is
-
- use Sockets.Constants, Sockets.Thin;
-
- Default_Buffer_Size : constant := 16384;
-
- procedure Free is
- new Ada.Unchecked_Deallocation (String, String_Access);
-
- procedure Free is
- new Ada.Unchecked_Deallocation (char_array, char_array_access);
-
- function Allocate (Size : Positive := Default_Buffer_Size)
- return char_array_access;
- -- Allocate a buffer
-
- function Parse_Entry (Host : Hostent)
- return Host_Entry;
- -- Parse an entry
-
- procedure Raise_Naming_Error
- (Errno : in C.int;
- Message : in String);
- -- Raise the exception Naming_Error with an appropriate error message
-
- C_Errno : C.int;
- pragma Import (C, C_Errno, "h_errno");
-
- ----------------
- -- Address_Of --
- ----------------
-
- function Address_Of (Something : String)
- return Address
- is
- begin
- if Is_IP_Address (Something) then
- return Value (Something);
- else
- return Info_Of (Something) .Addresses (1);
- end if;
- end Address_Of;
-
- ------------
- -- Adjust --
- ------------
-
- procedure Adjust (Object : in out Host_Entry)
- is
- Aliases : String_Array renames Object.Aliases;
- begin
- Object.Name := new String'(Object.Name.all);
- for I in Aliases'Range loop
- Aliases (I) := new String'(Aliases (I) .all);
- end loop;
- end Adjust;
-
- --------------
- -- Allocate --
- --------------
-
- function Allocate
- (Size : Positive := Default_Buffer_Size)
- return char_array_access
- is
- begin
- return new char_array (1 .. size_t (Size));
- end Allocate;
-
- -----------------
- -- Any_Address --
- -----------------
-
- function Any_Address return Address
- is
- begin
- return To_Address (Inaddr_Any);
- end Any_Address;
-
- --------------
- -- Finalize --
- --------------
-
- procedure Finalize (Object : in out Host_Entry)
- is
- Aliases : String_Array renames Object.Aliases;
- begin
- Free (Object.Name);
- for I in Aliases'Range loop
- Free (Aliases (I));
- end loop;
- end Finalize;
-
- ---------------
- -- Host_Name --
- ---------------
-
- function Host_Name return String
- is
- Buff : char_array_access := Allocate;
- Buffer : constant chars_ptr := To_Chars_Ptr (Buff);
- Res : constant int := C_Gethostname (Buffer, Buff'Length);
- begin
- if Res = Failure then
- Free (Buff);
- Raise_Naming_Error (C_Errno, "");
- end if;
- declare
- Result : constant String := Value (Buffer);
- begin
- Free (Buff);
- return Result;
- end;
- end Host_Name;
-
- -----------
- -- Image --
- -----------
-
- function Image (Add : Address) return String
- is
-
- function Image (A : Address_Component) return String;
- -- Return the string corresponding to its argument without
- -- the leading space.
-
- -----------
- -- Image --
- -----------
-
- function Image (A : Address_Component)
- return String
- is
- Im : constant String := Address_Component'Image (A);
- begin
- return Im (Im'First + 1 .. Im'Last);
- end Image;
-
- begin
- return Image (Add.H1) & "." & Image (Add.H2) & "." &
- Image (Add.H3) & "." & Image (Add.H4);
- end Image;
-
- -----------
- -- Image --
- -----------
-
- function Image (Add : Thin.In_Addr) return String is
- begin
- return Image (To_Address (Add));
- end Image;
-
- -------------
- -- Info_Of --
- -------------
-
- function Info_Of (Name : String)
- return Host_Entry
- is
- Res : Hostent_Access;
- C_Name : chars_ptr := New_String (Name);
- begin
- Res := C_Gethostbyname (C_Name);
- Free (C_Name);
- if Res = null then
- Raise_Naming_Error (C_Errno, Name);
- end if;
- declare
- Result : constant Host_Entry := Parse_Entry (Res.all);
- begin
- return Result;
- end;
- end Info_Of;
-
- -------------
- -- Info_Of --
- -------------
-
- function Info_Of (Addr : Address)
- return Host_Entry
- is
- function Convert is
- new Ada.Unchecked_Conversion (Source => In_Addr_Access,
- Target => chars_ptr);
- Temp : aliased In_Addr := To_In_Addr (Addr);
- C_Addr : constant chars_ptr := Convert (Temp'Unchecked_Access);
- Res : Hostent_Access;
- begin
- Res := C_Gethostbyaddr (C_Addr,
- C.int (Temp'Size / CHAR_BIT),
- Constants.Af_Inet);
- if Res = null then
- Raise_Naming_Error (C_Errno, Image (Addr));
- end if;
- declare
- Result : constant Host_Entry := Parse_Entry (Res.all);
- begin
- return Result;
- end;
- end Info_Of;
-
- ------------------------
- -- Info_Of_Name_Or_IP --
- ------------------------
-
- function Info_Of_Name_Or_IP (Something : String)
- return Host_Entry
- is
- begin
- if Is_IP_Address (Something) then
- return Info_Of (Value (Something));
- else
- return Info_Of (Something);
- end if;
- end Info_Of_Name_Or_IP;
-
- -------------------
- -- Is_Ip_Address --
- -------------------
-
- function Is_IP_Address (Something : String)
- return Boolean
- is
- begin
- for Index in Something'Range loop
- declare
- Current : Character renames Something (Index);
- begin
- if (Current < '0'
- or else Current > '9')
- and then Current /= '.' then
- return False;
- end if;
- end;
- end loop;
- return True;
- end Is_IP_Address;
-
- -------------
- -- Name_Of --
- -------------
-
- function Name_Of (Something : String)
- return String
- is
- Hostent : constant Host_Entry := Info_Of_Name_Or_IP (Something);
- begin
- if Hostent.Name = null then
- Ada.Exceptions.Raise_Exception (Naming_Error'Identity,
- "No name for " & Something);
- end if;
- return Hostent.Name.all;
- end Name_Of;
-
- -----------------
- -- Parse_Entry --
- -----------------
-
- function Parse_Entry (Host : Hostent)
- return Host_Entry
- is
- C_Aliases : constant Thin.Chars_Ptr_Array :=
- Chars_Ptr_Pointers.Value (Host.H_Aliases);
- C_Addr : constant In_Addr_Access_Array :=
- In_Addr_Access_Pointers.Value
- (Host.H_Addr_List);
- Result : Host_Entry (N_Aliases => C_Aliases'Length - 1,
- N_Addresses => C_Addr'Length - 1);
- begin
- Result.Name := new String'(Value (Host.H_Name));
- for I in 1 .. Result.Aliases'Last loop
- declare
- Index : Natural := I - 1 + Natural (C_Aliases'First);
- Current : chars_ptr renames C_Aliases (size_t (Index));
- begin
- Result.Aliases (I) := new String'(Value (Current));
- end;
- end loop;
- for I in Result.Addresses'Range loop
- declare
- Index : Natural := I - 1 + Natural (C_Addr'First);
- Current : In_Addr_Access renames C_Addr (Index);
- begin
- Result.Addresses (I) := To_Address (Current.all);
- end;
- end loop;
- return Result;
- end Parse_Entry;
-
- ------------------------
- -- Raise_Naming_Error --
- ------------------------
-
- procedure Raise_Naming_Error
- (Errno : in C.int;
- Message : in String)
- is
-
- function Error_Message return String;
- -- Return the message according to Errno.
-
- -------------------
- -- Error_Message --
- -------------------
-
- function Error_Message return String is
- begin
- case Errno is
- when Host_Not_Found => return "Host not found";
- when Try_Again => return "Try again";
- when No_Recovery => return "No recovery";
- when No_Address => return "No address";
- when others => return "Unknown error" &
- C.int'Image (Errno);
- end case;
- end Error_Message;
-
- begin
- Ada.Exceptions.Raise_Exception (Naming_Error'Identity,
- Error_Message & ": " & Message);
- end Raise_Naming_Error;
-
- ----------------
- -- To_Address --
- ----------------
-
- function To_Address (Addr : In_Addr) return Address
- is
- begin
- return (H1 => Address_Component (Addr.S_B1),
- H2 => Address_Component (Addr.S_B2),
- H3 => Address_Component (Addr.S_B3),
- H4 => Address_Component (Addr.S_B4));
- end To_Address;
-
- ----------------
- -- To_In_Addr --
- ----------------
-
- function To_In_Addr (Addr : Address) return In_Addr
- is
- begin
- return (S_B1 => unsigned_char (Addr.H1),
- S_B2 => unsigned_char (Addr.H2),
- S_B3 => unsigned_char (Addr.H3),
- S_B4 => unsigned_char (Addr.H4));
- end To_In_Addr;
-
- -----------
- -- Value --
- -----------
-
- function Value (Add : String) return Address
- is
- function Convert is
- new Ada.Unchecked_Conversion (Source => Interfaces.Unsigned_32,
- Target => In_Addr);
- C_Add : chars_ptr := New_String (Add);
- Converted : constant In_Addr := Convert (C_Inet_Addr (C_Add));
- begin
- Free (C_Add);
- return (H1 => Address_Component (Converted.S_B1),
- H2 => Address_Component (Converted.S_B2),
- H3 => Address_Component (Converted.S_B3),
- H4 => Address_Component (Converted.S_B4));
- end Value;
-
-end Sockets.Naming;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.ads
deleted file mode 100644
index e66927172e..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.ads
+++ /dev/null
@@ -1,113 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . N A M I N G --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1996-1998 Free Software Foundation --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Finalization;
-with Sockets.Thin;
-
-package Sockets.Naming is
-
- type String_Access is access String;
-
- type String_Array is array (Positive range <>) of String_Access;
-
- subtype Address_Component is Natural range 0 .. 255;
-
- type Address is record
- H1, H2, H3, H4 : Address_Component;
- end record;
- -- An IPv4 address such as 137.194.160.12
-
- type Address_Array is array (Positive range <>) of Address;
-
- type Host_Entry (N_Aliases, N_Addresses : Natural) is
- new Ada.Finalization.Controlled with record
- Name : String_Access;
- Aliases : String_Array (1 .. N_Aliases);
- Addresses : Address_Array (1 .. N_Addresses);
- end record;
- -- A complete host structure. A host may have several IP addresses as
- -- well as several aliases.
-
- procedure Adjust (Object : in out Host_Entry);
- procedure Finalize (Object : in out Host_Entry);
-
- Naming_Error : exception;
- -- This exception is raised when a name cannot be resolved
-
- function Image (Add : Address) return String;
- -- The dotted form corresponding to an IP address
-
- function Image (Add : Thin.In_Addr) return String;
- -- The dotted form corresponding to the packed form of an IP address
-
- function Value (Add : String) return Address;
- -- The IP address corresponding to a dotted form
-
- function Info_Of (Name : String)
- return Host_Entry;
- -- Host entry of an IP name
-
- function Info_Of (Addr : Address)
- return Host_Entry;
- -- Host entry of an IP address
-
- function Is_IP_Address (Something : String)
- return Boolean;
- -- Return True if the name looks like an IP address, False otherwise
-
- function Info_Of_Name_Or_IP (Something : String)
- return Host_Entry;
- -- Host entry of an IP name or a dotted form
-
- function Address_Of (Something : String) return Address;
- -- Address of an IP name or a dotted form
-
- function Host_Name return String;
- -- Return the name of the current host
-
- function Name_Of (Something : String) return String;
- -- Return the official name of an IP name or a dotted form
-
- function To_In_Addr (Addr : Address) return Thin.In_Addr;
- -- Convert an IP address to a In_Addr structure
-
- function To_Address (Addr : Thin.In_Addr) return Address;
- -- Convert a In_Addr structure to an IP address
-
- function Any_Address return Address;
- -- Return the value of inaddr_any
-
-end Sockets.Naming;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-thin.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-thin.ads
deleted file mode 100644
index cb0b006dd8..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-thin.ads
+++ /dev/null
@@ -1,440 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . T H I N --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1996-1998 Free Software Foundation --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Interfaces.C.Pointers;
-with Interfaces.C.Strings;
-with System;
-
-package Sockets.Thin is
-
- package C renames Interfaces.C;
- package Strings renames C.Strings;
- generic package Pointers renames C.Pointers;
-
- use type C.int;
- -- This is an ugly hack to be able to declare the Failure constant
- -- below.
-
- Success : constant C.int := 0;
- Failure : constant C.int := -1;
-
- type Int_Access is access all C.int;
- pragma Convention (C, Int_Access);
- -- Access to C integers
-
- type pid_t is new C.int;
- pragma Convention (C, pid_t);
-
- type mode_t is new C.int;
- pragma Convention (C, mode_t);
-
- type key_t is new C.int;
- pragma Convention (C, key_t);
-
- type Chars_Ptr_Array is array (C.size_t range <>) of
- aliased Strings.chars_ptr;
-
- package Chars_Ptr_Pointers is
- new Pointers (C.size_t, Strings.chars_ptr, Chars_Ptr_Array,
- Strings.Null_Ptr);
- -- Arrays of C (char *)
-
- type In_Addr is record
- S_B1, S_B2, S_B3, S_B4 : C.unsigned_char;
- end record;
- pragma Convention (C, In_Addr);
- -- Internet address
-
- type In_Addr_Access is access all In_Addr;
- pragma Convention (C, In_Addr_Access);
- -- Access to internet address
-
- Inaddr_Any : aliased constant In_Addr := (others => 0);
- -- Any internet address (all the interfaces)
-
- type In_Addr_Access_Array is array (Positive range <>)
- of aliased In_Addr_Access;
- pragma Convention (C, In_Addr_Access_Array);
- package In_Addr_Access_Pointers is
- new Pointers (Positive, In_Addr_Access, In_Addr_Access_Array,
- null);
- -- Array of internet addresses
-
- type Sockaddr is record
- Sa_Len : C.unsigned_char;
- Sa_Family : C.unsigned_char;
- Sa_Data : C.char_array (1 .. 14);
- end record;
- pragma Convention (C, Sockaddr);
- -- Socket address
-
- type Sockaddr_Access is access all Sockaddr;
- pragma Convention (C, Sockaddr_Access);
- -- Access to socket address
-
- type Sockaddr_In is record
- Sin_Len : C.unsigned_char;
- Sin_Family : C.unsigned_char;
- Sin_Port : C.unsigned_short := 0;
- Sin_Addr : In_Addr := Inaddr_Any;
- Sin_Zero : C.char_array (1 .. 8) := (others => C.char'Val (0));
- end record;
- pragma Convention (C, Sockaddr_In);
- -- Internet socket address
-
- type Sockaddr_In_Access is access all Sockaddr_In;
- pragma Convention (C, Sockaddr_In_Access);
- -- Access to internet socket address
-
- type Ip_Mreq is record
- Imr_Multiaddr : In_Addr;
- Imr_Interface : In_Addr := Inaddr_Any;
- end record;
- pragma Convention (C, Ip_Mreq);
- -- Multicast structure
-
- type Hostent is record
- H_Name : Strings.chars_ptr;
- H_Aliases : Chars_Ptr_Pointers.Pointer;
- H_Addrtype : C.int;
- H_Length : C.int;
- H_Addr_List : In_Addr_Access_Pointers.Pointer;
- end record;
- pragma Convention (C, Hostent);
- -- Host entry
-
- type Hostent_Access is access all Hostent;
- pragma Convention (C, Hostent_Access);
- -- Access to host entry
-
- type Caddr_T is new Strings.chars_ptr;
- -- Type Caddr_T is in fact a (char *)
-
- type Iovec is record
- Iov_Base : Caddr_T;
- Iov_Len : C.int;
- end record;
- pragma Convention (C, Iovec);
- -- Iovec C type
-
- type Iovec_Access is access all Iovec;
- pragma Convention (C, Iovec_Access);
- -- Access to Iovec structure
-
- type Msghdr is record
- Msg_Name : Caddr_T;
- Msg_Namelen : C.int;
- Msg_Iov : Iovec_Access;
- Msg_Iovlen : C.int;
- Msg_Accrights : Caddr_T;
- Msg_Accrightslen : C.int;
- end record;
- pragma Convention (C, Msghdr);
- -- Message header
-
- type Msghdr_Access is access all Msghdr;
- pragma Convention (C, Msghdr_Access);
- -- Access to message header.
-
- type Two_Int is array (0 .. 1) of C.int;
- pragma Convention (C, Two_Int);
- -- Used with pipe()
-
- type Pollfd is record
- Fd : C.int;
- Events : C.short;
- Revents : C.short;
- end record;
- pragma Convention (C, Pollfd);
-
- type Pollfd_Array is array (Positive range <>) of Pollfd;
- pragma Convention (C, Pollfd_Array);
-
- function C_Accept
- (S : C.int;
- Addr : System.Address;
- Addrlen : access C.int)
- return C.int;
-
- function C_Bind
- (S : C.int;
- Name : System.Address;
- Namelen : C.int)
- return C.int;
-
- procedure C_Close (Fildes : C.int);
-
- function C_Connect
- (S : C.int;
- Name : System.Address;
- Namelen : C.int)
- return C.int;
-
- function C_Dup2 (Fildes, Fildes2 : C.int) return C.int;
-
- function C_Fcntl
- (Fildes : C.int;
- Cmd : C.int;
- Arg : C.int := 0)
- return C.int;
-
- function C_Getenv
- (Name : Strings.chars_ptr)
- return Strings.chars_ptr;
-
- function C_Gethostbyaddr
- (Addr : Strings.chars_ptr;
- Length : C.int;
- Typ : C.int)
- return Hostent_Access;
-
- function C_Gethostbyname
- (Name : Strings.chars_ptr)
- return Hostent_Access;
-
- function C_Gethostname
- (Name : Strings.chars_ptr;
- Namelen : C.int)
- return C.int;
-
- function C_Getpeername
- (S : C.int;
- Name : Sockaddr_Access;
- Namelen : access C.int)
- return C.int;
-
- function C_Getpid return pid_t;
-
- function C_Getsockname
- (S : C.int;
- Name : Sockaddr_Access;
- Namelen : access C.int)
- return C.int;
-
- function C_Getsockopt
- (S : C.int;
- Level : C.int;
- Optname : C.int;
- Optval : Strings.chars_ptr;
- Optlen : access C.int)
- return C.int;
-
- function C_Inet_Addr
- (Cp : Strings.chars_ptr)
- return Interfaces.Unsigned_32;
-
- function C_Inet_Network
- (Cp : Strings.chars_ptr)
- return Interfaces.Unsigned_32;
-
- function C_Inet_Makeaddr
- (Net : C.int;
- Lna : C.int)
- return In_Addr;
-
- function C_Inet_Lnaof (I : In_Addr) return C.int;
-
- function C_Inet_Netof (I : In_Addr) return C.int;
-
- function C_Inet_Ntoa (I : In_Addr) return Strings.chars_ptr;
-
- function C_Kill (Pid : pid_t; Sig : C.int) return C.int;
-
- function C_Listen (S, Backlog : C.int) return C.int;
-
- function C_Msgget
- (Key : key_t;
- Msgflg : C.int)
- return C.int;
-
- function C_Msgrcv
- (Msqid : C.int;
- Msgp : Strings.chars_ptr;
- Msgsz : C.int;
- Msgtyp : C.long;
- Msgflg : C.int)
- return C.int;
-
- function C_Msgsnd
- (Msqid : C.int;
- Msgp : Strings.chars_ptr;
- Msgsz : C.int;
- Msgflg : C.int)
- return C.int;
-
- function C_Open
- (Path : Strings.chars_ptr;
- Oflag : C.int;
- Mode : mode_t := 0)
- return C.int;
-
- function C_Pipe (Filedes : access Two_Int) return C.int;
-
- function C_Poll
- (Fds : System.Address;
- Nfds : C.unsigned_long;
- Timeout : C.int)
- return C.int;
-
- function C_Read
- (Fildes : C.int;
- Buf : System.Address;
- Nbyte : C.int)
- return C.int;
-
- function C_Readv
- (Fildes : C.int;
- Iov : Iovec_Access;
- Iovcnt : C.int)
- return C.int;
-
- function C_Recv (S : C.int; Buf : System.Address; Len, Flags : C.int)
- return C.int;
-
- function C_Recvfrom
- (S : C.int;
- Buf : System.Address;
- Len : C.int;
- Flags : C.int;
- From : System.Address;
- Fromlen : access C.int)
- return C.int;
-
- function C_Recvmsg
- (S : C.int;
- Msg : Msghdr_Access;
- Flags : C.int)
- return C.int;
-
- function C_Send
- (S : C.int;
- Msg : System.Address;
- Len : C.int;
- Flags : C.int)
- return C.int;
-
- function C_Sendmsg
- (S : C.int;
- Msg : Msghdr_Access;
- Flags : C.int)
- return C.int;
-
- function C_Sendto
- (S : C.int;
- Msg : System.Address;
- Len : C.int;
- Flags : C.int;
- To : System.Address;
- Tolen : C.int)
- return C.int;
-
- function C_Setsid return pid_t;
-
- function C_Setsockopt
- (S : C.int;
- Level : C.int;
- Optname : C.int;
- Optval : System.Address;
- Optlen : C.int)
- return C.int;
-
- procedure C_Shutdown
- (S : in C.int;
- How : in C.int);
-
- function C_Socket (Domain, Typ, Protocol : C.int) return C.int;
-
- function C_Strerror (Errnum : C.int) return Strings.chars_ptr;
-
- function C_Write
- (Fildes : C.int;
- Buf : System.Address;
- Nbyte : C.int)
- return C.int;
-
- function C_Writev
- (Fildes : C.int;
- Iov : Iovec_Access;
- Iovcnt : C.int)
- return C.int;
-
-private
-
- pragma Import (C, C_Accept, "accept");
- pragma Import (C, C_Bind, "bind");
- pragma Import (C, C_Close, "close");
- pragma Import (C, C_Connect, "connect");
- pragma Import (C, C_Dup2, "dup2");
- pragma Import (C, C_Fcntl, "fcntl");
- pragma Import (C, C_Getenv, "getenv");
- pragma Import (C, C_Gethostbyaddr, "gethostbyaddr");
- pragma Import (C, C_Gethostbyname, "gethostbyname");
- pragma Import (C, C_Gethostname, "gethostname");
- pragma Import (C, C_Getpeername, "getpeername");
- pragma Import (C, C_Getpid, "getpid");
- pragma Import (C, C_Getsockname, "getsockname");
- pragma Import (C, C_Getsockopt, "getsockopt");
- pragma Import (C, C_Inet_Addr, "inet_addr");
- pragma Import (C, C_Inet_Network, "inet_network");
- pragma Import (C, C_Inet_Makeaddr, "inet_makeaddr");
- pragma Import (C, C_Inet_Lnaof, "inet_lnaof");
- pragma Import (C, C_Inet_Netof, "inet_netof");
- pragma Import (C, C_Inet_Ntoa, "inet_ntoa");
- pragma Import (C, C_Kill, "kill");
- pragma Import (C, C_Listen, "listen");
- pragma Import (C, C_Msgget, "msgget");
- pragma Import (C, C_Msgrcv, "msgrcv");
- pragma Import (C, C_Msgsnd, "msgsnd");
- pragma Import (C, C_Open, "open");
- pragma Import (C, C_Pipe, "pipe");
- pragma Import (C, C_Poll, "poll");
- pragma Import (C, C_Read, "read");
- pragma Import (C, C_Readv, "readv");
- pragma Import (C, C_Recv, "recv");
- pragma Import (C, C_Recvfrom, "recvfrom");
- pragma Import (C, C_Recvmsg, "recvmsg");
- pragma Import (C, C_Send, "send");
- pragma Import (C, C_Sendmsg, "sendmsg");
- pragma Import (C, C_Sendto, "sendto");
- pragma Import (C, C_Setsid, "setsid");
- pragma Import (C, C_Setsockopt, "setsockopt");
- pragma Import (C, C_Shutdown, "shutdown");
- pragma Import (C, C_Socket, "socket");
- pragma Import (C, C_Strerror, "strerror");
- pragma Import (C, C_Write, "write");
- pragma Import (C, C_Writev, "writev");
-
-end Sockets.Thin;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.adb
deleted file mode 100644
index f605ad59d1..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.adb
+++ /dev/null
@@ -1,84 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . U T I L S --
--- --
--- B o d y --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Exceptions; use Ada.Exceptions;
-with GNAT.OS_Lib; use GNAT.OS_Lib;
-with System; use System;
-
-package body Sockets.Utils is
-
- use Interfaces.C;
-
- ---------------------
- -- Port_To_Network --
- ---------------------
-
- function Port_To_Network (Port : unsigned_short)
- return unsigned_short
- is
- begin
- if Default_Bit_Order = High_Order_First then
- return Port;
- else
- return (Port / 256) + (Port mod 256) * 256;
- end if;
- end Port_To_Network;
-
- ------------------------
- -- Raise_With_Message --
- ------------------------
-
- procedure Raise_With_Message (Message : in String;
- With_Errno : in Boolean := True)
- is
- begin
- if With_Errno then
- Raise_Exception (Constraint_Error'Identity,
- Message & " (errno is" & Integer'Image (Errno) &
- ")");
- else
- Raise_Exception (Constraint_Error'Identity, Message);
- end if;
-
- -- The following line works around a bug in GNAT that does not
- -- recognize Ada.Exceptions.Raise_Exception as raising an exception,
- -- even if it can compute statically that the occurrence cannot
- -- be Null_Occurrence ???
-
- raise Program_Error;
- end Raise_With_Message;
-
-end Sockets.Utils;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.ads
deleted file mode 100644
index e5b52510b9..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.ads
+++ /dev/null
@@ -1,52 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S . U T I L S --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Interfaces.C;
-
-private package Sockets.Utils is
-
- pragma Elaborate_Body;
-
- procedure Raise_With_Message (Message : in String;
- With_Errno : in Boolean := True);
- pragma No_Return (Raise_With_Message);
- -- Raise Constraint_Error with an associated error message
-
- function Port_To_Network (Port : Interfaces.C.unsigned_short)
- return Interfaces.C.unsigned_short;
- pragma Inline (Port_To_Network);
-
-end Sockets.Utils;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.adb
deleted file mode 100644
index e5b9416969..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.adb
+++ /dev/null
@@ -1,409 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S --
--- --
--- B o d y --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Characters.Latin_1; use Ada.Characters.Latin_1;
-with Sockets.Constants; use Sockets.Constants;
-with Sockets.Link;
-pragma Warnings (Off, Sockets.Link);
-with Sockets.Naming; use Sockets.Naming;
-with Sockets.Thin; use Sockets.Thin;
-with Sockets.Utils; use Sockets.Utils;
-
-package body Sockets is
-
- use Ada.Streams, Interfaces.C;
-
- Socket_Domain_Match : constant array (Socket_Domain) of int :=
- (AF_INET => Constants.Af_Inet);
-
- Socket_Type_Match : constant array (Socket_Type) of int :=
- (SOCK_STREAM => Constants.Sock_Stream,
- SOCK_DGRAM => Constants.Sock_Dgram);
-
- Shutdown_Type_Match : constant array (Shutdown_Type) of int :=
- (Receive => 0,
- Send => 1,
- Both => 2);
-
- Socket_Level_Match : constant array (Socket_Level) of int :=
- (SOL_SOCKET => Constants.Sol_Socket,
- IPPROTO_IP => Constants.Ipproto_Ip);
-
- Socket_Option_Match : constant array (Socket_Option) of int :=
- (SO_REUSEADDR => Constants.So_Reuseaddr,
- IP_MULTICAST_TTL => Constants.Ip_Multicast_Ttl,
- IP_ADD_MEMBERSHIP => Constants.Ip_Add_Membership,
- IP_DROP_MEMBERSHIP => Constants.Ip_Drop_Membership,
- IP_MULTICAST_LOOP => Constants.Ip_Multicast_Loop);
-
- Socket_Option_Size : constant array (Socket_Option) of Natural :=
- (SO_REUSEADDR => 4,
- IP_MULTICAST_TTL => 1,
- IP_ADD_MEMBERSHIP => 8,
- IP_DROP_MEMBERSHIP => 8,
- IP_MULTICAST_LOOP => 1);
-
- function "*" (Left : String; Right : Natural) return String;
- pragma Inline ("*");
-
- CRLF : constant String := CR & LF;
-
- ---------
- -- "*" --
- ---------
-
- function "*" (Left : String; Right : Natural) return String is
- Result : String (1 .. Left'Length * Right);
- First : Positive := 1;
- Last : Natural := First + Left'Length - 1;
- begin
- for I in 1 .. Right loop
- Result (First .. Last) := Left;
- First := First + Left'Length;
- Last := Last + Left'Length;
- end loop;
- return Result;
- end "*";
-
- -------------------
- -- Accept_Socket --
- -------------------
-
- procedure Accept_Socket (Socket : in Socket_FD;
- New_Socket : out Socket_FD)
- is
- Sin : aliased Sockaddr_In;
- Size : aliased int := Sin'Size / 8;
- Code : int;
- begin
- Code := C_Accept (Socket.FD, Sin'Address, Size'Access);
- if Code = Failure then
- Raise_With_Message ("Accept system call failed");
- else
- New_Socket := (FD => Code);
- end if;
- end Accept_Socket;
-
- ----------
- -- Bind --
- ----------
-
- procedure Bind
- (Socket : in Socket_FD;
- Port : in Positive)
- is
- Sin : aliased Sockaddr_In;
- begin
- Sin.Sin_Family := Constants.Af_Inet;
- Sin.Sin_Port := Port_To_Network (unsigned_short (Port));
- if C_Bind (Socket.FD, Sin'Address, Sin'Size / 8) = Failure then
- Raise_With_Message ("Bind failed");
- end if;
- end Bind;
-
- -------------
- -- Connect --
- -------------
-
- procedure Connect
- (Socket : in Socket_FD;
- Host : in String;
- Port : in Positive)
- is
- Sin : aliased Sockaddr_In;
- begin
- Sin.Sin_Family := Constants.Af_Inet;
- Sin.Sin_Addr := To_In_Addr (Address_Of (Host));
- Sin.Sin_Port := Port_To_Network (unsigned_short (Port));
- if C_Connect (Socket.FD, Sin'Address, Sin'Size / 8) = Failure then
- raise Connection_Refused;
- end if;
- end Connect;
-
- ---------------------------
- -- Customized_Setsockopt --
- ---------------------------
-
- procedure Customized_Setsockopt (Socket : in Socket_FD'Class;
- Optval : in Opt_Type)
- is
- begin
- pragma Assert (Optval'Size / 8 = Socket_Option_Size (Optname));
- if C_Setsockopt (Socket.FD, Socket_Level_Match (Level),
- Socket_Option_Match (Optname),
- Optval'Address, Optval'Size / 8) = Failure
- then
- Raise_With_Message ("Setsockopt failed");
- end if;
- end Customized_Setsockopt;
-
- ---------
- -- Get --
- ---------
-
- function Get (Socket : Socket_FD'Class) return String
- is
- Stream : constant Stream_Element_Array := Receive (Socket);
- Result : String (Positive (Stream'First) .. Positive (Stream'Last));
- begin
- for I in Stream'Range loop
- Result (Positive (I)) :=
- Character'Val (Stream_Element'Pos (Stream (I)));
- end loop;
- return Result;
- end Get;
-
- --------------
- -- Get_Line --
- --------------
-
- function Get_Line (Socket : Socket_FD'Class) return String is
- Result : String (1 .. 1024);
- Index : Positive := Result'First;
- Byte : Stream_Element_Array (1 .. 1);
- Char : Character;
- begin
- loop
- Receive (Socket, Byte);
- Char := Character'Val (Stream_Element'Pos (Byte (Byte'First)));
- if Char = LF then
- return Result (1 .. Index - 1);
- elsif Char /= CR then
- Result (Index) := Char;
- Index := Index + 1;
- if Index > Result'Last then
- return Result & Get_Line (Socket);
- end if;
- end if;
- end loop;
- end Get_Line;
-
- ------------
- -- Listen --
- ------------
-
- procedure Listen
- (Socket : in Socket_FD;
- Queue_Size : in Positive := 5)
- is
- begin
- if C_Listen (Socket.FD, int (Queue_Size)) = Failure then
- Raise_With_Message ("Listen failed");
- end if;
- end Listen;
-
- --------------
- -- New_Line --
- --------------
-
- procedure New_Line (Socket : in Socket_FD'Class;
- Count : in Natural := 1)
- is
- begin
- Put (Socket, CRLF * Count);
- end New_Line;
-
- ---------
- -- Put --
- ---------
-
- procedure Put (Socket : in Socket_FD'Class;
- Str : in String)
- is
- Stream : Stream_Element_Array (Stream_Element_Offset (Str'First) ..
- Stream_Element_Offset (Str'Last));
- begin
- for I in Str'Range loop
- Stream (Stream_Element_Offset (I)) :=
- Stream_Element'Val (Character'Pos (Str (I)));
- end loop;
- Send (Socket, Stream);
- end Put;
-
- --------------
- -- Put_Line --
- --------------
-
- procedure Put_Line (Socket : in Socket_FD'Class; Str : in String)
- is
- begin
- Put (Socket, Str & CRLF);
- end Put_Line;
-
- -------------
- -- Receive --
- -------------
-
- function Receive (Socket : Socket_FD; Max : Stream_Element_Count := 4096)
- return Ada.Streams.Stream_Element_Array
- is
- Buffer : Stream_Element_Array (1 .. Max);
- Addr : aliased In_Addr;
- Addrlen : aliased int := Addr'Size / 8;
- Count : constant int :=
- C_Recvfrom (Socket.FD, Buffer'Address, Buffer'Length, 0,
- Addr'Address, Addrlen'Access);
- begin
- if Count < 0 then
- Raise_With_Message ("Receive error");
- elsif Count = 0 then
- raise Connection_Closed;
- end if;
- return Buffer (1 .. Stream_Element_Offset (Count));
- end Receive;
-
- -------------
- -- Receive --
- -------------
-
- procedure Receive (Socket : in Socket_FD'Class;
- Data : out Ada.Streams.Stream_Element_Array)
- is
- Index : Stream_Element_Offset := Data'First;
- Rest : Stream_Element_Count := Data'Length;
- begin
- while Rest > 0 loop
- declare
- Sub_Buffer : constant Stream_Element_Array :=
- Receive (Socket, Rest);
- Length : constant Stream_Element_Count := Sub_Buffer'Length;
- begin
- Data (Index .. Index + Length - 1) := Sub_Buffer;
- Index := Index + Length;
- Rest := Rest - Length;
- end;
- end loop;
- end Receive;
-
- ----------
- -- Send --
- ----------
-
- procedure Send (Socket : in Socket_FD;
- Data : in Stream_Element_Array)
- is
- Index : Stream_Element_Offset := Data'First;
- Rest : Stream_Element_Count := Data'Length;
- Count : int;
- begin
- while Rest > 0 loop
- Count := C_Send (Socket.FD, Data (Index) 'Address, int (Rest), 0);
- if Count < 0 then
- Raise_With_Message ("Send failed");
- elsif Count = 0 then
- raise Connection_Closed;
- end if;
- Index := Index + Stream_Element_Count (Count);
- Rest := Rest - Stream_Element_Count (Count);
- end loop;
- end Send;
-
- ----------------
- -- Setsockopt --
- ----------------
-
- procedure Setsockopt
- (Socket : in Socket_FD'Class;
- Level : in Socket_Level := Sol_Socket;
- Optname : in Socket_Option;
- Optval : in Integer)
- is
- begin
- case Socket_Option_Size (Optname) is
-
- when 1 =>
- declare
- C_Char_Optval : aliased char := char'Val (Optval);
- begin
- pragma Assert (C_Char_Optval'Size = 8);
- if C_Setsockopt (Socket.FD, Socket_Level_Match (Level),
- Socket_Option_Match (Optname),
- C_Char_Optval'Address, 1) = Failure
- then
- Raise_With_Message ("Setsockopt failed");
- end if;
- end;
-
- when 4 =>
- declare
- C_Int_Optval : aliased int := int (Optval);
- begin
- pragma Assert (C_Int_Optval'Size = 32);
- if C_Setsockopt (Socket.FD, Socket_Level_Match (Level),
- Socket_Option_Match (Optname),
- C_Int_Optval'Address, 4) = Failure
- then
- Raise_With_Message ("Setsockopt failed");
- end if;
- end;
-
- when others =>
- Raise_With_Message ("Setsockopt called with wrong arguments",
- False);
-
- end case;
- end Setsockopt;
-
- --------------
- -- Shutdown --
- --------------
-
- procedure Shutdown (Socket : in Socket_FD;
- How : in Shutdown_Type := Both)
- is
- begin
- C_Shutdown (Socket.FD, Shutdown_Type_Match (How));
- end Shutdown;
-
- ------------
- -- Socket --
- ------------
-
- procedure Socket
- (Sock : out Socket_FD;
- Domain : in Socket_Domain := AF_INET;
- Typ : in Socket_Type := SOCK_STREAM)
- is
- Result : constant int :=
- C_Socket (Socket_Domain_Match (Domain), Socket_Type_Match (Typ), 0);
- begin
- if Result = Failure then
- Raise_With_Message ("Unable to create socket");
- end if;
- Sock := (FD => Result);
- end Socket;
-
-end Sockets;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads
deleted file mode 100644
index 5c8db3e0ec..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads
+++ /dev/null
@@ -1,155 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- S O C K E T S --
--- --
--- S p e c --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Streams;
-with Interfaces.C;
-
-package Sockets is
-
- type Socket_FD is tagged private;
- -- A socket
-
- type Socket_Domain is (AF_INET);
- -- AF_INET: Internet sockets (yes, should be PF_INET, but they hold the
- -- same value)
-
- type Socket_Type is (SOCK_STREAM, SOCK_DGRAM);
- -- SOCK_STREAM: Stream mode (TCP)
- -- SOCK_DGRAM: Datagram mode (UDP, Multicast)
-
- procedure Socket
- (Sock : out Socket_FD;
- Domain : in Socket_Domain := AF_INET;
- Typ : in Socket_Type := SOCK_STREAM);
- -- Create a socket of the given mode
-
- Connection_Refused : exception;
-
- procedure Connect
- (Socket : in Socket_FD;
- Host : in String;
- Port : in Positive);
- -- Connect a socket on a given host/port. Raise Connection_Refused if
- -- the connection has not been accepted by the other end.
-
- procedure Bind
- (Socket : in Socket_FD;
- Port : in Positive);
- -- Bind a socket on a given port
-
- procedure Listen
- (Socket : in Socket_FD;
- Queue_Size : in Positive := 5);
- -- Create a socket's listen queue
-
- type Socket_Level is (SOL_SOCKET, IPPROTO_IP);
-
- type Socket_Option is (SO_REUSEADDR, IP_MULTICAST_TTL,
- IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP,
- IP_MULTICAST_LOOP);
-
- procedure Setsockopt
- (Socket : in Socket_FD'Class;
- Level : in Socket_Level := SOL_SOCKET;
- Optname : in Socket_Option;
- Optval : in Integer);
- -- Set a socket option
-
- generic
- Level : Socket_Level;
- Optname : Socket_Option;
- type Opt_Type is private;
- procedure Customized_Setsockopt (Socket : in Socket_FD'Class;
- Optval : in Opt_Type);
- -- Low level control on setsockopt
-
- procedure Accept_Socket (Socket : in Socket_FD;
- New_Socket : out Socket_FD);
- -- Accept a connection on a socket
-
- Connection_Closed : exception;
-
- procedure Send (Socket : in Socket_FD;
- Data : in Ada.Streams.Stream_Element_Array);
- -- Send data on a socket. Raise Connection_Closed if the socket
- -- has been closed.
-
- function Receive (Socket : Socket_FD;
- Max : Ada.Streams.Stream_Element_Count := 4096)
- return Ada.Streams.Stream_Element_Array;
- -- Receive data from a socket. May raise Connection_Closed
-
- procedure Receive (Socket : in Socket_FD'Class;
- Data : out Ada.Streams.Stream_Element_Array);
- -- Fill data from a socket. Raise Connection_Closed if the socket has
- -- been closed before the end of the array.
-
- type Shutdown_Type is (Receive, Send, Both);
-
- procedure Shutdown (Socket : in Socket_FD;
- How : in Shutdown_Type := Both);
- -- Close a previously opened socket
-
- ---------------------------------
- -- String-oriented subprograms --
- ---------------------------------
-
- procedure Put (Socket : in Socket_FD'Class;
- Str : in String);
- -- Send a string on the socket
-
- procedure New_Line (Socket : in Socket_FD'Class;
- Count : in Natural := 1);
- -- Send CR/LF sequences on the socket
-
- procedure Put_Line (Socket : in Socket_FD'Class;
- Str : in String);
- -- Send a string + CR/LF on the socket
-
- function Get (Socket : Socket_FD'Class) return String;
- -- Get a string from the socket
-
- function Get_Line (Socket : Socket_FD'Class) return String;
- -- Get a full line from the socket. CR is ignored and LF is considered
- -- as an end-of-line marker.
-
-private
-
- type Socket_FD is tagged record
- FD : Interfaces.C.int;
- end record;
-
-end Sockets;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/Makefile.ts_386ex b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/Makefile.ts_386ex
deleted file mode 100644
index 05077b74c0..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/Makefile.ts_386ex
+++ /dev/null
@@ -1,43 +0,0 @@
-#
-# Makefile for network listener example
-#
-
-MAIN=listener
-
-# Tool paths
-tooldir=/usr/local/rtems
-rtemsdir=${tooldir}/ts_386ex
-
-# Tool names
-GCC=${tooldir}/bin/i386-rtemself-gcc
-GNATMAKE=${tooldir}/bin/i386-rtemself-gnatmake
-SIZE=${tooldir}/bin/i386-rtemself-size
-SIS=${tooldir}/bin/sis
-GDB=${tooldir}/bin/sis-gdb
-
-CINCLUDES=-I/usr/local/rtems/ts_386ex/lib/include/networking
-
-AINCLUDES=-i -I/usr/local/rtems/lib/adasockets
-
-CARGS=-B${rtemsdir}/lib/ -specs bsp_specs -qrtems
-
-all: init.o
- $(GNATMAKE) -v -O -gnata -gnatE -gnato $(AINCLUDES) $(MAIN) -g \
- -bargs -r \
- -cargs $(CARGS) \
- -largs $(CARGS) init.o
- $(SIZE) $(MAIN)
-
-
-
-init.o: init.c
- $(GCC) -O4 -g -Wall -ansi -fasm $(CARGS) $(CINCLUDES) -c init.c
-
-run:
- $(SIS) $(MAIN)
-
-gdb:
- $(GDB) $(MAIN)
-
-clean:
- rm -f b_$(MAIN).c b_$(MAIN).o *.o *.ali $(MAIN)
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/init.c b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/init.c
deleted file mode 100644
index 5e87ddf6e2..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/init.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * COPYRIGHT (c) 1989-1997.
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <bsp.h>
-
-#include <assert.h>
-#include <pthread.h>
-
-#include <stdio.h>
-#include <rtems/rtems_bsdnet.h>
-#include "../networkconfig.h"
-
-#ifdef GNAT_PID
-#include <unistd.h>
-pid_t getpid()
-{
- return GNAT_PID;
-}
-#endif
-
-/*
- * By having the POSIX_Init thread create a second thread just
- * to invoke gnat_main, we can override all default attributes
- * of the "Ada environment task". Otherwise, we would be
- * stuck with the defaults set by RTEMS.
- */
-
-void *start_gnat_main( void * argument )
-{
- extern int gnat_main ( int argc, char **argv, char **envp );
-
- (void) gnat_main ( 0, 0, 0 );
-
- exit( 0 );
-
- return 0;
-}
-
-void *POSIX_Init( void *argument )
-{
- pthread_t thread_id;
- pthread_attr_t attr;
- int status;
-
- rtems_bsdnet_initialize_network ();
-
- status = pthread_attr_init( &attr );
- assert( !status );
-
-#ifdef GNAT_MAIN_STACKSPACE
- status = pthread_attr_setstacksize( &attr, GNAT_MAIN_STACKSPACE );
- assert( !status );
-#endif
-
- status = pthread_create( &thread_id, &attr, start_gnat_main, NULL );
- assert( !status );
-
- pthread_exit( 0 );
-
- return 0;
-}
-
-/* configuration information */
-
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-
-/*
-#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1)
-*/
-
-#define CONFIGURE_POSIX_INIT_THREAD_TABLE
-
-#define CONFIGURE_EXECUTIVE_RAM_SIZE (512*1024)
-#define CONFIGURE_INIT_TASK_STACK_SIZE (10*1024)
-#define CONFIGURE_INIT_TASK_PRIORITY 120
-#define CONFIGURE_INIT_TASK_INITIAL_MODES (RTEMS_PREEMPT | \
- RTEMS_NO_TIMESLICE | \
- RTEMS_NO_ASR | \
- RTEMS_INTERRUPT_LEVEL(0))
-
-#define CONFIGURE_MAXIMUM_POSIX_THREADS 20
-#define CONFIGURE_MAXIMUM_POSIX_KEYS 20
-#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 30
-#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 20
-
-#define CONFIGURE_INIT
-
-#include <confdefs.h>
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/listener.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/listener.adb
deleted file mode 100644
index 0a17319897..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/listener.adb
+++ /dev/null
@@ -1,114 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- L I S T E N E R --
--- --
--- B o d y --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Exceptions; use Ada.Exceptions;
-with Ada.Text_IO; use Ada.Text_IO;
-with Sockets; use Sockets;
-
-procedure Listener is
-
- -- Usage: listener
- -- Example: listener
- -- then telnet localhost `listen_port'
-
- Listen_Port : Positive := 5000;
-
- task type Echo is
- entry Start (FD : in Socket_FD);
- end Echo;
-
- function Rev (S : String) return String;
- -- Reverse a string
-
- ----------
- -- Echo --
- ----------
-
- task body Echo is
- Sock : Socket_FD;
- begin
- select
- accept Start (FD : in Socket_FD) do
- Sock := FD;
- end Start;
- or
- terminate;
- end select;
-
- loop
- Put_Line (Sock, Rev (Get_Line (Sock)));
- end loop;
-
- exception
- when Connection_Closed =>
- Put_Line ("Connection closed");
- Shutdown (Sock, Both);
- end Echo;
-
- Accepting_Socket : Socket_FD;
- Incoming_Socket : Socket_FD;
-
- type Echo_Access is access Echo;
- Dummy : Echo_Access;
-
- ---------
- -- Rev --
- ---------
-
- function Rev (S : String) return String is
- Result : String (1 .. S'Length);
- Index : Natural := 0;
- begin
- for I in reverse S'Range loop
- Index := Index + 1;
- Result (Index) := S (I);
- end loop;
- return Result;
- end Rev;
-
-begin
- Socket (Accepting_Socket, AF_INET, SOCK_STREAM);
- Setsockopt (Accepting_Socket, SOL_SOCKET, SO_REUSEADDR, 1);
- Bind (Accepting_Socket, Listen_Port);
- Listen (Accepting_Socket);
- loop
- Put_Line ("Waiting for new connection");
- Accept_Socket (Accepting_Socket, Incoming_Socket);
- Put_Line ("New connection acknowledged");
- Dummy := new Echo;
- Dummy.Start (Incoming_Socket);
- end loop;
-end Listener;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/networkconfig.h b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/networkconfig.h
deleted file mode 100644
index 6b424ccb96..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/networkconfig.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Network configuration
- *
- ************************************************************
- * EDIT THIS FILE TO REFLECT YOUR NETWORK CONFIGURATION *
- * BEFORE RUNNING ANY RTEMS PROGRAMS WHICH USE THE NETWORK! *
- ************************************************************
- *
- * $Id$
- */
-
-#ifndef _RTEMS_NETWORKCONFIG_H_
-#define _RTEMS_NETWORKCONFIG_H_
-
-#define RTEMS_USE_BOOTP
-
-#include <bsp.h>
-
-/*
- * Define RTEMS_SET_ETHERNET_ADDRESS if you want to specify the
- * Ethernet address here. If RTEMS_SET_ETHERNET_ADDRESS is not
- * defined the driver will choose an address.
- */
-
-/*#define RTEMS_SET_ETHERNET_ADDRESS*/
-
-#if (defined (RTEMS_SET_ETHERNET_ADDRESS))
-static char ethernet_address[6] = { 0xXX, 0xXX, 0xXX, 0xXX, 0xXX, 0xXX };
-#endif
-
-/*
- * Default network interface
- */
-static struct rtems_bsdnet_ifconfig netdriver_config = {
- RTEMS_BSP_NETWORK_DRIVER_NAME, /* name */
- RTEMS_BSP_NETWORK_DRIVER_ATTACH, /* attach function */
-
- NULL, /* link to next interface */
-
-#if (defined (RTEMS_USE_BOOTP))
- NULL, /* BOOTP supplies IP address */
- NULL, /* BOOTP supplies IP net mask */
-#else
- "127.37.12.19", /* IP address of device */
- "255.255.255.0", /* IP net mask */
-#endif /* !RTEMS_USE_BOOTP */
-
-#if (defined (RTEMS_SET_ETHERNET_ADDRESS))
- ethernet_address, /* Ethernet hardware address */
-#else
- NULL, /* Driver supplies hardware address */
-#endif
- 0, /* TRUE == Ignore broadcast packets */
-
- 0, /* Default MTU */
- 0, /* Default rbufs */
- 0, /* Default xbufs */
-
- 0x300, /* I/O port on ethernet card */
- 5, /* IRQ */
- 0x0000 /* Shared memory start */
-
-};
-
-/*
- * Network configuration
- */
-struct rtems_bsdnet_config rtems_bsdnet_config = {
- &netdriver_config,
-
-#if (defined (RTEMS_USE_BOOTP))
- rtems_bsdnet_do_bootp,
-#else
- NULL,
-#endif
-
- 0, /* Default network task priority */
- 0, /* Default mbuf capacity */
- 0, /* Default mbuf cluster capacity */
-
-#if defined (RTEMS_USE_BOOTP)
- NULL,
- NULL,
- NULL,
- NULL,
- {NULL,NULL,NULL},
-#else
- "rtems0", /* Host name */
- "ece.ubc.ca", /* Domain name */
- "127.37.12.254", /* Gateway: */
- "127.37.12.19", /* Log host: */
- {"127.37.15.9"}, /* Name server(s) */
-#endif /* RTEMS_USE_BOOTP */
-};
-
-/*
- * For TFTP test application
- */
-#if (!defined (RTEMS_USE_BOOTP))
-#define RTEMS_TFTP_TEST_HOST_NAME "127.37.12.19"
-#define RTEMS_TFTP_TEST_FILE_NAME "bootfiles/xxx"
-#endif
-
-#endif /* _RTEMS_NETWORKCONFIG_H_ */
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/Makefile.ts_386ex b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/Makefile.ts_386ex
deleted file mode 100644
index 1de940b9c5..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/Makefile.ts_386ex
+++ /dev/null
@@ -1,46 +0,0 @@
-#
-# Makefile for tcprelay example
-#
-
-MAIN=tcprelay
-
-# Tool paths
-tooldir=/usr/local/rtems
-rtemsdir=${tooldir}/ts_386ex
-
-# Tool names
-GCC=${tooldir}/bin/i386-rtemself-gcc
-GNATMAKE=${tooldir}/bin/i386-rtemself-gnatmake
-SIZE=${tooldir}/bin/i386-rtemself-size
-SIS=${tooldir}/bin/sis
-GDB=${tooldir}/bin/sis-gdb
-
-CINCLUDES=-I/usr/local/rtems/ts_386ex/lib/include/networking
-
-AINCLUDES=-i -I/usr/local/rtems/lib/adasockets
-
-CARGS=-B${rtemsdir}/lib/ -specs bsp_specs -qrtems
-
-all: init.o print_error.o
- $(GNATMAKE) -O -gnata -gnatE -gnato $(AINCLUDES) $(MAIN) -g \
- -bargs -r \
- -cargs $(CARGS) \
- -largs $(CARGS) init.o print_error.o
- $(SIZE) $(MAIN)
-
-
-
-init.o: init.c
- $(GCC) -O4 -g -Wall -ansi -fasm $(CARGS) $(CINCLUDES) -c init.c
-
-print_error.o: print_error.c
- $(GCC) -O4 -g -Wall -ansi -fasm $(CARGS) $(CINCLUDES) -c print_error.c
-
-run:
- $(SIS) $(MAIN)
-
-gdb:
- $(GDB) $(MAIN)
-
-clean:
- rm -f b_$(MAIN).c b_$(MAIN).o *.o *.ali $(MAIN)
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/init.c b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/init.c
deleted file mode 100644
index 5590ad8f2a..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/init.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * COPYRIGHT (c) 1989-1997.
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <bsp.h>
-
-#include <assert.h>
-#include <pthread.h>
-
-#include <stdio.h>
-#include <rtems/rtems_bsdnet.h>
-#include "../networkconfig.h"
-
-#ifdef GNAT_PID
-#include <unistd.h>
-pid_t getpid()
-{
- return GNAT_PID;
-}
-#endif
-
-/*
- * By having the POSIX_Init thread create a second thread just
- * to invoke gnat_main, we can override all default attributes
- * of the "Ada environment task". Otherwise, we would be
- * stuck with the defaults set by RTEMS.
- */
-
-void *start_gnat_main( void * argument )
-{
- extern int gnat_main ( int argc, char **argv, char **envp );
-
- (void) gnat_main ( 0, 0, 0 );
-
- exit( 0 );
-
- return 0;
-}
-
-#define GNAT_MAIN_STACKSPACE (32*1024)
-
-void *POSIX_Init( void *argument )
-{
- pthread_t thread_id;
- pthread_attr_t attr;
- int status;
-
- rtems_bsdnet_initialize_network ();
-
- status = pthread_attr_init( &attr );
- assert( !status );
-
-#ifdef GNAT_MAIN_STACKSPACE
- status = pthread_attr_setstacksize( &attr, GNAT_MAIN_STACKSPACE );
- assert( !status );
-#endif
-
- status = pthread_create( &thread_id, &attr, start_gnat_main, NULL );
- assert( !status );
-
- pthread_exit( 0 );
-
- return 0;
-}
-
-/* configuration information */
-
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-
-/*
-#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1)
-*/
-
-#define CONFIGURE_POSIX_INIT_THREAD_TABLE
-
-#define CONFIGURE_EXECUTIVE_RAM_SIZE (384*1024)
-#define CONFIGURE_INIT_TASK_STACK_SIZE (10*1024)
-#define CONFIGURE_INIT_TASK_PRIORITY 120
-#define CONFIGURE_INIT_TASK_INITIAL_MODES (RTEMS_PREEMPT | \
- RTEMS_NO_TIMESLICE | \
- RTEMS_NO_ASR | \
- RTEMS_INTERRUPT_LEVEL(0))
-
-#define CONFIGURE_MAXIMUM_POSIX_THREADS 20
-#define CONFIGURE_MAXIMUM_POSIX_KEYS 20
-#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 30
-#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 20
-
-#define CONFIGURE_INIT
-
-#include <confdefs.h>
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/print_error.c b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/print_error.c
deleted file mode 100644
index 5dab06aad8..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/print_error.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-
-void
-print_error (void) {
- printf("Problem connecting socket: %s\n", strerror (errno));
-}
-
-void
-dump_sin (unsigned char *dp) {
- int i;
-
- printf("Dump of sockaddr_in =\n");
- for(i=0; i<16; i++)
- printf("%x ", *dp++);
- printf("\n");
-}
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/tcprelay.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/tcprelay.adb
deleted file mode 100644
index dd77c8e3b5..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/tcprelay.adb
+++ /dev/null
@@ -1,108 +0,0 @@
------------------------------------------------------------------------------
--- --
--- ADASOCKETS COMPONENTS --
--- --
--- T C P R E L A Y --
--- --
--- B o d y --
--- --
--- $ReleaseVersion: 0.1.3 $ --
--- --
--- Copyright (C) 1998 École Nationale Supérieure des Télécommunications --
--- --
--- AdaSockets is free software; you can redistribute it and/or modify --
--- it under terms of the GNU General Public License as published by --
--- the Free Software Foundation; either version 2, or (at your option) --
--- any later version. AdaSockets is distributed in the hope that it --
--- will be useful, but WITHOUT ANY WARRANTY; without even the implied --
--- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
--- See the GNU General Public License for more details. You should --
--- have received a copy of the GNU General Public License distributed --
--- with AdaSockets; see file COPYING. If not, write to the Free --
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA --
--- 02111-1307, USA. --
--- --
--- As a special exception, if other files instantiate generics from --
--- this unit, or you link this unit with other files to produce an --
--- executable, this unit does not by itself cause the resulting --
--- executable to be covered by the GNU General Public License. This --
--- exception does not however invalidate any other reasons why the --
--- executable file might be covered by the GNU Public License. --
--- --
--- The main repository for this software is located at: --
--- http://www-inf.enst.fr/ANC/ --
--- --
------------------------------------------------------------------------------
-
-with Ada.Exceptions; use Ada.Exceptions;
-with Ada.Text_IO; use Ada.Text_IO;
-with Sockets; use Sockets;
-
-procedure TCPRelay is
-
- Relay_Host : String := "host.domain";
-
- procedure Print_Error;
- pragma Import (C, Print_Error, "print_error");
-
- task type Relay is
- pragma Storage_Size (8192);
- entry Start (From, To : Socket_FD);
- end Relay;
-
- -----------
- -- Relay --
- -----------
-
- task body Relay
- is
- From_FD, To_FD : Socket_FD;
- begin
- select
- accept Start (From, To : Socket_FD) do
- From_FD := From;
- To_FD := To;
- end Start;
- or
- terminate;
- end select;
-
- loop
- Send (To_FD, Receive (From_FD));
- end loop;
- exception
- when Connection_Closed =>
- Put_Line ("Connection closed");
- Shutdown (From_FD, Receive);
- Shutdown (To_FD, Send);
- end Relay;
-
- Accepting_Socket,
- Incoming_Socket,
- Outgoing_Socket : Socket_FD;
-
- type Relay_Access is access Relay;
- Dummy : Relay_Access;
-
-begin
- Socket (Accepting_Socket, AF_INET, SOCK_STREAM);
- Setsockopt (Accepting_Socket, SOL_SOCKET, SO_REUSEADDR, 1);
- Bind (Accepting_Socket, 4567);
- Listen (Accepting_Socket);
- loop
- Put_Line ("Waiting for new connection");
- Accept_Socket (Accepting_Socket, Incoming_Socket);
- Put_Line ("New connection acknowledged");
- Socket (Outgoing_Socket, AF_INET, SOCK_STREAM);
- Put_Line ("Connecting to remote host");
- Connect (Outgoing_Socket, Relay_Host, 5000);
- Put_Line ("Connection established");
- Dummy := new Relay;
- Dummy.Start (Incoming_Socket, Outgoing_Socket);
- Dummy := new Relay;
- Dummy.Start (Outgoing_Socket, Incoming_Socket);
- end loop;
-exception
- when others =>
- Print_Error;
-end TCPRelay;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/Makefile.ts_386ex b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/Makefile.ts_386ex
deleted file mode 100644
index 5df8c8fe03..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/Makefile.ts_386ex
+++ /dev/null
@@ -1,40 +0,0 @@
-#
-# Makefile for TS-1325 Utilities example
-#
-
-MAIN=ts1325_test
-
-# Tool paths
-tooldir=/usr/local/rtems
-rtemsdir=${tooldir}/ts_386ex
-
-# Tool names
-GCC=${tooldir}/bin/i386-rtemself-gcc
-GNATMAKE=${tooldir}/bin/i386-rtemself-gnatmake
-SIZE=${tooldir}/bin/i386-rtemself-size
-SIS=${tooldir}/bin/sis
-GDB=${tooldir}/bin/sis-gdb
-
-CARGS=-B${rtemsdir}/lib/ -specs bsp_specs -qrtems \
--msoft-float -mno-fp-ret-in-387
-
-all: init.o
- $(GNATMAKE) -O -gnata -gnatE -gnato $(MAIN) -g \
- -bargs -r \
- -cargs $(CARGS) \
- -largs $(CARGS) init.o
- $(SIZE) $(MAIN)
-
-
-
-init.o: init.c
- $(GCC) -O4 -g -Wall -ansi -fasm $(CARGS) -c init.c
-
-run:
- $(SIS) $(MAIN)
-
-gdb:
- $(GDB) $(MAIN)
-
-clean:
- rm -f b_$(MAIN).c b_$(MAIN).o *.o *.ali $(MAIN)
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/README b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/README
deleted file mode 100644
index 0e85bba7d0..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/README
+++ /dev/null
@@ -1,10 +0,0 @@
-#
-# $Id$
-#
-
-This is a test which can be built and run after the tools and BSP are
-installed. It's placement in the BSP tree is questionable since this
-is the only target program like this in the RTEMS tree. We need to
-work out some kind of proper placement for it.
-
-It is written in Ada.
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.adb
deleted file mode 100644
index 9705d069d8..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.adb
+++ /dev/null
@@ -1,29 +0,0 @@
-with System.Machine_Code;
-use System.Machine_Code;
-
-package body I386_Ports is
-
- procedure Outport (Addr: in Port_Address; Data: in Byte) is
- begin
- Asm ("movb %0, %%al;" &
- "movw %1, %%dx;" &
- "outb %%al, %%dx",
- No_Output_Operands,
- (Byte'Asm_Input ("g", Data),
- Port_Address'Asm_Input ("g", Addr)),
- Clobber => "al dx",
- Volatile => True);
- end Outport;
-
- procedure Inport (Addr: in Port_Address; Data: out Byte) is
- begin
- Asm ("movw %1, %%dx;" &
- "inb %%dx, %%al;" &
- "movb %%al, %0",
- Byte'Asm_Output ("=g", Data),
- Port_Address'Asm_Input ("g", Addr),
- Clobber => "dx al",
- Volatile => True);
- end Inport;
-
-end I386_Ports;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.ads
deleted file mode 100644
index 44090c4f4b..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.ads
+++ /dev/null
@@ -1,45 +0,0 @@
-with Interfaces;
-
-package I386_Ports is
-
- type Port_Address is new Interfaces.Unsigned_16;
-
- type Byte is new Interfaces.Unsigned_8;
-
- type Word is new Interfaces.Unsigned_16;
-
- type Long is new Interfaces.Unsigned_32;
-
- procedure Outport (Addr: in Port_Address; Data: in Byte);
-
- procedure Inport (Addr: in Port_Address; Data: out Byte);
-
- P1PIN: constant Port_Address;
- P1LTC: constant Port_Address;
- P1DIR: constant Port_Address;
-
- P2PIN: constant Port_Address;
- P2LTC: constant Port_Address;
- P2DIR: constant Port_Address;
-
- P3PIN: constant Port_Address;
- P3LTC: constant Port_Address;
- P3DIR: constant Port_Address;
-
-private
-
- pragma Inline (Outport, Inport);
-
- P1PIN: constant Port_Address := 16#F860#;
- P1LTC: constant Port_Address := 16#F862#;
- P1DIR: constant Port_Address := 16#F864#;
-
- P2PIN: constant Port_Address := 16#F868#;
- P2LTC: constant Port_Address := 16#F86A#;
- P2DIR: constant Port_Address := 16#F86C#;
-
- P3PIN: constant Port_Address := 16#F870#;
- P3LTC: constant Port_Address := 16#F872#;
- P3DIR: constant Port_Address := 16#F874#;
-
-end I386_Ports;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/init.c b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/init.c
deleted file mode 100644
index faa6f9876f..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/init.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * COPYRIGHT (c) 1989-1997.
- * 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.com/license/LICENSE.
- *
- * $Id$
- */
-
-#include <bsp.h>
-
-#include <assert.h>
-#include <pthread.h>
-
-#ifdef GNAT_PID
-#include <unistd.h>
-pid_t getpid()
-{
- return GNAT_PID;
-}
-#endif
-
-/*
- * By having the POSIX_Init thread create a second thread just
- * to invoke gnat_main, we can override all default attributes
- * of the "Ada environment task". Otherwise, we would be
- * stuck with the defaults set by RTEMS.
- */
-
-void *start_gnat_main( void * argument )
-{
- extern int gnat_main ( int argc, char **argv, char **envp );
-
- (void) gnat_main ( 0, 0, 0 );
-
- exit( 0 );
-
- return 0;
-}
-
-void *POSIX_Init( void *argument )
-{
- pthread_t thread_id;
- pthread_attr_t attr;
- int status;
-
- status = pthread_attr_init( &attr );
- assert( !status );
-
-#ifdef GNAT_MAIN_STACKSPACE
- status = pthread_attr_setstacksize( &attr, GNAT_MAIN_STACKSPACE );
- assert( !status );
-#endif
-
- status = pthread_create( &thread_id, &attr, start_gnat_main, NULL );
- assert( !status );
-
- pthread_exit( 0 );
-
- return 0;
-}
-
-/* configuration information */
-
-#define CONFIGURE_GNAT_RTEMS
-
-#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-
-#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1)
-
-#define CONFIGURE_POSIX_INIT_THREAD_TABLE
-
-#define CONFIGURE_MAXIMUM_POSIX_THREADS 20
-#define CONFIGURE_MAXIMUM_POSIX_KEYS 20
-#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 30
-#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 20
-
-#define CONFIGURE_INIT
-
-#include <confdefs.h>
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb
deleted file mode 100644
index cc273b0b3f..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb
+++ /dev/null
@@ -1,22 +0,0 @@
-package body TS1325.Button is
-
- function Is_Button_Pressed return Boolean is
- State: Byte;
- begin
- Inport (Button_Port, State);
- return (State and Button_Mask) /= Button_Mask;
- end Is_Button_Pressed;
-
- procedure Wait_For_Button_Press is
- begin
- Poll_Loop:
- loop
- if Is_Button_Pressed then
- delay Minimum_Press_Time;
- exit Poll_Loop when Is_Button_Pressed;
- end if;
- delay Poll_Interval;
- end loop Poll_Loop;
- end Wait_For_Button_Press;
-
-end TS1325.Button;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.ads
deleted file mode 100644
index 568710b32f..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.ads
+++ /dev/null
@@ -1,22 +0,0 @@
-with I386_Ports;
-use I386_Ports;
-
-package TS1325.Button is
-
- function Is_Button_Pressed return Boolean;
-
- procedure Wait_For_Button_Press;
-
-private
-
- pragma Inline (Is_Button_Pressed, Wait_For_Button_Press);
-
- Poll_Interval: constant Duration := 0.3;
-
- Minimum_Press_Time: constant Duration := 0.3;
-
- Button_Mask: constant Byte := 2#0000_0001#;
-
- Button_Port: Port_Address renames P1PIN;
-
-end TS1325.Button;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.adb
deleted file mode 100644
index 1a213ac2ff..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.adb
+++ /dev/null
@@ -1,46 +0,0 @@
-package body TS1325.LED is
-
- protected body LED_State is
-
- function Get return LED_Colour is
- State: Byte;
- Red_On, Green_On: Boolean;
- begin
- Inport (LED_Port, State);
-
- Green_On := (State and Green_Bit) = Green_Bit;
- Red_On := (State and Red_Bit) /= Red_Bit;
-
- if not (Green_On or Red_On) then
- return Off;
- elsif Green_On and not Red_On then
- return Green;
- elsif Green_On and Red_On then
- return Yellow;
- else
- return Red;
- end if;
- end Get;
-
- procedure Set (Col: in LED_Colour) is
- State: Byte;
- begin
- Inport (LED_Port, State);
-
- case Col is
- when Off =>
- State := (State and not Green_Bit) or Red_Bit;
- when Green =>
- State := State or Green_Bit or Red_Bit;
- when Yellow =>
- State := (State or Green_Bit) and not Red_Bit;
- when Red =>
- State := State and not (Green_Bit or Red_Bit);
- end case;
-
- Outport (LED_Port, State);
- end Set;
-
- end LED_State;
-
-end TS1325.LED;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.ads
deleted file mode 100644
index 6856bc4520..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.ads
+++ /dev/null
@@ -1,26 +0,0 @@
-with I386_Ports;
-use I386_Ports;
-
-package TS1325.LED is
-
- type LED_Colour is (Off, Green, Yellow, Red);
-
- protected LED_State is
-
- function Get return LED_Colour;
-
- procedure Set (Col: in LED_Colour);
-
- end LED_State;
-
-private
-
- Green_Bit: constant Byte := 2#0010_0000#; -- bit set = LED on
-
- Red_Bit: constant Byte := 2#0100_0000#; -- bit clear = LED on
-
- LED_Mask: constant Byte := 2#0110_0000#;
-
- LED_Port: Port_Address renames P1LTC;
-
-end TS1325.LED;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.adb
deleted file mode 100644
index c0a76bcadf..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.adb
+++ /dev/null
@@ -1,13 +0,0 @@
-package body TS1325.Parallel is
-
- procedure Read_Parallel_Port (Data: out Byte) is
- begin
- Inport (Parallel_Port_In, Data);
- end Read_Parallel_Port;
-
- procedure Write_Parallel_Port (Data: in Byte) is
- begin
- Outport (Parallel_Port_Out, Data);
- end Write_Parallel_Port;
-
-end TS1325.Parallel;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.ads
deleted file mode 100644
index b6b18d6b55..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.ads
+++ /dev/null
@@ -1,21 +0,0 @@
-with I386_Ports;
-use I386_Ports;
-
-package TS1325.Parallel is
-
- procedure Read_Parallel_Port (Data: out Byte);
-
- procedure Write_Parallel_Port (Data: in Byte);
-
-private
-
- pragma Inline (Read_Parallel_Port, Write_Parallel_Port);
-
- -- These are non-standard IO locations, which is why they are here instead
- -- of in the I386_Ports package.
-
- Parallel_Port_In: constant Port_Address := 16#75#;
-
- Parallel_Port_Out: constant Port_Address := 16#74#;
-
-end TS1325.Parallel;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325.ads b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325.ads
deleted file mode 100644
index 5ef01b7449..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325.ads
+++ /dev/null
@@ -1,2 +0,0 @@
-package TS1325 is
-end TS1325;
diff --git a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325_test.adb b/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325_test.adb
deleted file mode 100644
index 0cb621c880..0000000000
--- a/c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325_test.adb
+++ /dev/null
@@ -1,115 +0,0 @@
---
--- A test program that uses the TS1325 Button and LED packages.
---
-
-with Text_IO;
-
-with I386_Ports;
-use I386_Ports;
-
-with TS1325.LED;
-use TS1325.LED;
-
-with TS1325.Button;
-use TS1325.Button;
-
-with TS1325.Parallel;
-use TS1325.Parallel;
-
-procedure Ts1325_Test is
-
- Test_Parallel_Interval: Duration := 1.0;
- Read_Button_Interval: Duration := 1.0;
- Read_LED_Interval: Duration := 1.0;
- Set_LED_Interval: Duration := 0.2;
-
- task Test_Parallel is
- entry Start;
- end Test_Parallel;
-
- task body Test_Parallel is
- W_Data, R_Data: I386_Ports.Byte := 0;
- begin
- accept Start;
-
- loop
- W_Data := W_Data + 1;
- Write_Parallel_Port (W_Data);
- Read_Parallel_Port (R_Data);
- Text_IO.Put_Line ("Parallel Port Loopback: Data Write = " &
- I386_Ports.Byte'Image (W_Data) &
- ", Data Read = " &
- I386_Ports.Byte'Image (R_Data));
- delay Test_Parallel_Interval;
- end loop;
- end Test_Parallel;
-
- task Read_Button is
- entry Start;
- end Read_Button;
-
- task body Read_Button is
- begin
- accept Start;
-
- loop
- if Is_Button_Pressed then
- Text_IO.Put_Line ("Button is pressed.");
- else
- Text_IO.Put_Line ("Button is not pressed.");
- end if;
- delay Read_Button_Interval;
- end loop;
- end Read_Button;
-
- task Read_Colour is
- entry Start;
- end Read_Colour;
-
- task body Read_Colour is
- begin
- accept Start;
-
- loop
- Text_IO.Put_Line ("Reading LED colour as " &
- LED_Colour'Image (LED_State.Get));
- delay Read_LED_Interval;
- end loop;
- end Read_Colour;
-
- task Set_Colour is
- entry Start;
- end Set_Colour;
-
- task body Set_Colour is
- Colour: LED_Colour := Off;
- begin
- accept Start;
-
- loop
- LED_State.Set (Colour);
-
- if Colour = LED_Colour'Last then
- Colour := LED_Colour'First;
- else
- Colour := LED_Colour'Succ (Colour);
- end if;
-
- delay Set_LED_Interval;
- end loop;
- end Set_Colour;
-
-begin
- Text_IO.Put_Line ("TS-1325 Utilities Test");
- Text_IO.Put_Line ("======================");
- Text_IO.New_Line;
- Text_IO.Put_Line ("-=> Press the button to begin.");
- Text_IO.New_Line;
-
- Wait_For_Button_Press;
-
- Set_Colour.Start;
- Read_Colour.Start;
- Read_Button.Start;
- Test_Parallel.Start;
-end Ts1325_Test;