From 8986eb3674f73ce5343160273e23faed563a786e Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Tue, 1 Mar 2011 17:40:16 +0000 Subject: Remove (Abandoned). --- c/src/lib/libbsp/i386/ts_386ex/.cvsignore | 8 - c/src/lib/libbsp/i386/ts_386ex/ChangeLog | 720 -------------- c/src/lib/libbsp/i386/ts_386ex/Makefile.am | 90 -- c/src/lib/libbsp/i386/ts_386ex/README | 44 - c/src/lib/libbsp/i386/ts_386ex/bsp_specs | 13 - c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c | 153 --- c/src/lib/libbsp/i386/ts_386ex/clock/rtc.c | 218 ---- c/src/lib/libbsp/i386/ts_386ex/configure.ac | 46 - c/src/lib/libbsp/i386/ts_386ex/console/console.c | 303 ------ c/src/lib/libbsp/i386/ts_386ex/include/.cvsignore | 4 - c/src/lib/libbsp/i386/ts_386ex/include/bsp.h | 111 --- c/src/lib/libbsp/i386/ts_386ex/include/coverhd.h | 102 -- c/src/lib/libbsp/i386/ts_386ex/include/tm27.h | 34 - c/src/lib/libbsp/i386/ts_386ex/include/wd80x3.h | 122 --- .../libbsp/i386/ts_386ex/make/custom/ts_386ex.cfg | 24 - c/src/lib/libbsp/i386/ts_386ex/network/ne2000.c | 1042 -------------------- c/src/lib/libbsp/i386/ts_386ex/preinstall.am | 96 -- c/src/lib/libbsp/i386/ts_386ex/start/80386ex.h | 252 ----- c/src/lib/libbsp/i386/ts_386ex/start/80386ex.inc | 252 ----- c/src/lib/libbsp/i386/ts_386ex/start/macros.inc | 115 --- c/src/lib/libbsp/i386/ts_386ex/start/start.S | 498 ---------- c/src/lib/libbsp/i386/ts_386ex/start/ts_1325.inc | 50 - c/src/lib/libbsp/i386/ts_386ex/startup/README | 17 - c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c | 44 - c/src/lib/libbsp/i386/ts_386ex/startup/linkcmds | 220 ----- c/src/lib/libbsp/i386/ts_386ex/timer/timer.c | 174 ---- c/src/lib/libbsp/i386/ts_386ex/timer/timerisr.S | 39 - c/src/lib/libbsp/i386/ts_386ex/tools/.cvsignore | 8 - c/src/lib/libbsp/i386/ts_386ex/tools/ChangeLog | 151 --- c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am | 51 - c/src/lib/libbsp/i386/ts_386ex/tools/README | 113 --- c/src/lib/libbsp/i386/ts_386ex/tools/coff2bin | 23 - c/src/lib/libbsp/i386/ts_386ex/tools/configure.ac | 18 - .../ts_386ex/tools/debug_ada/Makefile.ts_386ex | 42 - .../lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds | 290 ------ .../libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems | 1 - .../libbsp/i386/ts_386ex/tools/debug_ada/debug.adb | 32 - .../libbsp/i386/ts_386ex/tools/debug_ada/init.c | 83 -- .../i386/ts_386ex/tools/debug_ada/serial_debug.adb | 65 -- .../i386/ts_386ex/tools/debug_ada/serial_debug.ads | 17 - c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/cmds | 290 ------ .../libbsp/i386/ts_386ex/tools/debug_c/ddd-rtems | 1 - .../i386/ts_386ex/tools/debug_c/debug_test.c | 24 - .../lib/libbsp/i386/ts_386ex/tools/debug_c/init.c | 39 - .../i386/ts_386ex/tools/debug_c/serial_gdb.c | 59 -- .../i386/ts_386ex/tools/debug_c/serial_gdb.h | 17 - .../libbsp/i386/ts_386ex/tools/debug_c/system.h | 36 - .../libbsp/i386/ts_386ex/tools/dos_sup/loader.com | Bin 934 -> 0 bytes .../ts_386ex/tools/dos_sup/loader_hybrid_com.asm | 575 ----------- .../libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc | 48 - c/src/lib/libbsp/i386/ts_386ex/tools/elf2exe | 23 - .../libbsp/i386/ts_386ex/tools/network_ada/README | 8 - .../ts_386ex/tools/network_ada/adasockets/AUTHORS | 7 - .../ts_386ex/tools/network_ada/adasockets/COPYING | 340 ------- .../ts_386ex/tools/network_ada/adasockets/NEWS | 44 - .../ts_386ex/tools/network_ada/adasockets/README | 35 - .../network_ada/adasockets/sockets-constants.ads | 50 - .../tools/network_ada/adasockets/sockets-link.ads | 42 - .../network_ada/adasockets/sockets-multicast.adb | 130 --- .../network_ada/adasockets/sockets-multicast.ads | 71 -- .../network_ada/adasockets/sockets-naming.adb | 411 -------- .../network_ada/adasockets/sockets-naming.ads | 113 --- .../tools/network_ada/adasockets/sockets-thin.ads | 440 --------- .../tools/network_ada/adasockets/sockets-utils.adb | 84 -- .../tools/network_ada/adasockets/sockets-utils.ads | 52 - .../tools/network_ada/adasockets/sockets.adb | 409 -------- .../tools/network_ada/adasockets/sockets.ads | 155 --- .../tools/network_ada/listener/Makefile.ts_386ex | 43 - .../ts_386ex/tools/network_ada/listener/init.c | 97 -- .../tools/network_ada/listener/listener.adb | 114 --- .../ts_386ex/tools/network_ada/networkconfig.h | 104 -- .../tools/network_ada/tcprelay/Makefile.ts_386ex | 46 - .../ts_386ex/tools/network_ada/tcprelay/init.c | 99 -- .../tools/network_ada/tcprelay/print_error.c | 18 - .../tools/network_ada/tcprelay/tcprelay.adb | 108 -- .../ts_386ex/tools/ts_1325_ada/Makefile.ts_386ex | 40 - .../libbsp/i386/ts_386ex/tools/ts_1325_ada/README | 10 - .../i386/ts_386ex/tools/ts_1325_ada/i386_ports.adb | 29 - .../i386/ts_386ex/tools/ts_1325_ada/i386_ports.ads | 45 - .../libbsp/i386/ts_386ex/tools/ts_1325_ada/init.c | 83 -- .../ts_386ex/tools/ts_1325_ada/ts1325-button.adb | 22 - .../ts_386ex/tools/ts_1325_ada/ts1325-button.ads | 22 - .../i386/ts_386ex/tools/ts_1325_ada/ts1325-led.adb | 46 - .../i386/ts_386ex/tools/ts_1325_ada/ts1325-led.ads | 26 - .../ts_386ex/tools/ts_1325_ada/ts1325-parallel.adb | 13 - .../ts_386ex/tools/ts_1325_ada/ts1325-parallel.ads | 21 - .../i386/ts_386ex/tools/ts_1325_ada/ts1325.ads | 2 - .../ts_386ex/tools/ts_1325_ada/ts1325_test.adb | 115 --- 88 files changed, 10291 deletions(-) delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/.cvsignore delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/ChangeLog delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/Makefile.am delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/README delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/bsp_specs delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/clock/ckinit.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/clock/rtc.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/configure.ac delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/console/console.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/include/.cvsignore delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/include/bsp.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/include/coverhd.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/include/tm27.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/include/wd80x3.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/make/custom/ts_386ex.cfg delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/network/ne2000.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/preinstall.am delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/start/80386ex.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/start/80386ex.inc delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/start/macros.inc delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/start/start.S delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/start/ts_1325.inc delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/startup/README delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/startup/linkcmds delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/timer/timer.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/timer/timerisr.S delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/.cvsignore delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ChangeLog delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/Makefile.am delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/README delete mode 100755 c/src/lib/libbsp/i386/ts_386ex/tools/coff2bin delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/configure.ac delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/Makefile.ts_386ex delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/cmds delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/ddd-rtems delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/debug.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/init.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_ada/serial_debug.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/cmds delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/ddd-rtems delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/debug_test.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/init.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/serial_gdb.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/debug_c/system.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader.com delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader_hybrid_com.asm delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc delete mode 100755 c/src/lib/libbsp/i386/ts_386ex/tools/elf2exe delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/README delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/AUTHORS delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/COPYING delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/NEWS delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/README delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-constants.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-link.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-multicast.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-naming.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-thin.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets-utils.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/adasockets/sockets.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/Makefile.ts_386ex delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/init.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/listener/listener.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/networkconfig.h delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/Makefile.ts_386ex delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/init.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/print_error.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/network_ada/tcprelay/tcprelay.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/Makefile.ts_386ex delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/README delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/i386_ports.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/init.c delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-button.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-led.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.adb delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325-parallel.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325.ads delete mode 100644 c/src/lib/libbsp/i386/ts_386ex/tools/ts_1325_ada/ts1325_test.adb (limited to 'c/src/lib/libbsp/i386/ts_386ex') 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 - - * 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 - - * timer/timer.c: Include . - Fix benchmark_timer_read() definition. - -2011-02-02 Ralf Corsépius - - * configure.ac: Require autoconf-2.68, automake-1.11.1. - -2011-01-28 Joel Sherrill - - * clock/rtc.c, console/console.c, network/ne2000.c: Fix typo where - license said found in found in. - -2010-05-21 Joel Sherrill - - * Makefile.am: Add bspreset.c - -2010-04-30 Sebastian Huber - - * Makefile.am, preinstall.am: Update for generic interrupt support - changes. - -2009-11-06 Ralf Corsépius - - * clock/ckinit.c: Remove nested externs. - Add missing prototypes. - Fix Clock_isr prototype. - -2009-10-21 Ralf Corsépius - - * make/custom/ts_386ex.cfg: Remove RTEMS_BSP_FAMILY. - -2009-10-20 Ralf Corsépius - - * configure.ac: Don't add -ansi -fasm to CFLAGS. - -2009-10-15 Ralf Corsépius - - * make/custom/ts_386ex.cfg: New (relocated from /make/custom). - -2009-09-30 Ralf Corsépius - - * console/console.c: Reflect termios_baud_to_number having been - renamed to rtems_termios_baud_to_number. - -2009-09-15 Ralf Corsépius - - * configure.ac: Remove RTEMS_BSP_BOOTCARD_OPTIONS. - -2009-08-06 Joel Sherrill - - * startup/setvec.c: Removed. - -2009-08-06 Joel Sherrill - - * include/tm27.h: Remove references to rtems_interrupt_catch since this - archiecture does not use Simple Vectored Interrupt model. - -2009-07-16 Joel Sherrill - - * 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 - - * Makefile.am, preinstall.am: Update for generic interrupt support. - -2009-04-28 Chris Johns - - * start/start.S: Update for boot_card command line change. - -2008-12-04 Joel Sherrill - - * 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 - - * timer/timer.c: Eliminate uses of old benchmark timer names. - -2008-09-30 Ralf Corsépius - - * Makefile.am: Eliminate bsp.am. Build startup files as side-effect - of building libbspstart.a, using automake-rules. - -2008-09-29 Ralf Corsépius - - * Makefile.am: Eliminate *_SOURCES. - -2008-09-29 Ralf Corsépius - - * Makefile.am: Move noinst_LIBRARIES = libbsp.a before its - components. - -2008-09-26 Ralf Corsépius - - * Makefile.am: Cleanup ../../shared/include/bootcard.h handling. - -2008-09-23 Joel Sherrill - - * 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 - - * Makefile.am, configure.ac, startup/bspstart.c, startup/linkcmds: Use - top level shared bsp_get_work_area() implementation. - -2008-09-18 Joel Sherrill - - * include/bsp.h: Remove unnecessary variables and EXTERN magic. - -2008-09-18 Joel Sherrill - - * include/bsp.h: Remove unnecessary boilerplate comments. - -2008-09-16 Joel Sherrill - - * clock/ckinit.c, startup/bspstart.c: Remove unnecessary includes of - rtems/libcsupport.h and rtems/libio.h. - -2008-09-05 Joel Sherrill - - * 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 - - * timer/timer.c: Convert to "bool". - -2008-09-02 Ralf Corsépius - - * clock/rtc.c, network/ne2000.c: Eliminate rtems_boolean. - -2008-08-31 Joel Sherrill - - * timer/timer.c: Eliminate empty function from every benchmark timer - driver. Fix spelling. - -2008-08-31 Joel Sherrill - - * timer/timer.c: Rename timer driver methods to follow RTEMS - programming conventions. - -2008-08-18 Ralf Corsépius - - * clock/ckinit.c, startup/bspstart.c, timer/timer.c: - Add missing prototypes. - -2008-05-23 Joel Sherrill - - * 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 - - * 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 - - * Makefile.am: Rework to avoid .rel files. - -2008-05-12 Joel Sherrill - - * 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 - - PR 649/bsps - * clock/ckinit.c, console/console.c: Add missing structure element. - -2008-03-03 Joel Sherrill - - * startup/linkcmds: Add wildcard to gcc_except_table section so - programs compiled with gcc 4.3.x can link. - -2007-12-11 Joel Sherrill - - * 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 - - * 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 - - * 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 - - * 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 - - * 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 - - * bsp_specs: Remove qrtems_debug. - -2006-12-15 Ralf Corsépius - - * network/ne2000.c: Use ioctl_command_t as arg in ioctl-functions. - -2006-12-02 Ralf Corsépius - - * configure.ac: New BUG-REPORT address. - -2006-11-15 Joel Sherrill - - * Makefile.am: Merge c_rtems_main() into boot_card(). This eliminated a - file and simplified initialization. - -2006-10-17 Ralf Corsépius - - * Makefile.am: Remove superfluous -DASM. - -2006-10-17 Ralf Corsépius - - * configure.ac: Require autoconf-2.60. Require automake-1.10. - -2006-01-11 Ralf Corsepius - - * configure.ac: Remove explicit ampolish3 support (now in - RTEMS_BSP_CONFIGURE). - -2006-01-10 Ralf Corsepius - - * configure.ac: Add ampolish3 support. - * Makefile.am: Add preinstall.am. - -2005-10-17 Ralf Corsepius - - * Makefile.am: Add pci.rel. - -2005-10-17 Ralf Corsepius - - * Makefile.am: Install/preinstall headers from ../../i386/shared. - -2005-09-19 Ralf Corsepius - - * network/ne2000.c: Include instead of . - -2005-05-26 Ralf Corsepius - - * include/bsp.h: New header guard. - -2005-05-06 Jennifer Averett - - * clock/ckinit.c, console/console.c, include/bsp.h, network/ne2000.c: - Moved irq.h to bsp subdirectory. - -2005-01-07 Ralf Corsepius - - * Makefile.am: Eliminate CFLAGS_OPTIMIZE_V. - -2005-01-02 Ralf Corsepius - - * Makefile.am: Remove build-variant support. - -2004-09-24 Ralf Corsepius - - * configure.ac: Require automake > 1.9. - -2004-07-25 Joel Sherrill - - * Makefile.am: Add -D__INSIDE_RTEMS_BSD_TCPIP_STACK__ for network. - * network/ne2000.c: Add include of . - -2004-04-23 Ralf Corsepius - - PR 610/bsps - * Makefile.am: Add include/tm27.h, Cosmetics. - * include/tm27.h: Final cosmetics. - -2004-04-22 Ralf Corsepius - - * include/bsp.h: Split out tmtest27 support. - * include/tm27.h: New. - -2004-04-21 Ralf Corsepius - - PR 613/bsps - * include/bsp.h: Remove MAX_LONG_TEST_DURATION. - -2004-04-21 Ralf Corsepius - - PR 614/bsps - * include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused). - -2004-04-02 Ralf Corsepius - - * start/start.S: Include instead of . - * timer/timerisr.S: Include instead of . - -2004-04-01 Ralf Corsepius - - * include/bsp.h: Include instead of . - * include/bsp.h: Include instead of . - * include/bsp.h: Include instead of . - -2004-03-31 Ralf Corsepius - - * 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 - - * Makefile.am: Reflect changes to bsp.am. - Preinstall dist_project_lib*. - -2004-02-14 Ralf Corsepius - - * Makefile.am: Reflect changes to bsp.am. - -2004-02-12 Ralf Corsepius - - * Makefile.am: Use CPPASCOMPILE instead of CCASCOMPILE. - -2004-02-06 Ralf Corsepius - - * Makefile.am: Pickup files from ../../i386/shared instead of - ../shared. Reformat. - -2004-01-30 Ralf Corsepius - - * 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 - - * configure.ac: Add nostdinc to AUTOMAKE_OPTIONS. - Add RTEMS_PROG_CCAS. - -2004-01-21 Ralf Corsepius - - * Makefile.am: Add PREINSTALL_DIRS. - * wrapup/Makefile.am: Reflect changes to libcpu. - -2004-01-14 Ralf Corsepius - - * Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES. - Add PRE/TMPINSTALL_FILES to CLEANFILES. - * startup/Makefile.am: Ditto. - -2004-01-07 Ralf Corsepius - - * start/Makefile.am: Remove. - * Makefile.am: Merge-in start/Makefile.am. - * configure.ac: Reflect changes above. - -2004-01-05 Ralf Corsepius - - * wrapup/Makefile.am: Eliminate $(LIB). - Use noinst_DATA to trigger building libbsp.a. - -2003-12-13 Ralf Corsepius - - * 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 - - * 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 - - * configure.ac: Require automake >= 1.8, autoconf >= 2.59. - -2003-12-12 Ralf Corsepius - - * wrapup/Makefile.am: Cosmetics. - -2003-12-09 Ralf Corsepius - - * 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 - - * 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 - - * 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 - - * 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 - - * bsp_specs: Remove *lib:. - -2003-09-04 Joel Sherrill - - * 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 - - * Makefile.am: Reflect having moved aclocal/. - -2003-08-16 Ralf Corsepius - - * 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 - - PR 451/bsps - * startup/Makefile.am: Include shared i386 TTY driver in these BSPs. - -2003-08-11 Ralf Corsepius - - PR 452/bsps - * startup/Makefile.am: Remove USE_INIT_FINI. - -2003-08-11 Ralf Corsepius - - * configure.ac: Use rtems-bugs@rtems.com as bug report email address. - -2003-08-06 Ralf Corsepius - - PR 445/bsps - * bsp_specs: Remove -D__embedded__ -Asystem(embedded) from cpp. - Remove cpp, old_cpp (now unused). - -2003-03-06 Ralf Corsepius - - * configure.ac: Remove AC_CONFIG_AUX_DIR. - -2003-02-11 Ralf Corsepius - - * configure.ac: AM_INIT_AUTOMAKE([1.7.2]). - -2003-02-11 Ralf Corsepius - - * configure.ac: AC_PREREQ(2.57). - -2003-01-20 Joel Sherrill - - * startup/linkcmds: Add FreeBSD SYSCTL() sections for networking. - -2002-12-19 Joel Sherrill - - * console/console.c: Removed __assert() which conflicts with newlib. - -2002-12-17 Ralf Corsepius - - * 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 - - * start/Makefile.am: Use install-data-local to install startfile. - -2002-12-10 Ralf Corsepius - - * wrapup/Makefile.am: Don't include @RTEMS_BSP@.cfg. - -2002-11-04 Joel Sherrill - - * console/console.c, network/ne2000.c: Removed warnings. - -2002-11-01 Joel Sherrill - - * startup/bspstart.c: Removed warnings. - -2002-10-21 Ralf Corsepius - - * .cvsignore: Reformat. - Add autom4te*cache. - Remove autom4te.cache. - -2002-09-08 Ralf Corsepius - - * configure.ac: Remove duplicate timer/Makefile in AC_CONFIG_FILES. - -2002-08-21 Joel Sherrill - - * bsp_specs: Added support for -nostdlibs. - -2002-08-11 Ralf Corsepius - - * 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 - - * start/Makefile.am: Eliminate PGM. - Add bsplib_DATA = $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o. - -2002-07-19 Ralf Corsepius - - * startup/Makefile.am: Add bsplib_DATA = linkcmds. - -2002-07-04 Ralf Corsepius - - * wrapup/Makefile.am: Eliminate TMPINSTALL_FILES. - Remove $(OBJS) from all-local. - -2002-06-29 Ralf Corsepius - - * wrapup/Makefile.am: Remove preinstallation of libbsp.a, - -2001-05-17 Joel Sherrill - - * startup/linkcmds: Per PR224, added wild card math to .rodata. - -2002-03-27 Ralf Corsepius - - * include/bsp.h: include . - * console/console.c: Remove unused variable console_open_count. - -2002-03-27 Ralf Corsepius - - * 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 - - * configure.ac: Remove stray ';', PR 139. - -2002-01-03 Ralf Corsepius - - * include/bsp.h: Include rtems/bspIo.h instead of bspIo.h. - -2001-12-22 Ralf Corsepius - - * bsp_specs: Replace -lrtemsall with -lrtemsbsp -lrtemscpu, - replace -lrtemsall_g with -lrtemsbsp_g -lrtemscpu_g. - -2001-11-30 Ralf Corsepius - - * configure.ac: Introduce RTEMS_BSP_CONFIGURE. - -2001-11-14 Ralf Corsepius - - * 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 - - * startup/linkcmds: Fixed typo. - -2001-10-11 Ralf Corsepius - - * .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 - - * include/bsp.h: Renamed delay() to rtems_bsp_delay(). - -2001-09-27 Ralf Corsepius - - * include/Makefile.am: Use 'PREINSTALL_FILES ='. - -2001-05-26 Ralf Corsepius - - * 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 - - * configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]). - -2000-11-09 Ralf Corsepius - - * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. - -2000-11-02 Ralf Corsepius - - * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal. - -2000-11-01 Joel Sherrill - - * 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 . Header file order - was cleaned up while doing this. - -2000-10-27 Ralf Corsepius - - * configure.in, Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. - Switch to GNU canonicalization. - -2000-10-19 Joel Sherrill - - * console/console.c: Invoke BSP_uart_init() with all arguments - now that it takes more parameters. - -2000-10-17 Joel Sherrill - - * startup/Makefile.am: Added idt.c since it has been moved libcpu/i386 - to libbsp/i386/shared/irq. - -2000-09-29 Charles-Antoine Gauthier - - * 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 - - * start/Makefile.am: Remove AM_CPPFLAGS and GAS_CODE16 conditional. - * startup/Makefile.am: Cleanup comments. - -2000-09-04 Ralf Corsepius - - * 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 - - * 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 -#include - -#include - -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 - -#include - -/*-------------------------------------------------------------------------+ -| 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 -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -/* - * 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 - -#include -#include -#include -#include -#include -#include -#include - -/* - * 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 -#include - -#include -#include - -#include -#include - -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -/* 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 -#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 - -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 -#include -#include -#include - -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 - - 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 - - * configure.ac: Remove RTEMS_CANONICAL_TARGET_CPU. - -2011-02-02 Ralf Corsépius - - * configure.ac: Require autoconf-2.68, automake-1.11.1. - -2007-08-02 Joel Sherrill - - * debug_ada/cmds, debug_c/cmds: Remove RDBG. - -2006-12-02 Ralf Corsépius - - * configure.ac: New BUG-REPORT address. - -2006-10-17 Ralf Corsépius - - * configure.ac: Require autoconf-2.60. Require automake-1.10. - -2006-10-15 Ralf Corsepius - - * 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 - - * configure.ac: Require automake > 1.9. - -2004-01-30 Ralf Corsepius - - * 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 - - * configure.ac: Require automake >= 1.8, autoconf >= 2.59. - -2003-12-04 Ralf Corsepius - - * 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 - - * Makefile.am: Reflect having moved aclocal/. - -2003-08-16 Ralf Corsepius - - * 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 - - * configure.ac: Use rtems-bugs@rtems.com as bug report email address. - -2003-03-06 Ralf Corsepius - - * configure.ac: Remove AC_CONFIG_AUX_DIR. - -2003-02-11 Ralf Corsepius - - * configure.ac: AM_INIT_AUTOMAKE([1.7.2]). - -2003-02-11 Ralf Corsepius - - * configure.ac: AC_PREREQ(2.57). - -2002-11-19 Ralf Corsepius - - * configure.ac: Remove duplicate - AC_CONFIG_FILES(ts_1325_ada/Makefile). - -2002-10-21 Ralf Corsepius - - * .cvsignore: Reformat. - Add autom4te*cache. - Remove autom4te.cache. - -2002-03-27 Ralf Corsepius - - * 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 - - * 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 - - * .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 - - * Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS. - -2000-11-02 Ralf Corsepius - - * Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal. - -2000-10-27 Ralf Corsepius - - * configure.in, Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros. - Switch to GNU canonicalization. - -2000-08-10 Joel Sherrill - - * 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 " - 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 - -#include -#include - -#include - -#ifdef GNAT_PID -#include -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 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 - -#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 -#include - -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 - -/* functions */ - -rtems_task Init( - rtems_task_argument argument -); - -/* configuration information */ - -#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER - -#define CONFIGURE_RTEMS_INIT_TASKS_TABLE - -#include - -/* 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 Binary files a/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/loader.com and /dev/null 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 " - 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. - - - Copyright (C) 19yy - - 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. - - , 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 . - -** 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 -. - -* 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 -. - -** 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 ). - -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 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 - -#include -#include - -#include -#include -#include "../networkconfig.h" - -#ifdef GNAT_PID -#include -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 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 - -/* - * 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 - -#include -#include - -#include -#include -#include "../networkconfig.h" - -#ifdef GNAT_PID -#include -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 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 -#include -#include - -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 - -#include -#include - -#ifdef GNAT_PID -#include -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 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; -- cgit v1.2.3