From a6b6f0c130b613d7d807a772b8f85994d1c0d31e Mon Sep 17 00:00:00 2001 From: cvs2git Date: Wed, 28 Oct 1998 17:38:23 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'rtems-4-0-0'. Sprout from master 1998-10-28 17:38:22 UTC Joel Sherrill 'changed version to 4.0.0' Delete: c/build-tools/README c/build-tools/cklength.c c/build-tools/eolstrip.c c/build-tools/install-if-change.in c/build-tools/lock-directory.in c/build-tools/packhex.c c/build-tools/rcs-clean.in c/build-tools/search-id.sh c/build-tools/unhex.c c/build-tools/unlock-directory.in c/src/ada-tests/mptests/mp01/config.h c/src/ada-tests/mptests/mp01/mp01.adb c/src/ada-tests/mptests/mp01/mptest.adb c/src/ada-tests/mptests/mp01/mptest.ads c/src/ada-tests/mptests/mp01/node1/mp01.scn c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp01/node2/mp01.scn c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp02/mptest.adb c/src/ada-tests/mptests/mp02/mptest.ads c/src/ada-tests/mptests/mp02/node1/mp02.scn c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp02/node2/mp02.scn c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp03/mptest.adb c/src/ada-tests/mptests/mp03/mptest.ads c/src/ada-tests/mptests/mp03/node1/mp03.scn c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp03/node2/mp03.scn c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp04/mptest.adb c/src/ada-tests/mptests/mp04/mptest.ads c/src/ada-tests/mptests/mp04/node1/mp04.scn c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp04/node2/mp04.scn c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp05/mptest.adb c/src/ada-tests/mptests/mp05/mptest.ads c/src/ada-tests/mptests/mp05/node1/mp05.scn c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp05/node2/mp05.scn c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp06/mptest.adb c/src/ada-tests/mptests/mp06/mptest.ads c/src/ada-tests/mptests/mp06/node1/mp06.scn c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp06/node2/mp06.scn c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp07/mptest.adb c/src/ada-tests/mptests/mp07/mptest.ads c/src/ada-tests/mptests/mp07/node1/mp07.scn c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp07/node2/mp07.scn c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp08/mptest.adb c/src/ada-tests/mptests/mp08/mptest.ads c/src/ada-tests/mptests/mp08/node1/mp08.scn c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp08/node2/mp08.scn c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp09/mptest.adb c/src/ada-tests/mptests/mp09/mptest.ads c/src/ada-tests/mptests/mp09/node1/mp09.scn c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp09/node2/mp09.scn c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp10/mptest.adb c/src/ada-tests/mptests/mp10/mptest.ads c/src/ada-tests/mptests/mp10/node1/mp10.scn c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp10/node2/mp10.scn c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp11/mptest.adb c/src/ada-tests/mptests/mp11/mptest.ads c/src/ada-tests/mptests/mp11/node1/mp11.scn c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp11/node2/mp11.scn c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp12/mptest.adb c/src/ada-tests/mptests/mp12/mptest.ads c/src/ada-tests/mptests/mp12/node1/mp12.scn c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp12/node2/mp12.scn c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp13/mptest.adb c/src/ada-tests/mptests/mp13/mptest.ads c/src/ada-tests/mptests/mp13/node1/mp13.scn c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp13/node2/mp13.scn c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp14/mptest.adb c/src/ada-tests/mptests/mp14/mptest.ads c/src/ada-tests/mptests/mp14/node1/mp14.scn c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb c/src/ada-tests/mptests/mp14/node2/mp14.scn c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb c/src/ada-tests/samples/base_mp/mptest.adb c/src/ada-tests/samples/base_mp/mptest.ads c/src/ada-tests/samples/base_mp/node1/base_mp.scn c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb c/src/ada-tests/samples/base_mp/node2/base_mp.scn c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb c/src/ada-tests/samples/base_sp/base_sp.adb c/src/ada-tests/samples/base_sp/base_sp.scn c/src/ada-tests/samples/base_sp/config.h c/src/ada-tests/samples/base_sp/sptest.adb c/src/ada-tests/samples/base_sp/sptest.ads c/src/ada-tests/samples/hello/config.h c/src/ada-tests/samples/hello/hello.adb c/src/ada-tests/samples/hello/hello.scn c/src/ada-tests/samples/hello/sptest.adb c/src/ada-tests/samples/hello/sptest.ads c/src/ada-tests/samples/ticker/config.h c/src/ada-tests/samples/ticker/sptest.adb c/src/ada-tests/samples/ticker/sptest.ads c/src/ada-tests/samples/ticker/ticker.adb c/src/ada-tests/samples/ticker/ticker.scn c/src/ada-tests/sptests/sp01/config.h c/src/ada-tests/sptests/sp01/sp01.adb c/src/ada-tests/sptests/sp01/sp01.scn c/src/ada-tests/sptests/sp01/sptest.adb c/src/ada-tests/sptests/sp01/sptest.ads c/src/ada-tests/sptests/sp02/config.h c/src/ada-tests/sptests/sp02/sp02.adb c/src/ada-tests/sptests/sp02/sp02.scn c/src/ada-tests/sptests/sp02/sptest.adb c/src/ada-tests/sptests/sp02/sptest.ads c/src/ada-tests/sptests/sp03/config.h c/src/ada-tests/sptests/sp03/sp03.adb c/src/ada-tests/sptests/sp03/sp03.scn c/src/ada-tests/sptests/sp03/sptest.adb c/src/ada-tests/sptests/sp03/sptest.ads c/src/ada-tests/sptests/sp04/README c/src/ada-tests/sptests/sp04/config.h c/src/ada-tests/sptests/sp04/sp04.adb c/src/ada-tests/sptests/sp04/sp04.scn c/src/ada-tests/sptests/sp04/sptest.adb c/src/ada-tests/sptests/sp04/sptest.ads c/src/ada-tests/sptests/sp05/config.h c/src/ada-tests/sptests/sp05/sp05.adb c/src/ada-tests/sptests/sp05/sp05.scn c/src/ada-tests/sptests/sp05/sptest.adb c/src/ada-tests/sptests/sp05/sptest.ads c/src/ada-tests/sptests/sp06/config.h c/src/ada-tests/sptests/sp06/sp06.adb c/src/ada-tests/sptests/sp06/sp06.scn c/src/ada-tests/sptests/sp06/sptest.adb c/src/ada-tests/sptests/sp06/sptest.ads c/src/ada-tests/sptests/sp07/config.h c/src/ada-tests/sptests/sp07/sp07.adb c/src/ada-tests/sptests/sp07/sp07.scn c/src/ada-tests/sptests/sp07/sptest.adb c/src/ada-tests/sptests/sp07/sptest.ads c/src/ada-tests/sptests/sp08/config.h c/src/ada-tests/sptests/sp08/sp08.adb c/src/ada-tests/sptests/sp08/sp08.scn c/src/ada-tests/sptests/sp08/sptest.adb c/src/ada-tests/sptests/sp08/sptest.ads c/src/ada-tests/sptests/sp09/config.h c/src/ada-tests/sptests/sp09/sp09.adb c/src/ada-tests/sptests/sp09/sp09.scn c/src/ada-tests/sptests/sp09/sptest.adb c/src/ada-tests/sptests/sp09/sptest.ads c/src/ada-tests/sptests/sp11/config.h c/src/ada-tests/sptests/sp11/sp11.adb c/src/ada-tests/sptests/sp11/sp11.scn c/src/ada-tests/sptests/sp11/sptest.adb c/src/ada-tests/sptests/sp11/sptest.ads c/src/ada-tests/sptests/sp12/config.h c/src/ada-tests/sptests/sp12/sp12.adb c/src/ada-tests/sptests/sp12/sp12.scn c/src/ada-tests/sptests/sp12/sptest.adb c/src/ada-tests/sptests/sp12/sptest.ads c/src/ada-tests/sptests/sp13/config.h c/src/ada-tests/sptests/sp13/sp13.adb c/src/ada-tests/sptests/sp13/sp13.scn c/src/ada-tests/sptests/sp13/sptest.adb c/src/ada-tests/sptests/sp13/sptest.ads c/src/ada-tests/sptests/sp14/config.h c/src/ada-tests/sptests/sp14/sp14.adb c/src/ada-tests/sptests/sp14/sp14.scn c/src/ada-tests/sptests/sp14/sptest.adb c/src/ada-tests/sptests/sp14/sptest.ads c/src/ada-tests/sptests/sp15/config.h c/src/ada-tests/sptests/sp15/sp15.adb c/src/ada-tests/sptests/sp15/sp15.scn c/src/ada-tests/sptests/sp15/sptest.adb c/src/ada-tests/sptests/sp15/sptest.ads c/src/ada-tests/sptests/sp16/config.h c/src/ada-tests/sptests/sp16/sp16.adb c/src/ada-tests/sptests/sp16/sp16.scn c/src/ada-tests/sptests/sp16/sptest.adb c/src/ada-tests/sptests/sp16/sptest.ads c/src/ada-tests/sptests/sp17/config.h c/src/ada-tests/sptests/sp17/sp17.adb c/src/ada-tests/sptests/sp17/sp17.scn c/src/ada-tests/sptests/sp17/sptest.adb c/src/ada-tests/sptests/sp17/sptest.ads c/src/ada-tests/sptests/sp19/README c/src/ada-tests/sptests/sp19/config.h c/src/ada-tests/sptests/sp19/sp19.adb c/src/ada-tests/sptests/sp19/sp19.scn c/src/ada-tests/sptests/sp19/sptest.ads c/src/ada-tests/sptests/sp20/config.h c/src/ada-tests/sptests/sp20/sp20.adb c/src/ada-tests/sptests/sp20/sp20.scn c/src/ada-tests/sptests/sp20/sptest.adb c/src/ada-tests/sptests/sp20/sptest.ads c/src/ada-tests/sptests/sp21/config.h c/src/ada-tests/sptests/sp21/sp21.adb c/src/ada-tests/sptests/sp21/sp21.scn c/src/ada-tests/sptests/sp21/sptest.adb c/src/ada-tests/sptests/sp21/sptest.ads c/src/ada-tests/sptests/sp22/config.h c/src/ada-tests/sptests/sp22/sp22.adb c/src/ada-tests/sptests/sp22/sp22.scn c/src/ada-tests/sptests/sp22/sptest.adb c/src/ada-tests/sptests/sp22/sptest.ads c/src/ada-tests/sptests/sp23/config.h c/src/ada-tests/sptests/sp23/sp23.adb c/src/ada-tests/sptests/sp23/sp23.scn c/src/ada-tests/sptests/sp23/sptest.adb c/src/ada-tests/sptests/sp23/sptest.ads c/src/ada-tests/sptests/sp24/config.h c/src/ada-tests/sptests/sp24/sp24.adb c/src/ada-tests/sptests/sp24/sp24.scn c/src/ada-tests/sptests/sp24/sptest.adb c/src/ada-tests/sptests/sp24/sptest.ads c/src/ada-tests/sptests/sp25/config.h c/src/ada-tests/sptests/sp25/sp25.adb c/src/ada-tests/sptests/sp25/sp25.scn c/src/ada-tests/sptests/sp25/sptest.adb c/src/ada-tests/sptests/sp25/sptest.ads c/src/ada-tests/sptests/spsize/spsize.adb c/src/ada-tests/sptests/spsize/sptest.adb c/src/ada-tests/sptests/spsize/sptest.ads c/src/ada-tests/support/address_io.adb c/src/ada-tests/support/address_io.ads c/src/ada-tests/support/float_io.ads c/src/ada-tests/support/fp.inc c/src/ada-tests/support/init.c c/src/ada-tests/support/integer.inc c/src/ada-tests/support/rtems_calling_overhead.ads c/src/ada-tests/support/status_io.ads c/src/ada-tests/support/test_support.adb c/src/ada-tests/support/test_support.ads c/src/ada-tests/support/time_test_support.adb c/src/ada-tests/support/time_test_support.ads c/src/ada-tests/support/timer_driver.adb c/src/ada-tests/support/timer_driver.ads c/src/ada-tests/support/unsigned32_io.ads c/src/ada-tests/tmtests/tm01/config.h c/src/ada-tests/tmtests/tm01/tm01.adb c/src/ada-tests/tmtests/tm01/tmtest.adb c/src/ada-tests/tmtests/tm01/tmtest.ads c/src/ada-tests/tmtests/tm02/config.h c/src/ada-tests/tmtests/tm02/tm02.adb c/src/ada-tests/tmtests/tm02/tmtest.adb c/src/ada-tests/tmtests/tm02/tmtest.ads c/src/ada-tests/tmtests/tm03/config.h c/src/ada-tests/tmtests/tm03/tm03.adb c/src/ada-tests/tmtests/tm03/tmtest.adb c/src/ada-tests/tmtests/tm03/tmtest.ads c/src/ada-tests/tmtests/tm04/config.h c/src/ada-tests/tmtests/tm04/tm04.adb c/src/ada-tests/tmtests/tm04/tmtest.adb c/src/ada-tests/tmtests/tm04/tmtest.ads c/src/ada-tests/tmtests/tm05/config.h c/src/ada-tests/tmtests/tm05/tm05.adb c/src/ada-tests/tmtests/tm05/tmtest.adb c/src/ada-tests/tmtests/tm05/tmtest.ads c/src/ada-tests/tmtests/tm06/config.h c/src/ada-tests/tmtests/tm06/tm06.adb c/src/ada-tests/tmtests/tm06/tmtest.adb c/src/ada-tests/tmtests/tm06/tmtest.ads c/src/ada-tests/tmtests/tm07/config.h c/src/ada-tests/tmtests/tm07/tm07.adb c/src/ada-tests/tmtests/tm07/tmtest.adb c/src/ada-tests/tmtests/tm07/tmtest.ads c/src/ada-tests/tmtests/tm08/config.h c/src/ada-tests/tmtests/tm08/tm08.adb c/src/ada-tests/tmtests/tm08/tmtest.adb c/src/ada-tests/tmtests/tm08/tmtest.ads c/src/ada-tests/tmtests/tm09/config.h c/src/ada-tests/tmtests/tm09/tm09.adb c/src/ada-tests/tmtests/tm09/tmtest.adb c/src/ada-tests/tmtests/tm09/tmtest.ads c/src/ada-tests/tmtests/tm10/config.h c/src/ada-tests/tmtests/tm10/tm10.adb c/src/ada-tests/tmtests/tm10/tmtest.adb c/src/ada-tests/tmtests/tm10/tmtest.ads c/src/ada-tests/tmtests/tm11/config.h c/src/ada-tests/tmtests/tm11/tm11.adb c/src/ada-tests/tmtests/tm11/tmtest.adb c/src/ada-tests/tmtests/tm11/tmtest.ads c/src/ada-tests/tmtests/tm12/config.h c/src/ada-tests/tmtests/tm12/tm12.adb c/src/ada-tests/tmtests/tm12/tmtest.adb c/src/ada-tests/tmtests/tm12/tmtest.ads c/src/ada-tests/tmtests/tm13/config.h c/src/ada-tests/tmtests/tm13/tm13.adb c/src/ada-tests/tmtests/tm13/tmtest.adb c/src/ada-tests/tmtests/tm13/tmtest.ads c/src/ada-tests/tmtests/tm14/config.h c/src/ada-tests/tmtests/tm14/tm14.adb c/src/ada-tests/tmtests/tm14/tmtest.adb c/src/ada-tests/tmtests/tm14/tmtest.ads c/src/ada-tests/tmtests/tm15/config.h c/src/ada-tests/tmtests/tm15/tm15.adb c/src/ada-tests/tmtests/tm15/tmtest.adb c/src/ada-tests/tmtests/tm15/tmtest.ads c/src/ada-tests/tmtests/tm16/config.h c/src/ada-tests/tmtests/tm16/tm16.adb c/src/ada-tests/tmtests/tm16/tmtest.adb c/src/ada-tests/tmtests/tm16/tmtest.ads c/src/ada-tests/tmtests/tm17/config.h c/src/ada-tests/tmtests/tm17/tm17.adb c/src/ada-tests/tmtests/tm17/tmtest.adb c/src/ada-tests/tmtests/tm17/tmtest.ads c/src/ada-tests/tmtests/tm18/config.h c/src/ada-tests/tmtests/tm18/tm18.adb c/src/ada-tests/tmtests/tm18/tmtest.adb c/src/ada-tests/tmtests/tm18/tmtest.ads c/src/ada-tests/tmtests/tm19/config.h c/src/ada-tests/tmtests/tm19/tm19.adb c/src/ada-tests/tmtests/tm19/tmtest.adb c/src/ada-tests/tmtests/tm19/tmtest.ads c/src/ada-tests/tmtests/tm20/config.h c/src/ada-tests/tmtests/tm20/tm20.adb c/src/ada-tests/tmtests/tm20/tmtest.adb c/src/ada-tests/tmtests/tm20/tmtest.ads c/src/ada-tests/tmtests/tm21/config.h c/src/ada-tests/tmtests/tm21/tm21.adb c/src/ada-tests/tmtests/tm21/tmtest.adb c/src/ada-tests/tmtests/tm21/tmtest.ads c/src/ada-tests/tmtests/tm22/config.h c/src/ada-tests/tmtests/tm22/tm22.adb c/src/ada-tests/tmtests/tm22/tmtest.adb c/src/ada-tests/tmtests/tm22/tmtest.ads c/src/ada-tests/tmtests/tm23/config.h c/src/ada-tests/tmtests/tm23/tm23.adb c/src/ada-tests/tmtests/tm23/tmtest.adb c/src/ada-tests/tmtests/tm23/tmtest.ads c/src/ada-tests/tmtests/tm24/config.h c/src/ada-tests/tmtests/tm24/tm24.adb c/src/ada-tests/tmtests/tm24/tmtest.adb c/src/ada-tests/tmtests/tm24/tmtest.ads c/src/ada-tests/tmtests/tm25/config.h c/src/ada-tests/tmtests/tm25/tm25.adb c/src/ada-tests/tmtests/tm25/tmtest.adb c/src/ada-tests/tmtests/tm25/tmtest.ads c/src/ada-tests/tmtests/tm26/README c/src/ada-tests/tmtests/tm26/config.h c/src/ada-tests/tmtests/tm26/tm26.adb c/src/ada-tests/tmtests/tm26/tmtest.adp c/src/ada-tests/tmtests/tm26/tmtest.ads c/src/ada-tests/tmtests/tm27/README c/src/ada-tests/tmtests/tm27/config.h c/src/ada-tests/tmtests/tm27/tm27.adb c/src/ada-tests/tmtests/tm27/tmtest.adb c/src/ada-tests/tmtests/tm27/tmtest.ads c/src/ada-tests/tmtests/tm28/config.h c/src/ada-tests/tmtests/tm28/tm28.adb c/src/ada-tests/tmtests/tm28/tmtest.adb c/src/ada-tests/tmtests/tm28/tmtest.ads c/src/ada-tests/tmtests/tm29/config.h c/src/ada-tests/tmtests/tm29/tm29.adb c/src/ada-tests/tmtests/tm29/tmtest.adb c/src/ada-tests/tmtests/tm29/tmtest.ads c/src/ada-tests/tmtests/tmck/config.h c/src/ada-tests/tmtests/tmck/tmck.adb c/src/ada-tests/tmtests/tmck/tmtest.adb c/src/ada-tests/tmtests/tmck/tmtest.ads c/src/ada-tests/tmtests/tmoverhd/README c/src/ada-tests/tmtests/tmoverhd/config.h c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb c/src/ada-tests/tmtests/tmoverhd/tmtest.adb c/src/ada-tests/tmtests/tmoverhd/tmtest.ads c/src/ada/rtems.adb c/src/ada/rtems.ads c/src/exec/libcsupport/include/chain.h c/src/exec/libcsupport/include/clockdrv.h c/src/exec/libcsupport/include/console.h c/src/exec/libcsupport/include/iosupp.h c/src/exec/libcsupport/include/motorola/mc68230.h c/src/exec/libcsupport/include/motorola/mc68681.h c/src/exec/libcsupport/include/ringbuf.h c/src/exec/libcsupport/include/rtems/assoc.h c/src/exec/libcsupport/include/rtems/error.h c/src/exec/libcsupport/include/rtems/libcsupport.h c/src/exec/libcsupport/include/rtems/libio.h c/src/exec/libcsupport/include/spurious.h c/src/exec/libcsupport/include/sys/filio.h c/src/exec/libcsupport/include/sys/ioctl.h c/src/exec/libcsupport/include/sys/sockio.h c/src/exec/libcsupport/include/sys/termios.h c/src/exec/libcsupport/include/sys/utsname.h c/src/exec/libcsupport/include/timerdrv.h c/src/exec/libcsupport/include/vmeintr.h c/src/exec/libcsupport/include/zilog/z8036.h c/src/exec/libcsupport/include/zilog/z8530.h c/src/exec/libcsupport/include/zilog/z8536.h c/src/exec/libcsupport/src/README c/src/exec/libcsupport/src/__brk.c c/src/exec/libcsupport/src/__gettod.c c/src/exec/libcsupport/src/__times.c c/src/exec/libcsupport/src/assoc.c c/src/exec/libcsupport/src/closedir.c c/src/exec/libcsupport/src/error.c c/src/exec/libcsupport/src/getdents.c c/src/exec/libcsupport/src/hosterr.c c/src/exec/libcsupport/src/libio.c c/src/exec/libcsupport/src/malloc.c c/src/exec/libcsupport/src/newlibc.c c/src/exec/libcsupport/src/no_libc.c c/src/exec/libcsupport/src/opendir.c c/src/exec/libcsupport/src/readdir.c c/src/exec/libcsupport/src/rewinddir.c c/src/exec/libcsupport/src/scandir.c c/src/exec/libcsupport/src/seekdir.c c/src/exec/libcsupport/src/tcdrain.c c/src/exec/libcsupport/src/telldir.c c/src/exec/libcsupport/src/termios.c c/src/exec/libcsupport/src/unixlibc.c c/src/exec/libcsupport/src/utsname.c c/src/exec/libnetworking/README c/src/exec/libnetworking/arpa/ftp.h c/src/exec/libnetworking/arpa/inet.h c/src/exec/libnetworking/arpa/nameser.h c/src/exec/libnetworking/arpa/nameser_compat.h c/src/exec/libnetworking/arpa/telnet.h c/src/exec/libnetworking/bpfilter.h c/src/exec/libnetworking/kern/kern_subr.c c/src/exec/libnetworking/kern/uipc_domain.c c/src/exec/libnetworking/kern/uipc_mbuf.c c/src/exec/libnetworking/kern/uipc_socket.c c/src/exec/libnetworking/kern/uipc_socket2.c c/src/exec/libnetworking/lib/README c/src/exec/libnetworking/lib/getprotoby.c c/src/exec/libnetworking/lib/syslog.c c/src/exec/libnetworking/lib/tftpDriver.c c/src/exec/libnetworking/libc/addr2ascii.3 c/src/exec/libnetworking/libc/addr2ascii.c c/src/exec/libnetworking/libc/ascii2addr.c c/src/exec/libnetworking/libc/base64.c c/src/exec/libnetworking/libc/byteorder.3 c/src/exec/libnetworking/libc/ether_addr.c c/src/exec/libnetworking/libc/ethers.3 c/src/exec/libnetworking/libc/gethostbydns.c c/src/exec/libnetworking/libc/gethostbyht.c c/src/exec/libnetworking/libc/gethostbyname.3 c/src/exec/libnetworking/libc/gethostbynis.c c/src/exec/libnetworking/libc/gethostnamadr.c c/src/exec/libnetworking/libc/gethostname.c c/src/exec/libnetworking/libc/getnetbydns.c c/src/exec/libnetworking/libc/getnetbyht.c c/src/exec/libnetworking/libc/getnetbynis.c c/src/exec/libnetworking/libc/getnetent.3 c/src/exec/libnetworking/libc/getnetnamadr.c c/src/exec/libnetworking/libc/getproto.c c/src/exec/libnetworking/libc/getprotoent.3 c/src/exec/libnetworking/libc/getprotoent.c c/src/exec/libnetworking/libc/getprotoname.c c/src/exec/libnetworking/libc/getservbyname.c c/src/exec/libnetworking/libc/getservbyport.c c/src/exec/libnetworking/libc/getservent.3 c/src/exec/libnetworking/libc/getservent.c c/src/exec/libnetworking/libc/herror.c c/src/exec/libnetworking/libc/inet.3 c/src/exec/libnetworking/libc/inet_addr.c c/src/exec/libnetworking/libc/inet_lnaof.c c/src/exec/libnetworking/libc/inet_makeaddr.c c/src/exec/libnetworking/libc/inet_net_ntop.c c/src/exec/libnetworking/libc/inet_net_pton.c c/src/exec/libnetworking/libc/inet_neta.c c/src/exec/libnetworking/libc/inet_netof.c c/src/exec/libnetworking/libc/inet_network.c c/src/exec/libnetworking/libc/inet_ntoa.c c/src/exec/libnetworking/libc/inet_ntop.c c/src/exec/libnetworking/libc/inet_pton.c c/src/exec/libnetworking/libc/iso_addr.3 c/src/exec/libnetworking/libc/iso_addr.c c/src/exec/libnetworking/libc/linkaddr.3 c/src/exec/libnetworking/libc/linkaddr.c c/src/exec/libnetworking/libc/map_v4v6.c c/src/exec/libnetworking/libc/ns.3 c/src/exec/libnetworking/libc/ns_addr.c c/src/exec/libnetworking/libc/ns_name.c c/src/exec/libnetworking/libc/ns_netint.c c/src/exec/libnetworking/libc/ns_ntoa.c c/src/exec/libnetworking/libc/ns_parse.c c/src/exec/libnetworking/libc/ns_print.c c/src/exec/libnetworking/libc/ns_ttl.c c/src/exec/libnetworking/libc/nsap_addr.c c/src/exec/libnetworking/libc/rcmd.3 c/src/exec/libnetworking/libc/rcmd.c c/src/exec/libnetworking/libc/recv.c c/src/exec/libnetworking/libc/res_comp.c c/src/exec/libnetworking/libc/res_config.h c/src/exec/libnetworking/libc/res_data.c c/src/exec/libnetworking/libc/res_debug.c c/src/exec/libnetworking/libc/res_init.c c/src/exec/libnetworking/libc/res_mkquery.c c/src/exec/libnetworking/libc/res_mkupdate.c c/src/exec/libnetworking/libc/res_query.c c/src/exec/libnetworking/libc/res_send.c c/src/exec/libnetworking/libc/res_stubs.c c/src/exec/libnetworking/libc/res_update.c c/src/exec/libnetworking/libc/resolver.3 c/src/exec/libnetworking/libc/send.c c/src/exec/libnetworking/libc/strsep.c c/src/exec/libnetworking/loop.h c/src/exec/libnetworking/machine/conf.h c/src/exec/libnetworking/machine/cpu.h c/src/exec/libnetworking/machine/cpufunc.h c/src/exec/libnetworking/machine/endian.h c/src/exec/libnetworking/machine/in_cksum.h c/src/exec/libnetworking/machine/limits.h c/src/exec/libnetworking/machine/param.h c/src/exec/libnetworking/machine/types.h c/src/exec/libnetworking/machine/vmparam.h c/src/exec/libnetworking/net/bpf.h c/src/exec/libnetworking/net/ethernet.h c/src/exec/libnetworking/net/if.c c/src/exec/libnetworking/net/if.h c/src/exec/libnetworking/net/if_arp.h c/src/exec/libnetworking/net/if_dl.h c/src/exec/libnetworking/net/if_ethersubr.c c/src/exec/libnetworking/net/if_llc.h c/src/exec/libnetworking/net/if_loop.c c/src/exec/libnetworking/net/if_types.h c/src/exec/libnetworking/net/netisr.h c/src/exec/libnetworking/net/radix.c c/src/exec/libnetworking/net/radix.h c/src/exec/libnetworking/net/raw_cb.c c/src/exec/libnetworking/net/raw_cb.h c/src/exec/libnetworking/net/raw_usrreq.c c/src/exec/libnetworking/net/route.c c/src/exec/libnetworking/net/route.h c/src/exec/libnetworking/net/rtsock.c c/src/exec/libnetworking/netdb.h c/src/exec/libnetworking/netinet/icmp_var.h c/src/exec/libnetworking/netinet/if_ether.c c/src/exec/libnetworking/netinet/if_ether.h c/src/exec/libnetworking/netinet/igmp.c c/src/exec/libnetworking/netinet/igmp.h c/src/exec/libnetworking/netinet/igmp_var.h c/src/exec/libnetworking/netinet/in.c c/src/exec/libnetworking/netinet/in.h c/src/exec/libnetworking/netinet/in_cksum.c c/src/exec/libnetworking/netinet/in_cksum_i386.c c/src/exec/libnetworking/netinet/in_cksum_m68k.c c/src/exec/libnetworking/netinet/in_pcb.c c/src/exec/libnetworking/netinet/in_pcb.h c/src/exec/libnetworking/netinet/in_proto.c c/src/exec/libnetworking/netinet/in_rmx.c c/src/exec/libnetworking/netinet/in_systm.h c/src/exec/libnetworking/netinet/in_var.h c/src/exec/libnetworking/netinet/ip.h c/src/exec/libnetworking/netinet/ip_divert.c c/src/exec/libnetworking/netinet/ip_fw.c c/src/exec/libnetworking/netinet/ip_fw.h c/src/exec/libnetworking/netinet/ip_icmp.c c/src/exec/libnetworking/netinet/ip_icmp.h c/src/exec/libnetworking/netinet/ip_input.c c/src/exec/libnetworking/netinet/ip_mroute.c c/src/exec/libnetworking/netinet/ip_mroute.h c/src/exec/libnetworking/netinet/ip_output.c c/src/exec/libnetworking/netinet/ip_var.h c/src/exec/libnetworking/netinet/raw_ip.c c/src/exec/libnetworking/netinet/tcp.h c/src/exec/libnetworking/netinet/tcp_debug.c c/src/exec/libnetworking/netinet/tcp_debug.h c/src/exec/libnetworking/netinet/tcp_fsm.h c/src/exec/libnetworking/netinet/tcp_input.c c/src/exec/libnetworking/netinet/tcp_output.c c/src/exec/libnetworking/netinet/tcp_seq.h c/src/exec/libnetworking/netinet/tcp_subr.c c/src/exec/libnetworking/netinet/tcp_timer.c c/src/exec/libnetworking/netinet/tcp_timer.h c/src/exec/libnetworking/netinet/tcp_usrreq.c c/src/exec/libnetworking/netinet/tcp_var.h c/src/exec/libnetworking/netinet/tcpip.h c/src/exec/libnetworking/netinet/udp.h c/src/exec/libnetworking/netinet/udp_usrreq.c c/src/exec/libnetworking/netinet/udp_var.h c/src/exec/libnetworking/nfs/bootp_subr.c c/src/exec/libnetworking/nfs/krpc.h c/src/exec/libnetworking/nfs/nfs.h c/src/exec/libnetworking/nfs/nfsdiskless.h c/src/exec/libnetworking/nfs/nfsproto.h c/src/exec/libnetworking/nfs/rpcv2.h c/src/exec/libnetworking/nfs/xdr_subs.h c/src/exec/libnetworking/opt_ipfw.h c/src/exec/libnetworking/opt_mrouting.h c/src/exec/libnetworking/opt_tcpdebug.h c/src/exec/libnetworking/poll.h c/src/exec/libnetworking/resolv.h c/src/exec/libnetworking/rtems/issetugid.c c/src/exec/libnetworking/rtems/rtems_bootp.c c/src/exec/libnetworking/rtems/rtems_bsdnet.h c/src/exec/libnetworking/rtems/rtems_bsdnet_internal.h c/src/exec/libnetworking/rtems/rtems_glue.c c/src/exec/libnetworking/rtems/rtems_showicmpstat.c c/src/exec/libnetworking/rtems/rtems_showifstat.c c/src/exec/libnetworking/rtems/rtems_showipstat.c c/src/exec/libnetworking/rtems/rtems_showmbuf.c c/src/exec/libnetworking/rtems/rtems_showroute.c c/src/exec/libnetworking/rtems/rtems_showtcpstat.c c/src/exec/libnetworking/rtems/rtems_showudpstat.c c/src/exec/libnetworking/rtems/rtems_syscall.c c/src/exec/libnetworking/rtems/sghostname.c c/src/exec/libnetworking/rtems/tftp.h c/src/exec/libnetworking/sys/buf.h c/src/exec/libnetworking/sys/callout.h c/src/exec/libnetworking/sys/conf.h c/src/exec/libnetworking/sys/domain.h c/src/exec/libnetworking/sys/kernel.h c/src/exec/libnetworking/sys/libkern.h c/src/exec/libnetworking/sys/malloc.h c/src/exec/libnetworking/sys/mbuf.h c/src/exec/libnetworking/sys/mount.h c/src/exec/libnetworking/sys/param.h c/src/exec/libnetworking/sys/proc.h c/src/exec/libnetworking/sys/protosw.h c/src/exec/libnetworking/sys/queue.h c/src/exec/libnetworking/sys/reboot.h c/src/exec/libnetworking/sys/resourcevar.h c/src/exec/libnetworking/sys/rtprio.h c/src/exec/libnetworking/sys/select.h c/src/exec/libnetworking/sys/signalvar.h c/src/exec/libnetworking/sys/socket.h c/src/exec/libnetworking/sys/socketvar.h c/src/exec/libnetworking/sys/sysctl.h c/src/exec/libnetworking/sys/syslimits.h c/src/exec/libnetworking/sys/syslog.h c/src/exec/libnetworking/sys/systm.h c/src/exec/libnetworking/sys/ttydefaults.h c/src/exec/libnetworking/sys/ucred.h c/src/exec/libnetworking/sys/uio.h c/src/exec/libnetworking/syslog.h c/src/exec/libnetworking/vm/vm.h c/src/exec/libnetworking/vm/vm_extern.h c/src/exec/libnetworking/vm/vm_kern.h c/src/exec/libnetworking/vm/vm_param.h c/src/exec/posix/include/aio.h c/src/exec/posix/include/devctl.h c/src/exec/posix/include/intr.h c/src/exec/posix/include/limits.h c/src/exec/posix/include/mqueue.h c/src/exec/posix/include/pthread.h c/src/exec/posix/include/rtems/posix/Makefile.in c/src/exec/posix/include/rtems/posix/cancel.h c/src/exec/posix/include/rtems/posix/cond.h c/src/exec/posix/include/rtems/posix/condmp.h c/src/exec/posix/include/rtems/posix/config.h c/src/exec/posix/include/rtems/posix/intr.h c/src/exec/posix/include/rtems/posix/key.h c/src/exec/posix/include/rtems/posix/mqueue.h c/src/exec/posix/include/rtems/posix/mqueuemp.h c/src/exec/posix/include/rtems/posix/mutex.h c/src/exec/posix/include/rtems/posix/mutexmp.h c/src/exec/posix/include/rtems/posix/posixapi.h c/src/exec/posix/include/rtems/posix/priority.h c/src/exec/posix/include/rtems/posix/psignal.h c/src/exec/posix/include/rtems/posix/pthread.h c/src/exec/posix/include/rtems/posix/pthreadmp.h c/src/exec/posix/include/rtems/posix/semaphore.h c/src/exec/posix/include/rtems/posix/semaphoremp.h c/src/exec/posix/include/rtems/posix/seterr.h c/src/exec/posix/include/rtems/posix/threadsup.h c/src/exec/posix/include/rtems/posix/time.h c/src/exec/posix/include/sched.h c/src/exec/posix/include/semaphore.h c/src/exec/posix/include/sys/Makefile.in c/src/exec/posix/include/sys/utsname.h c/src/exec/posix/include/unistd.h c/src/exec/posix/include/wrap/Makefile.in c/src/exec/posix/inline/rtems/posix/Makefile.in c/src/exec/posix/inline/rtems/posix/cond.inl c/src/exec/posix/inline/rtems/posix/intr.inl c/src/exec/posix/inline/rtems/posix/key.inl c/src/exec/posix/inline/rtems/posix/mqueue.inl c/src/exec/posix/inline/rtems/posix/mutex.inl c/src/exec/posix/inline/rtems/posix/priority.inl c/src/exec/posix/inline/rtems/posix/pthread.inl c/src/exec/posix/inline/rtems/posix/semaphore.inl c/src/exec/posix/macros/rtems/posix/Makefile.in c/src/exec/rtems/include/rtems.h c/src/exec/rtems/include/rtems/rtems/Makefile.in c/src/exec/rtems/include/rtems/rtems/asr.h c/src/exec/rtems/include/rtems/rtems/attr.h c/src/exec/rtems/include/rtems/rtems/clock.h c/src/exec/rtems/include/rtems/rtems/config.h c/src/exec/rtems/include/rtems/rtems/dpmem.h c/src/exec/rtems/include/rtems/rtems/event.h c/src/exec/rtems/include/rtems/rtems/eventmp.h c/src/exec/rtems/include/rtems/rtems/eventset.h c/src/exec/rtems/include/rtems/rtems/intr.h c/src/exec/rtems/include/rtems/rtems/message.h c/src/exec/rtems/include/rtems/rtems/modes.h c/src/exec/rtems/include/rtems/rtems/mp.h c/src/exec/rtems/include/rtems/rtems/msgmp.h c/src/exec/rtems/include/rtems/rtems/options.h c/src/exec/rtems/include/rtems/rtems/part.h c/src/exec/rtems/include/rtems/rtems/partmp.h c/src/exec/rtems/include/rtems/rtems/ratemon.h c/src/exec/rtems/include/rtems/rtems/region.h c/src/exec/rtems/include/rtems/rtems/regionmp.h c/src/exec/rtems/include/rtems/rtems/rtemsapi.h c/src/exec/rtems/include/rtems/rtems/sem.h c/src/exec/rtems/include/rtems/rtems/semmp.h c/src/exec/rtems/include/rtems/rtems/signal.h c/src/exec/rtems/include/rtems/rtems/signalmp.h c/src/exec/rtems/include/rtems/rtems/status.h c/src/exec/rtems/include/rtems/rtems/support.h c/src/exec/rtems/include/rtems/rtems/taskmp.h c/src/exec/rtems/include/rtems/rtems/tasks.h c/src/exec/rtems/include/rtems/rtems/timer.h c/src/exec/rtems/include/rtems/rtems/types.h c/src/exec/rtems/inline/rtems/rtems/Makefile.in c/src/exec/rtems/inline/rtems/rtems/asr.inl c/src/exec/rtems/inline/rtems/rtems/attr.inl c/src/exec/rtems/inline/rtems/rtems/dpmem.inl c/src/exec/rtems/inline/rtems/rtems/event.inl c/src/exec/rtems/inline/rtems/rtems/eventset.inl c/src/exec/rtems/inline/rtems/rtems/message.inl c/src/exec/rtems/inline/rtems/rtems/modes.inl c/src/exec/rtems/inline/rtems/rtems/options.inl c/src/exec/rtems/inline/rtems/rtems/part.inl c/src/exec/rtems/inline/rtems/rtems/ratemon.inl c/src/exec/rtems/inline/rtems/rtems/region.inl c/src/exec/rtems/inline/rtems/rtems/sem.inl c/src/exec/rtems/inline/rtems/rtems/status.inl c/src/exec/rtems/inline/rtems/rtems/support.inl c/src/exec/rtems/inline/rtems/rtems/tasks.inl c/src/exec/rtems/inline/rtems/rtems/timer.inl c/src/exec/rtems/macros/rtems/rtems/Makefile.in c/src/exec/rtems/macros/rtems/rtems/asr.inl c/src/exec/rtems/macros/rtems/rtems/attr.inl c/src/exec/rtems/macros/rtems/rtems/dpmem.inl c/src/exec/rtems/macros/rtems/rtems/event.inl c/src/exec/rtems/macros/rtems/rtems/eventset.inl c/src/exec/rtems/macros/rtems/rtems/message.inl c/src/exec/rtems/macros/rtems/rtems/modes.inl c/src/exec/rtems/macros/rtems/rtems/options.inl c/src/exec/rtems/macros/rtems/rtems/part.inl c/src/exec/rtems/macros/rtems/rtems/ratemon.inl c/src/exec/rtems/macros/rtems/rtems/region.inl c/src/exec/rtems/macros/rtems/rtems/sem.inl c/src/exec/rtems/macros/rtems/rtems/status.inl c/src/exec/rtems/macros/rtems/rtems/support.inl c/src/exec/rtems/macros/rtems/rtems/tasks.inl c/src/exec/rtems/macros/rtems/rtems/timer.inl c/src/exec/rtems/src/rtclock.c c/src/exec/rtems/src/rtemstimer.c c/src/exec/sapi/include/confdefs.h c/src/exec/sapi/include/rtems/Makefile.in c/src/exec/sapi/include/rtems/README c/src/exec/sapi/include/rtems/config.h c/src/exec/sapi/include/rtems/directives.h c/src/exec/sapi/include/rtems/extension.h c/src/exec/sapi/include/rtems/fatal.h c/src/exec/sapi/include/rtems/init.h c/src/exec/sapi/include/rtems/io.h c/src/exec/sapi/include/rtems/mptables.h c/src/exec/sapi/include/rtems/sptables.h c/src/exec/sapi/inline/rtems/Makefile.in c/src/exec/sapi/inline/rtems/extension.inl c/src/exec/sapi/macros/rtems/Makefile.in c/src/exec/sapi/macros/rtems/extension.inl c/src/exec/score/cpu/mips/asm.h c/src/exec/score/cpu/mips/cpu.c c/src/exec/score/cpu/mips/cpu_asm.S c/src/exec/score/cpu/mips/cpu_asm.h c/src/exec/score/cpu/mips/idtcpu.h c/src/exec/score/cpu/mips/idtmon.h c/src/exec/score/cpu/mips/iregdef.h c/src/exec/score/cpu/mips/rtems.c c/src/exec/score/cpu/sh/ispsh7032.c c/src/exec/score/include/rtems/debug.h c/src/exec/score/include/rtems/score/Makefile.in c/src/exec/score/include/rtems/score/address.h c/src/exec/score/include/rtems/score/apiext.h c/src/exec/score/include/rtems/score/bitfield.h c/src/exec/score/include/rtems/score/chain.h c/src/exec/score/include/rtems/score/context.h c/src/exec/score/include/rtems/score/copyrt.h c/src/exec/score/include/rtems/score/coremsg.h c/src/exec/score/include/rtems/score/coremutex.h c/src/exec/score/include/rtems/score/coresem.h c/src/exec/score/include/rtems/score/heap.h c/src/exec/score/include/rtems/score/interr.h c/src/exec/score/include/rtems/score/isr.h c/src/exec/score/include/rtems/score/mpci.h c/src/exec/score/include/rtems/score/mppkt.h c/src/exec/score/include/rtems/score/object.h c/src/exec/score/include/rtems/score/objectmp.h c/src/exec/score/include/rtems/score/priority.h c/src/exec/score/include/rtems/score/stack.h c/src/exec/score/include/rtems/score/states.h c/src/exec/score/include/rtems/score/sysstate.h c/src/exec/score/include/rtems/score/thread.h c/src/exec/score/include/rtems/score/threadmp.h c/src/exec/score/include/rtems/score/threadq.h c/src/exec/score/include/rtems/score/tod.h c/src/exec/score/include/rtems/score/tqdata.h c/src/exec/score/include/rtems/score/userext.h c/src/exec/score/include/rtems/score/watchdog.h c/src/exec/score/include/rtems/score/wkspace.h c/src/exec/score/include/rtems/system.h c/src/exec/score/inline/rtems/score/Makefile.in c/src/exec/score/inline/rtems/score/address.inl c/src/exec/score/inline/rtems/score/chain.inl c/src/exec/score/inline/rtems/score/coremsg.inl c/src/exec/score/inline/rtems/score/coremutex.inl c/src/exec/score/inline/rtems/score/coresem.inl c/src/exec/score/inline/rtems/score/heap.inl c/src/exec/score/inline/rtems/score/isr.inl c/src/exec/score/inline/rtems/score/mppkt.inl c/src/exec/score/inline/rtems/score/object.inl c/src/exec/score/inline/rtems/score/objectmp.inl c/src/exec/score/inline/rtems/score/priority.inl c/src/exec/score/inline/rtems/score/stack.inl c/src/exec/score/inline/rtems/score/states.inl c/src/exec/score/inline/rtems/score/sysstate.inl c/src/exec/score/inline/rtems/score/thread.inl c/src/exec/score/inline/rtems/score/threadmp.inl c/src/exec/score/inline/rtems/score/tod.inl c/src/exec/score/inline/rtems/score/tqdata.inl c/src/exec/score/inline/rtems/score/userext.inl c/src/exec/score/inline/rtems/score/watchdog.inl c/src/exec/score/inline/rtems/score/wkspace.inl c/src/exec/score/macros/rtems/score/Makefile.in c/src/exec/score/macros/rtems/score/README c/src/exec/score/macros/rtems/score/address.inl c/src/exec/score/macros/rtems/score/chain.inl c/src/exec/score/macros/rtems/score/coremsg.inl c/src/exec/score/macros/rtems/score/coremutex.inl c/src/exec/score/macros/rtems/score/coresem.inl c/src/exec/score/macros/rtems/score/heap.inl c/src/exec/score/macros/rtems/score/isr.inl c/src/exec/score/macros/rtems/score/mppkt.inl c/src/exec/score/macros/rtems/score/object.inl c/src/exec/score/macros/rtems/score/objectmp.inl c/src/exec/score/macros/rtems/score/priority.inl c/src/exec/score/macros/rtems/score/stack.inl c/src/exec/score/macros/rtems/score/states.inl c/src/exec/score/macros/rtems/score/sysstate.inl c/src/exec/score/macros/rtems/score/thread.inl c/src/exec/score/macros/rtems/score/threadmp.inl c/src/exec/score/macros/rtems/score/tod.inl c/src/exec/score/macros/rtems/score/tqdata.inl c/src/exec/score/macros/rtems/score/userext.inl c/src/exec/score/macros/rtems/score/watchdog.inl c/src/exec/score/macros/rtems/score/wkspace.inl c/src/exec/score/src/coretod.c c/src/lib/include/rtems/assoc.h c/src/lib/include/rtems/error.h c/src/lib/include/rtems/libcsupport.h c/src/lib/include/rtems/libio.h c/src/lib/include/sys/filio.h c/src/lib/include/sys/ioctl.h c/src/lib/include/sys/sockio.h c/src/lib/include/sys/utsname.h c/src/lib/libbsp/a29k/portsw/start/Makefile.in c/src/lib/libbsp/a29k/portsw/start/amd.ah c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah c/src/lib/libbsp/a29k/portsw/start/register.ah c/src/lib/libbsp/i386/shared/irq/idt.c c/src/lib/libbsp/i960/cvme961/start/Makefile.in c/src/lib/libbsp/m68k/efi332/start/Makefile.in c/src/lib/libbsp/m68k/efi332/start/start.c c/src/lib/libbsp/m68k/efi68k/start/Makefile.in c/src/lib/libbsp/m68k/efi68k/start/start.c c/src/lib/libbsp/m68k/gen68302/start/Makefile.in c/src/lib/libbsp/m68k/gen68302/start/start302.s c/src/lib/libbsp/m68k/gen68340/start/Makefile.in c/src/lib/libbsp/m68k/gen68340/start/start340.s c/src/lib/libbsp/m68k/gen68340/start/startfor340only.s c/src/lib/libbsp/m68k/gen68360/start/Makefile.in c/src/lib/libbsp/m68k/gen68360/start/start360.s c/src/lib/libbsp/m68k/ods68302/start/Makefile.in c/src/lib/libbsp/m68k/ods68302/start/cpuboot.c c/src/lib/libbsp/m68k/ods68302/start/debugreset.S c/src/lib/libbsp/m68k/ods68302/start/reset.S c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c c/src/lib/libbsp/mips/README c/src/lib/libbsp/mips/p4000/README c/src/lib/libbsp/mips/p4000/bsp_specs c/src/lib/libbsp/mips/p4000/console/console.c c/src/lib/libbsp/mips/p4000/console/led.S c/src/lib/libbsp/mips/p4000/include/bsp.h c/src/lib/libbsp/mips/p4000/include/coverhd.h c/src/lib/libbsp/mips/p4000/liblnk/lnklib.S c/src/lib/libbsp/mips/p4000/start/start.S c/src/lib/libbsp/mips/p4000/startup/bspclean.c c/src/lib/libbsp/mips/p4000/startup/bspstart.c c/src/lib/libbsp/mips/p4000/startup/ghlinkcmds c/src/lib/libbsp/mips/p4000/startup/idtmem.S c/src/lib/libbsp/mips/p4000/startup/idttlb.S c/src/lib/libbsp/mips/p4000/startup/inittlb.c c/src/lib/libbsp/mips/p4000/startup/linkcmds c/src/lib/libbsp/mips/p4000/startup/setvec.c c/src/lib/libbsp/mips/p4000/times c/src/lib/libbsp/mips64orion/p4000/start/Makefile.in c/src/lib/libbsp/mips64orion/p4000/start/start.S c/src/lib/libbsp/powerpc/dmv177/Makefile.in c/src/lib/libbsp/powerpc/dmv177/QUIRKS c/src/lib/libbsp/powerpc/dmv177/README c/src/lib/libbsp/powerpc/dmv177/README.net c/src/lib/libbsp/powerpc/dmv177/STATUS c/src/lib/libbsp/powerpc/dmv177/bsp_specs c/src/lib/libbsp/powerpc/dmv177/cable.doc c/src/lib/libbsp/powerpc/dmv177/clock/Makefile.in c/src/lib/libbsp/powerpc/dmv177/clock/clock.c c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in c/src/lib/libbsp/powerpc/dmv177/console/config.c c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c c/src/lib/libbsp/powerpc/dmv177/console/debugio.c c/src/lib/libbsp/powerpc/dmv177/include/Makefile.in c/src/lib/libbsp/powerpc/dmv177/include/bsp.h c/src/lib/libbsp/powerpc/dmv177/include/coverhd.h c/src/lib/libbsp/powerpc/dmv177/include/dmv170.h c/src/lib/libbsp/powerpc/dmv177/scv64/Makefile.in c/src/lib/libbsp/powerpc/dmv177/scv64/scv64.c c/src/lib/libbsp/powerpc/dmv177/sonic/Makefile.in c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.c c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.h c/src/lib/libbsp/powerpc/dmv177/start/Makefile.in c/src/lib/libbsp/powerpc/dmv177/start/start.s c/src/lib/libbsp/powerpc/dmv177/startup/Makefile.in c/src/lib/libbsp/powerpc/dmv177/startup/bspclean.c c/src/lib/libbsp/powerpc/dmv177/startup/bspstart.c c/src/lib/libbsp/powerpc/dmv177/startup/genpvec.c c/src/lib/libbsp/powerpc/dmv177/startup/linkcmds c/src/lib/libbsp/powerpc/dmv177/startup/setvec.c c/src/lib/libbsp/powerpc/dmv177/startup/vmeintr.c c/src/lib/libbsp/powerpc/dmv177/timer/Makefile.in c/src/lib/libbsp/powerpc/dmv177/timer/timer.c c/src/lib/libbsp/powerpc/dmv177/times c/src/lib/libbsp/powerpc/dmv177/tod/Makefile.in c/src/lib/libbsp/powerpc/dmv177/tod/config.c c/src/lib/libbsp/powerpc/dmv177/tod/todcfg.c c/src/lib/libbsp/powerpc/dmv177/wrapup/Makefile.in c/src/lib/libbsp/powerpc/psim/start/Makefile.in c/src/lib/libbsp/powerpc/psim/start/startsim.s c/src/lib/libbsp/sh/gensh1/start/Makefile.in c/src/lib/libbsp/shared/console.c c/src/lib/libbsp/shared/tod.c c/src/lib/libbsp/shared/tod.h c/src/lib/libbsp/shmdr/shm_driver.h c/src/lib/libbsp/sparc/erc32/start/Makefile.in c/src/lib/libbsp/sparc/erc32/start/startsis.s c/src/lib/libc/assoc.c c/src/lib/libc/assoc.h c/src/lib/libc/error.c c/src/lib/libc/error.h c/src/lib/libc/utsname.c c/src/lib/libchip/Makefile.in c/src/lib/libchip/rtc/Makefile.in c/src/lib/libchip/rtc/README.ds1643 c/src/lib/libchip/rtc/README.icm7170 c/src/lib/libchip/rtc/README.m48t08 c/src/lib/libchip/rtc/README.m48t18 c/src/lib/libchip/rtc/STATUS c/src/lib/libchip/rtc/icm7170.c c/src/lib/libchip/rtc/icm7170.h c/src/lib/libchip/rtc/icm7170_reg.c c/src/lib/libchip/rtc/icm7170_reg2.c c/src/lib/libchip/rtc/icm7170_reg4.c c/src/lib/libchip/rtc/icm7170_reg8.c c/src/lib/libchip/rtc/m48t08.c c/src/lib/libchip/rtc/m48t08.h c/src/lib/libchip/rtc/m48t08_reg.c c/src/lib/libchip/rtc/m48t08_reg2.c c/src/lib/libchip/rtc/m48t08_reg4.c c/src/lib/libchip/rtc/m48t08_reg8.c c/src/lib/libchip/rtc/rtc.h c/src/lib/libchip/rtc/rtcprobe.c c/src/lib/libchip/serial/Makefile.in c/src/lib/libchip/serial/README c/src/lib/libchip/serial/README.mc68681 c/src/lib/libchip/serial/README.ns16550 c/src/lib/libchip/serial/README.xr88681 c/src/lib/libchip/serial/README.z85c30 c/src/lib/libchip/serial/STATUS c/src/lib/libchip/serial/mc68681.c c/src/lib/libchip/serial/mc68681.h c/src/lib/libchip/serial/mc68681_baud.c c/src/lib/libchip/serial/mc68681_p.h c/src/lib/libchip/serial/mc68681_reg.c c/src/lib/libchip/serial/mc68681_reg2.c c/src/lib/libchip/serial/mc68681_reg4.c c/src/lib/libchip/serial/mc68681_reg8.c c/src/lib/libchip/serial/ns16550.c c/src/lib/libchip/serial/ns16550.h c/src/lib/libchip/serial/ns16550_p.h c/src/lib/libchip/serial/serial.h c/src/lib/libchip/serial/serprobe.c c/src/lib/libchip/serial/sersupp.h c/src/lib/libchip/serial/termios_baud2index.c c/src/lib/libchip/serial/termios_baud2num.c c/src/lib/libchip/serial/z85c30.c c/src/lib/libchip/serial/z85c30.h c/src/lib/libchip/serial/z85c30_p.h c/src/lib/libchip/serial/z85c30_reg.c c/src/lib/libcpu/i386/idt.c c/src/lib/libcpu/m68k/shared/misc/memcpy.c c/src/lib/libcpu/mips/clock/ckinit.c c/src/lib/libcpu/mips/clock/clock.S c/src/lib/libcpu/mips/clock/clock.h c/src/lib/libcpu/mips/timer/gettime.S c/src/lib/libcpu/mips/timer/timer.c c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c c/src/lib/libcpu/sh/sh7032/score/ispsh7032.c c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c c/src/lib/libcpu/sparc/include/erc32.h c/src/libchip/rtc/Makefile.in c/src/libchip/rtc/README.ds1643 c/src/libchip/rtc/README.icm7170 c/src/libchip/rtc/README.m48t08 c/src/libchip/rtc/README.m48t18 c/src/libchip/rtc/STATUS c/src/libchip/rtc/icm7170.c c/src/libchip/rtc/icm7170.h c/src/libchip/rtc/icm7170_reg.c c/src/libchip/rtc/icm7170_reg2.c c/src/libchip/rtc/icm7170_reg4.c c/src/libchip/rtc/icm7170_reg8.c c/src/libchip/rtc/m48t08.c c/src/libchip/rtc/m48t08.h c/src/libchip/rtc/m48t08_reg.c c/src/libchip/rtc/m48t08_reg2.c c/src/libchip/rtc/m48t08_reg4.c c/src/libchip/rtc/m48t08_reg8.c c/src/libchip/rtc/rtc.h c/src/libchip/rtc/rtcprobe.c c/src/libchip/serial/Makefile.in c/src/libchip/serial/README c/src/libchip/serial/README.mc68681 c/src/libchip/serial/README.ns16550 c/src/libchip/serial/README.xr88681 c/src/libchip/serial/README.z85c30 c/src/libchip/serial/STATUS c/src/libchip/serial/mc68681.c c/src/libchip/serial/mc68681.h c/src/libchip/serial/mc68681_baud.c c/src/libchip/serial/mc68681_p.h c/src/libchip/serial/mc68681_reg.c c/src/libchip/serial/mc68681_reg2.c c/src/libchip/serial/mc68681_reg4.c c/src/libchip/serial/mc68681_reg8.c c/src/libchip/serial/ns16550.c c/src/libchip/serial/ns16550.h c/src/libchip/serial/ns16550_p.h c/src/libchip/serial/serial.h c/src/libchip/serial/serprobe.c c/src/libchip/serial/sersupp.h c/src/libchip/serial/termios_baud2index.c c/src/libchip/serial/termios_baud2num.c c/src/libchip/serial/z85c30.c c/src/libchip/serial/z85c30.h c/src/libchip/serial/z85c30_p.h c/src/libchip/serial/z85c30_reg.c c/src/libchip/shmdr/README c/src/libchip/shmdr/addlq.c c/src/libchip/shmdr/cnvpkt.c c/src/libchip/shmdr/dump.c c/src/libchip/shmdr/fatal.c c/src/libchip/shmdr/getlq.c c/src/libchip/shmdr/getpkt.c c/src/libchip/shmdr/init.c c/src/libchip/shmdr/initlq.c c/src/libchip/shmdr/intr.c c/src/libchip/shmdr/mpci.h c/src/libchip/shmdr/mpisr.c c/src/libchip/shmdr/poll.c c/src/libchip/shmdr/receive.c c/src/libchip/shmdr/retpkt.c c/src/libchip/shmdr/send.c c/src/libchip/shmdr/setckvec.c c/src/libchip/shmdr/shm_driver.h c/src/libmisc/README c/src/libmisc/assoc/Makefile.in c/src/libmisc/assoc/assoc.c c/src/libmisc/assoc/assoc.h c/src/libmisc/cpuuse/Makefile.in c/src/libmisc/cpuuse/README c/src/libmisc/cpuuse/cpuuse.c c/src/libmisc/cpuuse/cpuuse.h c/src/libmisc/cpuuse/internal.h c/src/libmisc/error/Makefile.in c/src/libmisc/error/error.c c/src/libmisc/error/error.h c/src/libmisc/monitor/Makefile.in c/src/libmisc/monitor/README c/src/libmisc/monitor/mon-command.c c/src/libmisc/monitor/mon-config.c c/src/libmisc/monitor/mon-dname.c c/src/libmisc/monitor/mon-driver.c c/src/libmisc/monitor/mon-extension.c c/src/libmisc/monitor/mon-itask.c c/src/libmisc/monitor/mon-manager.c c/src/libmisc/monitor/mon-monitor.c c/src/libmisc/monitor/mon-mpci.c c/src/libmisc/monitor/mon-object.c c/src/libmisc/monitor/mon-prmisc.c c/src/libmisc/monitor/mon-queue.c c/src/libmisc/monitor/mon-server.c c/src/libmisc/monitor/mon-symbols.c c/src/libmisc/monitor/mon-task.c c/src/libmisc/monitor/monitor.h c/src/libmisc/monitor/symbols.h c/src/libmisc/rtmonuse/Makefile.in c/src/libmisc/rtmonuse/rtmonuse.c c/src/libmisc/rtmonuse/rtmonuse.h c/src/libmisc/stackchk/Makefile.in c/src/libmisc/stackchk/README c/src/libmisc/stackchk/check.c c/src/libmisc/stackchk/internal.h c/src/libmisc/stackchk/stackchk.h c/src/libmisc/wrapup/Makefile.in c/src/libnetworking/CHANGELOG c/src/libnetworking/Makefile.in c/src/libnetworking/README c/src/libnetworking/arpa/ftp.h c/src/libnetworking/arpa/inet.h c/src/libnetworking/arpa/nameser.h c/src/libnetworking/arpa/nameser_compat.h c/src/libnetworking/arpa/telnet.h c/src/libnetworking/bpfilter.h c/src/libnetworking/include/Makefile.in c/src/libnetworking/kern/Makefile.in c/src/libnetworking/kern/kern_subr.c c/src/libnetworking/kern/uipc_domain.c c/src/libnetworking/kern/uipc_mbuf.c c/src/libnetworking/kern/uipc_socket.c c/src/libnetworking/kern/uipc_socket2.c c/src/libnetworking/lib/Makefile.in c/src/libnetworking/lib/README c/src/libnetworking/lib/getprotoby.c c/src/libnetworking/lib/syslog.c c/src/libnetworking/lib/tftpDriver.c c/src/libnetworking/libc/Makefile.in c/src/libnetworking/libc/addr2ascii.3 c/src/libnetworking/libc/addr2ascii.c c/src/libnetworking/libc/ascii2addr.c c/src/libnetworking/libc/base64.c c/src/libnetworking/libc/byteorder.3 c/src/libnetworking/libc/ether_addr.c c/src/libnetworking/libc/ethers.3 c/src/libnetworking/libc/gethostbydns.c c/src/libnetworking/libc/gethostbyht.c c/src/libnetworking/libc/gethostbyname.3 c/src/libnetworking/libc/gethostbynis.c c/src/libnetworking/libc/gethostnamadr.c c/src/libnetworking/libc/gethostname.c c/src/libnetworking/libc/getnetbydns.c c/src/libnetworking/libc/getnetbyht.c c/src/libnetworking/libc/getnetbynis.c c/src/libnetworking/libc/getnetent.3 c/src/libnetworking/libc/getnetnamadr.c c/src/libnetworking/libc/getproto.c c/src/libnetworking/libc/getprotoent.3 c/src/libnetworking/libc/getprotoent.c c/src/libnetworking/libc/getprotoname.c c/src/libnetworking/libc/getservbyname.c c/src/libnetworking/libc/getservbyport.c c/src/libnetworking/libc/getservent.3 c/src/libnetworking/libc/getservent.c c/src/libnetworking/libc/herror.c c/src/libnetworking/libc/inet.3 c/src/libnetworking/libc/inet_addr.c c/src/libnetworking/libc/inet_lnaof.c c/src/libnetworking/libc/inet_makeaddr.c c/src/libnetworking/libc/inet_net_ntop.c c/src/libnetworking/libc/inet_net_pton.c c/src/libnetworking/libc/inet_neta.c c/src/libnetworking/libc/inet_netof.c c/src/libnetworking/libc/inet_network.c c/src/libnetworking/libc/inet_ntoa.c c/src/libnetworking/libc/inet_ntop.c c/src/libnetworking/libc/inet_pton.c c/src/libnetworking/libc/iso_addr.3 c/src/libnetworking/libc/iso_addr.c c/src/libnetworking/libc/linkaddr.3 c/src/libnetworking/libc/linkaddr.c c/src/libnetworking/libc/map_v4v6.c c/src/libnetworking/libc/ns.3 c/src/libnetworking/libc/ns_addr.c c/src/libnetworking/libc/ns_name.c c/src/libnetworking/libc/ns_netint.c c/src/libnetworking/libc/ns_ntoa.c c/src/libnetworking/libc/ns_parse.c c/src/libnetworking/libc/ns_print.c c/src/libnetworking/libc/ns_ttl.c c/src/libnetworking/libc/nsap_addr.c c/src/libnetworking/libc/rcmd.3 c/src/libnetworking/libc/rcmd.c c/src/libnetworking/libc/recv.c c/src/libnetworking/libc/res_comp.c c/src/libnetworking/libc/res_config.h c/src/libnetworking/libc/res_data.c c/src/libnetworking/libc/res_debug.c c/src/libnetworking/libc/res_init.c c/src/libnetworking/libc/res_mkquery.c c/src/libnetworking/libc/res_mkupdate.c c/src/libnetworking/libc/res_query.c c/src/libnetworking/libc/res_send.c c/src/libnetworking/libc/res_stubs.c c/src/libnetworking/libc/res_update.c c/src/libnetworking/libc/resolver.3 c/src/libnetworking/libc/send.c c/src/libnetworking/libc/strsep.c c/src/libnetworking/loop.h c/src/libnetworking/machine/conf.h c/src/libnetworking/machine/cpu.h c/src/libnetworking/machine/cpufunc.h c/src/libnetworking/machine/endian.h c/src/libnetworking/machine/in_cksum.h c/src/libnetworking/machine/limits.h c/src/libnetworking/machine/param.h c/src/libnetworking/machine/types.h c/src/libnetworking/machine/vmparam.h c/src/libnetworking/net/Makefile.in c/src/libnetworking/net/bpf.h c/src/libnetworking/net/ethernet.h c/src/libnetworking/net/if.c c/src/libnetworking/net/if.h c/src/libnetworking/net/if_arp.h c/src/libnetworking/net/if_dl.h c/src/libnetworking/net/if_ethersubr.c c/src/libnetworking/net/if_llc.h c/src/libnetworking/net/if_loop.c c/src/libnetworking/net/if_types.h c/src/libnetworking/net/netisr.h c/src/libnetworking/net/radix.c c/src/libnetworking/net/radix.h c/src/libnetworking/net/raw_cb.c c/src/libnetworking/net/raw_cb.h c/src/libnetworking/net/raw_usrreq.c c/src/libnetworking/net/route.c c/src/libnetworking/net/route.h c/src/libnetworking/net/rtsock.c c/src/libnetworking/netdb.h c/src/libnetworking/netinet/Makefile.in c/src/libnetworking/netinet/icmp_var.h c/src/libnetworking/netinet/if_ether.c c/src/libnetworking/netinet/if_ether.h c/src/libnetworking/netinet/igmp.c c/src/libnetworking/netinet/igmp.h c/src/libnetworking/netinet/igmp_var.h c/src/libnetworking/netinet/in.c c/src/libnetworking/netinet/in.h c/src/libnetworking/netinet/in_cksum.c c/src/libnetworking/netinet/in_cksum_i386.c c/src/libnetworking/netinet/in_cksum_m68k.c c/src/libnetworking/netinet/in_pcb.c c/src/libnetworking/netinet/in_pcb.h c/src/libnetworking/netinet/in_proto.c c/src/libnetworking/netinet/in_rmx.c c/src/libnetworking/netinet/in_systm.h c/src/libnetworking/netinet/in_var.h c/src/libnetworking/netinet/ip.h c/src/libnetworking/netinet/ip_divert.c c/src/libnetworking/netinet/ip_fw.c c/src/libnetworking/netinet/ip_fw.h c/src/libnetworking/netinet/ip_icmp.c c/src/libnetworking/netinet/ip_icmp.h c/src/libnetworking/netinet/ip_input.c c/src/libnetworking/netinet/ip_mroute.c c/src/libnetworking/netinet/ip_mroute.h c/src/libnetworking/netinet/ip_output.c c/src/libnetworking/netinet/ip_var.h c/src/libnetworking/netinet/raw_ip.c c/src/libnetworking/netinet/tcp.h c/src/libnetworking/netinet/tcp_debug.c c/src/libnetworking/netinet/tcp_debug.h c/src/libnetworking/netinet/tcp_fsm.h c/src/libnetworking/netinet/tcp_input.c c/src/libnetworking/netinet/tcp_output.c c/src/libnetworking/netinet/tcp_seq.h c/src/libnetworking/netinet/tcp_subr.c c/src/libnetworking/netinet/tcp_timer.c c/src/libnetworking/netinet/tcp_timer.h c/src/libnetworking/netinet/tcp_usrreq.c c/src/libnetworking/netinet/tcp_var.h c/src/libnetworking/netinet/tcpip.h c/src/libnetworking/netinet/udp.h c/src/libnetworking/netinet/udp_usrreq.c c/src/libnetworking/netinet/udp_var.h c/src/libnetworking/nfs/Makefile.in c/src/libnetworking/nfs/bootp_subr.c c/src/libnetworking/nfs/krpc.h c/src/libnetworking/nfs/nfs.h c/src/libnetworking/nfs/nfsdiskless.h c/src/libnetworking/nfs/nfsproto.h c/src/libnetworking/nfs/rpcv2.h c/src/libnetworking/nfs/xdr_subs.h c/src/libnetworking/opt_ipfw.h c/src/libnetworking/opt_mrouting.h c/src/libnetworking/opt_tcpdebug.h c/src/libnetworking/poll.h c/src/libnetworking/resolv.h c/src/libnetworking/rtems/Makefile.in c/src/libnetworking/rtems/issetugid.c c/src/libnetworking/rtems/rtems_bootp.c c/src/libnetworking/rtems/rtems_bsdnet.h c/src/libnetworking/rtems/rtems_bsdnet_internal.h c/src/libnetworking/rtems/rtems_glue.c c/src/libnetworking/rtems/rtems_showicmpstat.c c/src/libnetworking/rtems/rtems_showifstat.c c/src/libnetworking/rtems/rtems_showipstat.c c/src/libnetworking/rtems/rtems_showmbuf.c c/src/libnetworking/rtems/rtems_showroute.c c/src/libnetworking/rtems/rtems_showtcpstat.c c/src/libnetworking/rtems/rtems_showudpstat.c c/src/libnetworking/rtems/rtems_syscall.c c/src/libnetworking/rtems/sghostname.c c/src/libnetworking/rtems/tftp.h c/src/libnetworking/sys/buf.h c/src/libnetworking/sys/callout.h c/src/libnetworking/sys/cdefs.h c/src/libnetworking/sys/conf.h c/src/libnetworking/sys/domain.h c/src/libnetworking/sys/filio.h c/src/libnetworking/sys/ioccom.h c/src/libnetworking/sys/ioctl.h c/src/libnetworking/sys/kernel.h c/src/libnetworking/sys/libkern.h c/src/libnetworking/sys/malloc.h c/src/libnetworking/sys/mbuf.h c/src/libnetworking/sys/mount.h c/src/libnetworking/sys/param.h c/src/libnetworking/sys/proc.h c/src/libnetworking/sys/protosw.h c/src/libnetworking/sys/queue.h c/src/libnetworking/sys/reboot.h c/src/libnetworking/sys/resourcevar.h c/src/libnetworking/sys/rtprio.h c/src/libnetworking/sys/select.h c/src/libnetworking/sys/signalvar.h c/src/libnetworking/sys/socket.h c/src/libnetworking/sys/socketvar.h c/src/libnetworking/sys/sockio.h c/src/libnetworking/sys/sysctl.h c/src/libnetworking/sys/syslimits.h c/src/libnetworking/sys/syslog.h c/src/libnetworking/sys/systm.h c/src/libnetworking/sys/ttycom.h c/src/libnetworking/sys/ttydefaults.h c/src/libnetworking/sys/ucred.h c/src/libnetworking/sys/uio.h c/src/libnetworking/syslog.h c/src/libnetworking/vm/vm.h c/src/libnetworking/vm/vm_extern.h c/src/libnetworking/vm/vm_kern.h c/src/libnetworking/vm/vm_param.h c/src/libnetworking/wrapup/Makefile.in c/src/librtems++/README c/src/librtems++/include/rtems++/rtemsEvent.h c/src/librtems++/include/rtems++/rtemsInterrupt.h c/src/librtems++/include/rtems++/rtemsMessageQueue.h c/src/librtems++/include/rtems++/rtemsSemaphore.h c/src/librtems++/include/rtems++/rtemsStatusCode.h c/src/librtems++/include/rtems++/rtemsTask.h c/src/librtems++/include/rtems++/rtemsTaskMode.h c/src/librtems++/include/rtems++/rtemsTimer.h c/src/librtems++/src/Makefile.in c/src/librtems++/src/rtemsEvent.cc c/src/librtems++/src/rtemsInterrupt.cc c/src/librtems++/src/rtemsMessageQueue.cc c/src/librtems++/src/rtemsSemaphore.cc c/src/librtems++/src/rtemsStatusCode.cc c/src/librtems++/src/rtemsTask.cc c/src/librtems++/src/rtemsTimer.cc c/src/make/README c/src/make/compilers/gcc-target-default.cfg c/src/make/directory.cfg c/src/make/host.cfg.in c/src/make/lib.cfg c/src/optman/rtems/no-dpmem.c c/src/optman/rtems/no-event.c c/src/optman/rtems/no-mp.c c/src/optman/rtems/no-msg.c c/src/optman/rtems/no-part.c c/src/optman/rtems/no-region.c c/src/optman/rtems/no-rtmon.c c/src/optman/rtems/no-sem.c c/src/optman/rtems/no-signal.c c/src/optman/rtems/no-timer.c c/src/optman/sapi/no-ext.c c/src/optman/sapi/no-io.c c/src/tests/psxtests/include/pmacros.h c/src/wrapup/Makefile.in cpukit/ada/rtems.adb cpukit/ada/rtems.ads cpukit/libcsupport/include/chain.h cpukit/libcsupport/include/clockdrv.h cpukit/libcsupport/include/console.h cpukit/libcsupport/include/iosupp.h cpukit/libcsupport/include/motorola/mc68230.h cpukit/libcsupport/include/motorola/mc68681.h cpukit/libcsupport/include/ringbuf.h cpukit/libcsupport/include/rtems/assoc.h cpukit/libcsupport/include/rtems/error.h cpukit/libcsupport/include/rtems/libcsupport.h cpukit/libcsupport/include/rtems/libio.h cpukit/libcsupport/include/spurious.h cpukit/libcsupport/include/sys/filio.h cpukit/libcsupport/include/sys/ioctl.h cpukit/libcsupport/include/sys/sockio.h cpukit/libcsupport/include/sys/termios.h cpukit/libcsupport/include/sys/utsname.h cpukit/libcsupport/include/timerdrv.h cpukit/libcsupport/include/vmeintr.h cpukit/libcsupport/include/zilog/z8036.h cpukit/libcsupport/include/zilog/z8530.h cpukit/libcsupport/include/zilog/z8536.h cpukit/libcsupport/src/README cpukit/libcsupport/src/__brk.c cpukit/libcsupport/src/__gettod.c cpukit/libcsupport/src/__times.c cpukit/libcsupport/src/assoc.c cpukit/libcsupport/src/closedir.c cpukit/libcsupport/src/error.c cpukit/libcsupport/src/getdents.c cpukit/libcsupport/src/hosterr.c cpukit/libcsupport/src/libio.c cpukit/libcsupport/src/malloc.c cpukit/libcsupport/src/newlibc.c cpukit/libcsupport/src/no_libc.c cpukit/libcsupport/src/opendir.c cpukit/libcsupport/src/readdir.c cpukit/libcsupport/src/rewinddir.c cpukit/libcsupport/src/scandir.c cpukit/libcsupport/src/seekdir.c cpukit/libcsupport/src/tcdrain.c cpukit/libcsupport/src/telldir.c cpukit/libcsupport/src/termios.c cpukit/libcsupport/src/unixlibc.c cpukit/libcsupport/src/utsname.c cpukit/libmisc/README cpukit/libmisc/cpuuse/README cpukit/libmisc/cpuuse/cpuuse.c cpukit/libmisc/cpuuse/cpuuse.h cpukit/libmisc/monitor/README cpukit/libmisc/monitor/mon-command.c cpukit/libmisc/monitor/mon-config.c cpukit/libmisc/monitor/mon-dname.c cpukit/libmisc/monitor/mon-driver.c cpukit/libmisc/monitor/mon-extension.c cpukit/libmisc/monitor/mon-itask.c cpukit/libmisc/monitor/mon-manager.c cpukit/libmisc/monitor/mon-monitor.c cpukit/libmisc/monitor/mon-mpci.c cpukit/libmisc/monitor/mon-object.c cpukit/libmisc/monitor/mon-prmisc.c cpukit/libmisc/monitor/mon-queue.c cpukit/libmisc/monitor/mon-server.c cpukit/libmisc/monitor/mon-symbols.c cpukit/libmisc/monitor/mon-task.c cpukit/libmisc/monitor/monitor.h cpukit/libmisc/monitor/symbols.h cpukit/libmisc/rtmonuse/rtmonuse.c cpukit/libmisc/rtmonuse/rtmonuse.h cpukit/libmisc/stackchk/README cpukit/libmisc/stackchk/check.c cpukit/libmisc/stackchk/internal.h cpukit/libmisc/stackchk/stackchk.h cpukit/libnetworking/README cpukit/libnetworking/arpa/ftp.h cpukit/libnetworking/arpa/inet.h cpukit/libnetworking/arpa/nameser.h cpukit/libnetworking/arpa/nameser_compat.h cpukit/libnetworking/arpa/telnet.h cpukit/libnetworking/bpfilter.h cpukit/libnetworking/kern/kern_subr.c cpukit/libnetworking/kern/uipc_domain.c cpukit/libnetworking/kern/uipc_mbuf.c cpukit/libnetworking/kern/uipc_socket.c cpukit/libnetworking/kern/uipc_socket2.c cpukit/libnetworking/lib/README cpukit/libnetworking/lib/getprotoby.c cpukit/libnetworking/lib/syslog.c cpukit/libnetworking/lib/tftpDriver.c cpukit/libnetworking/libc/addr2ascii.3 cpukit/libnetworking/libc/addr2ascii.c cpukit/libnetworking/libc/ascii2addr.c cpukit/libnetworking/libc/base64.c cpukit/libnetworking/libc/byteorder.3 cpukit/libnetworking/libc/ether_addr.c cpukit/libnetworking/libc/ethers.3 cpukit/libnetworking/libc/gethostbydns.c cpukit/libnetworking/libc/gethostbyht.c cpukit/libnetworking/libc/gethostbyname.3 cpukit/libnetworking/libc/gethostbynis.c cpukit/libnetworking/libc/gethostnamadr.c cpukit/libnetworking/libc/gethostname.c cpukit/libnetworking/libc/getnetbydns.c cpukit/libnetworking/libc/getnetbyht.c cpukit/libnetworking/libc/getnetbynis.c cpukit/libnetworking/libc/getnetent.3 cpukit/libnetworking/libc/getnetnamadr.c cpukit/libnetworking/libc/getproto.c cpukit/libnetworking/libc/getprotoent.3 cpukit/libnetworking/libc/getprotoent.c cpukit/libnetworking/libc/getprotoname.c cpukit/libnetworking/libc/getservbyname.c cpukit/libnetworking/libc/getservbyport.c cpukit/libnetworking/libc/getservent.3 cpukit/libnetworking/libc/getservent.c cpukit/libnetworking/libc/herror.c cpukit/libnetworking/libc/inet.3 cpukit/libnetworking/libc/inet_addr.c cpukit/libnetworking/libc/inet_lnaof.c cpukit/libnetworking/libc/inet_makeaddr.c cpukit/libnetworking/libc/inet_net_ntop.c cpukit/libnetworking/libc/inet_net_pton.c cpukit/libnetworking/libc/inet_neta.c cpukit/libnetworking/libc/inet_netof.c cpukit/libnetworking/libc/inet_network.c cpukit/libnetworking/libc/inet_ntoa.c cpukit/libnetworking/libc/inet_ntop.c cpukit/libnetworking/libc/inet_pton.c cpukit/libnetworking/libc/iso_addr.3 cpukit/libnetworking/libc/iso_addr.c cpukit/libnetworking/libc/linkaddr.3 cpukit/libnetworking/libc/linkaddr.c cpukit/libnetworking/libc/map_v4v6.c cpukit/libnetworking/libc/ns.3 cpukit/libnetworking/libc/ns_addr.c cpukit/libnetworking/libc/ns_name.c cpukit/libnetworking/libc/ns_netint.c cpukit/libnetworking/libc/ns_ntoa.c cpukit/libnetworking/libc/ns_parse.c cpukit/libnetworking/libc/ns_print.c cpukit/libnetworking/libc/ns_ttl.c cpukit/libnetworking/libc/nsap_addr.c cpukit/libnetworking/libc/rcmd.3 cpukit/libnetworking/libc/rcmd.c cpukit/libnetworking/libc/recv.c cpukit/libnetworking/libc/res_comp.c cpukit/libnetworking/libc/res_config.h cpukit/libnetworking/libc/res_data.c cpukit/libnetworking/libc/res_debug.c cpukit/libnetworking/libc/res_init.c cpukit/libnetworking/libc/res_mkquery.c cpukit/libnetworking/libc/res_mkupdate.c cpukit/libnetworking/libc/res_query.c cpukit/libnetworking/libc/res_send.c cpukit/libnetworking/libc/res_stubs.c cpukit/libnetworking/libc/res_update.c cpukit/libnetworking/libc/resolver.3 cpukit/libnetworking/libc/send.c cpukit/libnetworking/libc/strsep.c cpukit/libnetworking/loop.h cpukit/libnetworking/machine/conf.h cpukit/libnetworking/machine/cpu.h cpukit/libnetworking/machine/cpufunc.h cpukit/libnetworking/machine/endian.h cpukit/libnetworking/machine/in_cksum.h cpukit/libnetworking/machine/limits.h cpukit/libnetworking/machine/param.h cpukit/libnetworking/machine/types.h cpukit/libnetworking/machine/vmparam.h cpukit/libnetworking/net/bpf.h cpukit/libnetworking/net/ethernet.h cpukit/libnetworking/net/if.c cpukit/libnetworking/net/if.h cpukit/libnetworking/net/if_arp.h cpukit/libnetworking/net/if_dl.h cpukit/libnetworking/net/if_ethersubr.c cpukit/libnetworking/net/if_llc.h cpukit/libnetworking/net/if_loop.c cpukit/libnetworking/net/if_types.h cpukit/libnetworking/net/netisr.h cpukit/libnetworking/net/radix.c cpukit/libnetworking/net/radix.h cpukit/libnetworking/net/raw_cb.c cpukit/libnetworking/net/raw_cb.h cpukit/libnetworking/net/raw_usrreq.c cpukit/libnetworking/net/route.c cpukit/libnetworking/net/route.h cpukit/libnetworking/net/rtsock.c cpukit/libnetworking/netdb.h cpukit/libnetworking/netinet/icmp_var.h cpukit/libnetworking/netinet/if_ether.c cpukit/libnetworking/netinet/if_ether.h cpukit/libnetworking/netinet/igmp.c cpukit/libnetworking/netinet/igmp.h cpukit/libnetworking/netinet/igmp_var.h cpukit/libnetworking/netinet/in.c cpukit/libnetworking/netinet/in.h cpukit/libnetworking/netinet/in_cksum.c cpukit/libnetworking/netinet/in_cksum_i386.c cpukit/libnetworking/netinet/in_cksum_i386.h cpukit/libnetworking/netinet/in_cksum_m68k.c cpukit/libnetworking/netinet/in_cksum_m68k.h cpukit/libnetworking/netinet/in_pcb.c cpukit/libnetworking/netinet/in_pcb.h cpukit/libnetworking/netinet/in_proto.c cpukit/libnetworking/netinet/in_rmx.c cpukit/libnetworking/netinet/in_systm.h cpukit/libnetworking/netinet/in_var.h cpukit/libnetworking/netinet/ip.h cpukit/libnetworking/netinet/ip_divert.c cpukit/libnetworking/netinet/ip_fw.c cpukit/libnetworking/netinet/ip_fw.h cpukit/libnetworking/netinet/ip_icmp.c cpukit/libnetworking/netinet/ip_icmp.h cpukit/libnetworking/netinet/ip_input.c cpukit/libnetworking/netinet/ip_mroute.c cpukit/libnetworking/netinet/ip_mroute.h cpukit/libnetworking/netinet/ip_output.c cpukit/libnetworking/netinet/ip_var.h cpukit/libnetworking/netinet/raw_ip.c cpukit/libnetworking/netinet/tcp.h cpukit/libnetworking/netinet/tcp_debug.c cpukit/libnetworking/netinet/tcp_debug.h cpukit/libnetworking/netinet/tcp_fsm.h cpukit/libnetworking/netinet/tcp_input.c cpukit/libnetworking/netinet/tcp_output.c cpukit/libnetworking/netinet/tcp_seq.h cpukit/libnetworking/netinet/tcp_subr.c cpukit/libnetworking/netinet/tcp_timer.c cpukit/libnetworking/netinet/tcp_timer.h cpukit/libnetworking/netinet/tcp_usrreq.c cpukit/libnetworking/netinet/tcp_var.h cpukit/libnetworking/netinet/tcpip.h cpukit/libnetworking/netinet/udp.h cpukit/libnetworking/netinet/udp_usrreq.c cpukit/libnetworking/netinet/udp_var.h cpukit/libnetworking/nfs/bootp_subr.c cpukit/libnetworking/nfs/krpc.h cpukit/libnetworking/nfs/nfs.h cpukit/libnetworking/nfs/nfsdiskless.h cpukit/libnetworking/nfs/nfsproto.h cpukit/libnetworking/nfs/rpcv2.h cpukit/libnetworking/nfs/xdr_subs.h cpukit/libnetworking/opt_ipfw.h cpukit/libnetworking/opt_mrouting.h cpukit/libnetworking/opt_tcpdebug.h cpukit/libnetworking/poll.h cpukit/libnetworking/resolv.h cpukit/libnetworking/rtems/issetugid.c cpukit/libnetworking/rtems/rtems_bootp.c cpukit/libnetworking/rtems/rtems_bsdnet.h cpukit/libnetworking/rtems/rtems_bsdnet_internal.h cpukit/libnetworking/rtems/rtems_glue.c cpukit/libnetworking/rtems/rtems_showicmpstat.c cpukit/libnetworking/rtems/rtems_showifstat.c cpukit/libnetworking/rtems/rtems_showipstat.c cpukit/libnetworking/rtems/rtems_showmbuf.c cpukit/libnetworking/rtems/rtems_showroute.c cpukit/libnetworking/rtems/rtems_showtcpstat.c cpukit/libnetworking/rtems/rtems_showudpstat.c cpukit/libnetworking/rtems/rtems_syscall.c cpukit/libnetworking/rtems/sghostname.c cpukit/libnetworking/rtems/tftp.h cpukit/libnetworking/sys/buf.h cpukit/libnetworking/sys/callout.h cpukit/libnetworking/sys/conf.h cpukit/libnetworking/sys/domain.h cpukit/libnetworking/sys/kernel.h cpukit/libnetworking/sys/libkern.h cpukit/libnetworking/sys/malloc.h cpukit/libnetworking/sys/mbuf.h cpukit/libnetworking/sys/mount.h cpukit/libnetworking/sys/param.h cpukit/libnetworking/sys/proc.h cpukit/libnetworking/sys/protosw.h cpukit/libnetworking/sys/queue.h cpukit/libnetworking/sys/reboot.h cpukit/libnetworking/sys/resourcevar.h cpukit/libnetworking/sys/rtprio.h cpukit/libnetworking/sys/select.h cpukit/libnetworking/sys/signalvar.h cpukit/libnetworking/sys/socket.h cpukit/libnetworking/sys/socketvar.h cpukit/libnetworking/sys/sysctl.h cpukit/libnetworking/sys/syslimits.h cpukit/libnetworking/sys/syslog.h cpukit/libnetworking/sys/systm.h cpukit/libnetworking/sys/ttydefaults.h cpukit/libnetworking/sys/ucred.h cpukit/libnetworking/sys/uio.h cpukit/libnetworking/syslog.h cpukit/libnetworking/vm/vm.h cpukit/libnetworking/vm/vm_extern.h cpukit/libnetworking/vm/vm_kern.h cpukit/libnetworking/vm/vm_param.h cpukit/posix/include/aio.h cpukit/posix/include/devctl.h cpukit/posix/include/intr.h cpukit/posix/include/mqueue.h cpukit/posix/include/rtems/posix/cancel.h cpukit/posix/include/rtems/posix/cond.h cpukit/posix/include/rtems/posix/condmp.h cpukit/posix/include/rtems/posix/config.h cpukit/posix/include/rtems/posix/intr.h cpukit/posix/include/rtems/posix/key.h cpukit/posix/include/rtems/posix/mqueue.h cpukit/posix/include/rtems/posix/mqueuemp.h cpukit/posix/include/rtems/posix/mutex.h cpukit/posix/include/rtems/posix/mutexmp.h cpukit/posix/include/rtems/posix/posixapi.h cpukit/posix/include/rtems/posix/priority.h cpukit/posix/include/rtems/posix/psignal.h cpukit/posix/include/rtems/posix/pthread.h cpukit/posix/include/rtems/posix/pthreadmp.h cpukit/posix/include/rtems/posix/semaphore.h cpukit/posix/include/rtems/posix/semaphoremp.h cpukit/posix/include/rtems/posix/threadsup.h cpukit/posix/include/rtems/posix/time.h cpukit/posix/include/sched.h cpukit/posix/include/semaphore.h cpukit/posix/inline/rtems/posix/cond.inl cpukit/posix/inline/rtems/posix/intr.inl cpukit/posix/inline/rtems/posix/key.inl cpukit/posix/inline/rtems/posix/mqueue.inl cpukit/posix/inline/rtems/posix/mutex.inl cpukit/posix/inline/rtems/posix/priority.inl cpukit/posix/inline/rtems/posix/pthread.inl cpukit/posix/inline/rtems/posix/semaphore.inl cpukit/posix/src/adasupp.c cpukit/posix/src/aio.c cpukit/posix/src/cancel.c cpukit/posix/src/cond.c cpukit/posix/src/devctl.c cpukit/posix/src/execl.c cpukit/posix/src/execle.c cpukit/posix/src/execlp.c cpukit/posix/src/execv.c cpukit/posix/src/execve.c cpukit/posix/src/execvp.c cpukit/posix/src/fork.c cpukit/posix/src/getpid.c cpukit/posix/src/intr.c cpukit/posix/src/key.c cpukit/posix/src/mqueue.c cpukit/posix/src/mutex.c cpukit/posix/src/psignal.c cpukit/posix/src/pthread.c cpukit/posix/src/pthreadatfork.c cpukit/posix/src/ptimer.c cpukit/posix/src/sched.c cpukit/posix/src/semaphore.c cpukit/posix/src/time.c cpukit/posix/src/types.c cpukit/posix/src/wait.c cpukit/posix/src/waitpid.c cpukit/rtems/include/rtems.h cpukit/rtems/include/rtems/rtems/asr.h cpukit/rtems/include/rtems/rtems/attr.h cpukit/rtems/include/rtems/rtems/clock.h cpukit/rtems/include/rtems/rtems/config.h cpukit/rtems/include/rtems/rtems/dpmem.h cpukit/rtems/include/rtems/rtems/event.h cpukit/rtems/include/rtems/rtems/eventmp.h cpukit/rtems/include/rtems/rtems/eventset.h cpukit/rtems/include/rtems/rtems/intr.h cpukit/rtems/include/rtems/rtems/message.h cpukit/rtems/include/rtems/rtems/modes.h cpukit/rtems/include/rtems/rtems/mp.h cpukit/rtems/include/rtems/rtems/msgmp.h cpukit/rtems/include/rtems/rtems/options.h cpukit/rtems/include/rtems/rtems/part.h cpukit/rtems/include/rtems/rtems/partmp.h cpukit/rtems/include/rtems/rtems/ratemon.h cpukit/rtems/include/rtems/rtems/region.h cpukit/rtems/include/rtems/rtems/regionmp.h cpukit/rtems/include/rtems/rtems/rtemsapi.h cpukit/rtems/include/rtems/rtems/sem.h cpukit/rtems/include/rtems/rtems/semmp.h cpukit/rtems/include/rtems/rtems/signal.h cpukit/rtems/include/rtems/rtems/signalmp.h cpukit/rtems/include/rtems/rtems/status.h cpukit/rtems/include/rtems/rtems/support.h cpukit/rtems/include/rtems/rtems/taskmp.h cpukit/rtems/include/rtems/rtems/tasks.h cpukit/rtems/include/rtems/rtems/timer.h cpukit/rtems/include/rtems/rtems/types.h cpukit/rtems/inline/rtems/rtems/asr.inl cpukit/rtems/inline/rtems/rtems/attr.inl cpukit/rtems/inline/rtems/rtems/dpmem.inl cpukit/rtems/inline/rtems/rtems/event.inl cpukit/rtems/inline/rtems/rtems/eventset.inl cpukit/rtems/inline/rtems/rtems/message.inl cpukit/rtems/inline/rtems/rtems/modes.inl cpukit/rtems/inline/rtems/rtems/options.inl cpukit/rtems/inline/rtems/rtems/part.inl cpukit/rtems/inline/rtems/rtems/ratemon.inl cpukit/rtems/inline/rtems/rtems/region.inl cpukit/rtems/inline/rtems/rtems/sem.inl cpukit/rtems/inline/rtems/rtems/status.inl cpukit/rtems/inline/rtems/rtems/support.inl cpukit/rtems/inline/rtems/rtems/tasks.inl cpukit/rtems/inline/rtems/rtems/timer.inl cpukit/rtems/macros/rtems/rtems/asr.inl cpukit/rtems/macros/rtems/rtems/attr.inl cpukit/rtems/macros/rtems/rtems/dpmem.inl cpukit/rtems/macros/rtems/rtems/event.inl cpukit/rtems/macros/rtems/rtems/eventset.inl cpukit/rtems/macros/rtems/rtems/message.inl cpukit/rtems/macros/rtems/rtems/modes.inl cpukit/rtems/macros/rtems/rtems/options.inl cpukit/rtems/macros/rtems/rtems/part.inl cpukit/rtems/macros/rtems/rtems/ratemon.inl cpukit/rtems/macros/rtems/rtems/region.inl cpukit/rtems/macros/rtems/rtems/sem.inl cpukit/rtems/macros/rtems/rtems/status.inl cpukit/rtems/macros/rtems/rtems/support.inl cpukit/rtems/macros/rtems/rtems/tasks.inl cpukit/rtems/macros/rtems/rtems/timer.inl cpukit/rtems/src/attr.c cpukit/rtems/src/dpmem.c cpukit/rtems/src/event.c cpukit/rtems/src/eventmp.c cpukit/rtems/src/intr.c cpukit/rtems/src/intrbody.c cpukit/rtems/src/mp.c cpukit/rtems/src/msg.c cpukit/rtems/src/msgmp.c cpukit/rtems/src/part.c cpukit/rtems/src/partmp.c cpukit/rtems/src/ratemon.c cpukit/rtems/src/region.c cpukit/rtems/src/regionmp.c cpukit/rtems/src/rtclock.c cpukit/rtems/src/rtemstimer.c cpukit/rtems/src/sem.c cpukit/rtems/src/semmp.c cpukit/rtems/src/signal.c cpukit/rtems/src/signalmp.c cpukit/rtems/src/taskmp.c cpukit/rtems/src/tasks.c cpukit/sapi/include/confdefs.h cpukit/sapi/include/rtems/README cpukit/sapi/include/rtems/config.h cpukit/sapi/include/rtems/extension.h cpukit/sapi/include/rtems/fatal.h cpukit/sapi/include/rtems/init.h cpukit/sapi/include/rtems/io.h cpukit/sapi/include/rtems/mptables.h cpukit/sapi/inline/rtems/extension.inl cpukit/sapi/macros/rtems/extension.inl cpukit/sapi/src/debug.c cpukit/sapi/src/exinit.c cpukit/sapi/src/extension.c cpukit/sapi/src/fatal.c cpukit/sapi/src/io.c cpukit/sapi/src/posixapi.c cpukit/sapi/src/rtemsapi.c cpukit/score/cpu/a29k/amd.ah cpukit/score/cpu/a29k/asm.h cpukit/score/cpu/a29k/cpu.c cpukit/score/cpu/a29k/pswmacro.ah cpukit/score/cpu/a29k/register.ah cpukit/score/cpu/hppa1.1/cpu.c cpukit/score/cpu/i386/asm.h cpukit/score/cpu/i386/cpu.c cpukit/score/cpu/i386/rtems/asm.h cpukit/score/cpu/i960/asm.h cpukit/score/cpu/i960/cpu.c cpukit/score/cpu/m68k/asm.h cpukit/score/cpu/m68k/cpu.c cpukit/score/cpu/m68k/m68302.h cpukit/score/cpu/m68k/m68360.h cpukit/score/cpu/m68k/memcpy.c cpukit/score/cpu/m68k/qsm.h cpukit/score/cpu/m68k/rtems/asm.h cpukit/score/cpu/m68k/rtems/m68k/m68302.h cpukit/score/cpu/m68k/rtems/m68k/m68360.h cpukit/score/cpu/m68k/rtems/m68k/qsm.h cpukit/score/cpu/m68k/rtems/m68k/sim.h cpukit/score/cpu/m68k/sim.h cpukit/score/cpu/mips/asm.h cpukit/score/cpu/mips/cpu.c cpukit/score/cpu/mips/cpu_asm.S cpukit/score/cpu/mips/idtcpu.h cpukit/score/cpu/mips/iregdef.h cpukit/score/cpu/mips/rtems/asm.h cpukit/score/cpu/mips/rtems/mips/idtcpu.h cpukit/score/cpu/mips/rtems/mips/iregdef.h cpukit/score/cpu/mips64orion/asm.h cpukit/score/cpu/mips64orion/cpu.c cpukit/score/cpu/mips64orion/cpu_asm.S cpukit/score/cpu/mips64orion/cpu_asm.h cpukit/score/cpu/mips64orion/idtcpu.h cpukit/score/cpu/mips64orion/idtmon.h cpukit/score/cpu/mips64orion/iregdef.h cpukit/score/cpu/no_cpu/asm.h cpukit/score/cpu/no_cpu/cpu.c cpukit/score/cpu/no_cpu/cpu_asm.c cpukit/score/cpu/no_cpu/rtems/asm.h cpukit/score/cpu/sh/asm.h cpukit/score/cpu/sh/cpu.c cpukit/score/cpu/sh/rtems/asm.h cpukit/score/cpu/sparc/README cpukit/score/cpu/sparc/asm.h cpukit/score/cpu/sparc/cpu.c cpukit/score/cpu/sparc/rtems/asm.h cpukit/score/cpu/unix/cpu.c cpukit/score/include/rtems/debug.h cpukit/score/include/rtems/score/address.h cpukit/score/include/rtems/score/apiext.h cpukit/score/include/rtems/score/bitfield.h cpukit/score/include/rtems/score/chain.h cpukit/score/include/rtems/score/context.h cpukit/score/include/rtems/score/copyrt.h cpukit/score/include/rtems/score/coremsg.h cpukit/score/include/rtems/score/coremutex.h cpukit/score/include/rtems/score/coresem.h cpukit/score/include/rtems/score/heap.h cpukit/score/include/rtems/score/interr.h cpukit/score/include/rtems/score/isr.h cpukit/score/include/rtems/score/mpci.h cpukit/score/include/rtems/score/mppkt.h cpukit/score/include/rtems/score/object.h cpukit/score/include/rtems/score/objectmp.h cpukit/score/include/rtems/score/priority.h cpukit/score/include/rtems/score/stack.h cpukit/score/include/rtems/score/states.h cpukit/score/include/rtems/score/sysstate.h cpukit/score/include/rtems/score/thread.h cpukit/score/include/rtems/score/threadmp.h cpukit/score/include/rtems/score/threadq.h cpukit/score/include/rtems/score/tod.h cpukit/score/include/rtems/score/tqdata.h cpukit/score/include/rtems/score/userext.h cpukit/score/include/rtems/score/watchdog.h cpukit/score/include/rtems/score/wkspace.h cpukit/score/include/rtems/system.h cpukit/score/inline/rtems/score/address.inl cpukit/score/inline/rtems/score/chain.inl cpukit/score/inline/rtems/score/coremsg.inl cpukit/score/inline/rtems/score/coremutex.inl cpukit/score/inline/rtems/score/coresem.inl cpukit/score/inline/rtems/score/heap.inl cpukit/score/inline/rtems/score/isr.inl cpukit/score/inline/rtems/score/mppkt.inl cpukit/score/inline/rtems/score/object.inl cpukit/score/inline/rtems/score/objectmp.inl cpukit/score/inline/rtems/score/priority.inl cpukit/score/inline/rtems/score/stack.inl cpukit/score/inline/rtems/score/states.inl cpukit/score/inline/rtems/score/sysstate.inl cpukit/score/inline/rtems/score/thread.inl cpukit/score/inline/rtems/score/threadmp.inl cpukit/score/inline/rtems/score/tod.inl cpukit/score/inline/rtems/score/tqdata.inl cpukit/score/inline/rtems/score/userext.inl cpukit/score/inline/rtems/score/watchdog.inl cpukit/score/inline/rtems/score/wkspace.inl cpukit/score/macros/README cpukit/score/macros/rtems/score/README cpukit/score/macros/rtems/score/address.inl cpukit/score/macros/rtems/score/chain.inl cpukit/score/macros/rtems/score/coremsg.inl cpukit/score/macros/rtems/score/coremutex.inl cpukit/score/macros/rtems/score/coresem.inl cpukit/score/macros/rtems/score/heap.inl cpukit/score/macros/rtems/score/isr.inl cpukit/score/macros/rtems/score/mppkt.inl cpukit/score/macros/rtems/score/object.inl cpukit/score/macros/rtems/score/objectmp.inl cpukit/score/macros/rtems/score/priority.inl cpukit/score/macros/rtems/score/stack.inl cpukit/score/macros/rtems/score/states.inl cpukit/score/macros/rtems/score/sysstate.inl cpukit/score/macros/rtems/score/thread.inl cpukit/score/macros/rtems/score/threadmp.inl cpukit/score/macros/rtems/score/tod.inl cpukit/score/macros/rtems/score/tqdata.inl cpukit/score/macros/rtems/score/userext.inl cpukit/score/macros/rtems/score/watchdog.inl cpukit/score/macros/rtems/score/wkspace.inl cpukit/score/src/apiext.c cpukit/score/src/chain.c cpukit/score/src/coremsg.c cpukit/score/src/coremutex.c cpukit/score/src/coresem.c cpukit/score/src/coretod.c cpukit/score/src/heap.c cpukit/score/src/interr.c cpukit/score/src/isr.c cpukit/score/src/mpci.c cpukit/score/src/object.c cpukit/score/src/objectmp.c cpukit/score/src/thread.c cpukit/score/src/threadmp.c cpukit/score/src/threadq.c cpukit/score/src/userext.c cpukit/score/src/watchdog.c cpukit/score/src/wkspace.c cpukit/zlib/doc/rfc1950.txt cpukit/zlib/doc/rfc1951.txt cpukit/zlib/doc/rfc1952.txt doc/HELP.html doc/Make.config doc/Makefile doc/README doc/TODO doc/ada_user/Makefile doc/ada_user/ada_user.texi doc/ada_user/example.texi doc/archgrey.gif doc/bsp_howto/Makefile doc/bsp_howto/analog.t doc/bsp_howto/bsp_howto.texi doc/bsp_howto/clock.t doc/bsp_howto/console.t doc/bsp_howto/discrete.t doc/bsp_howto/init.t doc/bsp_howto/intro.t doc/bsp_howto/linkcmds.t doc/bsp_howto/makefiles.t doc/bsp_howto/network.t doc/bsp_howto/nvmem.t doc/bsp_howto/rtc.t doc/bsp_howto/shmsupp.t doc/bsp_howto/support.t doc/bsp_howto/target.t doc/bsp_howto/timer.t doc/common/cpright.texi doc/common/oaronly.jpg doc/common/setup.texi doc/common/timemac.texi doc/common/timetbl.t doc/common/timing.t doc/common/treedef.tex doc/common/up-arrow.gif doc/common/wksheets.t doc/develenv/Makefile doc/develenv/compile.texi doc/develenv/develenv.texi doc/develenv/direct.texi doc/develenv/intro.texi doc/develenv/sample.texi doc/develenv/utils.texi doc/do_docs doc/index.html doc/networking/Makefile doc/networking/driver.t doc/networking/networkapp.t doc/networking/networking.eps doc/networking/networking.gif doc/networking/networking.texi doc/networking/networktasks.t doc/networking/preface.texi doc/networking/testing.t doc/new_chapters/Makefile doc/new_chapters/STATUS doc/new_chapters/adminiface.t doc/new_chapters/base.t doc/new_chapters/cancel.t doc/new_chapters/clock.t doc/new_chapters/cond.t doc/new_chapters/confspace.t doc/new_chapters/cspecific.t doc/new_chapters/device.t doc/new_chapters/dumpcontrol.t doc/new_chapters/eventlog.t doc/new_chapters/files.t doc/new_chapters/gen_section doc/new_chapters/io.t doc/new_chapters/key.t doc/new_chapters/memorymgmt.t doc/new_chapters/message.t doc/new_chapters/mutex.t doc/new_chapters/posix_users.texi doc/new_chapters/preface.texi doc/new_chapters/procenv.t doc/new_chapters/process.t doc/new_chapters/sched.t doc/new_chapters/semaphores.t doc/new_chapters/signal.t doc/new_chapters/systemdb.t doc/new_chapters/thread.t doc/oaronly.jpg doc/posix1003.1/Makefile doc/posix1003.1/ch01.t doc/posix1003.1/ch02.t doc/posix1003.1/ch03.t doc/posix1003.1/ch04.t doc/posix1003.1/ch05.t doc/posix1003.1/ch06.t doc/posix1003.1/ch07.t doc/posix1003.1/ch08.t doc/posix1003.1/ch09.t doc/posix1003.1/ch10.t doc/posix1003.1/ch11.t doc/posix1003.1/ch12.t doc/posix1003.1/ch13.t doc/posix1003.1/ch14.t doc/posix1003.1/ch15.t doc/posix1003.1/ch16.t doc/posix1003.1/ch17.t doc/posix1003.1/ch18.t doc/posix1003.1/posix1003_1.texi doc/posix1003.1/preface.texi doc/posix1003.1/summarize doc/posix_users/Makefile doc/posix_users/base.texi doc/posix_users/clock.texi doc/posix_users/cond.texi doc/posix_users/key.texi doc/posix_users/mutex.texi doc/posix_users/posix_users.texi doc/posix_users/preface.texi doc/posix_users/sched.texi doc/posix_users/signal.texi doc/posix_users/thread.texi doc/relnotes/Makefile doc/relnotes/install.texi doc/relnotes/intro.texi doc/relnotes/probrep.texi doc/relnotes/relnotes.texi doc/relnotes/status.texi doc/rtems_footer.html doc/rtems_header.html doc/rtems_support.html doc/src2html/Makefile doc/src2html/RTEMS.test doc/started/Makefile doc/started/buildc.t doc/started/buildrt.t doc/started/gdb.t doc/started/intro.t doc/started/nt.t doc/started/pictures/bit_ada.jpg doc/started/pictures/bit_ada.vsd doc/started/pictures/bit_c.jpg doc/started/pictures/bit_c.vsd doc/started/pictures/scfile10.jpg doc/started/pictures/scfile10.vsd doc/started/pictures/scfile11.jpg doc/started/pictures/scfile11.vsd doc/started/pictures/scfile12.jpg doc/started/pictures/scfile12.vsd doc/started/pictures/scfile13.jpg doc/started/pictures/scfile13.vsd doc/started/pictures/scsfile1.jpg doc/started/pictures/scsfile1.vsd doc/started/pictures/scsfile2.jpg doc/started/pictures/scsfile2.vsd doc/started/pictures/scsfile3.jpg doc/started/pictures/scsfile3.vsd doc/started/pictures/scsfile4.jpg doc/started/pictures/scsfile4.vsd doc/started/pictures/scsfile5.jpg doc/started/pictures/scsfile5.vsd doc/started/pictures/scsfile6.jpg doc/started/pictures/scsfile6.vsd doc/started/pictures/scsfile7.jpg doc/started/pictures/scsfile7.vsd doc/started/pictures/scsfile8.jpg doc/started/pictures/scsfile8.vsd doc/started/pictures/scsfile9.jpg doc/started/pictures/scsfile9.vsd doc/started/pictures/sfile12c.jpg doc/started/pictures/sfile12c.vsd doc/started/require.t doc/started/sample.t doc/started/started.texi doc/started/versions.texi doc/started_ada/Makefile doc/started_ada/buildada.t doc/started_ada/buildrt.t doc/started_ada/gdb.t doc/started_ada/intro.t doc/started_ada/require.t doc/started_ada/sample.t doc/started_ada/started_ada.texi doc/started_ada/versions.texi doc/supplements/hppa1_1/Makefile doc/supplements/hppa1_1/SIMHPPA_TIMES doc/supplements/hppa1_1/bsp.t doc/supplements/hppa1_1/callconv.t doc/supplements/hppa1_1/cpumodel.t doc/supplements/hppa1_1/cputable.t doc/supplements/hppa1_1/fatalerr.t doc/supplements/hppa1_1/hppa1_1.texi doc/supplements/hppa1_1/intr_NOTIMES.t doc/supplements/hppa1_1/memmodel.t doc/supplements/hppa1_1/preface.texi doc/supplements/hppa1_1/timeSIMHPPA.t doc/supplements/i386/FORCE386_TIMES doc/supplements/i386/Makefile doc/supplements/i386/bsp.t doc/supplements/i386/callconv.t doc/supplements/i386/cpumodel.t doc/supplements/i386/cputable.t doc/supplements/i386/fatalerr.t doc/supplements/i386/i386.texi doc/supplements/i386/intr_NOTIMES.t doc/supplements/i386/memmodel.t doc/supplements/i386/preface.texi doc/supplements/i386/timeFORCE386.t doc/supplements/i960/CVME961_TIMES doc/supplements/i960/Makefile doc/supplements/i960/bsp.t doc/supplements/i960/callconv.t doc/supplements/i960/cpumodel.t doc/supplements/i960/cputable.t doc/supplements/i960/fatalerr.t doc/supplements/i960/i960.texi doc/supplements/i960/intr_NOTIMES.t doc/supplements/i960/memmodel.t doc/supplements/i960/preface.texi doc/supplements/i960/timeCVME961.t doc/supplements/m68k/MVME136_TIMES doc/supplements/m68k/Makefile doc/supplements/m68k/bsp.t doc/supplements/m68k/callconv.t doc/supplements/m68k/cpumodel.t doc/supplements/m68k/cputable.t doc/supplements/m68k/fatalerr.t doc/supplements/m68k/intr_NOTIMES.t doc/supplements/m68k/m68k.texi doc/supplements/m68k/memmodel.t doc/supplements/m68k/preface.texi doc/supplements/m68k/timeMVME136.t doc/supplements/m68k/timedata.t doc/supplements/powerpc/DMV177_TIMES doc/supplements/powerpc/Makefile doc/supplements/powerpc/PSIM_TIMES doc/supplements/powerpc/bsp.t doc/supplements/powerpc/callconv.t doc/supplements/powerpc/cpumodel.t doc/supplements/powerpc/cputable.t doc/supplements/powerpc/fatalerr.t doc/supplements/powerpc/intr_NOTIMES.t doc/supplements/powerpc/memmodel.t doc/supplements/powerpc/powerpc.texi doc/supplements/powerpc/preface.texi doc/supplements/powerpc/timeDMV177.t doc/supplements/powerpc/timePSIM.t doc/supplements/sh/callconv.texi doc/supplements/sparc/ERC32_TIMES doc/supplements/sparc/Makefile doc/supplements/sparc/bsp.t doc/supplements/sparc/callconv.t doc/supplements/sparc/cpumodel.t doc/supplements/sparc/cputable.t doc/supplements/sparc/fatalerr.t doc/supplements/sparc/intr_NOTIMES.t doc/supplements/sparc/memmodel.t doc/supplements/sparc/preface.texi doc/supplements/sparc/sparc.texi doc/supplements/sparc/timeERC32.t doc/supplements/template/BSP_TIMES doc/supplements/template/Makefile doc/supplements/template/bsp.t doc/supplements/template/callconv.t doc/supplements/template/cpumodel.t doc/supplements/template/cputable.t doc/supplements/template/fatalerr.t doc/supplements/template/intr_NOTIMES.t doc/supplements/template/memmodel.t doc/supplements/template/preface.texi doc/supplements/template/template.texi doc/supplements/template/timeBSP.t doc/texinfo/texinfo.tex doc/tools/bmenu/Makefile doc/tools/bmenu/address.h doc/tools/bmenu/address.inl doc/tools/bmenu/base.h doc/tools/bmenu/chain.c doc/tools/bmenu/chain.h doc/tools/bmenu/chain.inl doc/tools/bmenu/isr.h doc/tools/bmenu/main.c doc/tools/bmenu/system.h doc/tools/bmenu/testdoc.texi doc/tools/pdl2texi/Drive.d doc/tools/pdl2texi/Makefile doc/tools/pdl2texi/address.h doc/tools/pdl2texi/address.inl doc/tools/pdl2texi/afcc.texi doc/tools/pdl2texi/base.h doc/tools/pdl2texi/chain.c doc/tools/pdl2texi/chain.h doc/tools/pdl2texi/chain.inl doc/tools/pdl2texi/drive.d doc/tools/pdl2texi/isr.h doc/tools/pdl2texi/main.c doc/tools/pdl2texi/s.d doc/tools/pdl2texi/sample.d doc/tools/pdl2texi/system.h doc/tools/pdl2texi/t1.d doc/tools/pdl2texi/test_cases/avdas.d doc/tools/pdl2texi/test_cases/enum.d doc/tools/pdl2texi/test_cases/enumbad.d doc/tools/pdl2texi/test_cases/table.d doc/tools/src2html/Makefile doc/tools/src2html1.4a/Ctags/C.c doc/tools/src2html1.4a/Ctags/Makefile doc/tools/src2html1.4a/Ctags/ctags.1 doc/tools/src2html1.4a/Ctags/ctags.c doc/tools/src2html1.4a/Ctags/ctags.h doc/tools/src2html1.4a/Ctags/fortran.c doc/tools/src2html1.4a/Ctags/lisp.c doc/tools/src2html1.4a/Ctags/print.c doc/tools/src2html1.4a/Ctags/strerror.c doc/tools/src2html1.4a/Ctags/tree.c doc/tools/src2html1.4a/Ctags/yacc.c doc/tools/src2html1.4a/Ctags/z.c doc/tools/src2html1.4a/FreeBSD/FreeBSD.hdr doc/tools/src2html1.4a/FreeBSD/FreeBSD.s2h doc/tools/src2html1.4a/FreeBSD/conf.hdr doc/tools/src2html1.4a/FreeBSD/ddb.hdr doc/tools/src2html1.4a/FreeBSD/i386.i386.hdr doc/tools/src2html1.4a/FreeBSD/i386.include.hdr doc/tools/src2html1.4a/FreeBSD/i386.isa.hdr doc/tools/src2html1.4a/FreeBSD/i386.stand.hdr doc/tools/src2html1.4a/FreeBSD/kern.hdr doc/tools/src2html1.4a/FreeBSD/net.hdr doc/tools/src2html1.4a/FreeBSD/netinet.hdr doc/tools/src2html1.4a/FreeBSD/nfs.hdr doc/tools/src2html1.4a/FreeBSD/stand.hdr doc/tools/src2html1.4a/FreeBSD/sys.hdr doc/tools/src2html1.4a/FreeBSD/ufs.hdr doc/tools/src2html1.4a/FreeBSD/vm.hdr doc/tools/src2html1.4a/Readme doc/tools/src2html1.4a/ctags-emacs/README doc/tools/src2html1.4a/ctags-emacs/ctags doc/tools/src2html1.4a/ctags-emacs/etags.c-ada-patch doc/tools/src2html1.4a/ctags-wr doc/tools/src2html1.4a/src2html doc/tools/src2html1.4a/src2html.1 doc/tools/src2html1.4a/src2html.cgi doc/tools/texi2www/Makefile doc/tools/texi2www/archive/texi2www-960103.tgz doc/tools/texi2www/dir-arrow.gif doc/tools/texi2www/missing-arrow.gif doc/tools/texi2www/next-arrow.gif doc/tools/texi2www/prev-arrow.gif doc/tools/texi2www/texi2dvi doc/tools/texi2www/texi2www doc/tools/texi2www/texi2www.texi doc/tools/texi2www/up-arrow.gif doc/tools/update doc/tools/word-replace doc/user/Makefile doc/user/bsp.t doc/user/c_user.texi doc/user/clock.t doc/user/concepts.t doc/user/conf.t doc/user/dirstat.texi doc/user/dpmem.t doc/user/event.t doc/user/example.texi doc/user/fatal.t doc/user/glossary.texi doc/user/init.t doc/user/intr.t doc/user/io.t doc/user/mp.t doc/user/msg.t doc/user/overview.t doc/user/part.t doc/user/preface.texi doc/user/region.t doc/user/rtemsarc.gif doc/user/rtemspie.gif doc/user/rtmon.t doc/user/schedule.t doc/user/sem.t doc/user/signal.t doc/user/states.gif doc/user/task.t doc/user/timer.t doc/user/userext.t make/custom/dmv177.cfg testsuites/PROBLEMS testsuites/README testsuites/libtests/README testsuites/libtests/cpuuse/cpuuse.scn testsuites/libtests/cpuuse/init.c testsuites/libtests/cpuuse/system.h testsuites/libtests/cpuuse/task1.c testsuites/libtests/cpuuse/task2.c testsuites/libtests/cpuuse/task3.c testsuites/libtests/cpuuse/tswitch.c testsuites/libtests/malloctest/init.c testsuites/libtests/malloctest/system.h testsuites/libtests/malloctest/task1.c testsuites/libtests/monitor/init.c testsuites/libtests/monitor/system.h testsuites/libtests/rtems++/Init.cc testsuites/libtests/rtems++/System.h testsuites/libtests/rtems++/Task1.cc testsuites/libtests/rtems++/Task2.cc testsuites/libtests/rtems++/Task3.cc testsuites/libtests/rtems++/rtems++.doc testsuites/libtests/rtems++/rtems++.scn testsuites/libtests/rtmonuse/getall.c testsuites/libtests/rtmonuse/init.c testsuites/libtests/rtmonuse/rtmonuse.scn testsuites/libtests/rtmonuse/system.h testsuites/libtests/rtmonuse/task1.c testsuites/libtests/stackchk/blow.c testsuites/libtests/stackchk/init.c testsuites/libtests/stackchk/stackchk.scn testsuites/libtests/stackchk/system.h testsuites/libtests/stackchk/task1.c testsuites/libtests/termios/README testsuites/libtests/termios/init.c testsuites/mptests/README testsuites/mptests/mp01/init.c testsuites/mptests/mp01/node1/mp01.doc testsuites/mptests/mp01/node1/mp01.scn testsuites/mptests/mp01/node2/mp01.doc testsuites/mptests/mp01/node2/mp01.scn testsuites/mptests/mp01/system.h testsuites/mptests/mp01/task1.c testsuites/mptests/mp02/init.c testsuites/mptests/mp02/node1/mp02.doc testsuites/mptests/mp02/node1/mp02.scn testsuites/mptests/mp02/node2/mp02.doc testsuites/mptests/mp02/node2/mp02.scn testsuites/mptests/mp02/system.h testsuites/mptests/mp02/task1.c testsuites/mptests/mp03/delay.c testsuites/mptests/mp03/init.c testsuites/mptests/mp03/node1/mp03.doc testsuites/mptests/mp03/node1/mp03.scn testsuites/mptests/mp03/node2/mp03.doc testsuites/mptests/mp03/node2/mp03.scn testsuites/mptests/mp03/system.h testsuites/mptests/mp03/task1.c testsuites/mptests/mp04/init.c testsuites/mptests/mp04/node1/mp04.doc testsuites/mptests/mp04/node1/mp04.scn testsuites/mptests/mp04/node2/mp04.doc testsuites/mptests/mp04/node2/mp04.scn testsuites/mptests/mp04/system.h testsuites/mptests/mp04/task1.c testsuites/mptests/mp05/asr.c testsuites/mptests/mp05/init.c testsuites/mptests/mp05/node1/mp05.doc testsuites/mptests/mp05/node1/mp05.scn testsuites/mptests/mp05/node2/mp05.doc testsuites/mptests/mp05/node2/mp05.scn testsuites/mptests/mp05/system.h testsuites/mptests/mp05/task1.c testsuites/mptests/mp06/init.c testsuites/mptests/mp06/node1/mp06.doc testsuites/mptests/mp06/node1/mp06.scn testsuites/mptests/mp06/node2/mp06.doc testsuites/mptests/mp06/node2/mp06.scn testsuites/mptests/mp06/system.h testsuites/mptests/mp06/task1.c testsuites/mptests/mp07/init.c testsuites/mptests/mp07/node1/mp07.doc testsuites/mptests/mp07/node1/mp07.scn testsuites/mptests/mp07/node2/mp07.doc testsuites/mptests/mp07/node2/mp07.scn testsuites/mptests/mp07/system.h testsuites/mptests/mp07/task1.c testsuites/mptests/mp08/init.c testsuites/mptests/mp08/node1/mp08.doc testsuites/mptests/mp08/node1/mp08.scn testsuites/mptests/mp08/node2/mp08.doc testsuites/mptests/mp08/node2/mp08.scn testsuites/mptests/mp08/system.h testsuites/mptests/mp08/task1.c testsuites/mptests/mp09/init.c testsuites/mptests/mp09/node1/mp09.doc testsuites/mptests/mp09/node1/mp09.scn testsuites/mptests/mp09/node2/mp09.doc testsuites/mptests/mp09/node2/mp09.scn testsuites/mptests/mp09/recvmsg.c testsuites/mptests/mp09/sendmsg.c testsuites/mptests/mp09/system.h testsuites/mptests/mp09/task1.c testsuites/mptests/mp10/init.c testsuites/mptests/mp10/node1/mp10.doc testsuites/mptests/mp10/node1/mp10.scn testsuites/mptests/mp10/node2/mp10.doc testsuites/mptests/mp10/node2/mp10.scn testsuites/mptests/mp10/system.h testsuites/mptests/mp10/task1.c testsuites/mptests/mp10/task2.c testsuites/mptests/mp10/task3.c testsuites/mptests/mp11/init.c testsuites/mptests/mp11/node1/mp11.doc testsuites/mptests/mp11/node1/mp11.scn testsuites/mptests/mp11/node2/mp11.doc testsuites/mptests/mp11/node2/mp11.scn testsuites/mptests/mp11/system.h testsuites/mptests/mp12/init.c testsuites/mptests/mp12/node1/mp12.doc testsuites/mptests/mp12/node1/mp12.scn testsuites/mptests/mp12/node2/mp12.doc testsuites/mptests/mp12/node2/mp12.scn testsuites/mptests/mp12/system.h testsuites/mptests/mp13/init.c testsuites/mptests/mp13/node1/mp13.doc testsuites/mptests/mp13/node1/mp13.scn testsuites/mptests/mp13/node2/mp13.doc testsuites/mptests/mp13/node2/mp13.scn testsuites/mptests/mp13/system.h testsuites/mptests/mp13/task1.c testsuites/mptests/mp13/task2.c testsuites/mptests/mp14/delay.c testsuites/mptests/mp14/evtask1.c testsuites/mptests/mp14/evtmtask.c testsuites/mptests/mp14/exit.c testsuites/mptests/mp14/init.c testsuites/mptests/mp14/msgtask1.c testsuites/mptests/mp14/node1/mp14.doc testsuites/mptests/mp14/node1/mp14.scn testsuites/mptests/mp14/node2/mp14.doc testsuites/mptests/mp14/node2/mp14.scn testsuites/mptests/mp14/pttask1.c testsuites/mptests/mp14/smtask1.c testsuites/mptests/mp14/system.h testsuites/psxtests/include/pmacros.h testsuites/psxtests/psx01/init.c testsuites/psxtests/psx01/psx01.scn testsuites/psxtests/psx01/system.h testsuites/psxtests/psx01/task.c testsuites/psxtests/psx02/init.c testsuites/psxtests/psx02/psx02.scn testsuites/psxtests/psx02/system.h testsuites/psxtests/psx02/task.c testsuites/psxtests/psx03/init.c testsuites/psxtests/psx03/psx03.scn testsuites/psxtests/psx03/system.h testsuites/psxtests/psx03/task.c testsuites/psxtests/psx04/init.c testsuites/psxtests/psx04/psx04.scn testsuites/psxtests/psx04/system.h testsuites/psxtests/psx04/task1.c testsuites/psxtests/psx04/task2.c testsuites/psxtests/psx04/task3.c testsuites/psxtests/psx05/init.c testsuites/psxtests/psx05/psx05.scn testsuites/psxtests/psx05/system.h testsuites/psxtests/psx05/task.c testsuites/psxtests/psx05/task2.c testsuites/psxtests/psx05/task3.c testsuites/psxtests/psx06/init.c testsuites/psxtests/psx06/psx06.scn testsuites/psxtests/psx06/system.h testsuites/psxtests/psx06/task.c testsuites/psxtests/psx06/task2.c testsuites/psxtests/psx07/init.c testsuites/psxtests/psx07/psx07.scn testsuites/psxtests/psx07/system.h testsuites/psxtests/psx07/task.c testsuites/psxtests/psx08/init.c testsuites/psxtests/psx08/psx08.scn testsuites/psxtests/psx08/system.h testsuites/psxtests/psx08/task2.c testsuites/psxtests/psx09/init.c testsuites/psxtests/psx09/psx09.scn testsuites/psxtests/psx09/system.h testsuites/psxtests/psx10/init.c testsuites/psxtests/psx10/psx10.scn testsuites/psxtests/psx10/system.h testsuites/psxtests/psx10/task.c testsuites/psxtests/psx10/task2.c testsuites/psxtests/psx10/task3.c testsuites/psxtests/psx11/init.c testsuites/psxtests/psx11/psx11.scn testsuites/psxtests/psx11/system.h testsuites/psxtests/psx11/task.c testsuites/psxtests/psx12/init.c testsuites/psxtests/psx12/psx12.scn testsuites/psxtests/psx12/system.h testsuites/psxtests/psx12/task.c testsuites/psxtests/psxhdrs/clock01.c testsuites/psxtests/psxhdrs/clock02.c testsuites/psxtests/psxhdrs/clock03.c testsuites/psxtests/psxhdrs/clock04.c testsuites/psxtests/psxhdrs/clock05.c testsuites/psxtests/psxhdrs/clock06.c testsuites/psxtests/psxhdrs/cond01.c testsuites/psxtests/psxhdrs/cond02.c testsuites/psxtests/psxhdrs/cond03.c testsuites/psxtests/psxhdrs/cond04.c testsuites/psxtests/psxhdrs/cond05.c testsuites/psxtests/psxhdrs/cond06.c testsuites/psxtests/psxhdrs/cond07.c testsuites/psxtests/psxhdrs/cond08.c testsuites/psxtests/psxhdrs/cond09.c testsuites/psxtests/psxhdrs/cond10.c testsuites/psxtests/psxhdrs/key01.c testsuites/psxtests/psxhdrs/key02.c testsuites/psxtests/psxhdrs/key03.c testsuites/psxtests/psxhdrs/key04.c testsuites/psxtests/psxhdrs/mutex01.c testsuites/psxtests/psxhdrs/mutex02.c testsuites/psxtests/psxhdrs/mutex03.c testsuites/psxtests/psxhdrs/mutex04.c testsuites/psxtests/psxhdrs/mutex05.c testsuites/psxtests/psxhdrs/mutex06.c testsuites/psxtests/psxhdrs/mutex07.c testsuites/psxtests/psxhdrs/mutex08.c testsuites/psxtests/psxhdrs/mutex09.c testsuites/psxtests/psxhdrs/mutex10.c testsuites/psxtests/psxhdrs/mutex11.c testsuites/psxtests/psxhdrs/mutex12.c testsuites/psxtests/psxhdrs/mutex13.c testsuites/psxtests/psxhdrs/mutex14.c testsuites/psxtests/psxhdrs/mutex15.c testsuites/psxtests/psxhdrs/mutex16.c testsuites/psxtests/psxhdrs/proc01.c testsuites/psxtests/psxhdrs/proc02.c testsuites/psxtests/psxhdrs/proc03.c testsuites/psxtests/psxhdrs/proc04.c testsuites/psxtests/psxhdrs/proc05.c testsuites/psxtests/psxhdrs/proc06.c testsuites/psxtests/psxhdrs/proc07.c testsuites/psxtests/psxhdrs/proc08.c testsuites/psxtests/psxhdrs/proc09.c testsuites/psxtests/psxhdrs/proc10.c testsuites/psxtests/psxhdrs/proc11.c testsuites/psxtests/psxhdrs/proc12.c testsuites/psxtests/psxhdrs/proc13.c testsuites/psxtests/psxhdrs/proc14.c testsuites/psxtests/psxhdrs/pthread01.c testsuites/psxtests/psxhdrs/pthread02.c testsuites/psxtests/psxhdrs/pthread03.c testsuites/psxtests/psxhdrs/pthread04.c testsuites/psxtests/psxhdrs/pthread05.c testsuites/psxtests/psxhdrs/pthread06.c testsuites/psxtests/psxhdrs/pthread07.c testsuites/psxtests/psxhdrs/pthread08.c testsuites/psxtests/psxhdrs/pthread09.c testsuites/psxtests/psxhdrs/pthread10.c testsuites/psxtests/psxhdrs/pthread11.c testsuites/psxtests/psxhdrs/pthread12.c testsuites/psxtests/psxhdrs/pthread13.c testsuites/psxtests/psxhdrs/pthread14.c testsuites/psxtests/psxhdrs/pthread15.c testsuites/psxtests/psxhdrs/pthread16.c testsuites/psxtests/psxhdrs/pthread17.c testsuites/psxtests/psxhdrs/pthread18.c testsuites/psxtests/psxhdrs/pthread19.c testsuites/psxtests/psxhdrs/pthread20.c testsuites/psxtests/psxhdrs/pthread21.c testsuites/psxtests/psxhdrs/pthread22.c testsuites/psxtests/psxhdrs/pthread23.c testsuites/psxtests/psxhdrs/pthread24.c testsuites/psxtests/psxhdrs/pthread25.c testsuites/psxtests/psxhdrs/pthread26.c testsuites/psxtests/psxhdrs/pthread27.c testsuites/psxtests/psxhdrs/pthread28.c testsuites/psxtests/psxhdrs/pthread29.c testsuites/psxtests/psxhdrs/pthread30.c testsuites/psxtests/psxhdrs/pthread31.c testsuites/psxtests/psxhdrs/pthread32.c testsuites/psxtests/psxhdrs/pthread33.c testsuites/psxtests/psxhdrs/pthread34.c testsuites/psxtests/psxhdrs/pthread35.c testsuites/psxtests/psxhdrs/pthread36.c testsuites/psxtests/psxhdrs/sched01.c testsuites/psxtests/psxhdrs/sched02.c testsuites/psxtests/psxhdrs/sched03.c testsuites/psxtests/psxhdrs/sched04.c testsuites/psxtests/psxhdrs/sched05.c testsuites/psxtests/psxhdrs/sched06.c testsuites/psxtests/psxhdrs/sched07.c testsuites/psxtests/psxhdrs/sched08.c testsuites/psxtests/psxhdrs/signal01.c testsuites/psxtests/psxhdrs/signal02.c testsuites/psxtests/psxhdrs/signal03.c testsuites/psxtests/psxhdrs/signal04.c testsuites/psxtests/psxhdrs/signal05.c testsuites/psxtests/psxhdrs/signal06.c testsuites/psxtests/psxhdrs/signal07.c testsuites/psxtests/psxhdrs/signal08.c testsuites/psxtests/psxhdrs/signal09.c testsuites/psxtests/psxhdrs/signal10.c testsuites/psxtests/psxhdrs/signal11.c testsuites/psxtests/psxhdrs/signal12.c testsuites/psxtests/psxhdrs/signal13.c testsuites/psxtests/psxhdrs/signal14.c testsuites/psxtests/psxhdrs/signal15.c testsuites/psxtests/psxhdrs/signal16.c testsuites/psxtests/psxhdrs/signal17.c testsuites/psxtests/psxhdrs/signal18.c testsuites/psxtests/psxhdrs/signal19.c testsuites/psxtests/psxhdrs/signal20.c testsuites/psxtests/psxhdrs/signal21.c testsuites/psxtests/psxhdrs/signal22.c testsuites/psxtests/psxhdrs/time01.c testsuites/psxtests/psxhdrs/time02.c testsuites/psxtests/psxhdrs/time03.c testsuites/psxtests/psxhdrs/time04.c testsuites/psxtests/psxhdrs/time05.c testsuites/psxtests/psxhdrs/time06.c testsuites/psxtests/psxhdrs/time07.c testsuites/psxtests/psxhdrs/time08.c testsuites/psxtests/psxhdrs/time09.c testsuites/psxtests/psxhdrs/time10.c testsuites/psxtests/psxhdrs/time11.c testsuites/psxtests/psxhdrs/time12.c testsuites/psxtests/psxhdrs/time13.c testsuites/psxtests/psxhdrs/timer01.c testsuites/psxtests/psxhdrs/timer02.c testsuites/psxtests/psxhdrs/timer03.c testsuites/psxtests/psxhdrs/timer04.c testsuites/psxtests/psxhdrs/timer05.c testsuites/psxtests/psxhdrs/timer06.c testsuites/samples/README testsuites/samples/base_mp/apptask.c testsuites/samples/base_mp/init.c testsuites/samples/base_mp/node1/base_mp.doc testsuites/samples/base_mp/node1/base_mp.scn testsuites/samples/base_mp/node2/base_mp.doc testsuites/samples/base_mp/node2/base_mp.scn testsuites/samples/base_mp/system.h testsuites/samples/base_sp/apptask.c testsuites/samples/base_sp/base_sp.doc testsuites/samples/base_sp/base_sp.scn testsuites/samples/base_sp/init.c testsuites/samples/base_sp/system.h testsuites/samples/cdtest/cdtest.scn testsuites/samples/cdtest/init.c testsuites/samples/cdtest/main.cc testsuites/samples/cdtest/system.h testsuites/samples/hello/hello.doc testsuites/samples/hello/hello.scn testsuites/samples/hello/init.c testsuites/samples/hello/system.h testsuites/samples/paranoia/init.c testsuites/samples/paranoia/paranoia.c testsuites/samples/paranoia/paranoia.doc testsuites/samples/paranoia/system.h testsuites/samples/ticker/init.c testsuites/samples/ticker/system.h testsuites/samples/ticker/tasks.c testsuites/samples/ticker/ticker.doc testsuites/samples/ticker/ticker.scn testsuites/sptests/README testsuites/sptests/sp01/init.c testsuites/sptests/sp01/sp01.doc testsuites/sptests/sp01/sp01.scn testsuites/sptests/sp01/system.h testsuites/sptests/sp01/task1.c testsuites/sptests/sp02/init.c testsuites/sptests/sp02/preempt.c testsuites/sptests/sp02/sp02.doc testsuites/sptests/sp02/sp02.scn testsuites/sptests/sp02/system.h testsuites/sptests/sp02/task1.c testsuites/sptests/sp02/task2.c testsuites/sptests/sp02/task3.c testsuites/sptests/sp03/init.c testsuites/sptests/sp03/sp03.doc testsuites/sptests/sp03/sp03.scn testsuites/sptests/sp03/system.h testsuites/sptests/sp03/task1.c testsuites/sptests/sp03/task2.c testsuites/sptests/sp04/init.c testsuites/sptests/sp04/sp04.doc testsuites/sptests/sp04/sp04.scn testsuites/sptests/sp04/system.h testsuites/sptests/sp04/task1.c testsuites/sptests/sp04/task2.c testsuites/sptests/sp04/task3.c testsuites/sptests/sp04/tswitch.c testsuites/sptests/sp05/init.c testsuites/sptests/sp05/sp05.doc testsuites/sptests/sp05/sp05.scn testsuites/sptests/sp05/system.h testsuites/sptests/sp05/task1.c testsuites/sptests/sp05/task2.c testsuites/sptests/sp05/task3.c testsuites/sptests/sp06/init.c testsuites/sptests/sp06/sp06.doc testsuites/sptests/sp06/sp06.scn testsuites/sptests/sp06/system.h testsuites/sptests/sp06/task1.c testsuites/sptests/sp06/task2.c testsuites/sptests/sp06/task3.c testsuites/sptests/sp07/init.c testsuites/sptests/sp07/sp07.doc testsuites/sptests/sp07/sp07.scn testsuites/sptests/sp07/system.h testsuites/sptests/sp07/task1.c testsuites/sptests/sp07/task2.c testsuites/sptests/sp07/task3.c testsuites/sptests/sp07/task4.c testsuites/sptests/sp07/taskexit.c testsuites/sptests/sp07/tcreate.c testsuites/sptests/sp07/tdelete.c testsuites/sptests/sp07/trestart.c testsuites/sptests/sp07/tstart.c testsuites/sptests/sp08/init.c testsuites/sptests/sp08/sp08.doc testsuites/sptests/sp08/sp08.scn testsuites/sptests/sp08/system.h testsuites/sptests/sp08/task1.c testsuites/sptests/sp09/delay.c testsuites/sptests/sp09/init.c testsuites/sptests/sp09/isr.c testsuites/sptests/sp09/screen01.c testsuites/sptests/sp09/screen02.c testsuites/sptests/sp09/screen03.c testsuites/sptests/sp09/screen04.c testsuites/sptests/sp09/screen05.c testsuites/sptests/sp09/screen06.c testsuites/sptests/sp09/screen07.c testsuites/sptests/sp09/screen08.c testsuites/sptests/sp09/screen09.c testsuites/sptests/sp09/screen10.c testsuites/sptests/sp09/screen11.c testsuites/sptests/sp09/screen12.c testsuites/sptests/sp09/screen13.c testsuites/sptests/sp09/screen14.c testsuites/sptests/sp09/sp09.doc testsuites/sptests/sp09/sp09.scn testsuites/sptests/sp09/system.h testsuites/sptests/sp09/task1.c testsuites/sptests/sp09/task2.c testsuites/sptests/sp09/task3.c testsuites/sptests/sp09/task4.c testsuites/sptests/sp11/init.c testsuites/sptests/sp11/sp11.doc testsuites/sptests/sp11/sp11.scn testsuites/sptests/sp11/system.h testsuites/sptests/sp11/task1.c testsuites/sptests/sp11/task2.c testsuites/sptests/sp11/timer.c testsuites/sptests/sp12/init.c testsuites/sptests/sp12/pridrv.c testsuites/sptests/sp12/pritask.c testsuites/sptests/sp12/sp12.doc testsuites/sptests/sp12/sp12.scn testsuites/sptests/sp12/system.h testsuites/sptests/sp12/task1.c testsuites/sptests/sp12/task2.c testsuites/sptests/sp12/task3.c testsuites/sptests/sp12/task4.c testsuites/sptests/sp12/task5.c testsuites/sptests/sp13/fillbuff.c testsuites/sptests/sp13/init.c testsuites/sptests/sp13/putbuff.c testsuites/sptests/sp13/sp13.doc testsuites/sptests/sp13/sp13.scn testsuites/sptests/sp13/system.h testsuites/sptests/sp13/task1.c testsuites/sptests/sp13/task2.c testsuites/sptests/sp13/task3.c testsuites/sptests/sp14/asr.c testsuites/sptests/sp14/init.c testsuites/sptests/sp14/sp14.doc testsuites/sptests/sp14/sp14.scn testsuites/sptests/sp14/system.h testsuites/sptests/sp14/task1.c testsuites/sptests/sp14/task2.c testsuites/sptests/sp15/init.c testsuites/sptests/sp15/sp15.doc testsuites/sptests/sp15/sp15.scn testsuites/sptests/sp15/system.h testsuites/sptests/sp15/task1.c testsuites/sptests/sp16/init.c testsuites/sptests/sp16/sp16.doc testsuites/sptests/sp16/sp16.scn testsuites/sptests/sp16/system.h testsuites/sptests/sp16/task1.c testsuites/sptests/sp16/task2.c testsuites/sptests/sp16/task3.c testsuites/sptests/sp16/task4.c testsuites/sptests/sp16/task5.c testsuites/sptests/sp17/asr.c testsuites/sptests/sp17/init.c testsuites/sptests/sp17/sp17.doc testsuites/sptests/sp17/sp17.scn testsuites/sptests/sp17/system.h testsuites/sptests/sp17/task1.c testsuites/sptests/sp17/task2.c testsuites/sptests/sp19/first.c testsuites/sptests/sp19/fptask.c testsuites/sptests/sp19/fptest.h testsuites/sptests/sp19/init.c testsuites/sptests/sp19/inttest.h testsuites/sptests/sp19/sp19.doc testsuites/sptests/sp19/sp19.scn testsuites/sptests/sp19/system.h testsuites/sptests/sp19/task1.c testsuites/sptests/sp20/getall.c testsuites/sptests/sp20/init.c testsuites/sptests/sp20/sp20.doc testsuites/sptests/sp20/sp20.scn testsuites/sptests/sp20/system.h testsuites/sptests/sp20/task1.c testsuites/sptests/sp21/init.c testsuites/sptests/sp21/sp21.doc testsuites/sptests/sp21/sp21.scn testsuites/sptests/sp21/system.h testsuites/sptests/sp21/task1.c testsuites/sptests/sp22/delay.c testsuites/sptests/sp22/init.c testsuites/sptests/sp22/prtime.c testsuites/sptests/sp22/sp22.doc testsuites/sptests/sp22/sp22.scn testsuites/sptests/sp22/system.h testsuites/sptests/sp22/task1.c testsuites/sptests/sp23/init.c testsuites/sptests/sp23/sp23.doc testsuites/sptests/sp23/sp23.scn testsuites/sptests/sp23/system.h testsuites/sptests/sp23/task1.c testsuites/sptests/sp24/init.c testsuites/sptests/sp24/resume.c testsuites/sptests/sp24/sp24.doc testsuites/sptests/sp24/sp24.scn testsuites/sptests/sp24/system.h testsuites/sptests/sp24/task1.c testsuites/sptests/sp25/init.c testsuites/sptests/sp25/sp25.doc testsuites/sptests/sp25/sp25.scn testsuites/sptests/sp25/system.h testsuites/sptests/sp25/task1.c testsuites/sptests/spfatal/fatal.c testsuites/sptests/spfatal/init.c testsuites/sptests/spfatal/puterr.c testsuites/sptests/spfatal/spfatal.doc testsuites/sptests/spfatal/spfatal.scn testsuites/sptests/spfatal/system.h testsuites/sptests/spfatal/task1.c testsuites/sptests/spsize/getint.c testsuites/sptests/spsize/init.c testsuites/sptests/spsize/size.c testsuites/sptests/spsize/system.h testsuites/support/include/tmacros.h testsuites/tmtests/README testsuites/tmtests/include/timesys.h testsuites/tmtests/tm01/system.h testsuites/tmtests/tm01/task1.c testsuites/tmtests/tm01/tm01.doc testsuites/tmtests/tm02/system.h testsuites/tmtests/tm02/task1.c testsuites/tmtests/tm02/tm02.doc testsuites/tmtests/tm03/system.h testsuites/tmtests/tm03/task1.c testsuites/tmtests/tm03/tm03.doc testsuites/tmtests/tm04/system.h testsuites/tmtests/tm04/task1.c testsuites/tmtests/tm04/tm04.doc testsuites/tmtests/tm05/system.h testsuites/tmtests/tm05/task1.c testsuites/tmtests/tm05/tm05.doc testsuites/tmtests/tm06/system.h testsuites/tmtests/tm06/task1.c testsuites/tmtests/tm06/tm06.doc testsuites/tmtests/tm07/system.h testsuites/tmtests/tm07/task1.c testsuites/tmtests/tm07/tm07.doc testsuites/tmtests/tm08/system.h testsuites/tmtests/tm08/task1.c testsuites/tmtests/tm08/tm08.doc testsuites/tmtests/tm09/system.h testsuites/tmtests/tm09/task1.c testsuites/tmtests/tm09/tm09.doc testsuites/tmtests/tm10/system.h testsuites/tmtests/tm10/task1.c testsuites/tmtests/tm10/tm10.doc testsuites/tmtests/tm11/system.h testsuites/tmtests/tm11/task1.c testsuites/tmtests/tm11/tm11.doc testsuites/tmtests/tm12/system.h testsuites/tmtests/tm12/task1.c testsuites/tmtests/tm12/tm12.doc testsuites/tmtests/tm13/system.h testsuites/tmtests/tm13/task1.c testsuites/tmtests/tm13/tm13.doc testsuites/tmtests/tm14/system.h testsuites/tmtests/tm14/task1.c testsuites/tmtests/tm14/tm14.doc testsuites/tmtests/tm15/system.h testsuites/tmtests/tm15/task1.c testsuites/tmtests/tm15/tm15.doc testsuites/tmtests/tm16/system.h testsuites/tmtests/tm16/task1.c testsuites/tmtests/tm16/tm16.doc testsuites/tmtests/tm17/system.h testsuites/tmtests/tm17/task1.c testsuites/tmtests/tm17/tm17.doc testsuites/tmtests/tm18/system.h testsuites/tmtests/tm18/task1.c testsuites/tmtests/tm18/tm18.doc testsuites/tmtests/tm19/system.h testsuites/tmtests/tm19/task1.c testsuites/tmtests/tm19/tm19.doc testsuites/tmtests/tm20/system.h testsuites/tmtests/tm20/task1.c testsuites/tmtests/tm20/tm20.doc testsuites/tmtests/tm21/system.h testsuites/tmtests/tm21/task1.c testsuites/tmtests/tm21/tm21.doc testsuites/tmtests/tm22/system.h testsuites/tmtests/tm22/task1.c testsuites/tmtests/tm22/tm22.doc testsuites/tmtests/tm23/system.h testsuites/tmtests/tm23/task1.c testsuites/tmtests/tm23/tm23.doc testsuites/tmtests/tm24/system.h testsuites/tmtests/tm24/task1.c testsuites/tmtests/tm24/tm24.doc testsuites/tmtests/tm25/system.h testsuites/tmtests/tm25/task1.c testsuites/tmtests/tm25/tm25.doc testsuites/tmtests/tm26/fptest.h testsuites/tmtests/tm26/system.h testsuites/tmtests/tm26/task1.c testsuites/tmtests/tm26/tm26.doc testsuites/tmtests/tm27/system.h testsuites/tmtests/tm27/task1.c testsuites/tmtests/tm27/tm27.doc testsuites/tmtests/tm28/system.h testsuites/tmtests/tm28/task1.c testsuites/tmtests/tm28/tm28.doc testsuites/tmtests/tm29/system.h testsuites/tmtests/tm29/task1.c testsuites/tmtests/tm29/tm29.doc testsuites/tmtests/tmck/system.h testsuites/tmtests/tmck/task1.c testsuites/tmtests/tmck/tmck.doc testsuites/tmtests/tmoverhd/dumrtems.h testsuites/tmtests/tmoverhd/empty.c testsuites/tmtests/tmoverhd/system.h testsuites/tmtests/tmoverhd/testtask.c testsuites/tmtests/tmoverhd/tmoverhd.doc tools/build/Makefile.in tools/build/README tools/build/binpatch.c tools/build/cklength.c tools/build/eolstrip.c tools/build/install-if-change.in tools/build/lock-directory.in tools/build/os/Makefile.in tools/build/os/msdos/Makefile.in tools/build/os/msdos/README tools/build/os/msdos/cklength.uue tools/build/os/msdos/fixtimer.c tools/build/os/msdos/fixtimer.uue tools/build/os/msdos/ifc.c tools/build/os/msdos/ifc_exe.uue tools/build/packhex.c tools/build/rcs-clean.in tools/build/scripts/Makefile.in tools/build/scripts/README tools/build/scripts/install-if-change.in tools/build/scripts/lock-directory.in tools/build/scripts/rcs-clean.in tools/build/scripts/search-id.sh tools/build/scripts/unlock-directory.in tools/build/search-id.sh tools/build/src/Makefile.in tools/build/src/cklength.c tools/build/src/config.h.in tools/build/src/eolstrip.c tools/build/src/packhex.c tools/build/src/unhex.c tools/build/unhex.c tools/build/unlock-directory.in tools/cpu/Makefile.in tools/cpu/generic/Makefile.in tools/cpu/generic/size_rtems.in tools/cpu/hppa1.1/genoffsets.c tools/cpu/sh/AUTHORS tools/cpu/sh/COPYING tools/cpu/sh/Makefile.in tools/cpu/sh/TODO tools/cpu/sh/sci.c tools/cpu/sh/sci.h tools/cpu/sh/shgen.c tools/cpu/unix/Makefile.in tools/cpu/unix/gensize.c tools/update/310_to_320_list tools/update/Makefile.in tools/update/README tools/update/update.in tools/update/word-replace.in --- c/build-tools/README | 24 - c/build-tools/cklength.c | 377 -- c/build-tools/eolstrip.c | 366 -- c/build-tools/install-if-change.in | 142 - c/build-tools/lock-directory.in | 43 - c/build-tools/packhex.c | 565 --- c/build-tools/rcs-clean.in | 73 - c/build-tools/search-id.sh | 15 - c/build-tools/unhex.c | 738 ---- c/build-tools/unlock-directory.in | 41 - c/src/ada-tests/mptests/mp01/config.h | 33 - c/src/ada-tests/mptests/mp01/mp01.adb | 57 - c/src/ada-tests/mptests/mp01/mptest.adb | 235 -- c/src/ada-tests/mptests/mp01/mptest.ads | 164 - c/src/ada-tests/mptests/mp01/node1/mp01.scn | 15 - .../mp01/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp01/node2/mp01.scn | 15 - .../mp01/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp02/mptest.adb | 213 - c/src/ada-tests/mptests/mp02/mptest.ads | 164 - c/src/ada-tests/mptests/mp02/node1/mp02.scn | 11 - .../mp02/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp02/node2/mp02.scn | 11 - .../mp02/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp03/mptest.adb | 277 -- c/src/ada-tests/mptests/mp03/mptest.ads | 214 - c/src/ada-tests/mptests/mp03/node1/mp03.scn | 28 - .../mp03/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp03/node2/mp03.scn | 28 - .../mp03/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp04/mptest.adb | 169 - c/src/ada-tests/mptests/mp04/mptest.ads | 178 - c/src/ada-tests/mptests/mp04/node1/mp04.scn | 8 - .../mp04/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp04/node2/mp04.scn | 8 - .../mp04/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp05/mptest.adb | 252 -- c/src/ada-tests/mptests/mp05/mptest.ads | 243 -- c/src/ada-tests/mptests/mp05/node1/mp05.scn | 11 - .../mp05/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp05/node2/mp05.scn | 10 - .../mp05/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp06/mptest.adb | 257 -- c/src/ada-tests/mptests/mp06/mptest.ads | 250 -- c/src/ada-tests/mptests/mp06/node1/mp06.scn | 10 - .../mp06/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp06/node2/mp06.scn | 11 - .../mp06/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp07/mptest.adb | 210 - c/src/ada-tests/mptests/mp07/mptest.ads | 210 - c/src/ada-tests/mptests/mp07/node1/mp07.scn | 10 - .../mp07/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp07/node2/mp07.scn | 9 - .../mp07/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp08/mptest.adb | 207 - c/src/ada-tests/mptests/mp08/mptest.ads | 192 - c/src/ada-tests/mptests/mp08/node1/mp08.scn | 9 - .../mp08/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp08/node2/mp08.scn | 10 - .../mp08/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp09/mptest.adb | 381 -- c/src/ada-tests/mptests/mp09/mptest.ads | 254 -- c/src/ada-tests/mptests/mp09/node1/mp09.scn | 20 - .../mp09/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp09/node2/mp09.scn | 26 - .../mp09/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp10/mptest.adb | 301 -- c/src/ada-tests/mptests/mp10/mptest.ads | 224 - c/src/ada-tests/mptests/mp10/node1/mp10.scn | 4 - .../mp10/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp10/node2/mp10.scn | 18 - .../mp10/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp11/mptest.adb | 138 - c/src/ada-tests/mptests/mp11/mptest.ads | 184 - c/src/ada-tests/mptests/mp11/node1/mp11.scn | 10 - .../mp11/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp11/node2/mp11.scn | 2 - .../mp11/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp12/mptest.adb | 152 - c/src/ada-tests/mptests/mp12/mptest.ads | 182 - c/src/ada-tests/mptests/mp12/node1/mp12.scn | 6 - .../mp12/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp12/node2/mp12.scn | 9 - .../mp12/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp13/mptest.adb | 328 -- c/src/ada-tests/mptests/mp13/mptest.ads | 206 - c/src/ada-tests/mptests/mp13/node1/mp13.scn | 14 - .../mp13/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp13/node2/mp13.scn | 16 - .../mp13/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp14/mptest.adb | 764 ---- c/src/ada-tests/mptests/mp14/mptest.ads | 347 -- c/src/ada-tests/mptests/mp14/node1/mp14.scn | 33 - .../mp14/node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/mptests/mp14/node2/mp14.scn | 28 - .../mp14/node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/samples/base_mp/mptest.adb | 108 - c/src/ada-tests/samples/base_mp/mptest.ads | 166 - c/src/ada-tests/samples/base_mp/node1/base_mp.scn | 5 - .../node1/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/samples/base_mp/node2/base_mp.scn | 5 - .../node2/mptest-per_node_configuration.adb | 43 - c/src/ada-tests/samples/base_sp/base_sp.adb | 58 - c/src/ada-tests/samples/base_sp/base_sp.scn | 4 - c/src/ada-tests/samples/base_sp/config.h | 33 - c/src/ada-tests/samples/base_sp/sptest.adb | 98 - c/src/ada-tests/samples/base_sp/sptest.ads | 60 - c/src/ada-tests/samples/hello/config.h | 32 - c/src/ada-tests/samples/hello/hello.adb | 57 - c/src/ada-tests/samples/hello/hello.scn | 3 - c/src/ada-tests/samples/hello/sptest.adb | 52 - c/src/ada-tests/samples/hello/sptest.ads | 48 - c/src/ada-tests/samples/ticker/config.h | 33 - c/src/ada-tests/samples/ticker/sptest.adb | 162 - c/src/ada-tests/samples/ticker/sptest.ads | 60 - c/src/ada-tests/samples/ticker/ticker.adb | 57 - c/src/ada-tests/samples/ticker/ticker.scn | 16 - c/src/ada-tests/sptests/sp01/config.h | 33 - c/src/ada-tests/sptests/sp01/sp01.adb | 57 - c/src/ada-tests/sptests/sp01/sp01.scn | 16 - c/src/ada-tests/sptests/sp01/sptest.adb | 162 - c/src/ada-tests/sptests/sp01/sptest.ads | 60 - c/src/ada-tests/sptests/sp02/config.h | 33 - c/src/ada-tests/sptests/sp02/sp02.adb | 57 - c/src/ada-tests/sptests/sp02/sp02.scn | 15 - c/src/ada-tests/sptests/sp02/sptest.adb | 331 -- c/src/ada-tests/sptests/sp02/sptest.ads | 99 - c/src/ada-tests/sptests/sp03/config.h | 33 - c/src/ada-tests/sptests/sp03/sp03.adb | 57 - c/src/ada-tests/sptests/sp03/sp03.scn | 26 - c/src/ada-tests/sptests/sp03/sptest.adb | 173 - c/src/ada-tests/sptests/sp03/sptest.ads | 74 - c/src/ada-tests/sptests/sp04/README | 13 - c/src/ada-tests/sptests/sp04/config.h | 36 - c/src/ada-tests/sptests/sp04/sp04.adb | 57 - c/src/ada-tests/sptests/sp04/sp04.scn | 23 - c/src/ada-tests/sptests/sp04/sptest.adb | 317 -- c/src/ada-tests/sptests/sp04/sptest.ads | 133 - c/src/ada-tests/sptests/sp05/config.h | 35 - c/src/ada-tests/sptests/sp05/sp05.adb | 57 - c/src/ada-tests/sptests/sp05/sp05.scn | 48 - c/src/ada-tests/sptests/sp05/sptest.adb | 229 - c/src/ada-tests/sptests/sp05/sptest.ads | 84 - c/src/ada-tests/sptests/sp06/config.h | 35 - c/src/ada-tests/sptests/sp06/sp06.adb | 57 - c/src/ada-tests/sptests/sp06/sp06.scn | 38 - c/src/ada-tests/sptests/sp06/sptest.adb | 222 - c/src/ada-tests/sptests/sp06/sptest.ads | 91 - c/src/ada-tests/sptests/sp07/config.h | 36 - c/src/ada-tests/sptests/sp07/sp07.adb | 57 - c/src/ada-tests/sptests/sp07/sp07.scn | 32 - c/src/ada-tests/sptests/sp07/sptest.adb | 496 --- c/src/ada-tests/sptests/sp07/sptest.ads | 186 - c/src/ada-tests/sptests/sp08/config.h | 35 - c/src/ada-tests/sptests/sp08/sp08.adb | 57 - c/src/ada-tests/sptests/sp08/sp08.scn | 20 - c/src/ada-tests/sptests/sp08/sptest.adb | 351 -- c/src/ada-tests/sptests/sp08/sptest.ads | 74 - c/src/ada-tests/sptests/sp09/config.h | 42 - c/src/ada-tests/sptests/sp09/sp09.adb | 57 - c/src/ada-tests/sptests/sp09/sp09.scn | 250 -- c/src/ada-tests/sptests/sp09/sptest.adb | 3208 -------------- c/src/ada-tests/sptests/sp09/sptest.ads | 402 -- c/src/ada-tests/sptests/sp11/config.h | 36 - c/src/ada-tests/sptests/sp11/sp11.adb | 57 - c/src/ada-tests/sptests/sp11/sp11.scn | 74 - c/src/ada-tests/sptests/sp11/sptest.adb | 900 ---- c/src/ada-tests/sptests/sp11/sptest.ads | 178 - c/src/ada-tests/sptests/sp12/config.h | 36 - c/src/ada-tests/sptests/sp12/sp12.adb | 58 - c/src/ada-tests/sptests/sp12/sp12.scn | 78 - c/src/ada-tests/sptests/sp12/sptest.adb | 812 ---- c/src/ada-tests/sptests/sp12/sptest.ads | 142 - c/src/ada-tests/sptests/sp13/config.h | 36 - c/src/ada-tests/sptests/sp13/sp13.adb | 57 - c/src/ada-tests/sptests/sp13/sp13.scn | 66 - c/src/ada-tests/sptests/sp13/sptest.adb | 723 ---- c/src/ada-tests/sptests/sp13/sptest.ads | 132 - c/src/ada-tests/sptests/sp14/config.h | 36 - c/src/ada-tests/sptests/sp14/sp14.adb | 57 - c/src/ada-tests/sptests/sp14/sp14.scn | 33 - c/src/ada-tests/sptests/sp14/sptest.adb | 330 -- c/src/ada-tests/sptests/sp14/sptest.ads | 131 - c/src/ada-tests/sptests/sp15/config.h | 36 - c/src/ada-tests/sptests/sp15/sp15.adb | 57 - c/src/ada-tests/sptests/sp15/sp15.scn | 16 - c/src/ada-tests/sptests/sp15/sptest.adb | 284 -- c/src/ada-tests/sptests/sp15/sptest.ads | 118 - c/src/ada-tests/sptests/sp16/config.h | 36 - c/src/ada-tests/sptests/sp16/sp16.adb | 57 - c/src/ada-tests/sptests/sp16/sp16.scn | 48 - c/src/ada-tests/sptests/sp16/sptest.adb | 686 --- c/src/ada-tests/sptests/sp16/sptest.ads | 195 - c/src/ada-tests/sptests/sp17/config.h | 36 - c/src/ada-tests/sptests/sp17/sp17.adb | 57 - c/src/ada-tests/sptests/sp17/sp17.scn | 8 - c/src/ada-tests/sptests/sp17/sptest.adb | 173 - c/src/ada-tests/sptests/sp17/sptest.ads | 93 - c/src/ada-tests/sptests/sp19/README | 23 - c/src/ada-tests/sptests/sp19/config.h | 33 - c/src/ada-tests/sptests/sp19/sp19.adb | 57 - c/src/ada-tests/sptests/sp19/sp19.scn | 56 - c/src/ada-tests/sptests/sp19/sptest.ads | 102 - c/src/ada-tests/sptests/sp20/config.h | 35 - c/src/ada-tests/sptests/sp20/sp20.adb | 56 - c/src/ada-tests/sptests/sp20/sp20.scn | 27 - c/src/ada-tests/sptests/sp20/sptest.adb | 280 -- c/src/ada-tests/sptests/sp20/sptest.ads | 105 - c/src/ada-tests/sptests/sp21/config.h | 34 - c/src/ada-tests/sptests/sp21/sp21.adb | 57 - c/src/ada-tests/sptests/sp21/sp21.scn | 19 - c/src/ada-tests/sptests/sp21/sptest.adb | 270 -- c/src/ada-tests/sptests/sp21/sptest.ads | 69 - c/src/ada-tests/sptests/sp22/config.h | 35 - c/src/ada-tests/sptests/sp22/sp22.adb | 57 - c/src/ada-tests/sptests/sp22/sp22.scn | 29 - c/src/ada-tests/sptests/sp22/sptest.adb | 299 -- c/src/ada-tests/sptests/sp22/sptest.ads | 92 - c/src/ada-tests/sptests/sp23/config.h | 35 - c/src/ada-tests/sptests/sp23/sp23.adb | 57 - c/src/ada-tests/sptests/sp23/sp23.scn | 9 - c/src/ada-tests/sptests/sp23/sptest.adb | 179 - c/src/ada-tests/sptests/sp23/sptest.ads | 118 - c/src/ada-tests/sptests/sp24/config.h | 35 - c/src/ada-tests/sptests/sp24/sp24.adb | 57 - c/src/ada-tests/sptests/sp24/sp24.scn | 17 - c/src/ada-tests/sptests/sp24/sptest.adb | 171 - c/src/ada-tests/sptests/sp24/sptest.ads | 82 - c/src/ada-tests/sptests/sp25/config.h | 35 - c/src/ada-tests/sptests/sp25/sp25.adb | 57 - c/src/ada-tests/sptests/sp25/sp25.scn | 29 - c/src/ada-tests/sptests/sp25/sptest.adb | 367 -- c/src/ada-tests/sptests/sp25/sptest.ads | 103 - c/src/ada-tests/sptests/spsize/spsize.adb | 57 - c/src/ada-tests/sptests/spsize/sptest.adb | 199 - c/src/ada-tests/sptests/spsize/sptest.ads | 56 - c/src/ada-tests/support/address_io.adb | 47 - c/src/ada-tests/support/address_io.ads | 35 - c/src/ada-tests/support/float_io.ads | 27 - c/src/ada-tests/support/fp.inc | 154 - c/src/ada-tests/support/init.c | 39 - c/src/ada-tests/support/integer.inc | 145 - c/src/ada-tests/support/rtems_calling_overhead.ads | 105 - c/src/ada-tests/support/status_io.ads | 28 - c/src/ada-tests/support/test_support.adb | 236 -- c/src/ada-tests/support/test_support.ads | 173 - c/src/ada-tests/support/time_test_support.adb | 77 - c/src/ada-tests/support/time_test_support.ads | 54 - c/src/ada-tests/support/timer_driver.adb | 45 - c/src/ada-tests/support/timer_driver.ads | 81 - c/src/ada-tests/support/unsigned32_io.ads | 28 - c/src/ada-tests/tmtests/tm01/config.h | 37 - c/src/ada-tests/tmtests/tm01/tm01.adb | 57 - c/src/ada-tests/tmtests/tm01/tmtest.adb | 276 -- c/src/ada-tests/tmtests/tm01/tmtest.ads | 68 - c/src/ada-tests/tmtests/tm02/config.h | 38 - c/src/ada-tests/tmtests/tm02/tm02.adb | 57 - c/src/ada-tests/tmtests/tm02/tmtest.adb | 209 - c/src/ada-tests/tmtests/tm02/tmtest.ads | 103 - c/src/ada-tests/tmtests/tm03/config.h | 38 - c/src/ada-tests/tmtests/tm03/tm03.adb | 57 - c/src/ada-tests/tmtests/tm03/tmtest.adb | 194 - c/src/ada-tests/tmtests/tm03/tmtest.ads | 95 - c/src/ada-tests/tmtests/tm04/config.h | 37 - c/src/ada-tests/tmtests/tm04/tm04.adb | 57 - c/src/ada-tests/tmtests/tm04/tmtest.adb | 501 --- c/src/ada-tests/tmtests/tm04/tmtest.ads | 161 - c/src/ada-tests/tmtests/tm05/config.h | 38 - c/src/ada-tests/tmtests/tm05/tm05.adb | 57 - c/src/ada-tests/tmtests/tm05/tmtest.adb | 174 - c/src/ada-tests/tmtests/tm05/tmtest.ads | 113 - c/src/ada-tests/tmtests/tm06/config.h | 38 - c/src/ada-tests/tmtests/tm06/tm06.adb | 57 - c/src/ada-tests/tmtests/tm06/tmtest.adb | 210 - c/src/ada-tests/tmtests/tm06/tmtest.ads | 104 - c/src/ada-tests/tmtests/tm07/config.h | 38 - c/src/ada-tests/tmtests/tm07/tm07.adb | 57 - c/src/ada-tests/tmtests/tm07/tmtest.adb | 179 - c/src/ada-tests/tmtests/tm07/tmtest.ads | 111 - c/src/ada-tests/tmtests/tm08/config.h | 38 - c/src/ada-tests/tmtests/tm08/tm08.adb | 57 - c/src/ada-tests/tmtests/tm08/tmtest.adb | 341 -- c/src/ada-tests/tmtests/tm08/tmtest.ads | 99 - c/src/ada-tests/tmtests/tm09/config.h | 36 - c/src/ada-tests/tmtests/tm09/tm09.adb | 57 - c/src/ada-tests/tmtests/tm09/tmtest.adb | 302 -- c/src/ada-tests/tmtests/tm09/tmtest.ads | 100 - c/src/ada-tests/tmtests/tm10/config.h | 37 - c/src/ada-tests/tmtests/tm10/tm10.adb | 57 - c/src/ada-tests/tmtests/tm10/tmtest.adb | 225 - c/src/ada-tests/tmtests/tm10/tmtest.ads | 117 - c/src/ada-tests/tmtests/tm11/config.h | 37 - c/src/ada-tests/tmtests/tm11/tm11.adb | 57 - c/src/ada-tests/tmtests/tm11/tmtest.adb | 219 - c/src/ada-tests/tmtests/tm11/tmtest.ads | 114 - c/src/ada-tests/tmtests/tm12/config.h | 37 - c/src/ada-tests/tmtests/tm12/tm12.adb | 57 - c/src/ada-tests/tmtests/tm12/tmtest.adb | 212 - c/src/ada-tests/tmtests/tm12/tmtest.ads | 105 - c/src/ada-tests/tmtests/tm13/config.h | 37 - c/src/ada-tests/tmtests/tm13/tm13.adb | 57 - c/src/ada-tests/tmtests/tm13/tmtest.adb | 217 - c/src/ada-tests/tmtests/tm13/tmtest.ads | 114 - c/src/ada-tests/tmtests/tm14/config.h | 37 - c/src/ada-tests/tmtests/tm14/tm14.adb | 57 - c/src/ada-tests/tmtests/tm14/tmtest.adb | 216 - c/src/ada-tests/tmtests/tm14/tmtest.ads | 105 - c/src/ada-tests/tmtests/tm15/config.h | 37 - c/src/ada-tests/tmtests/tm15/tm15.adb | 57 - c/src/ada-tests/tmtests/tm15/tmtest.adb | 276 -- c/src/ada-tests/tmtests/tm15/tmtest.ads | 109 - c/src/ada-tests/tmtests/tm16/config.h | 37 - c/src/ada-tests/tmtests/tm16/tm16.adb | 57 - c/src/ada-tests/tmtests/tm16/tmtest.adb | 197 - c/src/ada-tests/tmtests/tm16/tmtest.ads | 111 - c/src/ada-tests/tmtests/tm17/config.h | 37 - c/src/ada-tests/tmtests/tm17/tm17.adb | 57 - c/src/ada-tests/tmtests/tm17/tmtest.adb | 160 - c/src/ada-tests/tmtests/tm17/tmtest.ads | 109 - c/src/ada-tests/tmtests/tm18/config.h | 37 - c/src/ada-tests/tmtests/tm18/tm18.adb | 57 - c/src/ada-tests/tmtests/tm18/tmtest.adb | 154 - c/src/ada-tests/tmtests/tm18/tmtest.ads | 97 - c/src/ada-tests/tmtests/tm19/config.h | 37 - c/src/ada-tests/tmtests/tm19/tm19.adb | 57 - c/src/ada-tests/tmtests/tm19/tmtest.adb | 287 -- c/src/ada-tests/tmtests/tm19/tmtest.ads | 144 - c/src/ada-tests/tmtests/tm20/config.h | 37 - c/src/ada-tests/tmtests/tm20/tm20.adb | 57 - c/src/ada-tests/tmtests/tm20/tmtest.adb | 588 --- c/src/ada-tests/tmtests/tm20/tmtest.ads | 151 - c/src/ada-tests/tmtests/tm21/config.h | 43 - c/src/ada-tests/tmtests/tm21/tm21.adb | 57 - c/src/ada-tests/tmtests/tm21/tmtest.adb | 302 -- c/src/ada-tests/tmtests/tm21/tmtest.ads | 122 - c/src/ada-tests/tmtests/tm22/config.h | 37 - c/src/ada-tests/tmtests/tm22/tm22.adb | 57 - c/src/ada-tests/tmtests/tm22/tmtest.adb | 256 -- c/src/ada-tests/tmtests/tm22/tmtest.ads | 119 - c/src/ada-tests/tmtests/tm23/config.h | 37 - c/src/ada-tests/tmtests/tm23/tm23.adb | 57 - c/src/ada-tests/tmtests/tm23/tmtest.adb | 399 -- c/src/ada-tests/tmtests/tm23/tmtest.ads | 130 - c/src/ada-tests/tmtests/tm24/config.h | 36 - c/src/ada-tests/tmtests/tm24/tm24.adb | 57 - c/src/ada-tests/tmtests/tm24/tmtest.adb | 165 - c/src/ada-tests/tmtests/tm24/tmtest.ads | 99 - c/src/ada-tests/tmtests/tm25/config.h | 37 - c/src/ada-tests/tmtests/tm25/tm25.adb | 57 - c/src/ada-tests/tmtests/tm25/tmtest.adb | 157 - c/src/ada-tests/tmtests/tm25/tmtest.ads | 80 - c/src/ada-tests/tmtests/tm26/README | 6 - c/src/ada-tests/tmtests/tm26/config.h | 37 - c/src/ada-tests/tmtests/tm26/tm26.adb | 57 - c/src/ada-tests/tmtests/tm26/tmtest.adp | 650 --- c/src/ada-tests/tmtests/tm26/tmtest.ads | 189 - c/src/ada-tests/tmtests/tm27/README | 8 - c/src/ada-tests/tmtests/tm27/config.h | 36 - c/src/ada-tests/tmtests/tm27/tm27.adb | 57 - c/src/ada-tests/tmtests/tm27/tmtest.adb | 268 -- c/src/ada-tests/tmtests/tm27/tmtest.ads | 131 - c/src/ada-tests/tmtests/tm28/config.h | 37 - c/src/ada-tests/tmtests/tm28/tm28.adb | 57 - c/src/ada-tests/tmtests/tm28/tmtest.adb | 176 - c/src/ada-tests/tmtests/tm28/tmtest.ads | 106 - c/src/ada-tests/tmtests/tm29/config.h | 37 - c/src/ada-tests/tmtests/tm29/tm29.adb | 57 - c/src/ada-tests/tmtests/tm29/tmtest.adb | 234 -- c/src/ada-tests/tmtests/tm29/tmtest.ads | 96 - c/src/ada-tests/tmtests/tmck/config.h | 37 - c/src/ada-tests/tmtests/tmck/tmck.adb | 57 - c/src/ada-tests/tmtests/tmck/tmtest.adb | 220 - c/src/ada-tests/tmtests/tmck/tmtest.ads | 97 - c/src/ada-tests/tmtests/tmoverhd/README | 9 - c/src/ada-tests/tmtests/tmoverhd/config.h | 37 - c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb | 877 ---- c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads | 521 --- c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb | 57 - c/src/ada-tests/tmtests/tmoverhd/tmtest.adb | 1564 ------- c/src/ada-tests/tmtests/tmoverhd/tmtest.ads | 155 - c/src/ada/rtems.adb | 2035 --------- c/src/ada/rtems.ads | 1430 ------- c/src/exec/libcsupport/include/chain.h | 362 -- c/src/exec/libcsupport/include/clockdrv.h | 51 - c/src/exec/libcsupport/include/console.h | 73 - c/src/exec/libcsupport/include/iosupp.h | 44 - c/src/exec/libcsupport/include/motorola/mc68230.h | 71 - c/src/exec/libcsupport/include/motorola/mc68681.h | 306 -- c/src/exec/libcsupport/include/ringbuf.h | 53 - c/src/exec/libcsupport/include/rtems/assoc.h | 42 - c/src/exec/libcsupport/include/rtems/error.h | 38 - c/src/exec/libcsupport/include/rtems/libcsupport.h | 43 - c/src/exec/libcsupport/include/rtems/libio.h | 166 - c/src/exec/libcsupport/include/spurious.h | 38 - c/src/exec/libcsupport/include/sys/filio.h | 56 - c/src/exec/libcsupport/include/sys/ioctl.h | 77 - c/src/exec/libcsupport/include/sys/sockio.h | 86 - c/src/exec/libcsupport/include/sys/termios.h | 188 - c/src/exec/libcsupport/include/sys/utsname.h | 49 - c/src/exec/libcsupport/include/timerdrv.h | 40 - c/src/exec/libcsupport/include/vmeintr.h | 58 - c/src/exec/libcsupport/include/zilog/z8036.h | 109 - c/src/exec/libcsupport/include/zilog/z8530.h | 99 - c/src/exec/libcsupport/include/zilog/z8536.h | 112 - c/src/exec/libcsupport/src/README | 37 - c/src/exec/libcsupport/src/__brk.c | 44 - c/src/exec/libcsupport/src/__gettod.c | 118 - c/src/exec/libcsupport/src/__times.c | 74 - c/src/exec/libcsupport/src/assoc.c | 260 -- c/src/exec/libcsupport/src/closedir.c | 20 - c/src/exec/libcsupport/src/error.c | 209 - c/src/exec/libcsupport/src/getdents.c | 14 - c/src/exec/libcsupport/src/hosterr.c | 43 - c/src/exec/libcsupport/src/libio.c | 524 --- c/src/exec/libcsupport/src/malloc.c | 424 -- c/src/exec/libcsupport/src/newlibc.c | 429 -- c/src/exec/libcsupport/src/no_libc.c | 55 - c/src/exec/libcsupport/src/opendir.c | 17 - c/src/exec/libcsupport/src/readdir.c | 14 - c/src/exec/libcsupport/src/rewinddir.c | 20 - c/src/exec/libcsupport/src/scandir.c | 23 - c/src/exec/libcsupport/src/seekdir.c | 21 - c/src/exec/libcsupport/src/tcdrain.c | 26 - c/src/exec/libcsupport/src/telldir.c | 23 - c/src/exec/libcsupport/src/termios.c | 935 ----- c/src/exec/libcsupport/src/unixlibc.c | 23 - c/src/exec/libcsupport/src/utsname.c | 57 - c/src/exec/libnetworking/README | 18 - c/src/exec/libnetworking/arpa/ftp.h | 111 - c/src/exec/libnetworking/arpa/inet.h | 105 - c/src/exec/libnetworking/arpa/nameser.h | 448 -- c/src/exec/libnetworking/arpa/nameser_compat.h | 194 - c/src/exec/libnetworking/arpa/telnet.h | 342 -- c/src/exec/libnetworking/bpfilter.h | 6 - c/src/exec/libnetworking/kern/kern_subr.c | 206 - c/src/exec/libnetworking/kern/uipc_domain.c | 228 - c/src/exec/libnetworking/kern/uipc_mbuf.c | 851 ---- c/src/exec/libnetworking/kern/uipc_socket.c | 1100 ----- c/src/exec/libnetworking/kern/uipc_socket2.c | 965 ----- c/src/exec/libnetworking/lib/README | 5 - c/src/exec/libnetworking/lib/getprotoby.c | 46 - c/src/exec/libnetworking/lib/syslog.c | 189 - c/src/exec/libnetworking/lib/tftpDriver.c | 609 --- c/src/exec/libnetworking/libc/addr2ascii.3 | 217 - c/src/exec/libnetworking/libc/addr2ascii.c | 94 - c/src/exec/libnetworking/libc/ascii2addr.c | 74 - c/src/exec/libnetworking/libc/base64.c | 318 -- c/src/exec/libnetworking/libc/byteorder.3 | 77 - c/src/exec/libnetworking/libc/ether_addr.c | 226 - c/src/exec/libnetworking/libc/ethers.3 | 193 - c/src/exec/libnetworking/libc/gethostbydns.c | 773 ---- c/src/exec/libnetworking/libc/gethostbyht.c | 202 - c/src/exec/libnetworking/libc/gethostbyname.3 | 305 -- c/src/exec/libnetworking/libc/gethostbynis.c | 142 - c/src/exec/libnetworking/libc/gethostnamadr.c | 224 - c/src/exec/libnetworking/libc/gethostname.c | 26 - c/src/exec/libnetworking/libc/getnetbydns.c | 313 -- c/src/exec/libnetworking/libc/getnetbyht.c | 173 - c/src/exec/libnetworking/libc/getnetbynis.c | 177 - c/src/exec/libnetworking/libc/getnetent.3 | 159 - c/src/exec/libnetworking/libc/getnetnamadr.c | 190 - c/src/exec/libnetworking/libc/getproto.c | 57 - c/src/exec/libnetworking/libc/getprotoent.3 | 147 - c/src/exec/libnetworking/libc/getprotoent.c | 121 - c/src/exec/libnetworking/libc/getprotoname.c | 64 - c/src/exec/libnetworking/libc/getservbyname.c | 81 - c/src/exec/libnetworking/libc/getservbyport.c | 76 - c/src/exec/libnetworking/libc/getservent.3 | 156 - c/src/exec/libnetworking/libc/getservent.c | 280 -- c/src/exec/libnetworking/libc/herror.c | 122 - c/src/exec/libnetworking/libc/inet.3 | 210 - c/src/exec/libnetworking/libc/inet_addr.c | 180 - c/src/exec/libnetworking/libc/inet_lnaof.c | 61 - c/src/exec/libnetworking/libc/inet_makeaddr.c | 64 - c/src/exec/libnetworking/libc/inet_net_ntop.c | 140 - c/src/exec/libnetworking/libc/inet_net_pton.c | 207 - c/src/exec/libnetworking/libc/inet_neta.c | 84 - c/src/exec/libnetworking/libc/inet_netof.c | 60 - c/src/exec/libnetworking/libc/inet_network.c | 92 - c/src/exec/libnetworking/libc/inet_ntoa.c | 59 - c/src/exec/libnetworking/libc/inet_ntop.c | 191 - c/src/exec/libnetworking/libc/inet_pton.c | 214 - c/src/exec/libnetworking/libc/iso_addr.3 | 111 - c/src/exec/libnetworking/libc/iso_addr.c | 119 - c/src/exec/libnetworking/libc/linkaddr.3 | 138 - c/src/exec/libnetworking/libc/linkaddr.c | 160 - c/src/exec/libnetworking/libc/map_v4v6.c | 128 - c/src/exec/libnetworking/libc/ns.3 | 131 - c/src/exec/libnetworking/libc/ns_addr.c | 229 - c/src/exec/libnetworking/libc/ns_name.c | 595 --- c/src/exec/libnetworking/libc/ns_netint.c | 56 - c/src/exec/libnetworking/libc/ns_ntoa.c | 102 - c/src/exec/libnetworking/libc/ns_parse.c | 192 - c/src/exec/libnetworking/libc/ns_print.c | 745 ---- c/src/exec/libnetworking/libc/ns_ttl.c | 153 - c/src/exec/libnetworking/libc/nsap_addr.c | 105 - c/src/exec/libnetworking/libc/rcmd.3 | 204 - c/src/exec/libnetworking/libc/rcmd.c | 520 --- c/src/exec/libnetworking/libc/recv.c | 52 - c/src/exec/libnetworking/libc/res_comp.c | 258 -- c/src/exec/libnetworking/libc/res_config.h | 20 - c/src/exec/libnetworking/libc/res_data.c | 83 - c/src/exec/libnetworking/libc/res_debug.c | 966 ----- c/src/exec/libnetworking/libc/res_init.c | 497 --- c/src/exec/libnetworking/libc/res_mkquery.c | 199 - c/src/exec/libnetworking/libc/res_mkupdate.c | 415 -- c/src/exec/libnetworking/libc/res_query.c | 410 -- c/src/exec/libnetworking/libc/res_send.c | 929 ---- c/src/exec/libnetworking/libc/res_stubs.c | 75 - c/src/exec/libnetworking/libc/res_update.c | 518 --- c/src/exec/libnetworking/libc/resolver.3 | 352 -- c/src/exec/libnetworking/libc/send.c | 52 - c/src/exec/libnetworking/libc/strsep.c | 85 - c/src/exec/libnetworking/loop.h | 5 - c/src/exec/libnetworking/machine/conf.h | 6 - c/src/exec/libnetworking/machine/cpu.h | 6 - c/src/exec/libnetworking/machine/cpufunc.h | 5 - c/src/exec/libnetworking/machine/endian.h | 64 - c/src/exec/libnetworking/machine/in_cksum.h | 118 - c/src/exec/libnetworking/machine/limits.h | 6 - c/src/exec/libnetworking/machine/param.h | 92 - c/src/exec/libnetworking/machine/types.h | 34 - c/src/exec/libnetworking/machine/vmparam.h | 6 - c/src/exec/libnetworking/net/bpf.h | 236 -- c/src/exec/libnetworking/net/ethernet.h | 63 - c/src/exec/libnetworking/net/if.c | 783 ---- c/src/exec/libnetworking/net/if.h | 467 --- c/src/exec/libnetworking/net/if_arp.h | 91 - c/src/exec/libnetworking/net/if_dl.h | 86 - c/src/exec/libnetworking/net/if_ethersubr.c | 988 ----- c/src/exec/libnetworking/net/if_llc.h | 145 - c/src/exec/libnetworking/net/if_loop.c | 301 -- c/src/exec/libnetworking/net/if_types.h | 101 - c/src/exec/libnetworking/net/netisr.h | 90 - c/src/exec/libnetworking/net/radix.c | 1028 ----- c/src/exec/libnetworking/net/radix.h | 165 - c/src/exec/libnetworking/net/raw_cb.c | 148 - c/src/exec/libnetworking/net/raw_cb.h | 75 - c/src/exec/libnetworking/net/raw_usrreq.c | 315 -- c/src/exec/libnetworking/net/route.c | 959 ----- c/src/exec/libnetworking/net/route.h | 284 -- c/src/exec/libnetworking/net/rtsock.c | 829 ---- c/src/exec/libnetworking/netdb.h | 182 - c/src/exec/libnetworking/netinet/icmp_var.h | 78 - c/src/exec/libnetworking/netinet/if_ether.c | 638 --- c/src/exec/libnetworking/netinet/if_ether.h | 209 - c/src/exec/libnetworking/netinet/igmp.c | 479 --- c/src/exec/libnetworking/netinet/igmp.h | 96 - c/src/exec/libnetworking/netinet/igmp_var.h | 111 - c/src/exec/libnetworking/netinet/in.c | 728 ---- c/src/exec/libnetworking/netinet/in.h | 433 -- c/src/exec/libnetworking/netinet/in_cksum.c | 166 - c/src/exec/libnetworking/netinet/in_cksum_i386.c | 198 - c/src/exec/libnetworking/netinet/in_cksum_m68k.c | 223 - c/src/exec/libnetworking/netinet/in_pcb.c | 757 ---- c/src/exec/libnetworking/netinet/in_pcb.h | 124 - c/src/exec/libnetworking/netinet/in_proto.c | 203 - c/src/exec/libnetworking/netinet/in_rmx.c | 384 -- c/src/exec/libnetworking/netinet/in_systm.h | 62 - c/src/exec/libnetworking/netinet/in_var.h | 235 -- c/src/exec/libnetworking/netinet/ip.h | 190 - c/src/exec/libnetworking/netinet/ip_divert.c | 382 -- c/src/exec/libnetworking/netinet/ip_fw.c | 1069 ----- c/src/exec/libnetworking/netinet/ip_fw.h | 183 - c/src/exec/libnetworking/netinet/ip_icmp.c | 710 ---- c/src/exec/libnetworking/netinet/ip_icmp.h | 190 - c/src/exec/libnetworking/netinet/ip_input.c | 1488 ------- c/src/exec/libnetworking/netinet/ip_mroute.c | 2302 ---------- c/src/exec/libnetworking/netinet/ip_mroute.h | 262 -- c/src/exec/libnetworking/netinet/ip_output.c | 1307 ------ c/src/exec/libnetworking/netinet/ip_var.h | 211 - c/src/exec/libnetworking/netinet/raw_ip.c | 486 --- c/src/exec/libnetworking/netinet/tcp.h | 122 - c/src/exec/libnetworking/netinet/tcp_debug.c | 172 - c/src/exec/libnetworking/netinet/tcp_debug.h | 69 - c/src/exec/libnetworking/netinet/tcp_fsm.h | 92 - c/src/exec/libnetworking/netinet/tcp_input.c | 2149 ---------- c/src/exec/libnetworking/netinet/tcp_output.c | 755 ---- c/src/exec/libnetworking/netinet/tcp_seq.h | 102 - c/src/exec/libnetworking/netinet/tcp_subr.c | 634 --- c/src/exec/libnetworking/netinet/tcp_timer.c | 387 -- c/src/exec/libnetworking/netinet/tcp_timer.h | 138 - c/src/exec/libnetworking/netinet/tcp_usrreq.c | 840 ---- c/src/exec/libnetworking/netinet/tcp_var.h | 374 -- c/src/exec/libnetworking/netinet/tcpip.h | 75 - c/src/exec/libnetworking/netinet/udp.h | 51 - c/src/exec/libnetworking/netinet/udp_usrreq.c | 613 --- c/src/exec/libnetworking/netinet/udp_var.h | 103 - c/src/exec/libnetworking/nfs/bootp_subr.c | 968 ----- c/src/exec/libnetworking/nfs/krpc.h | 26 - c/src/exec/libnetworking/nfs/nfs.h | 620 --- c/src/exec/libnetworking/nfs/nfsdiskless.h | 100 - c/src/exec/libnetworking/nfs/nfsproto.h | 441 -- c/src/exec/libnetworking/nfs/rpcv2.h | 142 - c/src/exec/libnetworking/nfs/xdr_subs.h | 90 - c/src/exec/libnetworking/opt_ipfw.h | 6 - c/src/exec/libnetworking/opt_mrouting.h | 6 - c/src/exec/libnetworking/opt_tcpdebug.h | 6 - c/src/exec/libnetworking/poll.h | 108 - c/src/exec/libnetworking/resolv.h | 306 -- c/src/exec/libnetworking/rtems/issetugid.c | 11 - c/src/exec/libnetworking/rtems/rtems_bootp.c | 19 - c/src/exec/libnetworking/rtems/rtems_bsdnet.h | 112 - .../libnetworking/rtems/rtems_bsdnet_internal.h | 178 - c/src/exec/libnetworking/rtems/rtems_glue.c | 905 ---- .../exec/libnetworking/rtems/rtems_showicmpstat.c | 60 - c/src/exec/libnetworking/rtems/rtems_showifstat.c | 110 - c/src/exec/libnetworking/rtems/rtems_showipstat.c | 59 - c/src/exec/libnetworking/rtems/rtems_showmbuf.c | 65 - c/src/exec/libnetworking/rtems/rtems_showroute.c | 237 -- c/src/exec/libnetworking/rtems/rtems_showtcpstat.c | 102 - c/src/exec/libnetworking/rtems/rtems_showudpstat.c | 48 - c/src/exec/libnetworking/rtems/rtems_syscall.c | 761 ---- c/src/exec/libnetworking/rtems/sghostname.c | 49 - c/src/exec/libnetworking/rtems/tftp.h | 85 - c/src/exec/libnetworking/sys/buf.h | 248 -- c/src/exec/libnetworking/sys/callout.h | 57 - c/src/exec/libnetworking/sys/conf.h | 228 - c/src/exec/libnetworking/sys/domain.h | 75 - c/src/exec/libnetworking/sys/kernel.h | 251 -- c/src/exec/libnetworking/sys/libkern.h | 89 - c/src/exec/libnetworking/sys/malloc.h | 355 -- c/src/exec/libnetworking/sys/mbuf.h | 439 -- c/src/exec/libnetworking/sys/mount.h | 531 --- c/src/exec/libnetworking/sys/param.h | 231 - c/src/exec/libnetworking/sys/proc.h | 8 - c/src/exec/libnetworking/sys/protosw.h | 300 -- c/src/exec/libnetworking/sys/queue.h | 446 -- c/src/exec/libnetworking/sys/reboot.h | 106 - c/src/exec/libnetworking/sys/resourcevar.h | 5 - c/src/exec/libnetworking/sys/rtprio.h | 70 - c/src/exec/libnetworking/sys/select.h | 57 - c/src/exec/libnetworking/sys/signalvar.h | 171 - c/src/exec/libnetworking/sys/socket.h | 356 -- c/src/exec/libnetworking/sys/socketvar.h | 279 -- c/src/exec/libnetworking/sys/sysctl.h | 379 -- c/src/exec/libnetworking/sys/syslimits.h | 85 - c/src/exec/libnetworking/sys/syslog.h | 194 - c/src/exec/libnetworking/sys/systm.h | 198 - c/src/exec/libnetworking/sys/ttydefaults.h | 97 - c/src/exec/libnetworking/sys/ucred.h | 64 - c/src/exec/libnetworking/sys/uio.h | 92 - c/src/exec/libnetworking/syslog.h | 5 - c/src/exec/libnetworking/vm/vm.h | 73 - c/src/exec/libnetworking/vm/vm_extern.h | 103 - c/src/exec/libnetworking/vm/vm_kern.h | 84 - c/src/exec/libnetworking/vm/vm_param.h | 165 - c/src/exec/posix/include/aio.h | 137 - c/src/exec/posix/include/devctl.h | 30 - c/src/exec/posix/include/intr.h | 72 - c/src/exec/posix/include/limits.h | 164 - c/src/exec/posix/include/mqueue.h | 145 - c/src/exec/posix/include/pthread.h | 500 --- c/src/exec/posix/include/rtems/posix/Makefile.in | 34 - c/src/exec/posix/include/rtems/posix/cancel.h | 16 - c/src/exec/posix/include/rtems/posix/cond.h | 130 - c/src/exec/posix/include/rtems/posix/condmp.h | 162 - c/src/exec/posix/include/rtems/posix/config.h | 59 - c/src/exec/posix/include/rtems/posix/intr.h | 154 - c/src/exec/posix/include/rtems/posix/key.h | 136 - c/src/exec/posix/include/rtems/posix/mqueue.h | 186 - c/src/exec/posix/include/rtems/posix/mqueuemp.h | 161 - c/src/exec/posix/include/rtems/posix/mutex.h | 120 - c/src/exec/posix/include/rtems/posix/mutexmp.h | 161 - c/src/exec/posix/include/rtems/posix/posixapi.h | 34 - c/src/exec/posix/include/rtems/posix/priority.h | 44 - c/src/exec/posix/include/rtems/posix/psignal.h | 22 - c/src/exec/posix/include/rtems/posix/pthread.h | 123 - c/src/exec/posix/include/rtems/posix/pthreadmp.h | 161 - c/src/exec/posix/include/rtems/posix/semaphore.h | 135 - c/src/exec/posix/include/rtems/posix/semaphoremp.h | 161 - c/src/exec/posix/include/rtems/posix/seterr.h | 20 - c/src/exec/posix/include/rtems/posix/threadsup.h | 46 - c/src/exec/posix/include/rtems/posix/time.h | 50 - c/src/exec/posix/include/sched.h | 88 - c/src/exec/posix/include/semaphore.h | 108 - c/src/exec/posix/include/sys/Makefile.in | 31 - c/src/exec/posix/include/sys/utsname.h | 49 - c/src/exec/posix/include/unistd.h | 89 - c/src/exec/posix/include/wrap/Makefile.in | 34 - c/src/exec/posix/inline/rtems/posix/Makefile.in | 31 - c/src/exec/posix/inline/rtems/posix/cond.inl | 77 - c/src/exec/posix/inline/rtems/posix/intr.inl | 72 - c/src/exec/posix/inline/rtems/posix/key.inl | 70 - c/src/exec/posix/inline/rtems/posix/mqueue.inl | 83 - c/src/exec/posix/inline/rtems/posix/mutex.inl | 93 - c/src/exec/posix/inline/rtems/posix/priority.inl | 37 - c/src/exec/posix/inline/rtems/posix/pthread.inl | 70 - c/src/exec/posix/inline/rtems/posix/semaphore.inl | 71 - c/src/exec/posix/macros/rtems/posix/Makefile.in | 32 - c/src/exec/rtems/include/rtems.h | 121 - c/src/exec/rtems/include/rtems/rtems/Makefile.in | 38 - c/src/exec/rtems/include/rtems/rtems/asr.h | 112 - c/src/exec/rtems/include/rtems/rtems/attr.h | 87 - c/src/exec/rtems/include/rtems/rtems/clock.h | 103 - c/src/exec/rtems/include/rtems/rtems/config.h | 54 - c/src/exec/rtems/include/rtems/rtems/dpmem.h | 157 - c/src/exec/rtems/include/rtems/rtems/event.h | 174 - c/src/exec/rtems/include/rtems/rtems/eventmp.h | 147 - c/src/exec/rtems/include/rtems/rtems/eventset.h | 89 - c/src/exec/rtems/include/rtems/rtems/intr.h | 160 - c/src/exec/rtems/include/rtems/rtems/message.h | 334 -- c/src/exec/rtems/include/rtems/rtems/modes.h | 89 - c/src/exec/rtems/include/rtems/rtems/mp.h | 53 - c/src/exec/rtems/include/rtems/rtems/msgmp.h | 177 - c/src/exec/rtems/include/rtems/rtems/options.h | 53 - c/src/exec/rtems/include/rtems/rtems/part.h | 168 - c/src/exec/rtems/include/rtems/rtems/partmp.h | 161 - c/src/exec/rtems/include/rtems/rtems/ratemon.h | 213 - c/src/exec/rtems/include/rtems/rtems/region.h | 234 -- c/src/exec/rtems/include/rtems/rtems/regionmp.h | 166 - c/src/exec/rtems/include/rtems/rtems/rtemsapi.h | 34 - c/src/exec/rtems/include/rtems/rtems/sem.h | 248 -- c/src/exec/rtems/include/rtems/rtems/semmp.h | 163 - c/src/exec/rtems/include/rtems/rtems/signal.h | 83 - c/src/exec/rtems/include/rtems/rtems/signalmp.h | 147 - c/src/exec/rtems/include/rtems/rtems/status.h | 84 - c/src/exec/rtems/include/rtems/rtems/support.h | 99 - c/src/exec/rtems/include/rtems/rtems/taskmp.h | 167 - c/src/exec/rtems/include/rtems/rtems/tasks.h | 421 -- c/src/exec/rtems/include/rtems/rtems/timer.h | 207 - c/src/exec/rtems/include/rtems/rtems/types.h | 96 - c/src/exec/rtems/inline/rtems/rtems/Makefile.in | 31 - c/src/exec/rtems/inline/rtems/rtems/asr.inl | 128 - c/src/exec/rtems/inline/rtems/rtems/attr.inl | 176 - c/src/exec/rtems/inline/rtems/rtems/dpmem.inl | 95 - c/src/exec/rtems/inline/rtems/rtems/event.inl | 21 - c/src/exec/rtems/inline/rtems/rtems/eventset.inl | 95 - c/src/exec/rtems/inline/rtems/rtems/message.inl | 83 - c/src/exec/rtems/inline/rtems/rtems/modes.inl | 152 - c/src/exec/rtems/inline/rtems/rtems/options.inl | 55 - c/src/exec/rtems/inline/rtems/rtems/part.inl | 199 - c/src/exec/rtems/inline/rtems/rtems/ratemon.inl | 143 - c/src/exec/rtems/inline/rtems/rtems/region.inl | 127 - c/src/exec/rtems/inline/rtems/rtems/sem.inl | 93 - c/src/exec/rtems/inline/rtems/rtems/status.inl | 56 - c/src/exec/rtems/inline/rtems/rtems/support.inl | 61 - c/src/exec/rtems/inline/rtems/rtems/tasks.inl | 90 - c/src/exec/rtems/inline/rtems/rtems/timer.inl | 142 - c/src/exec/rtems/macros/rtems/rtems/Makefile.in | 31 - c/src/exec/rtems/macros/rtems/rtems/asr.inl | 90 - c/src/exec/rtems/macros/rtems/rtems/attr.inl | 100 - c/src/exec/rtems/macros/rtems/rtems/dpmem.inl | 59 - c/src/exec/rtems/macros/rtems/rtems/event.inl | 21 - c/src/exec/rtems/macros/rtems/rtems/eventset.inl | 59 - c/src/exec/rtems/macros/rtems/rtems/message.inl | 49 - c/src/exec/rtems/macros/rtems/rtems/modes.inl | 92 - c/src/exec/rtems/macros/rtems/rtems/options.inl | 39 - c/src/exec/rtems/macros/rtems/rtems/part.inl | 117 - c/src/exec/rtems/macros/rtems/rtems/ratemon.inl | 85 - c/src/exec/rtems/macros/rtems/rtems/region.inl | 75 - c/src/exec/rtems/macros/rtems/rtems/sem.inl | 58 - c/src/exec/rtems/macros/rtems/rtems/status.inl | 39 - c/src/exec/rtems/macros/rtems/rtems/support.inl | 44 - c/src/exec/rtems/macros/rtems/rtems/tasks.inl | 58 - c/src/exec/rtems/macros/rtems/rtems/timer.inl | 85 - c/src/exec/rtems/src/rtclock.c | 151 - c/src/exec/rtems/src/rtemstimer.c | 349 -- c/src/exec/sapi/include/confdefs.h | 656 --- c/src/exec/sapi/include/rtems/Makefile.in | 43 - c/src/exec/sapi/include/rtems/README | 135 - c/src/exec/sapi/include/rtems/config.h | 104 - c/src/exec/sapi/include/rtems/directives.h | 120 - c/src/exec/sapi/include/rtems/extension.h | 138 - c/src/exec/sapi/include/rtems/fatal.h | 49 - c/src/exec/sapi/include/rtems/init.h | 110 - c/src/exec/sapi/include/rtems/io.h | 244 -- c/src/exec/sapi/include/rtems/mptables.h | 29 - c/src/exec/sapi/include/rtems/sptables.h | 165 - c/src/exec/sapi/inline/rtems/Makefile.in | 30 - c/src/exec/sapi/inline/rtems/extension.inl | 91 - c/src/exec/sapi/macros/rtems/Makefile.in | 30 - c/src/exec/sapi/macros/rtems/extension.inl | 58 - c/src/exec/score/cpu/mips/asm.h | 102 - c/src/exec/score/cpu/mips/cpu.c | 219 - c/src/exec/score/cpu/mips/cpu_asm.S | 972 ----- c/src/exec/score/cpu/mips/cpu_asm.h | 115 - c/src/exec/score/cpu/mips/idtcpu.h | 440 -- c/src/exec/score/cpu/mips/idtmon.h | 171 - c/src/exec/score/cpu/mips/iregdef.h | 325 -- c/src/exec/score/cpu/mips/rtems.c | 53 - c/src/exec/score/cpu/sh/ispsh7032.c | 252 -- c/src/exec/score/include/rtems/debug.h | 98 - c/src/exec/score/include/rtems/score/Makefile.in | 44 - c/src/exec/score/include/rtems/score/address.h | 31 - c/src/exec/score/include/rtems/score/apiext.h | 102 - c/src/exec/score/include/rtems/score/bitfield.h | 98 - c/src/exec/score/include/rtems/score/chain.h | 168 - c/src/exec/score/include/rtems/score/context.h | 134 - c/src/exec/score/include/rtems/score/copyrt.h | 42 - c/src/exec/score/include/rtems/score/coremsg.h | 267 -- c/src/exec/score/include/rtems/score/coremutex.h | 172 - c/src/exec/score/include/rtems/score/coresem.h | 156 - c/src/exec/score/include/rtems/score/heap.h | 226 - c/src/exec/score/include/rtems/score/interr.h | 95 - c/src/exec/score/include/rtems/score/isr.h | 231 - c/src/exec/score/include/rtems/score/mpci.h | 412 -- c/src/exec/score/include/rtems/score/mppkt.h | 101 - c/src/exec/score/include/rtems/score/object.h | 397 -- c/src/exec/score/include/rtems/score/objectmp.h | 152 - c/src/exec/score/include/rtems/score/priority.h | 97 - c/src/exec/score/include/rtems/score/stack.h | 50 - c/src/exec/score/include/rtems/score/states.h | 84 - c/src/exec/score/include/rtems/score/sysstate.h | 67 - c/src/exec/score/include/rtems/score/thread.h | 622 --- c/src/exec/score/include/rtems/score/threadmp.h | 89 - c/src/exec/score/include/rtems/score/threadq.h | 301 -- c/src/exec/score/include/rtems/score/tod.h | 277 -- c/src/exec/score/include/rtems/score/tqdata.h | 90 - c/src/exec/score/include/rtems/score/userext.h | 211 - c/src/exec/score/include/rtems/score/watchdog.h | 194 - c/src/exec/score/include/rtems/score/wkspace.h | 71 - c/src/exec/score/include/rtems/system.h | 153 - c/src/exec/score/inline/rtems/score/Makefile.in | 32 - c/src/exec/score/inline/rtems/score/address.inl | 120 - c/src/exec/score/inline/rtems/score/chain.inl | 390 -- c/src/exec/score/inline/rtems/score/coremsg.inl | 260 -- c/src/exec/score/inline/rtems/score/coremutex.inl | 124 - c/src/exec/score/inline/rtems/score/coresem.inl | 54 - c/src/exec/score/inline/rtems/score/heap.inl | 274 -- c/src/exec/score/inline/rtems/score/isr.inl | 73 - c/src/exec/score/inline/rtems/score/mppkt.inl | 58 - c/src/exec/score/inline/rtems/score/object.inl | 244 -- c/src/exec/score/inline/rtems/score/objectmp.inl | 73 - c/src/exec/score/inline/rtems/score/priority.inl | 247 -- c/src/exec/score/inline/rtems/score/stack.inl | 81 - c/src/exec/score/inline/rtems/score/states.inl | 384 -- c/src/exec/score/inline/rtems/score/sysstate.inl | 154 - c/src/exec/score/inline/rtems/score/thread.inl | 404 -- c/src/exec/score/inline/rtems/score/threadmp.inl | 61 - c/src/exec/score/inline/rtems/score/tod.inl | 67 - c/src/exec/score/inline/rtems/score/tqdata.inl | 73 - c/src/exec/score/inline/rtems/score/userext.inl | 132 - c/src/exec/score/inline/rtems/score/watchdog.inl | 324 -- c/src/exec/score/inline/rtems/score/wkspace.inl | 57 - c/src/exec/score/macros/rtems/score/Makefile.in | 32 - c/src/exec/score/macros/rtems/score/README | 18 - c/src/exec/score/macros/rtems/score/address.inl | 68 - c/src/exec/score/macros/rtems/score/chain.inl | 200 - c/src/exec/score/macros/rtems/score/coremsg.inl | 143 - c/src/exec/score/macros/rtems/score/coremutex.inl | 77 - c/src/exec/score/macros/rtems/score/coresem.inl | 40 - c/src/exec/score/macros/rtems/score/heap.inl | 150 - c/src/exec/score/macros/rtems/score/isr.inl | 48 - c/src/exec/score/macros/rtems/score/mppkt.inl | 41 - c/src/exec/score/macros/rtems/score/object.inl | 148 - c/src/exec/score/macros/rtems/score/objectmp.inl | 50 - c/src/exec/score/macros/rtems/score/priority.inl | 170 - c/src/exec/score/macros/rtems/score/stack.inl | 50 - c/src/exec/score/macros/rtems/score/states.inl | 210 - c/src/exec/score/macros/rtems/score/sysstate.inl | 90 - c/src/exec/score/macros/rtems/score/thread.inl | 217 - c/src/exec/score/macros/rtems/score/threadmp.inl | 50 - c/src/exec/score/macros/rtems/score/tod.inl | 49 - c/src/exec/score/macros/rtems/score/tqdata.inl | 50 - c/src/exec/score/macros/rtems/score/userext.inl | 126 - c/src/exec/score/macros/rtems/score/watchdog.inl | 172 - c/src/exec/score/macros/rtems/score/wkspace.inl | 39 - c/src/exec/score/src/coretod.c | 238 -- c/src/lib/include/rtems/assoc.h | 42 - c/src/lib/include/rtems/error.h | 38 - c/src/lib/include/rtems/libcsupport.h | 43 - c/src/lib/include/rtems/libio.h | 166 - c/src/lib/include/sys/filio.h | 56 - c/src/lib/include/sys/ioctl.h | 77 - c/src/lib/include/sys/sockio.h | 86 - c/src/lib/include/sys/utsname.h | 49 - c/src/lib/libbsp/a29k/portsw/start/Makefile.in | 54 - c/src/lib/libbsp/a29k/portsw/start/amd.ah | 517 --- c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah | 442 -- c/src/lib/libbsp/a29k/portsw/start/register.ah | 214 - c/src/lib/libbsp/i386/shared/irq/idt.c | 288 -- c/src/lib/libbsp/i960/cvme961/start/Makefile.in | 54 - c/src/lib/libbsp/m68k/efi332/start/Makefile.in | 49 - c/src/lib/libbsp/m68k/efi332/start/start.c | 192 - c/src/lib/libbsp/m68k/efi68k/start/Makefile.in | 49 - c/src/lib/libbsp/m68k/efi68k/start/start.c | 71 - c/src/lib/libbsp/m68k/gen68302/start/Makefile.in | 57 - c/src/lib/libbsp/m68k/gen68302/start/start302.s | 267 -- c/src/lib/libbsp/m68k/gen68340/start/Makefile.in | 57 - c/src/lib/libbsp/m68k/gen68340/start/start340.s | 874 ---- .../libbsp/m68k/gen68340/start/startfor340only.s | 499 --- c/src/lib/libbsp/m68k/gen68360/start/Makefile.in | 57 - c/src/lib/libbsp/m68k/gen68360/start/start360.s | 432 -- c/src/lib/libbsp/m68k/ods68302/start/Makefile.in | 69 - c/src/lib/libbsp/m68k/ods68302/start/cpuboot.c | 133 - c/src/lib/libbsp/m68k/ods68302/start/debugreset.S | 107 - c/src/lib/libbsp/m68k/ods68302/start/reset.S | 881 ---- c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c | 133 - c/src/lib/libbsp/mips/README | 7 - c/src/lib/libbsp/mips/p4000/README | 47 - c/src/lib/libbsp/mips/p4000/bsp_specs | 23 - c/src/lib/libbsp/mips/p4000/console/console.c | 275 -- c/src/lib/libbsp/mips/p4000/console/led.S | 23 - c/src/lib/libbsp/mips/p4000/include/bsp.h | 118 - c/src/lib/libbsp/mips/p4000/include/coverhd.h | 116 - c/src/lib/libbsp/mips/p4000/liblnk/lnklib.S | 62 - c/src/lib/libbsp/mips/p4000/start/start.S | 299 -- c/src/lib/libbsp/mips/p4000/startup/bspclean.c | 38 - c/src/lib/libbsp/mips/p4000/startup/bspstart.c | 119 - c/src/lib/libbsp/mips/p4000/startup/ghlinkcmds | 19 - c/src/lib/libbsp/mips/p4000/startup/idtmem.S | 938 ----- c/src/lib/libbsp/mips/p4000/startup/idttlb.S | 390 -- c/src/lib/libbsp/mips/p4000/startup/inittlb.c | 16 - c/src/lib/libbsp/mips/p4000/startup/linkcmds | 72 - c/src/lib/libbsp/mips/p4000/startup/setvec.c | 53 - c/src/lib/libbsp/mips/p4000/times | 200 - .../lib/libbsp/mips64orion/p4000/start/Makefile.in | 54 - c/src/lib/libbsp/mips64orion/p4000/start/start.S | 299 -- c/src/lib/libbsp/powerpc/dmv177/Makefile.in | 25 - c/src/lib/libbsp/powerpc/dmv177/QUIRKS | 74 - c/src/lib/libbsp/powerpc/dmv177/README | 49 - c/src/lib/libbsp/powerpc/dmv177/README.net | 44 - c/src/lib/libbsp/powerpc/dmv177/STATUS | 82 - c/src/lib/libbsp/powerpc/dmv177/bsp_specs | 23 - c/src/lib/libbsp/powerpc/dmv177/cable.doc | 97 - c/src/lib/libbsp/powerpc/dmv177/clock/Makefile.in | 59 - c/src/lib/libbsp/powerpc/dmv177/clock/clock.c | 246 -- .../lib/libbsp/powerpc/dmv177/console/Makefile.in | 54 - c/src/lib/libbsp/powerpc/dmv177/console/config.c | 283 -- c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c | 283 -- c/src/lib/libbsp/powerpc/dmv177/console/debugio.c | 114 - .../lib/libbsp/powerpc/dmv177/include/Makefile.in | 36 - c/src/lib/libbsp/powerpc/dmv177/include/bsp.h | 187 - c/src/lib/libbsp/powerpc/dmv177/include/coverhd.h | 134 - c/src/lib/libbsp/powerpc/dmv177/include/dmv170.h | 290 -- c/src/lib/libbsp/powerpc/dmv177/scv64/Makefile.in | 60 - c/src/lib/libbsp/powerpc/dmv177/scv64/scv64.c | 171 - c/src/lib/libbsp/powerpc/dmv177/sonic/Makefile.in | 60 - c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.c | 1599 ------- c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.h | 372 -- c/src/lib/libbsp/powerpc/dmv177/start/Makefile.in | 54 - c/src/lib/libbsp/powerpc/dmv177/start/start.s | 117 - .../lib/libbsp/powerpc/dmv177/startup/Makefile.in | 57 - c/src/lib/libbsp/powerpc/dmv177/startup/bspclean.c | 19 - c/src/lib/libbsp/powerpc/dmv177/startup/bspstart.c | 134 - c/src/lib/libbsp/powerpc/dmv177/startup/genpvec.c | 239 -- c/src/lib/libbsp/powerpc/dmv177/startup/linkcmds | 183 - c/src/lib/libbsp/powerpc/dmv177/startup/setvec.c | 58 - c/src/lib/libbsp/powerpc/dmv177/startup/vmeintr.c | 84 - c/src/lib/libbsp/powerpc/dmv177/timer/Makefile.in | 59 - c/src/lib/libbsp/powerpc/dmv177/timer/timer.c | 132 - c/src/lib/libbsp/powerpc/dmv177/times | 191 - c/src/lib/libbsp/powerpc/dmv177/tod/Makefile.in | 57 - c/src/lib/libbsp/powerpc/dmv177/tod/config.c | 79 - c/src/lib/libbsp/powerpc/dmv177/tod/todcfg.c | 79 - c/src/lib/libbsp/powerpc/dmv177/wrapup/Makefile.in | 62 - c/src/lib/libbsp/powerpc/psim/start/Makefile.in | 54 - c/src/lib/libbsp/powerpc/psim/start/startsim.s | 106 - c/src/lib/libbsp/sh/gensh1/start/Makefile.in | 59 - c/src/lib/libbsp/shared/console.c | 291 -- c/src/lib/libbsp/shared/tod.c | 243 -- c/src/lib/libbsp/shared/tod.h | 63 - c/src/lib/libbsp/shmdr/shm_driver.h | 542 --- c/src/lib/libbsp/sparc/erc32/start/Makefile.in | 54 - c/src/lib/libbsp/sparc/erc32/start/startsis.s | 309 -- c/src/lib/libc/assoc.c | 260 -- c/src/lib/libc/assoc.h | 42 - c/src/lib/libc/error.c | 209 - c/src/lib/libc/error.h | 38 - c/src/lib/libc/utsname.c | 57 - c/src/lib/libchip/Makefile.in | 14 - c/src/lib/libchip/rtc/Makefile.in | 60 - c/src/lib/libchip/rtc/README.ds1643 | 7 - c/src/lib/libchip/rtc/README.icm7170 | 52 - c/src/lib/libchip/rtc/README.m48t08 | 48 - c/src/lib/libchip/rtc/README.m48t18 | 5 - c/src/lib/libchip/rtc/STATUS | 37 - c/src/lib/libchip/rtc/icm7170.c | 176 - c/src/lib/libchip/rtc/icm7170.h | 100 - c/src/lib/libchip/rtc/icm7170_reg.c | 61 - c/src/lib/libchip/rtc/icm7170_reg2.c | 24 - c/src/lib/libchip/rtc/icm7170_reg4.c | 24 - c/src/lib/libchip/rtc/icm7170_reg8.c | 24 - c/src/lib/libchip/rtc/m48t08.c | 165 - c/src/lib/libchip/rtc/m48t08.h | 90 - c/src/lib/libchip/rtc/m48t08_reg.c | 61 - c/src/lib/libchip/rtc/m48t08_reg2.c | 24 - c/src/lib/libchip/rtc/m48t08_reg4.c | 24 - c/src/lib/libchip/rtc/m48t08_reg8.c | 24 - c/src/lib/libchip/rtc/rtc.h | 81 - c/src/lib/libchip/rtc/rtcprobe.c | 24 - c/src/lib/libchip/serial/Makefile.in | 60 - c/src/lib/libchip/serial/README | 17 - c/src/lib/libchip/serial/README.mc68681 | 87 - c/src/lib/libchip/serial/README.ns16550 | 5 - c/src/lib/libchip/serial/README.xr88681 | 6 - c/src/lib/libchip/serial/README.z85c30 | 78 - c/src/lib/libchip/serial/STATUS | 58 - c/src/lib/libchip/serial/mc68681.c | 756 ---- c/src/lib/libchip/serial/mc68681.h | 123 - c/src/lib/libchip/serial/mc68681_baud.c | 107 - c/src/lib/libchip/serial/mc68681_p.h | 317 -- c/src/lib/libchip/serial/mc68681_reg.c | 61 - c/src/lib/libchip/serial/mc68681_reg2.c | 24 - c/src/lib/libchip/serial/mc68681_reg4.c | 24 - c/src/lib/libchip/serial/mc68681_reg8.c | 24 - c/src/lib/libchip/serial/ns16550.c | 659 --- c/src/lib/libchip/serial/ns16550.h | 42 - c/src/lib/libchip/serial/ns16550_p.h | 238 -- c/src/lib/libchip/serial/serial.h | 152 - c/src/lib/libchip/serial/serprobe.c | 20 - c/src/lib/libchip/serial/sersupp.h | 22 - c/src/lib/libchip/serial/termios_baud2index.c | 39 - c/src/lib/libchip/serial/termios_baud2num.c | 39 - c/src/lib/libchip/serial/z85c30.c | 888 ---- c/src/lib/libchip/serial/z85c30.h | 78 - c/src/lib/libchip/serial/z85c30_p.h | 410 -- c/src/lib/libchip/serial/z85c30_reg.c | 73 - c/src/lib/libcpu/i386/idt.c | 288 -- c/src/lib/libcpu/m68k/shared/misc/memcpy.c | 87 - c/src/lib/libcpu/mips/clock/ckinit.c | 249 -- c/src/lib/libcpu/mips/clock/clock.S | 45 - c/src/lib/libcpu/mips/clock/clock.h | 25 - c/src/lib/libcpu/mips/timer/gettime.S | 35 - c/src/lib/libcpu/mips/timer/timer.c | 140 - c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c | 311 -- c/src/lib/libcpu/sh/sh7032/score/ispsh7032.c | 252 -- c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c | 311 -- c/src/lib/libcpu/sparc/include/erc32.h | 521 --- c/src/libchip/rtc/Makefile.in | 60 - c/src/libchip/rtc/README.ds1643 | 7 - c/src/libchip/rtc/README.icm7170 | 52 - c/src/libchip/rtc/README.m48t08 | 48 - c/src/libchip/rtc/README.m48t18 | 5 - c/src/libchip/rtc/STATUS | 37 - c/src/libchip/rtc/icm7170.c | 176 - c/src/libchip/rtc/icm7170.h | 100 - c/src/libchip/rtc/icm7170_reg.c | 61 - c/src/libchip/rtc/icm7170_reg2.c | 24 - c/src/libchip/rtc/icm7170_reg4.c | 24 - c/src/libchip/rtc/icm7170_reg8.c | 24 - c/src/libchip/rtc/m48t08.c | 165 - c/src/libchip/rtc/m48t08.h | 90 - c/src/libchip/rtc/m48t08_reg.c | 61 - c/src/libchip/rtc/m48t08_reg2.c | 24 - c/src/libchip/rtc/m48t08_reg4.c | 24 - c/src/libchip/rtc/m48t08_reg8.c | 24 - c/src/libchip/rtc/rtc.h | 81 - c/src/libchip/rtc/rtcprobe.c | 24 - c/src/libchip/serial/Makefile.in | 60 - c/src/libchip/serial/README | 17 - c/src/libchip/serial/README.mc68681 | 87 - c/src/libchip/serial/README.ns16550 | 5 - c/src/libchip/serial/README.xr88681 | 6 - c/src/libchip/serial/README.z85c30 | 78 - c/src/libchip/serial/STATUS | 58 - c/src/libchip/serial/mc68681.c | 756 ---- c/src/libchip/serial/mc68681.h | 123 - c/src/libchip/serial/mc68681_baud.c | 107 - c/src/libchip/serial/mc68681_p.h | 317 -- c/src/libchip/serial/mc68681_reg.c | 61 - c/src/libchip/serial/mc68681_reg2.c | 24 - c/src/libchip/serial/mc68681_reg4.c | 24 - c/src/libchip/serial/mc68681_reg8.c | 24 - c/src/libchip/serial/ns16550.c | 659 --- c/src/libchip/serial/ns16550.h | 42 - c/src/libchip/serial/ns16550_p.h | 238 -- c/src/libchip/serial/serial.h | 152 - c/src/libchip/serial/serprobe.c | 20 - c/src/libchip/serial/sersupp.h | 22 - c/src/libchip/serial/termios_baud2index.c | 39 - c/src/libchip/serial/termios_baud2num.c | 39 - c/src/libchip/serial/z85c30.c | 888 ---- c/src/libchip/serial/z85c30.h | 78 - c/src/libchip/serial/z85c30_p.h | 410 -- c/src/libchip/serial/z85c30_reg.c | 73 - c/src/libchip/shmdr/README | 9 - c/src/libchip/shmdr/addlq.c | 43 - c/src/libchip/shmdr/cnvpkt.c | 42 - c/src/libchip/shmdr/dump.c | 51 - c/src/libchip/shmdr/fatal.c | 39 - c/src/libchip/shmdr/getlq.c | 48 - c/src/libchip/shmdr/getpkt.c | 36 - c/src/libchip/shmdr/init.c | 254 -- c/src/libchip/shmdr/initlq.c | 35 - c/src/libchip/shmdr/intr.c | 58 - c/src/libchip/shmdr/mpci.h | 59 - c/src/libchip/shmdr/mpisr.c | 23 - c/src/libchip/shmdr/poll.c | 53 - c/src/libchip/shmdr/receive.c | 44 - c/src/libchip/shmdr/retpkt.c | 32 - c/src/libchip/shmdr/send.c | 61 - c/src/libchip/shmdr/setckvec.c | 34 - c/src/libchip/shmdr/shm_driver.h | 542 --- c/src/libmisc/README | 23 - c/src/libmisc/assoc/Makefile.in | 52 - c/src/libmisc/assoc/assoc.c | 260 -- c/src/libmisc/assoc/assoc.h | 42 - c/src/libmisc/cpuuse/Makefile.in | 54 - c/src/libmisc/cpuuse/README | 41 - c/src/libmisc/cpuuse/cpuuse.c | 142 - c/src/libmisc/cpuuse/cpuuse.h | 41 - c/src/libmisc/cpuuse/internal.h | 96 - c/src/libmisc/error/Makefile.in | 52 - c/src/libmisc/error/error.c | 209 - c/src/libmisc/error/error.h | 38 - c/src/libmisc/monitor/Makefile.in | 58 - c/src/libmisc/monitor/README | 97 - c/src/libmisc/monitor/mon-command.c | 187 - c/src/libmisc/monitor/mon-config.c | 131 - c/src/libmisc/monitor/mon-dname.c | 112 - c/src/libmisc/monitor/mon-driver.c | 136 - c/src/libmisc/monitor/mon-extension.c | 98 - c/src/libmisc/monitor/mon-itask.c | 115 - c/src/libmisc/monitor/mon-manager.c | 48 - c/src/libmisc/monitor/mon-monitor.c | 518 --- c/src/libmisc/monitor/mon-mpci.c | 159 - c/src/libmisc/monitor/mon-object.c | 374 -- c/src/libmisc/monitor/mon-prmisc.c | 259 -- c/src/libmisc/monitor/mon-queue.c | 64 - c/src/libmisc/monitor/mon-server.c | 303 -- c/src/libmisc/monitor/mon-symbols.c | 487 --- c/src/libmisc/monitor/mon-task.c | 93 - c/src/libmisc/monitor/monitor.h | 443 -- c/src/libmisc/monitor/symbols.h | 62 - c/src/libmisc/rtmonuse/Makefile.in | 54 - c/src/libmisc/rtmonuse/rtmonuse.c | 178 - c/src/libmisc/rtmonuse/rtmonuse.h | 18 - c/src/libmisc/stackchk/Makefile.in | 53 - c/src/libmisc/stackchk/README | 56 - c/src/libmisc/stackchk/check.c | 535 --- c/src/libmisc/stackchk/internal.h | 96 - c/src/libmisc/stackchk/stackchk.h | 83 - c/src/libmisc/wrapup/Makefile.in | 42 - c/src/libnetworking/CHANGELOG | 54 - c/src/libnetworking/Makefile.in | 14 - c/src/libnetworking/README | 18 - c/src/libnetworking/arpa/ftp.h | 111 - c/src/libnetworking/arpa/inet.h | 105 - c/src/libnetworking/arpa/nameser.h | 448 -- c/src/libnetworking/arpa/nameser_compat.h | 194 - c/src/libnetworking/arpa/telnet.h | 342 -- c/src/libnetworking/bpfilter.h | 6 - c/src/libnetworking/include/Makefile.in | 65 - c/src/libnetworking/kern/Makefile.in | 47 - c/src/libnetworking/kern/kern_subr.c | 206 - c/src/libnetworking/kern/uipc_domain.c | 228 - c/src/libnetworking/kern/uipc_mbuf.c | 851 ---- c/src/libnetworking/kern/uipc_socket.c | 1100 ----- c/src/libnetworking/kern/uipc_socket2.c | 965 ----- c/src/libnetworking/lib/Makefile.in | 46 - c/src/libnetworking/lib/README | 5 - c/src/libnetworking/lib/getprotoby.c | 46 - c/src/libnetworking/lib/syslog.c | 189 - c/src/libnetworking/lib/tftpDriver.c | 609 --- c/src/libnetworking/libc/Makefile.in | 54 - c/src/libnetworking/libc/addr2ascii.3 | 217 - c/src/libnetworking/libc/addr2ascii.c | 94 - c/src/libnetworking/libc/ascii2addr.c | 74 - c/src/libnetworking/libc/base64.c | 318 -- c/src/libnetworking/libc/byteorder.3 | 77 - c/src/libnetworking/libc/ether_addr.c | 226 - c/src/libnetworking/libc/ethers.3 | 193 - c/src/libnetworking/libc/gethostbydns.c | 773 ---- c/src/libnetworking/libc/gethostbyht.c | 202 - c/src/libnetworking/libc/gethostbyname.3 | 305 -- c/src/libnetworking/libc/gethostbynis.c | 142 - c/src/libnetworking/libc/gethostnamadr.c | 224 - c/src/libnetworking/libc/gethostname.c | 26 - c/src/libnetworking/libc/getnetbydns.c | 313 -- c/src/libnetworking/libc/getnetbyht.c | 173 - c/src/libnetworking/libc/getnetbynis.c | 177 - c/src/libnetworking/libc/getnetent.3 | 159 - c/src/libnetworking/libc/getnetnamadr.c | 190 - c/src/libnetworking/libc/getproto.c | 57 - c/src/libnetworking/libc/getprotoent.3 | 147 - c/src/libnetworking/libc/getprotoent.c | 121 - c/src/libnetworking/libc/getprotoname.c | 64 - c/src/libnetworking/libc/getservbyname.c | 81 - c/src/libnetworking/libc/getservbyport.c | 76 - c/src/libnetworking/libc/getservent.3 | 156 - c/src/libnetworking/libc/getservent.c | 280 -- c/src/libnetworking/libc/herror.c | 122 - c/src/libnetworking/libc/inet.3 | 210 - c/src/libnetworking/libc/inet_addr.c | 180 - c/src/libnetworking/libc/inet_lnaof.c | 61 - c/src/libnetworking/libc/inet_makeaddr.c | 64 - c/src/libnetworking/libc/inet_net_ntop.c | 140 - c/src/libnetworking/libc/inet_net_pton.c | 207 - c/src/libnetworking/libc/inet_neta.c | 84 - c/src/libnetworking/libc/inet_netof.c | 60 - c/src/libnetworking/libc/inet_network.c | 92 - c/src/libnetworking/libc/inet_ntoa.c | 59 - c/src/libnetworking/libc/inet_ntop.c | 191 - c/src/libnetworking/libc/inet_pton.c | 214 - c/src/libnetworking/libc/iso_addr.3 | 111 - c/src/libnetworking/libc/iso_addr.c | 119 - c/src/libnetworking/libc/linkaddr.3 | 138 - c/src/libnetworking/libc/linkaddr.c | 160 - c/src/libnetworking/libc/map_v4v6.c | 128 - c/src/libnetworking/libc/ns.3 | 131 - c/src/libnetworking/libc/ns_addr.c | 229 - c/src/libnetworking/libc/ns_name.c | 595 --- c/src/libnetworking/libc/ns_netint.c | 56 - c/src/libnetworking/libc/ns_ntoa.c | 102 - c/src/libnetworking/libc/ns_parse.c | 192 - c/src/libnetworking/libc/ns_print.c | 745 ---- c/src/libnetworking/libc/ns_ttl.c | 153 - c/src/libnetworking/libc/nsap_addr.c | 105 - c/src/libnetworking/libc/rcmd.3 | 204 - c/src/libnetworking/libc/rcmd.c | 520 --- c/src/libnetworking/libc/recv.c | 52 - c/src/libnetworking/libc/res_comp.c | 258 -- c/src/libnetworking/libc/res_config.h | 20 - c/src/libnetworking/libc/res_data.c | 83 - c/src/libnetworking/libc/res_debug.c | 966 ----- c/src/libnetworking/libc/res_init.c | 497 --- c/src/libnetworking/libc/res_mkquery.c | 199 - c/src/libnetworking/libc/res_mkupdate.c | 415 -- c/src/libnetworking/libc/res_query.c | 410 -- c/src/libnetworking/libc/res_send.c | 929 ---- c/src/libnetworking/libc/res_stubs.c | 75 - c/src/libnetworking/libc/res_update.c | 518 --- c/src/libnetworking/libc/resolver.3 | 352 -- c/src/libnetworking/libc/send.c | 52 - c/src/libnetworking/libc/strsep.c | 85 - c/src/libnetworking/loop.h | 5 - c/src/libnetworking/machine/conf.h | 6 - c/src/libnetworking/machine/cpu.h | 6 - c/src/libnetworking/machine/cpufunc.h | 5 - c/src/libnetworking/machine/endian.h | 64 - c/src/libnetworking/machine/in_cksum.h | 118 - c/src/libnetworking/machine/limits.h | 6 - c/src/libnetworking/machine/param.h | 92 - c/src/libnetworking/machine/types.h | 34 - c/src/libnetworking/machine/vmparam.h | 6 - c/src/libnetworking/net/Makefile.in | 49 - c/src/libnetworking/net/bpf.h | 236 -- c/src/libnetworking/net/ethernet.h | 63 - c/src/libnetworking/net/if.c | 783 ---- c/src/libnetworking/net/if.h | 467 --- c/src/libnetworking/net/if_arp.h | 91 - c/src/libnetworking/net/if_dl.h | 86 - c/src/libnetworking/net/if_ethersubr.c | 988 ----- c/src/libnetworking/net/if_llc.h | 145 - c/src/libnetworking/net/if_loop.c | 301 -- c/src/libnetworking/net/if_types.h | 101 - c/src/libnetworking/net/netisr.h | 90 - c/src/libnetworking/net/radix.c | 1028 ----- c/src/libnetworking/net/radix.h | 165 - c/src/libnetworking/net/raw_cb.c | 148 - c/src/libnetworking/net/raw_cb.h | 75 - c/src/libnetworking/net/raw_usrreq.c | 315 -- c/src/libnetworking/net/route.c | 959 ----- c/src/libnetworking/net/route.h | 284 -- c/src/libnetworking/net/rtsock.c | 829 ---- c/src/libnetworking/netdb.h | 182 - c/src/libnetworking/netinet/Makefile.in | 53 - c/src/libnetworking/netinet/icmp_var.h | 78 - c/src/libnetworking/netinet/if_ether.c | 638 --- c/src/libnetworking/netinet/if_ether.h | 209 - c/src/libnetworking/netinet/igmp.c | 479 --- c/src/libnetworking/netinet/igmp.h | 96 - c/src/libnetworking/netinet/igmp_var.h | 111 - c/src/libnetworking/netinet/in.c | 728 ---- c/src/libnetworking/netinet/in.h | 433 -- c/src/libnetworking/netinet/in_cksum.c | 166 - c/src/libnetworking/netinet/in_cksum_i386.c | 198 - c/src/libnetworking/netinet/in_cksum_m68k.c | 223 - c/src/libnetworking/netinet/in_pcb.c | 757 ---- c/src/libnetworking/netinet/in_pcb.h | 124 - c/src/libnetworking/netinet/in_proto.c | 203 - c/src/libnetworking/netinet/in_rmx.c | 384 -- c/src/libnetworking/netinet/in_systm.h | 62 - c/src/libnetworking/netinet/in_var.h | 235 -- c/src/libnetworking/netinet/ip.h | 190 - c/src/libnetworking/netinet/ip_divert.c | 382 -- c/src/libnetworking/netinet/ip_fw.c | 1069 ----- c/src/libnetworking/netinet/ip_fw.h | 183 - c/src/libnetworking/netinet/ip_icmp.c | 710 ---- c/src/libnetworking/netinet/ip_icmp.h | 190 - c/src/libnetworking/netinet/ip_input.c | 1488 ------- c/src/libnetworking/netinet/ip_mroute.c | 2302 ---------- c/src/libnetworking/netinet/ip_mroute.h | 262 -- c/src/libnetworking/netinet/ip_output.c | 1307 ------ c/src/libnetworking/netinet/ip_var.h | 211 - c/src/libnetworking/netinet/raw_ip.c | 486 --- c/src/libnetworking/netinet/tcp.h | 122 - c/src/libnetworking/netinet/tcp_debug.c | 172 - c/src/libnetworking/netinet/tcp_debug.h | 69 - c/src/libnetworking/netinet/tcp_fsm.h | 92 - c/src/libnetworking/netinet/tcp_input.c | 2149 ---------- c/src/libnetworking/netinet/tcp_output.c | 755 ---- c/src/libnetworking/netinet/tcp_seq.h | 102 - c/src/libnetworking/netinet/tcp_subr.c | 634 --- c/src/libnetworking/netinet/tcp_timer.c | 387 -- c/src/libnetworking/netinet/tcp_timer.h | 138 - c/src/libnetworking/netinet/tcp_usrreq.c | 840 ---- c/src/libnetworking/netinet/tcp_var.h | 374 -- c/src/libnetworking/netinet/tcpip.h | 75 - c/src/libnetworking/netinet/udp.h | 51 - c/src/libnetworking/netinet/udp_usrreq.c | 613 --- c/src/libnetworking/netinet/udp_var.h | 103 - c/src/libnetworking/nfs/Makefile.in | 47 - c/src/libnetworking/nfs/bootp_subr.c | 968 ----- c/src/libnetworking/nfs/krpc.h | 26 - c/src/libnetworking/nfs/nfs.h | 620 --- c/src/libnetworking/nfs/nfsdiskless.h | 100 - c/src/libnetworking/nfs/nfsproto.h | 441 -- c/src/libnetworking/nfs/rpcv2.h | 142 - c/src/libnetworking/nfs/xdr_subs.h | 90 - c/src/libnetworking/opt_ipfw.h | 6 - c/src/libnetworking/opt_mrouting.h | 6 - c/src/libnetworking/opt_tcpdebug.h | 6 - c/src/libnetworking/poll.h | 108 - c/src/libnetworking/resolv.h | 306 -- c/src/libnetworking/rtems/Makefile.in | 51 - c/src/libnetworking/rtems/issetugid.c | 11 - c/src/libnetworking/rtems/rtems_bootp.c | 19 - c/src/libnetworking/rtems/rtems_bsdnet.h | 112 - c/src/libnetworking/rtems/rtems_bsdnet_internal.h | 178 - c/src/libnetworking/rtems/rtems_glue.c | 905 ---- c/src/libnetworking/rtems/rtems_showicmpstat.c | 60 - c/src/libnetworking/rtems/rtems_showifstat.c | 110 - c/src/libnetworking/rtems/rtems_showipstat.c | 59 - c/src/libnetworking/rtems/rtems_showmbuf.c | 65 - c/src/libnetworking/rtems/rtems_showroute.c | 237 -- c/src/libnetworking/rtems/rtems_showtcpstat.c | 102 - c/src/libnetworking/rtems/rtems_showudpstat.c | 48 - c/src/libnetworking/rtems/rtems_syscall.c | 761 ---- c/src/libnetworking/rtems/sghostname.c | 49 - c/src/libnetworking/rtems/tftp.h | 85 - c/src/libnetworking/sys/buf.h | 248 -- c/src/libnetworking/sys/callout.h | 57 - c/src/libnetworking/sys/cdefs.h | 177 - c/src/libnetworking/sys/conf.h | 228 - c/src/libnetworking/sys/domain.h | 75 - c/src/libnetworking/sys/filio.h | 56 - c/src/libnetworking/sys/ioccom.h | 75 - c/src/libnetworking/sys/ioctl.h | 77 - c/src/libnetworking/sys/kernel.h | 251 -- c/src/libnetworking/sys/libkern.h | 89 - c/src/libnetworking/sys/malloc.h | 355 -- c/src/libnetworking/sys/mbuf.h | 439 -- c/src/libnetworking/sys/mount.h | 531 --- c/src/libnetworking/sys/param.h | 231 - c/src/libnetworking/sys/proc.h | 8 - c/src/libnetworking/sys/protosw.h | 300 -- c/src/libnetworking/sys/queue.h | 446 -- c/src/libnetworking/sys/reboot.h | 106 - c/src/libnetworking/sys/resourcevar.h | 5 - c/src/libnetworking/sys/rtprio.h | 70 - c/src/libnetworking/sys/select.h | 57 - c/src/libnetworking/sys/signalvar.h | 171 - c/src/libnetworking/sys/socket.h | 356 -- c/src/libnetworking/sys/socketvar.h | 279 -- c/src/libnetworking/sys/sockio.h | 86 - c/src/libnetworking/sys/sysctl.h | 379 -- c/src/libnetworking/sys/syslimits.h | 85 - c/src/libnetworking/sys/syslog.h | 194 - c/src/libnetworking/sys/systm.h | 198 - c/src/libnetworking/sys/ttycom.h | 141 - c/src/libnetworking/sys/ttydefaults.h | 97 - c/src/libnetworking/sys/ucred.h | 64 - c/src/libnetworking/sys/uio.h | 92 - c/src/libnetworking/syslog.h | 5 - c/src/libnetworking/vm/vm.h | 73 - c/src/libnetworking/vm/vm_extern.h | 103 - c/src/libnetworking/vm/vm_kern.h | 84 - c/src/libnetworking/vm/vm_param.h | 165 - c/src/libnetworking/wrapup/Makefile.in | 45 - c/src/librtems++/README | 266 -- c/src/librtems++/include/rtems++/rtemsEvent.h | 127 - c/src/librtems++/include/rtems++/rtemsInterrupt.h | 105 - .../librtems++/include/rtems++/rtemsMessageQueue.h | 176 - c/src/librtems++/include/rtems++/rtemsSemaphore.h | 145 - c/src/librtems++/include/rtems++/rtemsStatusCode.h | 57 - c/src/librtems++/include/rtems++/rtemsTask.h | 171 - c/src/librtems++/include/rtems++/rtemsTaskMode.h | 210 - c/src/librtems++/include/rtems++/rtemsTimer.h | 145 - c/src/librtems++/src/Makefile.in | 50 - c/src/librtems++/src/rtemsEvent.cc | 75 - c/src/librtems++/src/rtemsInterrupt.cc | 115 - c/src/librtems++/src/rtemsMessageQueue.cc | 165 - c/src/librtems++/src/rtemsSemaphore.cc | 175 - c/src/librtems++/src/rtemsStatusCode.cc | 77 - c/src/librtems++/src/rtemsTask.cc | 288 -- c/src/librtems++/src/rtemsTimer.cc | 101 - c/src/make/README | 513 --- c/src/make/compilers/gcc-target-default.cfg | 330 -- c/src/make/directory.cfg | 57 - c/src/make/host.cfg.in | 74 - c/src/make/lib.cfg | 20 - c/src/optman/rtems/no-dpmem.c | 98 - c/src/optman/rtems/no-event.c | 56 - c/src/optman/rtems/no-mp.c | 201 - c/src/optman/rtems/no-msg.c | 192 - c/src/optman/rtems/no-part.c | 97 - c/src/optman/rtems/no-region.c | 114 - c/src/optman/rtems/no-rtmon.c | 117 - c/src/optman/rtems/no-sem.c | 114 - c/src/optman/rtems/no-signal.c | 56 - c/src/optman/rtems/no-timer.c | 123 - c/src/optman/sapi/no-ext.c | 67 - c/src/optman/sapi/no-io.c | 144 - c/src/tests/psxtests/include/pmacros.h | 85 - c/src/wrapup/Makefile.in | 71 - cpukit/ada/rtems.adb | 2035 --------- cpukit/ada/rtems.ads | 1430 ------- cpukit/libcsupport/include/chain.h | 362 -- cpukit/libcsupport/include/clockdrv.h | 51 - cpukit/libcsupport/include/console.h | 73 - cpukit/libcsupport/include/iosupp.h | 44 - cpukit/libcsupport/include/motorola/mc68230.h | 71 - cpukit/libcsupport/include/motorola/mc68681.h | 306 -- cpukit/libcsupport/include/ringbuf.h | 53 - cpukit/libcsupport/include/rtems/assoc.h | 42 - cpukit/libcsupport/include/rtems/error.h | 38 - cpukit/libcsupport/include/rtems/libcsupport.h | 43 - cpukit/libcsupport/include/rtems/libio.h | 166 - cpukit/libcsupport/include/spurious.h | 38 - cpukit/libcsupport/include/sys/filio.h | 56 - cpukit/libcsupport/include/sys/ioctl.h | 77 - cpukit/libcsupport/include/sys/sockio.h | 86 - cpukit/libcsupport/include/sys/termios.h | 188 - cpukit/libcsupport/include/sys/utsname.h | 49 - cpukit/libcsupport/include/timerdrv.h | 40 - cpukit/libcsupport/include/vmeintr.h | 58 - cpukit/libcsupport/include/zilog/z8036.h | 109 - cpukit/libcsupport/include/zilog/z8530.h | 99 - cpukit/libcsupport/include/zilog/z8536.h | 112 - cpukit/libcsupport/src/README | 37 - cpukit/libcsupport/src/__brk.c | 44 - cpukit/libcsupport/src/__gettod.c | 118 - cpukit/libcsupport/src/__times.c | 74 - cpukit/libcsupport/src/assoc.c | 260 -- cpukit/libcsupport/src/closedir.c | 20 - cpukit/libcsupport/src/error.c | 209 - cpukit/libcsupport/src/getdents.c | 14 - cpukit/libcsupport/src/hosterr.c | 43 - cpukit/libcsupport/src/libio.c | 524 --- cpukit/libcsupport/src/malloc.c | 424 -- cpukit/libcsupport/src/newlibc.c | 429 -- cpukit/libcsupport/src/no_libc.c | 55 - cpukit/libcsupport/src/opendir.c | 17 - cpukit/libcsupport/src/readdir.c | 14 - cpukit/libcsupport/src/rewinddir.c | 20 - cpukit/libcsupport/src/scandir.c | 23 - cpukit/libcsupport/src/seekdir.c | 21 - cpukit/libcsupport/src/tcdrain.c | 26 - cpukit/libcsupport/src/telldir.c | 23 - cpukit/libcsupport/src/termios.c | 935 ----- cpukit/libcsupport/src/unixlibc.c | 23 - cpukit/libcsupport/src/utsname.c | 57 - cpukit/libmisc/README | 23 - cpukit/libmisc/cpuuse/README | 41 - cpukit/libmisc/cpuuse/cpuuse.c | 142 - cpukit/libmisc/cpuuse/cpuuse.h | 41 - cpukit/libmisc/monitor/README | 97 - cpukit/libmisc/monitor/mon-command.c | 187 - cpukit/libmisc/monitor/mon-config.c | 131 - cpukit/libmisc/monitor/mon-dname.c | 112 - cpukit/libmisc/monitor/mon-driver.c | 136 - cpukit/libmisc/monitor/mon-extension.c | 98 - cpukit/libmisc/monitor/mon-itask.c | 115 - cpukit/libmisc/monitor/mon-manager.c | 48 - cpukit/libmisc/monitor/mon-monitor.c | 518 --- cpukit/libmisc/monitor/mon-mpci.c | 159 - cpukit/libmisc/monitor/mon-object.c | 374 -- cpukit/libmisc/monitor/mon-prmisc.c | 259 -- cpukit/libmisc/monitor/mon-queue.c | 64 - cpukit/libmisc/monitor/mon-server.c | 303 -- cpukit/libmisc/monitor/mon-symbols.c | 487 --- cpukit/libmisc/monitor/mon-task.c | 93 - cpukit/libmisc/monitor/monitor.h | 443 -- cpukit/libmisc/monitor/symbols.h | 62 - cpukit/libmisc/rtmonuse/rtmonuse.c | 178 - cpukit/libmisc/rtmonuse/rtmonuse.h | 18 - cpukit/libmisc/stackchk/README | 56 - cpukit/libmisc/stackchk/check.c | 535 --- cpukit/libmisc/stackchk/internal.h | 96 - cpukit/libmisc/stackchk/stackchk.h | 83 - cpukit/libnetworking/README | 18 - cpukit/libnetworking/arpa/ftp.h | 111 - cpukit/libnetworking/arpa/inet.h | 105 - cpukit/libnetworking/arpa/nameser.h | 448 -- cpukit/libnetworking/arpa/nameser_compat.h | 194 - cpukit/libnetworking/arpa/telnet.h | 342 -- cpukit/libnetworking/bpfilter.h | 6 - cpukit/libnetworking/kern/kern_subr.c | 206 - cpukit/libnetworking/kern/uipc_domain.c | 228 - cpukit/libnetworking/kern/uipc_mbuf.c | 851 ---- cpukit/libnetworking/kern/uipc_socket.c | 1100 ----- cpukit/libnetworking/kern/uipc_socket2.c | 965 ----- cpukit/libnetworking/lib/README | 5 - cpukit/libnetworking/lib/getprotoby.c | 46 - cpukit/libnetworking/lib/syslog.c | 189 - cpukit/libnetworking/lib/tftpDriver.c | 609 --- cpukit/libnetworking/libc/addr2ascii.3 | 217 - cpukit/libnetworking/libc/addr2ascii.c | 94 - cpukit/libnetworking/libc/ascii2addr.c | 74 - cpukit/libnetworking/libc/base64.c | 318 -- cpukit/libnetworking/libc/byteorder.3 | 77 - cpukit/libnetworking/libc/ether_addr.c | 226 - cpukit/libnetworking/libc/ethers.3 | 193 - cpukit/libnetworking/libc/gethostbydns.c | 773 ---- cpukit/libnetworking/libc/gethostbyht.c | 202 - cpukit/libnetworking/libc/gethostbyname.3 | 305 -- cpukit/libnetworking/libc/gethostbynis.c | 142 - cpukit/libnetworking/libc/gethostnamadr.c | 224 - cpukit/libnetworking/libc/gethostname.c | 26 - cpukit/libnetworking/libc/getnetbydns.c | 313 -- cpukit/libnetworking/libc/getnetbyht.c | 173 - cpukit/libnetworking/libc/getnetbynis.c | 177 - cpukit/libnetworking/libc/getnetent.3 | 159 - cpukit/libnetworking/libc/getnetnamadr.c | 190 - cpukit/libnetworking/libc/getproto.c | 57 - cpukit/libnetworking/libc/getprotoent.3 | 147 - cpukit/libnetworking/libc/getprotoent.c | 121 - cpukit/libnetworking/libc/getprotoname.c | 64 - cpukit/libnetworking/libc/getservbyname.c | 81 - cpukit/libnetworking/libc/getservbyport.c | 76 - cpukit/libnetworking/libc/getservent.3 | 156 - cpukit/libnetworking/libc/getservent.c | 280 -- cpukit/libnetworking/libc/herror.c | 122 - cpukit/libnetworking/libc/inet.3 | 210 - cpukit/libnetworking/libc/inet_addr.c | 180 - cpukit/libnetworking/libc/inet_lnaof.c | 61 - cpukit/libnetworking/libc/inet_makeaddr.c | 64 - cpukit/libnetworking/libc/inet_net_ntop.c | 140 - cpukit/libnetworking/libc/inet_net_pton.c | 207 - cpukit/libnetworking/libc/inet_neta.c | 84 - cpukit/libnetworking/libc/inet_netof.c | 60 - cpukit/libnetworking/libc/inet_network.c | 92 - cpukit/libnetworking/libc/inet_ntoa.c | 59 - cpukit/libnetworking/libc/inet_ntop.c | 191 - cpukit/libnetworking/libc/inet_pton.c | 214 - cpukit/libnetworking/libc/iso_addr.3 | 111 - cpukit/libnetworking/libc/iso_addr.c | 119 - cpukit/libnetworking/libc/linkaddr.3 | 138 - cpukit/libnetworking/libc/linkaddr.c | 160 - cpukit/libnetworking/libc/map_v4v6.c | 128 - cpukit/libnetworking/libc/ns.3 | 131 - cpukit/libnetworking/libc/ns_addr.c | 229 - cpukit/libnetworking/libc/ns_name.c | 595 --- cpukit/libnetworking/libc/ns_netint.c | 56 - cpukit/libnetworking/libc/ns_ntoa.c | 102 - cpukit/libnetworking/libc/ns_parse.c | 192 - cpukit/libnetworking/libc/ns_print.c | 745 ---- cpukit/libnetworking/libc/ns_ttl.c | 153 - cpukit/libnetworking/libc/nsap_addr.c | 105 - cpukit/libnetworking/libc/rcmd.3 | 204 - cpukit/libnetworking/libc/rcmd.c | 520 --- cpukit/libnetworking/libc/recv.c | 52 - cpukit/libnetworking/libc/res_comp.c | 258 -- cpukit/libnetworking/libc/res_config.h | 20 - cpukit/libnetworking/libc/res_data.c | 83 - cpukit/libnetworking/libc/res_debug.c | 966 ----- cpukit/libnetworking/libc/res_init.c | 497 --- cpukit/libnetworking/libc/res_mkquery.c | 199 - cpukit/libnetworking/libc/res_mkupdate.c | 415 -- cpukit/libnetworking/libc/res_query.c | 410 -- cpukit/libnetworking/libc/res_send.c | 929 ---- cpukit/libnetworking/libc/res_stubs.c | 75 - cpukit/libnetworking/libc/res_update.c | 518 --- cpukit/libnetworking/libc/resolver.3 | 352 -- cpukit/libnetworking/libc/send.c | 52 - cpukit/libnetworking/libc/strsep.c | 85 - cpukit/libnetworking/loop.h | 5 - cpukit/libnetworking/machine/conf.h | 6 - cpukit/libnetworking/machine/cpu.h | 6 - cpukit/libnetworking/machine/cpufunc.h | 5 - cpukit/libnetworking/machine/endian.h | 64 - cpukit/libnetworking/machine/in_cksum.h | 118 - cpukit/libnetworking/machine/limits.h | 6 - cpukit/libnetworking/machine/param.h | 92 - cpukit/libnetworking/machine/types.h | 34 - cpukit/libnetworking/machine/vmparam.h | 6 - cpukit/libnetworking/net/bpf.h | 236 -- cpukit/libnetworking/net/ethernet.h | 63 - cpukit/libnetworking/net/if.c | 783 ---- cpukit/libnetworking/net/if.h | 467 --- cpukit/libnetworking/net/if_arp.h | 91 - cpukit/libnetworking/net/if_dl.h | 86 - cpukit/libnetworking/net/if_ethersubr.c | 988 ----- cpukit/libnetworking/net/if_llc.h | 145 - cpukit/libnetworking/net/if_loop.c | 301 -- cpukit/libnetworking/net/if_types.h | 101 - cpukit/libnetworking/net/netisr.h | 90 - cpukit/libnetworking/net/radix.c | 1028 ----- cpukit/libnetworking/net/radix.h | 165 - cpukit/libnetworking/net/raw_cb.c | 148 - cpukit/libnetworking/net/raw_cb.h | 75 - cpukit/libnetworking/net/raw_usrreq.c | 315 -- cpukit/libnetworking/net/route.c | 959 ----- cpukit/libnetworking/net/route.h | 284 -- cpukit/libnetworking/net/rtsock.c | 829 ---- cpukit/libnetworking/netdb.h | 182 - cpukit/libnetworking/netinet/icmp_var.h | 78 - cpukit/libnetworking/netinet/if_ether.c | 638 --- cpukit/libnetworking/netinet/if_ether.h | 209 - cpukit/libnetworking/netinet/igmp.c | 479 --- cpukit/libnetworking/netinet/igmp.h | 96 - cpukit/libnetworking/netinet/igmp_var.h | 111 - cpukit/libnetworking/netinet/in.c | 728 ---- cpukit/libnetworking/netinet/in.h | 433 -- cpukit/libnetworking/netinet/in_cksum.c | 166 - cpukit/libnetworking/netinet/in_cksum_i386.c | 198 - cpukit/libnetworking/netinet/in_cksum_i386.h | 198 - cpukit/libnetworking/netinet/in_cksum_m68k.c | 223 - cpukit/libnetworking/netinet/in_cksum_m68k.h | 223 - cpukit/libnetworking/netinet/in_pcb.c | 757 ---- cpukit/libnetworking/netinet/in_pcb.h | 124 - cpukit/libnetworking/netinet/in_proto.c | 203 - cpukit/libnetworking/netinet/in_rmx.c | 384 -- cpukit/libnetworking/netinet/in_systm.h | 62 - cpukit/libnetworking/netinet/in_var.h | 235 -- cpukit/libnetworking/netinet/ip.h | 190 - cpukit/libnetworking/netinet/ip_divert.c | 382 -- cpukit/libnetworking/netinet/ip_fw.c | 1069 ----- cpukit/libnetworking/netinet/ip_fw.h | 183 - cpukit/libnetworking/netinet/ip_icmp.c | 710 ---- cpukit/libnetworking/netinet/ip_icmp.h | 190 - cpukit/libnetworking/netinet/ip_input.c | 1488 ------- cpukit/libnetworking/netinet/ip_mroute.c | 2302 ---------- cpukit/libnetworking/netinet/ip_mroute.h | 262 -- cpukit/libnetworking/netinet/ip_output.c | 1307 ------ cpukit/libnetworking/netinet/ip_var.h | 211 - cpukit/libnetworking/netinet/raw_ip.c | 486 --- cpukit/libnetworking/netinet/tcp.h | 122 - cpukit/libnetworking/netinet/tcp_debug.c | 172 - cpukit/libnetworking/netinet/tcp_debug.h | 69 - cpukit/libnetworking/netinet/tcp_fsm.h | 92 - cpukit/libnetworking/netinet/tcp_input.c | 2149 ---------- cpukit/libnetworking/netinet/tcp_output.c | 755 ---- cpukit/libnetworking/netinet/tcp_seq.h | 102 - cpukit/libnetworking/netinet/tcp_subr.c | 634 --- cpukit/libnetworking/netinet/tcp_timer.c | 387 -- cpukit/libnetworking/netinet/tcp_timer.h | 138 - cpukit/libnetworking/netinet/tcp_usrreq.c | 840 ---- cpukit/libnetworking/netinet/tcp_var.h | 374 -- cpukit/libnetworking/netinet/tcpip.h | 75 - cpukit/libnetworking/netinet/udp.h | 51 - cpukit/libnetworking/netinet/udp_usrreq.c | 613 --- cpukit/libnetworking/netinet/udp_var.h | 103 - cpukit/libnetworking/nfs/bootp_subr.c | 968 ----- cpukit/libnetworking/nfs/krpc.h | 26 - cpukit/libnetworking/nfs/nfs.h | 620 --- cpukit/libnetworking/nfs/nfsdiskless.h | 100 - cpukit/libnetworking/nfs/nfsproto.h | 441 -- cpukit/libnetworking/nfs/rpcv2.h | 142 - cpukit/libnetworking/nfs/xdr_subs.h | 90 - cpukit/libnetworking/opt_ipfw.h | 6 - cpukit/libnetworking/opt_mrouting.h | 6 - cpukit/libnetworking/opt_tcpdebug.h | 6 - cpukit/libnetworking/poll.h | 108 - cpukit/libnetworking/resolv.h | 306 -- cpukit/libnetworking/rtems/issetugid.c | 11 - cpukit/libnetworking/rtems/rtems_bootp.c | 19 - cpukit/libnetworking/rtems/rtems_bsdnet.h | 112 - cpukit/libnetworking/rtems/rtems_bsdnet_internal.h | 178 - cpukit/libnetworking/rtems/rtems_glue.c | 905 ---- cpukit/libnetworking/rtems/rtems_showicmpstat.c | 60 - cpukit/libnetworking/rtems/rtems_showifstat.c | 110 - cpukit/libnetworking/rtems/rtems_showipstat.c | 59 - cpukit/libnetworking/rtems/rtems_showmbuf.c | 65 - cpukit/libnetworking/rtems/rtems_showroute.c | 237 -- cpukit/libnetworking/rtems/rtems_showtcpstat.c | 102 - cpukit/libnetworking/rtems/rtems_showudpstat.c | 48 - cpukit/libnetworking/rtems/rtems_syscall.c | 761 ---- cpukit/libnetworking/rtems/sghostname.c | 49 - cpukit/libnetworking/rtems/tftp.h | 85 - cpukit/libnetworking/sys/buf.h | 248 -- cpukit/libnetworking/sys/callout.h | 57 - cpukit/libnetworking/sys/conf.h | 228 - cpukit/libnetworking/sys/domain.h | 75 - cpukit/libnetworking/sys/kernel.h | 251 -- cpukit/libnetworking/sys/libkern.h | 89 - cpukit/libnetworking/sys/malloc.h | 355 -- cpukit/libnetworking/sys/mbuf.h | 439 -- cpukit/libnetworking/sys/mount.h | 531 --- cpukit/libnetworking/sys/param.h | 231 - cpukit/libnetworking/sys/proc.h | 8 - cpukit/libnetworking/sys/protosw.h | 300 -- cpukit/libnetworking/sys/queue.h | 446 -- cpukit/libnetworking/sys/reboot.h | 106 - cpukit/libnetworking/sys/resourcevar.h | 5 - cpukit/libnetworking/sys/rtprio.h | 70 - cpukit/libnetworking/sys/select.h | 57 - cpukit/libnetworking/sys/signalvar.h | 171 - cpukit/libnetworking/sys/socket.h | 356 -- cpukit/libnetworking/sys/socketvar.h | 279 -- cpukit/libnetworking/sys/sysctl.h | 379 -- cpukit/libnetworking/sys/syslimits.h | 85 - cpukit/libnetworking/sys/syslog.h | 194 - cpukit/libnetworking/sys/systm.h | 198 - cpukit/libnetworking/sys/ttydefaults.h | 97 - cpukit/libnetworking/sys/ucred.h | 64 - cpukit/libnetworking/sys/uio.h | 92 - cpukit/libnetworking/syslog.h | 5 - cpukit/libnetworking/vm/vm.h | 73 - cpukit/libnetworking/vm/vm_extern.h | 103 - cpukit/libnetworking/vm/vm_kern.h | 84 - cpukit/libnetworking/vm/vm_param.h | 165 - cpukit/posix/include/aio.h | 137 - cpukit/posix/include/devctl.h | 30 - cpukit/posix/include/intr.h | 72 - cpukit/posix/include/mqueue.h | 145 - cpukit/posix/include/rtems/posix/cancel.h | 16 - cpukit/posix/include/rtems/posix/cond.h | 130 - cpukit/posix/include/rtems/posix/condmp.h | 162 - cpukit/posix/include/rtems/posix/config.h | 59 - cpukit/posix/include/rtems/posix/intr.h | 154 - cpukit/posix/include/rtems/posix/key.h | 136 - cpukit/posix/include/rtems/posix/mqueue.h | 186 - cpukit/posix/include/rtems/posix/mqueuemp.h | 161 - cpukit/posix/include/rtems/posix/mutex.h | 120 - cpukit/posix/include/rtems/posix/mutexmp.h | 161 - cpukit/posix/include/rtems/posix/posixapi.h | 34 - cpukit/posix/include/rtems/posix/priority.h | 44 - cpukit/posix/include/rtems/posix/psignal.h | 22 - cpukit/posix/include/rtems/posix/pthread.h | 123 - cpukit/posix/include/rtems/posix/pthreadmp.h | 161 - cpukit/posix/include/rtems/posix/semaphore.h | 135 - cpukit/posix/include/rtems/posix/semaphoremp.h | 161 - cpukit/posix/include/rtems/posix/threadsup.h | 46 - cpukit/posix/include/rtems/posix/time.h | 50 - cpukit/posix/include/sched.h | 88 - cpukit/posix/include/semaphore.h | 108 - cpukit/posix/inline/rtems/posix/cond.inl | 77 - cpukit/posix/inline/rtems/posix/intr.inl | 72 - cpukit/posix/inline/rtems/posix/key.inl | 70 - cpukit/posix/inline/rtems/posix/mqueue.inl | 83 - cpukit/posix/inline/rtems/posix/mutex.inl | 93 - cpukit/posix/inline/rtems/posix/priority.inl | 37 - cpukit/posix/inline/rtems/posix/pthread.inl | 70 - cpukit/posix/inline/rtems/posix/semaphore.inl | 71 - cpukit/posix/src/adasupp.c | 28 - cpukit/posix/src/aio.c | 111 - cpukit/posix/src/cancel.c | 228 - cpukit/posix/src/cond.c | 502 --- cpukit/posix/src/devctl.c | 22 - cpukit/posix/src/execl.c | 17 - cpukit/posix/src/execle.c | 17 - cpukit/posix/src/execlp.c | 17 - cpukit/posix/src/execv.c | 17 - cpukit/posix/src/execve.c | 18 - cpukit/posix/src/execvp.c | 16 - cpukit/posix/src/fork.c | 14 - cpukit/posix/src/getpid.c | 22 - cpukit/posix/src/intr.c | 340 -- cpukit/posix/src/key.c | 262 -- cpukit/posix/src/mqueue.c | 710 ---- cpukit/posix/src/mutex.c | 688 --- cpukit/posix/src/psignal.c | 1343 ------ cpukit/posix/src/pthread.c | 1313 ------ cpukit/posix/src/pthreadatfork.c | 18 - cpukit/posix/src/ptimer.c | 75 - cpukit/posix/src/sched.c | 153 - cpukit/posix/src/semaphore.c | 571 --- cpukit/posix/src/time.c | 396 -- cpukit/posix/src/types.c | 212 - cpukit/posix/src/wait.c | 17 - cpukit/posix/src/waitpid.c | 17 - cpukit/rtems/include/rtems.h | 121 - cpukit/rtems/include/rtems/rtems/asr.h | 112 - cpukit/rtems/include/rtems/rtems/attr.h | 87 - cpukit/rtems/include/rtems/rtems/clock.h | 103 - cpukit/rtems/include/rtems/rtems/config.h | 54 - cpukit/rtems/include/rtems/rtems/dpmem.h | 157 - cpukit/rtems/include/rtems/rtems/event.h | 174 - cpukit/rtems/include/rtems/rtems/eventmp.h | 147 - cpukit/rtems/include/rtems/rtems/eventset.h | 89 - cpukit/rtems/include/rtems/rtems/intr.h | 160 - cpukit/rtems/include/rtems/rtems/message.h | 334 -- cpukit/rtems/include/rtems/rtems/modes.h | 89 - cpukit/rtems/include/rtems/rtems/mp.h | 53 - cpukit/rtems/include/rtems/rtems/msgmp.h | 177 - cpukit/rtems/include/rtems/rtems/options.h | 53 - cpukit/rtems/include/rtems/rtems/part.h | 168 - cpukit/rtems/include/rtems/rtems/partmp.h | 161 - cpukit/rtems/include/rtems/rtems/ratemon.h | 213 - cpukit/rtems/include/rtems/rtems/region.h | 234 -- cpukit/rtems/include/rtems/rtems/regionmp.h | 166 - cpukit/rtems/include/rtems/rtems/rtemsapi.h | 34 - cpukit/rtems/include/rtems/rtems/sem.h | 248 -- cpukit/rtems/include/rtems/rtems/semmp.h | 163 - cpukit/rtems/include/rtems/rtems/signal.h | 83 - cpukit/rtems/include/rtems/rtems/signalmp.h | 147 - cpukit/rtems/include/rtems/rtems/status.h | 84 - cpukit/rtems/include/rtems/rtems/support.h | 99 - cpukit/rtems/include/rtems/rtems/taskmp.h | 167 - cpukit/rtems/include/rtems/rtems/tasks.h | 421 -- cpukit/rtems/include/rtems/rtems/timer.h | 207 - cpukit/rtems/include/rtems/rtems/types.h | 96 - cpukit/rtems/inline/rtems/rtems/asr.inl | 128 - cpukit/rtems/inline/rtems/rtems/attr.inl | 176 - cpukit/rtems/inline/rtems/rtems/dpmem.inl | 95 - cpukit/rtems/inline/rtems/rtems/event.inl | 21 - cpukit/rtems/inline/rtems/rtems/eventset.inl | 95 - cpukit/rtems/inline/rtems/rtems/message.inl | 83 - cpukit/rtems/inline/rtems/rtems/modes.inl | 152 - cpukit/rtems/inline/rtems/rtems/options.inl | 55 - cpukit/rtems/inline/rtems/rtems/part.inl | 199 - cpukit/rtems/inline/rtems/rtems/ratemon.inl | 143 - cpukit/rtems/inline/rtems/rtems/region.inl | 127 - cpukit/rtems/inline/rtems/rtems/sem.inl | 93 - cpukit/rtems/inline/rtems/rtems/status.inl | 56 - cpukit/rtems/inline/rtems/rtems/support.inl | 61 - cpukit/rtems/inline/rtems/rtems/tasks.inl | 90 - cpukit/rtems/inline/rtems/rtems/timer.inl | 142 - cpukit/rtems/macros/rtems/rtems/asr.inl | 90 - cpukit/rtems/macros/rtems/rtems/attr.inl | 100 - cpukit/rtems/macros/rtems/rtems/dpmem.inl | 59 - cpukit/rtems/macros/rtems/rtems/event.inl | 21 - cpukit/rtems/macros/rtems/rtems/eventset.inl | 59 - cpukit/rtems/macros/rtems/rtems/message.inl | 49 - cpukit/rtems/macros/rtems/rtems/modes.inl | 92 - cpukit/rtems/macros/rtems/rtems/options.inl | 39 - cpukit/rtems/macros/rtems/rtems/part.inl | 117 - cpukit/rtems/macros/rtems/rtems/ratemon.inl | 85 - cpukit/rtems/macros/rtems/rtems/region.inl | 75 - cpukit/rtems/macros/rtems/rtems/sem.inl | 58 - cpukit/rtems/macros/rtems/rtems/status.inl | 39 - cpukit/rtems/macros/rtems/rtems/support.inl | 44 - cpukit/rtems/macros/rtems/rtems/tasks.inl | 58 - cpukit/rtems/macros/rtems/rtems/timer.inl | 85 - cpukit/rtems/src/attr.c | 30 - cpukit/rtems/src/dpmem.c | 281 -- cpukit/rtems/src/event.c | 383 -- cpukit/rtems/src/eventmp.c | 190 - cpukit/rtems/src/intr.c | 68 - cpukit/rtems/src/intrbody.c | 71 - cpukit/rtems/src/mp.c | 42 - cpukit/rtems/src/msg.c | 764 ---- cpukit/rtems/src/msgmp.c | 479 --- cpukit/rtems/src/part.c | 341 -- cpukit/rtems/src/partmp.c | 302 -- cpukit/rtems/src/ratemon.c | 461 -- cpukit/rtems/src/region.c | 486 --- cpukit/rtems/src/regionmp.c | 310 -- cpukit/rtems/src/rtclock.c | 151 - cpukit/rtems/src/rtemstimer.c | 349 -- cpukit/rtems/src/sem.c | 571 --- cpukit/rtems/src/semmp.c | 308 -- cpukit/rtems/src/signal.c | 149 - cpukit/rtems/src/signalmp.c | 189 - cpukit/rtems/src/taskmp.c | 340 -- cpukit/rtems/src/tasks.c | 1130 ----- cpukit/sapi/include/confdefs.h | 656 --- cpukit/sapi/include/rtems/README | 135 - cpukit/sapi/include/rtems/config.h | 104 - cpukit/sapi/include/rtems/extension.h | 138 - cpukit/sapi/include/rtems/fatal.h | 49 - cpukit/sapi/include/rtems/init.h | 110 - cpukit/sapi/include/rtems/io.h | 244 -- cpukit/sapi/include/rtems/mptables.h | 29 - cpukit/sapi/inline/rtems/extension.inl | 91 - cpukit/sapi/macros/rtems/extension.inl | 58 - cpukit/sapi/src/debug.c | 62 - cpukit/sapi/src/exinit.c | 298 -- cpukit/sapi/src/extension.c | 165 - cpukit/sapi/src/fatal.c | 38 - cpukit/sapi/src/io.c | 345 -- cpukit/sapi/src/posixapi.c | 96 - cpukit/sapi/src/rtemsapi.c | 90 - cpukit/score/cpu/a29k/amd.ah | 531 --- cpukit/score/cpu/a29k/asm.h | 103 - cpukit/score/cpu/a29k/cpu.c | 263 -- cpukit/score/cpu/a29k/pswmacro.ah | 442 -- cpukit/score/cpu/a29k/register.ah | 214 - cpukit/score/cpu/hppa1.1/cpu.c | 184 - cpukit/score/cpu/i386/asm.h | 151 - cpukit/score/cpu/i386/cpu.c | 185 - cpukit/score/cpu/i386/rtems/asm.h | 151 - cpukit/score/cpu/i960/asm.h | 110 - cpukit/score/cpu/i960/cpu.c | 155 - cpukit/score/cpu/m68k/asm.h | 144 - cpukit/score/cpu/m68k/cpu.c | 204 - cpukit/score/cpu/m68k/m68302.h | 661 --- cpukit/score/cpu/m68k/m68360.h | 880 ---- cpukit/score/cpu/m68k/memcpy.c | 87 - cpukit/score/cpu/m68k/qsm.h | 209 - cpukit/score/cpu/m68k/rtems/asm.h | 144 - cpukit/score/cpu/m68k/rtems/m68k/m68302.h | 661 --- cpukit/score/cpu/m68k/rtems/m68k/m68360.h | 880 ---- cpukit/score/cpu/m68k/rtems/m68k/qsm.h | 209 - cpukit/score/cpu/m68k/rtems/m68k/sim.h | 342 -- cpukit/score/cpu/m68k/sim.h | 342 -- cpukit/score/cpu/mips/asm.h | 102 - cpukit/score/cpu/mips/cpu.c | 219 - cpukit/score/cpu/mips/cpu_asm.S | 972 ----- cpukit/score/cpu/mips/idtcpu.h | 440 -- cpukit/score/cpu/mips/iregdef.h | 325 -- cpukit/score/cpu/mips/rtems/asm.h | 102 - cpukit/score/cpu/mips/rtems/mips/idtcpu.h | 440 -- cpukit/score/cpu/mips/rtems/mips/iregdef.h | 325 -- cpukit/score/cpu/mips64orion/asm.h | 102 - cpukit/score/cpu/mips64orion/cpu.c | 219 - cpukit/score/cpu/mips64orion/cpu_asm.S | 972 ----- cpukit/score/cpu/mips64orion/cpu_asm.h | 115 - cpukit/score/cpu/mips64orion/idtcpu.h | 440 -- cpukit/score/cpu/mips64orion/idtmon.h | 171 - cpukit/score/cpu/mips64orion/iregdef.h | 325 -- cpukit/score/cpu/no_cpu/asm.h | 101 - cpukit/score/cpu/no_cpu/cpu.c | 162 - cpukit/score/cpu/no_cpu/cpu_asm.c | 165 - cpukit/score/cpu/no_cpu/rtems/asm.h | 101 - cpukit/score/cpu/sh/asm.h | 137 - cpukit/score/cpu/sh/cpu.c | 232 - cpukit/score/cpu/sh/rtems/asm.h | 137 - cpukit/score/cpu/sparc/README | 110 - cpukit/score/cpu/sparc/asm.h | 123 - cpukit/score/cpu/sparc/cpu.c | 409 -- cpukit/score/cpu/sparc/rtems/asm.h | 123 - cpukit/score/cpu/unix/cpu.c | 1109 ----- cpukit/score/include/rtems/debug.h | 98 - cpukit/score/include/rtems/score/address.h | 31 - cpukit/score/include/rtems/score/apiext.h | 102 - cpukit/score/include/rtems/score/bitfield.h | 98 - cpukit/score/include/rtems/score/chain.h | 168 - cpukit/score/include/rtems/score/context.h | 134 - cpukit/score/include/rtems/score/copyrt.h | 42 - cpukit/score/include/rtems/score/coremsg.h | 267 -- cpukit/score/include/rtems/score/coremutex.h | 172 - cpukit/score/include/rtems/score/coresem.h | 156 - cpukit/score/include/rtems/score/heap.h | 226 - cpukit/score/include/rtems/score/interr.h | 95 - cpukit/score/include/rtems/score/isr.h | 231 - cpukit/score/include/rtems/score/mpci.h | 412 -- cpukit/score/include/rtems/score/mppkt.h | 101 - cpukit/score/include/rtems/score/object.h | 397 -- cpukit/score/include/rtems/score/objectmp.h | 152 - cpukit/score/include/rtems/score/priority.h | 97 - cpukit/score/include/rtems/score/stack.h | 50 - cpukit/score/include/rtems/score/states.h | 84 - cpukit/score/include/rtems/score/sysstate.h | 67 - cpukit/score/include/rtems/score/thread.h | 622 --- cpukit/score/include/rtems/score/threadmp.h | 89 - cpukit/score/include/rtems/score/threadq.h | 301 -- cpukit/score/include/rtems/score/tod.h | 277 -- cpukit/score/include/rtems/score/tqdata.h | 90 - cpukit/score/include/rtems/score/userext.h | 211 - cpukit/score/include/rtems/score/watchdog.h | 194 - cpukit/score/include/rtems/score/wkspace.h | 71 - cpukit/score/include/rtems/system.h | 153 - cpukit/score/inline/rtems/score/address.inl | 120 - cpukit/score/inline/rtems/score/chain.inl | 390 -- cpukit/score/inline/rtems/score/coremsg.inl | 260 -- cpukit/score/inline/rtems/score/coremutex.inl | 124 - cpukit/score/inline/rtems/score/coresem.inl | 54 - cpukit/score/inline/rtems/score/heap.inl | 274 -- cpukit/score/inline/rtems/score/isr.inl | 73 - cpukit/score/inline/rtems/score/mppkt.inl | 58 - cpukit/score/inline/rtems/score/object.inl | 244 -- cpukit/score/inline/rtems/score/objectmp.inl | 73 - cpukit/score/inline/rtems/score/priority.inl | 247 -- cpukit/score/inline/rtems/score/stack.inl | 81 - cpukit/score/inline/rtems/score/states.inl | 384 -- cpukit/score/inline/rtems/score/sysstate.inl | 154 - cpukit/score/inline/rtems/score/thread.inl | 404 -- cpukit/score/inline/rtems/score/threadmp.inl | 61 - cpukit/score/inline/rtems/score/tod.inl | 67 - cpukit/score/inline/rtems/score/tqdata.inl | 73 - cpukit/score/inline/rtems/score/userext.inl | 132 - cpukit/score/inline/rtems/score/watchdog.inl | 324 -- cpukit/score/inline/rtems/score/wkspace.inl | 57 - cpukit/score/macros/README | 18 - cpukit/score/macros/rtems/score/README | 18 - cpukit/score/macros/rtems/score/address.inl | 68 - cpukit/score/macros/rtems/score/chain.inl | 200 - cpukit/score/macros/rtems/score/coremsg.inl | 143 - cpukit/score/macros/rtems/score/coremutex.inl | 77 - cpukit/score/macros/rtems/score/coresem.inl | 40 - cpukit/score/macros/rtems/score/heap.inl | 150 - cpukit/score/macros/rtems/score/isr.inl | 48 - cpukit/score/macros/rtems/score/mppkt.inl | 41 - cpukit/score/macros/rtems/score/object.inl | 148 - cpukit/score/macros/rtems/score/objectmp.inl | 50 - cpukit/score/macros/rtems/score/priority.inl | 170 - cpukit/score/macros/rtems/score/stack.inl | 50 - cpukit/score/macros/rtems/score/states.inl | 210 - cpukit/score/macros/rtems/score/sysstate.inl | 90 - cpukit/score/macros/rtems/score/thread.inl | 217 - cpukit/score/macros/rtems/score/threadmp.inl | 50 - cpukit/score/macros/rtems/score/tod.inl | 49 - cpukit/score/macros/rtems/score/tqdata.inl | 50 - cpukit/score/macros/rtems/score/userext.inl | 126 - cpukit/score/macros/rtems/score/watchdog.inl | 172 - cpukit/score/macros/rtems/score/wkspace.inl | 39 - cpukit/score/src/apiext.c | 105 - cpukit/score/src/chain.c | 202 - cpukit/score/src/coremsg.c | 432 -- cpukit/score/src/coremutex.c | 348 -- cpukit/score/src/coresem.c | 184 - cpukit/score/src/coretod.c | 238 -- cpukit/score/src/heap.c | 538 --- cpukit/score/src/interr.c | 61 - cpukit/score/src/isr.c | 60 - cpukit/score/src/mpci.c | 525 --- cpukit/score/src/object.c | 516 --- cpukit/score/src/objectmp.c | 275 -- cpukit/score/src/thread.c | 1396 ------ cpukit/score/src/threadmp.c | 164 - cpukit/score/src/threadq.c | 967 ----- cpukit/score/src/userext.c | 204 - cpukit/score/src/watchdog.c | 273 -- cpukit/score/src/wkspace.c | 88 - cpukit/zlib/doc/rfc1950.txt | 619 --- cpukit/zlib/doc/rfc1951.txt | 955 ----- cpukit/zlib/doc/rfc1952.txt | 675 --- doc/HELP.html | 22 - doc/Make.config | 65 - doc/Makefile | 49 - doc/README | 36 - doc/TODO | 77 - doc/ada_user/Makefile | 59 - doc/ada_user/ada_user.texi | 169 - doc/ada_user/example.texi | 21 - doc/archgrey.gif | Bin 12160 -> 0 bytes doc/bsp_howto/Makefile | 137 - doc/bsp_howto/analog.t | 12 - doc/bsp_howto/bsp_howto.texi | 128 - doc/bsp_howto/clock.t | 46 - doc/bsp_howto/console.t | 269 -- doc/bsp_howto/discrete.t | 12 - doc/bsp_howto/init.t | 364 -- doc/bsp_howto/intro.t | 57 - doc/bsp_howto/linkcmds.t | 422 -- doc/bsp_howto/makefiles.t | 208 - doc/bsp_howto/network.t | 12 - doc/bsp_howto/nvmem.t | 12 - doc/bsp_howto/rtc.t | 12 - doc/bsp_howto/shmsupp.t | 12 - doc/bsp_howto/support.t | 12 - doc/bsp_howto/target.t | 218 - doc/bsp_howto/timer.t | 74 - doc/common/cpright.texi | 45 - doc/common/oaronly.jpg | Bin 1584 -> 0 bytes doc/common/setup.texi | 75 - doc/common/timemac.texi | 36 - doc/common/timetbl.t | 1330 ------ doc/common/timing.t | 396 -- doc/common/treedef.tex | 317 -- doc/common/up-arrow.gif | Bin 264 -> 0 bytes doc/common/wksheets.t | 409 -- doc/develenv/Makefile | 49 - doc/develenv/compile.texi | 159 - doc/develenv/develenv.texi | 122 - doc/develenv/direct.texi | 730 ---- doc/develenv/intro.texi | 58 - doc/develenv/sample.texi | 287 -- doc/develenv/utils.texi | 312 -- doc/do_docs | 64 - doc/index.html | 26 - doc/networking/Makefile | 84 - doc/networking/driver.t | 284 -- doc/networking/networkapp.t | 279 -- doc/networking/networking.eps | 1343 ------ doc/networking/networking.gif | Bin 6274 -> 0 bytes doc/networking/networking.texi | 107 - doc/networking/networktasks.t | 62 - doc/networking/preface.texi | 57 - doc/networking/testing.t | 175 - doc/new_chapters/Makefile | 172 - doc/new_chapters/STATUS | 7 - doc/new_chapters/adminiface.t | 129 - doc/new_chapters/base.t | 62 - doc/new_chapters/cancel.t | 175 - doc/new_chapters/clock.t | 274 -- doc/new_chapters/cond.t | 323 -- doc/new_chapters/confspace.t | 1351 ------ doc/new_chapters/cspecific.t | 623 --- doc/new_chapters/device.t | 465 -- doc/new_chapters/dumpcontrol.t | 98 - doc/new_chapters/eventlog.t | 1265 ------ doc/new_chapters/files.t | 1959 --------- doc/new_chapters/gen_section | 212 - doc/new_chapters/io.t | 1085 ----- doc/new_chapters/key.t | 140 - doc/new_chapters/memorymgmt.t | 315 -- doc/new_chapters/message.t | 259 -- doc/new_chapters/mutex.t | 555 --- doc/new_chapters/posix_users.texi | 165 - doc/new_chapters/preface.texi | 34 - doc/new_chapters/procenv.t | 654 --- doc/new_chapters/process.t | 414 -- doc/new_chapters/sched.t | 175 - doc/new_chapters/semaphores.t | 287 -- doc/new_chapters/signal.t | 726 ---- doc/new_chapters/systemdb.t | 259 -- doc/new_chapters/thread.t | 892 ---- doc/oaronly.jpg | Bin 1584 -> 0 bytes doc/posix1003.1/Makefile | 160 - doc/posix1003.1/ch01.t | 40 - doc/posix1003.1/ch02.t | 279 -- doc/posix1003.1/ch03.t | 203 - doc/posix1003.1/ch04.t | 181 - doc/posix1003.1/ch05.t | 220 - doc/posix1003.1/ch06.t | 173 - doc/posix1003.1/ch07.t | 207 - doc/posix1003.1/ch08.t | 288 -- doc/posix1003.1/ch09.t | 34 - doc/posix1003.1/ch10.t | 68 - doc/posix1003.1/ch11.t | 130 - doc/posix1003.1/ch12.t | 77 - doc/posix1003.1/ch13.t | 132 - doc/posix1003.1/ch14.t | 71 - doc/posix1003.1/ch15.t | 69 - doc/posix1003.1/ch16.t | 72 - doc/posix1003.1/ch17.t | 31 - doc/posix1003.1/ch18.t | 66 - doc/posix1003.1/posix1003_1.texi | 138 - doc/posix1003.1/preface.texi | 20 - doc/posix1003.1/summarize | 199 - doc/posix_users/Makefile | 54 - doc/posix_users/base.texi | 98 - doc/posix_users/clock.texi | 264 -- doc/posix_users/cond.texi | 386 -- doc/posix_users/key.texi | 179 - doc/posix_users/mutex.texi | 642 --- doc/posix_users/posix_users.texi | 126 - doc/posix_users/preface.texi | 24 - doc/posix_users/sched.texi | 228 - doc/posix_users/signal.texi | 691 --- doc/posix_users/thread.texi | 1025 ----- doc/relnotes/Makefile | 48 - doc/relnotes/install.texi | 176 - doc/relnotes/intro.texi | 217 - doc/relnotes/probrep.texi | 62 - doc/relnotes/relnotes.texi | 119 - doc/relnotes/status.texi | 260 -- doc/rtems_footer.html | 1 - doc/rtems_header.html | 5 - doc/rtems_support.html | 72 - doc/src2html/Makefile | 39 - doc/src2html/RTEMS.test | 62 - doc/started/Makefile | 94 - doc/started/buildc.t | 485 --- doc/started/buildrt.t | 137 - doc/started/gdb.t | 222 - doc/started/intro.t | 162 - doc/started/nt.t | 365 -- doc/started/pictures/bit_ada.jpg | Bin 30320 -> 0 bytes doc/started/pictures/bit_ada.vsd | Bin 15360 -> 0 bytes doc/started/pictures/bit_c.jpg | Bin 29778 -> 0 bytes doc/started/pictures/bit_c.vsd | Bin 14336 -> 0 bytes doc/started/pictures/scfile10.jpg | Bin 12972 -> 0 bytes doc/started/pictures/scfile10.vsd | Bin 26112 -> 0 bytes doc/started/pictures/scfile11.jpg | Bin 45560 -> 0 bytes doc/started/pictures/scfile11.vsd | Bin 24576 -> 0 bytes doc/started/pictures/scfile12.jpg | Bin 12972 -> 0 bytes doc/started/pictures/scfile12.vsd | Bin 11776 -> 0 bytes doc/started/pictures/scfile13.jpg | Bin 33103 -> 0 bytes doc/started/pictures/scfile13.vsd | Bin 15360 -> 0 bytes doc/started/pictures/scsfile1.jpg | Bin 88599 -> 0 bytes doc/started/pictures/scsfile1.vsd | Bin 25088 -> 0 bytes doc/started/pictures/scsfile2.jpg | Bin 175286 -> 0 bytes doc/started/pictures/scsfile2.vsd | Bin 26624 -> 0 bytes doc/started/pictures/scsfile3.jpg | Bin 87075 -> 0 bytes doc/started/pictures/scsfile3.vsd | Bin 19456 -> 0 bytes doc/started/pictures/scsfile4.jpg | Bin 97380 -> 0 bytes doc/started/pictures/scsfile4.vsd | Bin 16896 -> 0 bytes doc/started/pictures/scsfile5.jpg | Bin 22942 -> 0 bytes doc/started/pictures/scsfile5.vsd | Bin 13824 -> 0 bytes doc/started/pictures/scsfile6.jpg | Bin 34989 -> 0 bytes doc/started/pictures/scsfile6.vsd | Bin 13824 -> 0 bytes doc/started/pictures/scsfile7.jpg | Bin 99516 -> 0 bytes doc/started/pictures/scsfile7.vsd | Bin 19456 -> 0 bytes doc/started/pictures/scsfile8.jpg | Bin 52638 -> 0 bytes doc/started/pictures/scsfile8.vsd | Bin 16896 -> 0 bytes doc/started/pictures/scsfile9.jpg | Bin 62821 -> 0 bytes doc/started/pictures/scsfile9.vsd | Bin 13824 -> 0 bytes doc/started/pictures/sfile12c.jpg | Bin 11663 -> 0 bytes doc/started/pictures/sfile12c.vsd | Bin 11264 -> 0 bytes doc/started/require.t | 56 - doc/started/sample.t | 57 - doc/started/started.texi | 117 - doc/started/versions.texi | 86 - doc/started_ada/Makefile | 88 - doc/started_ada/buildada.t | 541 --- doc/started_ada/buildrt.t | 141 - doc/started_ada/gdb.t | 232 - doc/started_ada/intro.t | 161 - doc/started_ada/require.t | 102 - doc/started_ada/sample.t | 54 - doc/started_ada/started_ada.texi | 115 - doc/started_ada/versions.texi | 96 - doc/supplements/hppa1_1/Makefile | 147 - doc/supplements/hppa1_1/SIMHPPA_TIMES | 247 -- doc/supplements/hppa1_1/bsp.t | 53 - doc/supplements/hppa1_1/callconv.t | 143 - doc/supplements/hppa1_1/cpumodel.t | 56 - doc/supplements/hppa1_1/cputable.t | 117 - doc/supplements/hppa1_1/fatalerr.t | 32 - doc/supplements/hppa1_1/hppa1_1.texi | 121 - doc/supplements/hppa1_1/intr_NOTIMES.t | 191 - doc/supplements/hppa1_1/memmodel.t | 67 - doc/supplements/hppa1_1/preface.texi | 36 - doc/supplements/hppa1_1/timeSIMHPPA.t | 86 - doc/supplements/i386/FORCE386_TIMES | 247 -- doc/supplements/i386/Makefile | 165 - doc/supplements/i386/bsp.t | 109 - doc/supplements/i386/callconv.t | 90 - doc/supplements/i386/cpumodel.t | 72 - doc/supplements/i386/cputable.t | 121 - doc/supplements/i386/fatalerr.t | 31 - doc/supplements/i386/i386.texi | 120 - doc/supplements/i386/intr_NOTIMES.t | 168 - doc/supplements/i386/memmodel.t | 72 - doc/supplements/i386/preface.texi | 41 - doc/supplements/i386/timeFORCE386.t | 101 - doc/supplements/i960/CVME961_TIMES | 247 -- doc/supplements/i960/Makefile | 156 - doc/supplements/i960/bsp.t | 54 - doc/supplements/i960/callconv.t | 97 - doc/supplements/i960/cpumodel.t | 62 - doc/supplements/i960/cputable.t | 125 - doc/supplements/i960/fatalerr.t | 30 - doc/supplements/i960/i960.texi | 120 - doc/supplements/i960/intr_NOTIMES.t | 193 - doc/supplements/i960/memmodel.t | 40 - doc/supplements/i960/preface.texi | 40 - doc/supplements/i960/timeCVME961.t | 88 - doc/supplements/m68k/MVME136_TIMES | 247 -- doc/supplements/m68k/Makefile | 165 - doc/supplements/m68k/bsp.t | 93 - doc/supplements/m68k/callconv.t | 92 - doc/supplements/m68k/cpumodel.t | 91 - doc/supplements/m68k/cputable.t | 111 - doc/supplements/m68k/fatalerr.t | 31 - doc/supplements/m68k/intr_NOTIMES.t | 196 - doc/supplements/m68k/m68k.texi | 121 - doc/supplements/m68k/memmodel.t | 39 - doc/supplements/m68k/preface.texi | 60 - doc/supplements/m68k/timeMVME136.t | 108 - doc/supplements/m68k/timedata.t | 150 - doc/supplements/powerpc/DMV177_TIMES | 248 -- doc/supplements/powerpc/Makefile | 178 - doc/supplements/powerpc/PSIM_TIMES | 248 -- doc/supplements/powerpc/bsp.t | 76 - doc/supplements/powerpc/callconv.t | 229 - doc/supplements/powerpc/cpumodel.t | 156 - doc/supplements/powerpc/cputable.t | 156 - doc/supplements/powerpc/fatalerr.t | 47 - doc/supplements/powerpc/intr_NOTIMES.t | 184 - doc/supplements/powerpc/memmodel.t | 110 - doc/supplements/powerpc/powerpc.texi | 121 - doc/supplements/powerpc/preface.texi | 94 - doc/supplements/powerpc/timeDMV177.t | 113 - doc/supplements/powerpc/timePSIM.t | 97 - doc/supplements/sh/callconv.texi | 102 - doc/supplements/sparc/ERC32_TIMES | 247 -- doc/supplements/sparc/Makefile | 158 - doc/supplements/sparc/bsp.t | 87 - doc/supplements/sparc/callconv.t | 392 -- doc/supplements/sparc/cpumodel.t | 128 - doc/supplements/sparc/cputable.t | 104 - doc/supplements/sparc/fatalerr.t | 32 - doc/supplements/sparc/intr_NOTIMES.t | 199 - doc/supplements/sparc/memmodel.t | 104 - doc/supplements/sparc/preface.texi | 91 - doc/supplements/sparc/sparc.texi | 119 - doc/supplements/sparc/timeERC32.t | 120 - doc/supplements/template/BSP_TIMES | 247 -- doc/supplements/template/Makefile | 154 - doc/supplements/template/bsp.t | 93 - doc/supplements/template/callconv.t | 92 - doc/supplements/template/cpumodel.t | 68 - doc/supplements/template/cputable.t | 111 - doc/supplements/template/fatalerr.t | 31 - doc/supplements/template/intr_NOTIMES.t | 196 - doc/supplements/template/memmodel.t | 39 - doc/supplements/template/preface.texi | 55 - doc/supplements/template/template.texi | 121 - doc/supplements/template/timeBSP.t | 108 - doc/texinfo/texinfo.tex | 4426 -------------------- doc/tools/bmenu/Makefile | 45 - doc/tools/bmenu/address.h | 110 - doc/tools/bmenu/address.inl | 105 - doc/tools/bmenu/base.h | 113 - doc/tools/bmenu/chain.c | 229 - doc/tools/bmenu/chain.h | 347 -- doc/tools/bmenu/chain.inl | 271 -- doc/tools/bmenu/isr.h | 18 - doc/tools/bmenu/main.c | 1048 ----- doc/tools/bmenu/system.h | 36 - doc/tools/bmenu/testdoc.texi | 690 --- doc/tools/pdl2texi/Drive.d | 890 ---- doc/tools/pdl2texi/Makefile | 83 - doc/tools/pdl2texi/address.h | 110 - doc/tools/pdl2texi/address.inl | 104 - doc/tools/pdl2texi/afcc.texi | 94 - doc/tools/pdl2texi/base.h | 119 - doc/tools/pdl2texi/chain.c | 229 - doc/tools/pdl2texi/chain.h | 347 -- doc/tools/pdl2texi/chain.inl | 270 -- doc/tools/pdl2texi/drive.d | 874 ---- doc/tools/pdl2texi/isr.h | 18 - doc/tools/pdl2texi/main.c | 3615 ---------------- doc/tools/pdl2texi/s.d | 129 - doc/tools/pdl2texi/sample.d | 136 - doc/tools/pdl2texi/system.h | 36 - doc/tools/pdl2texi/t1.d | 52 - doc/tools/pdl2texi/test_cases/avdas.d | 260 -- doc/tools/pdl2texi/test_cases/enum.d | 44 - doc/tools/pdl2texi/test_cases/enumbad.d | 48 - doc/tools/pdl2texi/test_cases/table.d | 27 - doc/tools/src2html/Makefile | 38 - doc/tools/src2html1.4a/Ctags/C.c | 444 -- doc/tools/src2html1.4a/Ctags/Makefile | 15 - doc/tools/src2html1.4a/Ctags/ctags.1 | 225 - doc/tools/src2html1.4a/Ctags/ctags.c | 265 -- doc/tools/src2html1.4a/Ctags/ctags.h | 81 - doc/tools/src2html1.4a/Ctags/fortran.c | 155 - doc/tools/src2html1.4a/Ctags/lisp.c | 97 - doc/tools/src2html1.4a/Ctags/print.c | 130 - doc/tools/src2html1.4a/Ctags/strerror.c | 6 - doc/tools/src2html1.4a/Ctags/tree.c | 138 - doc/tools/src2html1.4a/Ctags/yacc.c | 144 - doc/tools/src2html1.4a/Ctags/z.c | 20 - doc/tools/src2html1.4a/FreeBSD/FreeBSD.hdr | 25 - doc/tools/src2html1.4a/FreeBSD/FreeBSD.s2h | 68 - doc/tools/src2html1.4a/FreeBSD/conf.hdr | 9 - doc/tools/src2html1.4a/FreeBSD/ddb.hdr | 6 - doc/tools/src2html1.4a/FreeBSD/i386.i386.hdr | 5 - doc/tools/src2html1.4a/FreeBSD/i386.include.hdr | 5 - doc/tools/src2html1.4a/FreeBSD/i386.isa.hdr | 10 - doc/tools/src2html1.4a/FreeBSD/i386.stand.hdr | 14 - doc/tools/src2html1.4a/FreeBSD/kern.hdr | 18 - doc/tools/src2html1.4a/FreeBSD/net.hdr | 11 - doc/tools/src2html1.4a/FreeBSD/netinet.hdr | 10 - doc/tools/src2html1.4a/FreeBSD/nfs.hdr | 7 - doc/tools/src2html1.4a/FreeBSD/stand.hdr | 14 - doc/tools/src2html1.4a/FreeBSD/sys.hdr | 6 - doc/tools/src2html1.4a/FreeBSD/ufs.hdr | 10 - doc/tools/src2html1.4a/FreeBSD/vm.hdr | 9 - doc/tools/src2html1.4a/Readme | 65 - doc/tools/src2html1.4a/ctags-emacs/README | 20 - doc/tools/src2html1.4a/ctags-emacs/ctags | Bin 145997 -> 0 bytes .../src2html1.4a/ctags-emacs/etags.c-ada-patch | 424 -- doc/tools/src2html1.4a/ctags-wr | 41 - doc/tools/src2html1.4a/src2html | 704 ---- doc/tools/src2html1.4a/src2html.1 | 244 -- doc/tools/src2html1.4a/src2html.cgi | 100 - doc/tools/texi2www/Makefile | 45 - doc/tools/texi2www/archive/texi2www-960103.tgz | Bin 131143 -> 0 bytes doc/tools/texi2www/dir-arrow.gif | Bin 2609 -> 0 bytes doc/tools/texi2www/missing-arrow.gif | Bin 166 -> 0 bytes doc/tools/texi2www/next-arrow.gif | Bin 275 -> 0 bytes doc/tools/texi2www/prev-arrow.gif | Bin 279 -> 0 bytes doc/tools/texi2www/texi2dvi | 218 - doc/tools/texi2www/texi2www | 1276 ------ doc/tools/texi2www/texi2www.texi | 707 ---- doc/tools/texi2www/up-arrow.gif | Bin 264 -> 0 bytes doc/tools/update | 221 - doc/tools/word-replace | 89 - doc/user/Makefile | 180 - doc/user/bsp.t | 313 -- doc/user/c_user.texi | 169 - doc/user/clock.t | 403 -- doc/user/concepts.t | 297 -- doc/user/conf.t | 966 ----- doc/user/dirstat.texi | 42 - doc/user/dpmem.t | 327 -- doc/user/event.t | 320 -- doc/user/example.texi | 105 - doc/user/fatal.t | 158 - doc/user/glossary.texi | 771 ---- doc/user/init.t | 405 -- doc/user/intr.t | 426 -- doc/user/io.t | 563 --- doc/user/mp.t | 593 --- doc/user/msg.t | 774 ---- doc/user/overview.t | 530 --- doc/user/part.t | 414 -- doc/user/preface.texi | 189 - doc/user/region.t | 613 --- doc/user/rtemsarc.gif | Bin 7653 -> 0 bytes doc/user/rtemspie.gif | Bin 31070 -> 0 bytes doc/user/rtmon.t | 1123 ----- doc/user/schedule.t | 390 -- doc/user/sem.t | 729 ---- doc/user/signal.t | 360 -- doc/user/states.gif | Bin 31256 -> 0 bytes doc/user/task.t | 1440 ------- doc/user/timer.t | 467 --- doc/user/userext.t | 696 --- make/custom/dmv177.cfg | 117 - testsuites/PROBLEMS | 42 - testsuites/README | 44 - testsuites/libtests/README | 10 - testsuites/libtests/cpuuse/cpuuse.scn | 24 - testsuites/libtests/cpuuse/init.c | 106 - testsuites/libtests/cpuuse/system.h | 69 - testsuites/libtests/cpuuse/task1.c | 103 - testsuites/libtests/cpuuse/task2.c | 29 - testsuites/libtests/cpuuse/task3.c | 29 - testsuites/libtests/cpuuse/tswitch.c | 62 - testsuites/libtests/malloctest/init.c | 114 - testsuites/libtests/malloctest/system.h | 51 - testsuites/libtests/malloctest/task1.c | 67 - testsuites/libtests/monitor/init.c | 74 - testsuites/libtests/monitor/system.h | 58 - testsuites/libtests/rtems++/Init.cc | 63 - testsuites/libtests/rtems++/System.h | 137 - testsuites/libtests/rtems++/Task1.cc | 682 --- testsuites/libtests/rtems++/Task2.cc | 81 - testsuites/libtests/rtems++/Task3.cc | 81 - testsuites/libtests/rtems++/rtems++.doc | 29 - testsuites/libtests/rtems++/rtems++.scn | 161 - testsuites/libtests/rtmonuse/getall.c | 43 - testsuites/libtests/rtmonuse/init.c | 71 - testsuites/libtests/rtmonuse/rtmonuse.scn | 27 - testsuites/libtests/rtmonuse/system.h | 62 - testsuites/libtests/rtmonuse/task1.c | 124 - testsuites/libtests/stackchk/blow.c | 49 - testsuites/libtests/stackchk/init.c | 86 - testsuites/libtests/stackchk/stackchk.scn | 9 - testsuites/libtests/stackchk/system.h | 53 - testsuites/libtests/stackchk/task1.c | 44 - testsuites/libtests/termios/README | 45 - testsuites/libtests/termios/init.c | 143 - testsuites/mptests/README | 10 - testsuites/mptests/mp01/init.c | 96 - testsuites/mptests/mp01/node1/mp01.doc | 53 - testsuites/mptests/mp01/node1/mp01.scn | 15 - testsuites/mptests/mp01/node2/mp01.doc | 13 - testsuites/mptests/mp01/node2/mp01.scn | 15 - testsuites/mptests/mp01/system.h | 46 - testsuites/mptests/mp01/task1.c | 84 - testsuites/mptests/mp02/init.c | 60 - testsuites/mptests/mp02/node1/mp02.doc | 47 - testsuites/mptests/mp02/node1/mp02.scn | 14 - testsuites/mptests/mp02/node2/mp02.doc | 13 - testsuites/mptests/mp02/node2/mp02.scn | 14 - testsuites/mptests/mp02/system.h | 45 - testsuites/mptests/mp02/task1.c | 118 - testsuites/mptests/mp03/delay.c | 31 - testsuites/mptests/mp03/init.c | 65 - testsuites/mptests/mp03/node1/mp03.doc | 45 - testsuites/mptests/mp03/node1/mp03.scn | 24 - testsuites/mptests/mp03/node2/mp03.doc | 13 - testsuites/mptests/mp03/node2/mp03.scn | 24 - testsuites/mptests/mp03/system.h | 58 - testsuites/mptests/mp03/task1.c | 155 - testsuites/mptests/mp04/init.c | 60 - testsuites/mptests/mp04/node1/mp04.doc | 41 - testsuites/mptests/mp04/node1/mp04.scn | 8 - testsuites/mptests/mp04/node2/mp04.doc | 13 - testsuites/mptests/mp04/node2/mp04.scn | 8 - testsuites/mptests/mp04/system.h | 47 - testsuites/mptests/mp04/task1.c | 83 - testsuites/mptests/mp05/asr.c | 37 - testsuites/mptests/mp05/init.c | 65 - testsuites/mptests/mp05/node1/mp05.doc | 45 - testsuites/mptests/mp05/node1/mp05.scn | 11 - testsuites/mptests/mp05/node2/mp05.doc | 13 - testsuites/mptests/mp05/node2/mp05.scn | 10 - testsuites/mptests/mp05/system.h | 63 - testsuites/mptests/mp05/task1.c | 106 - testsuites/mptests/mp06/init.c | 65 - testsuites/mptests/mp06/node1/mp06.doc | 45 - testsuites/mptests/mp06/node1/mp06.scn | 11 - testsuites/mptests/mp06/node2/mp06.doc | 13 - testsuites/mptests/mp06/node2/mp06.scn | 12 - testsuites/mptests/mp06/system.h | 52 - testsuites/mptests/mp06/task1.c | 176 - testsuites/mptests/mp07/init.c | 65 - testsuites/mptests/mp07/node1/mp07.doc | 46 - testsuites/mptests/mp07/node1/mp07.scn | 10 - testsuites/mptests/mp07/node2/mp07.doc | 13 - testsuites/mptests/mp07/node2/mp07.scn | 9 - testsuites/mptests/mp07/system.h | 52 - testsuites/mptests/mp07/task1.c | 103 - testsuites/mptests/mp08/init.c | 74 - testsuites/mptests/mp08/node1/mp08.doc | 52 - testsuites/mptests/mp08/node1/mp08.scn | 11 - testsuites/mptests/mp08/node2/mp08.doc | 13 - testsuites/mptests/mp08/node2/mp08.scn | 12 - testsuites/mptests/mp08/system.h | 51 - testsuites/mptests/mp08/task1.c | 89 - testsuites/mptests/mp09/init.c | 74 - testsuites/mptests/mp09/node1/mp09.doc | 50 - testsuites/mptests/mp09/node1/mp09.scn | 22 - testsuites/mptests/mp09/node2/mp09.doc | 13 - testsuites/mptests/mp09/node2/mp09.scn | 27 - testsuites/mptests/mp09/recvmsg.c | 47 - testsuites/mptests/mp09/sendmsg.c | 60 - testsuites/mptests/mp09/system.h | 60 - testsuites/mptests/mp09/task1.c | 109 - testsuites/mptests/mp10/init.c | 143 - testsuites/mptests/mp10/node1/mp10.doc | 46 - testsuites/mptests/mp10/node1/mp10.scn | 4 - testsuites/mptests/mp10/node2/mp10.doc | 13 - testsuites/mptests/mp10/node2/mp10.scn | 19 - testsuites/mptests/mp10/system.h | 64 - testsuites/mptests/mp10/task1.c | 52 - testsuites/mptests/mp10/task2.c | 47 - testsuites/mptests/mp10/task3.c | 50 - testsuites/mptests/mp11/init.c | 105 - testsuites/mptests/mp11/node1/mp11.doc | 42 - testsuites/mptests/mp11/node1/mp11.scn | 10 - testsuites/mptests/mp11/node2/mp11.doc | 13 - testsuites/mptests/mp11/node2/mp11.scn | 2 - testsuites/mptests/mp11/system.h | 56 - testsuites/mptests/mp12/init.c | 113 - testsuites/mptests/mp12/node1/mp12.doc | 52 - testsuites/mptests/mp12/node1/mp12.scn | 6 - testsuites/mptests/mp12/node2/mp12.doc | 13 - testsuites/mptests/mp12/node2/mp12.scn | 10 - testsuites/mptests/mp12/system.h | 55 - testsuites/mptests/mp13/init.c | 115 - testsuites/mptests/mp13/node1/mp13.doc | 48 - testsuites/mptests/mp13/node1/mp13.scn | 14 - testsuites/mptests/mp13/node2/mp13.doc | 13 - testsuites/mptests/mp13/node2/mp13.scn | 16 - testsuites/mptests/mp13/system.h | 60 - testsuites/mptests/mp13/task1.c | 73 - testsuites/mptests/mp13/task2.c | 106 - testsuites/mptests/mp14/delay.c | 34 - testsuites/mptests/mp14/evtask1.c | 87 - testsuites/mptests/mp14/evtmtask.c | 65 - testsuites/mptests/mp14/exit.c | 40 - testsuites/mptests/mp14/init.c | 191 - testsuites/mptests/mp14/msgtask1.c | 107 - testsuites/mptests/mp14/node1/mp14.doc | 50 - testsuites/mptests/mp14/node1/mp14.scn | 41 - testsuites/mptests/mp14/node2/mp14.doc | 13 - testsuites/mptests/mp14/node2/mp14.scn | 38 - testsuites/mptests/mp14/pttask1.c | 71 - testsuites/mptests/mp14/smtask1.c | 73 - testsuites/mptests/mp14/system.h | 119 - testsuites/psxtests/include/pmacros.h | 85 - testsuites/psxtests/psx01/init.c | 225 - testsuites/psxtests/psx01/psx01.scn | 46 - testsuites/psxtests/psx01/system.h | 56 - testsuites/psxtests/psx01/task.c | 94 - testsuites/psxtests/psx02/init.c | 146 - testsuites/psxtests/psx02/psx02.scn | 26 - testsuites/psxtests/psx02/system.h | 52 - testsuites/psxtests/psx02/task.c | 45 - testsuites/psxtests/psx03/init.c | 176 - testsuites/psxtests/psx03/psx03.scn | 17 - testsuites/psxtests/psx03/system.h | 55 - testsuites/psxtests/psx03/task.c | 65 - testsuites/psxtests/psx04/init.c | 564 --- testsuites/psxtests/psx04/psx04.scn | 112 - testsuites/psxtests/psx04/system.h | 63 - testsuites/psxtests/psx04/task1.c | 44 - testsuites/psxtests/psx04/task2.c | 42 - testsuites/psxtests/psx04/task3.c | 119 - testsuites/psxtests/psx05/init.c | 569 --- testsuites/psxtests/psx05/psx05.scn | 111 - testsuites/psxtests/psx05/system.h | 67 - testsuites/psxtests/psx05/task.c | 58 - testsuites/psxtests/psx05/task2.c | 49 - testsuites/psxtests/psx05/task3.c | 51 - testsuites/psxtests/psx06/init.c | 121 - testsuites/psxtests/psx06/psx06.scn | 21 - testsuites/psxtests/psx06/system.h | 61 - testsuites/psxtests/psx06/task.c | 51 - testsuites/psxtests/psx06/task2.c | 52 - testsuites/psxtests/psx07/init.c | 495 --- testsuites/psxtests/psx07/psx07.scn | 105 - testsuites/psxtests/psx07/system.h | 51 - testsuites/psxtests/psx07/task.c | 34 - testsuites/psxtests/psx08/init.c | 82 - testsuites/psxtests/psx08/psx08.scn | 18 - testsuites/psxtests/psx08/system.h | 56 - testsuites/psxtests/psx08/task2.c | 52 - testsuites/psxtests/psx09/init.c | 226 - testsuites/psxtests/psx09/psx09.scn | 23 - testsuites/psxtests/psx09/system.h | 58 - testsuites/psxtests/psx10/init.c | 312 -- testsuites/psxtests/psx10/psx10.scn | 59 - testsuites/psxtests/psx10/system.h | 69 - testsuites/psxtests/psx10/task.c | 65 - testsuites/psxtests/psx10/task2.c | 47 - testsuites/psxtests/psx10/task3.c | 46 - testsuites/psxtests/psx11/init.c | 108 - testsuites/psxtests/psx11/psx11.scn | 18 - testsuites/psxtests/psx11/system.h | 51 - testsuites/psxtests/psx11/task.c | 92 - testsuites/psxtests/psx12/init.c | 140 - testsuites/psxtests/psx12/psx12.scn | 11 - testsuites/psxtests/psx12/system.h | 54 - testsuites/psxtests/psx12/task.c | 34 - testsuites/psxtests/psxhdrs/clock01.c | 29 - testsuites/psxtests/psxhdrs/clock02.c | 29 - testsuites/psxtests/psxhdrs/clock03.c | 29 - testsuites/psxtests/psxhdrs/clock04.c | 29 - testsuites/psxtests/psxhdrs/clock05.c | 35 - testsuites/psxtests/psxhdrs/clock06.c | 32 - testsuites/psxtests/psxhdrs/cond01.c | 28 - testsuites/psxtests/psxhdrs/cond02.c | 28 - testsuites/psxtests/psxhdrs/cond03.c | 29 - testsuites/psxtests/psxhdrs/cond04.c | 28 - testsuites/psxtests/psxhdrs/cond05.c | 28 - testsuites/psxtests/psxhdrs/cond06.c | 29 - testsuites/psxtests/psxhdrs/cond07.c | 30 - testsuites/psxtests/psxhdrs/cond08.c | 32 - testsuites/psxtests/psxhdrs/cond09.c | 35 - testsuites/psxtests/psxhdrs/cond10.c | 28 - testsuites/psxtests/psxhdrs/key01.c | 34 - testsuites/psxtests/psxhdrs/key02.c | 32 - testsuites/psxtests/psxhdrs/key03.c | 30 - testsuites/psxtests/psxhdrs/key04.c | 28 - testsuites/psxtests/psxhdrs/mutex01.c | 28 - testsuites/psxtests/psxhdrs/mutex02.c | 28 - testsuites/psxtests/psxhdrs/mutex03.c | 29 - testsuites/psxtests/psxhdrs/mutex04.c | 28 - testsuites/psxtests/psxhdrs/mutex05.c | 28 - testsuites/psxtests/psxhdrs/mutex06.c | 28 - testsuites/psxtests/psxhdrs/mutex07.c | 36 - testsuites/psxtests/psxhdrs/mutex08.c | 32 - testsuites/psxtests/psxhdrs/mutex09.c | 32 - testsuites/psxtests/psxhdrs/mutex10.c | 32 - testsuites/psxtests/psxhdrs/mutex11.c | 35 - testsuites/psxtests/psxhdrs/mutex12.c | 28 - testsuites/psxtests/psxhdrs/mutex13.c | 32 - testsuites/psxtests/psxhdrs/mutex14.c | 32 - testsuites/psxtests/psxhdrs/mutex15.c | 32 - testsuites/psxtests/psxhdrs/mutex16.c | 35 - testsuites/psxtests/psxhdrs/proc01.c | 23 - testsuites/psxtests/psxhdrs/proc02.c | 23 - testsuites/psxtests/psxhdrs/proc03.c | 23 - testsuites/psxtests/psxhdrs/proc04.c | 23 - testsuites/psxtests/psxhdrs/proc05.c | 23 - testsuites/psxtests/psxhdrs/proc06.c | 23 - testsuites/psxtests/psxhdrs/proc07.c | 26 - testsuites/psxtests/psxhdrs/proc08.c | 26 - testsuites/psxtests/psxhdrs/proc09.c | 27 - testsuites/psxtests/psxhdrs/proc10.c | 23 - testsuites/psxtests/psxhdrs/proc11.c | 25 - testsuites/psxtests/psxhdrs/proc12.c | 23 - testsuites/psxtests/psxhdrs/proc13.c | 23 - testsuites/psxtests/psxhdrs/proc14.c | 25 - testsuites/psxtests/psxhdrs/pthread01.c | 28 - testsuites/psxtests/psxhdrs/pthread02.c | 28 - testsuites/psxtests/psxhdrs/pthread03.c | 32 - testsuites/psxtests/psxhdrs/pthread04.c | 29 - testsuites/psxtests/psxhdrs/pthread05.c | 36 - testsuites/psxtests/psxhdrs/pthread06.c | 33 - testsuites/psxtests/psxhdrs/pthread07.c | 38 - testsuites/psxtests/psxhdrs/pthread08.c | 27 - testsuites/psxtests/psxhdrs/pthread09.c | 27 - testsuites/psxtests/psxhdrs/pthread10.c | 29 - testsuites/psxtests/psxhdrs/pthread11.c | 52 - testsuites/psxtests/psxhdrs/pthread12.c | 32 - testsuites/psxtests/psxhdrs/pthread13.c | 32 - testsuites/psxtests/psxhdrs/pthread14.c | 29 - testsuites/psxtests/psxhdrs/pthread15.c | 32 - testsuites/psxtests/psxhdrs/pthread16.c | 29 - testsuites/psxtests/psxhdrs/pthread17.c | 36 - testsuites/psxtests/psxhdrs/pthread18.c | 29 - testsuites/psxtests/psxhdrs/pthread19.c | 29 - testsuites/psxtests/psxhdrs/pthread20.c | 29 - testsuites/psxtests/psxhdrs/pthread21.c | 29 - testsuites/psxtests/psxhdrs/pthread22.c | 50 - testsuites/psxtests/psxhdrs/pthread23.c | 30 - testsuites/psxtests/psxhdrs/pthread24.c | 36 - testsuites/psxtests/psxhdrs/pthread25.c | 34 - testsuites/psxtests/psxhdrs/pthread26.c | 31 - testsuites/psxtests/psxhdrs/pthread27.c | 32 - testsuites/psxtests/psxhdrs/pthread28.c | 33 - testsuites/psxtests/psxhdrs/pthread29.c | 36 - testsuites/psxtests/psxhdrs/pthread30.c | 36 - testsuites/psxtests/psxhdrs/pthread31.c | 29 - testsuites/psxtests/psxhdrs/pthread32.c | 35 - testsuites/psxtests/psxhdrs/pthread33.c | 25 - testsuites/psxtests/psxhdrs/pthread34.c | 31 - testsuites/psxtests/psxhdrs/pthread35.c | 32 - testsuites/psxtests/psxhdrs/pthread36.c | 29 - testsuites/psxtests/psxhdrs/sched01.c | 44 - testsuites/psxtests/psxhdrs/sched02.c | 31 - testsuites/psxtests/psxhdrs/sched03.c | 52 - testsuites/psxtests/psxhdrs/sched04.c | 30 - testsuites/psxtests/psxhdrs/sched05.c | 27 - testsuites/psxtests/psxhdrs/sched06.c | 35 - testsuites/psxtests/psxhdrs/sched07.c | 35 - testsuites/psxtests/psxhdrs/sched08.c | 31 - testsuites/psxtests/psxhdrs/signal01.c | 27 - testsuites/psxtests/psxhdrs/signal02.c | 27 - testsuites/psxtests/psxhdrs/signal03.c | 24 - testsuites/psxtests/psxhdrs/signal04.c | 27 - testsuites/psxtests/psxhdrs/signal05.c | 24 - testsuites/psxtests/psxhdrs/signal06.c | 39 - testsuites/psxtests/psxhdrs/signal07.c | 32 - testsuites/psxtests/psxhdrs/signal08.c | 34 - testsuites/psxtests/psxhdrs/signal09.c | 29 - testsuites/psxtests/psxhdrs/signal10.c | 25 - testsuites/psxtests/psxhdrs/signal11.c | 26 - testsuites/psxtests/psxhdrs/signal12.c | 26 - testsuites/psxtests/psxhdrs/signal13.c | 32 - testsuites/psxtests/psxhdrs/signal14.c | 26 - testsuites/psxtests/psxhdrs/signal15.c | 26 - testsuites/psxtests/psxhdrs/signal16.c | 36 - testsuites/psxtests/psxhdrs/signal17.c | 27 - testsuites/psxtests/psxhdrs/signal18.c | 28 - testsuites/psxtests/psxhdrs/signal19.c | 27 - testsuites/psxtests/psxhdrs/signal20.c | 26 - testsuites/psxtests/psxhdrs/signal21.c | 23 - testsuites/psxtests/psxhdrs/signal22.c | 26 - testsuites/psxtests/psxhdrs/time01.c | 23 - testsuites/psxtests/psxhdrs/time02.c | 28 - testsuites/psxtests/psxhdrs/time03.c | 34 - testsuites/psxtests/psxhdrs/time04.c | 23 - testsuites/psxtests/psxhdrs/time05.c | 28 - testsuites/psxtests/psxhdrs/time06.c | 24 - testsuites/psxtests/psxhdrs/time07.c | 24 - testsuites/psxtests/psxhdrs/time08.c | 24 - testsuites/psxtests/psxhdrs/time09.c | 24 - testsuites/psxtests/psxhdrs/time10.c | 25 - testsuites/psxtests/psxhdrs/time11.c | 25 - testsuites/psxtests/psxhdrs/time12.c | 25 - testsuites/psxtests/psxhdrs/time13.c | 25 - testsuites/psxtests/psxhdrs/timer01.c | 37 - testsuites/psxtests/psxhdrs/timer02.c | 28 - testsuites/psxtests/psxhdrs/timer03.c | 39 - testsuites/psxtests/psxhdrs/timer04.c | 29 - testsuites/psxtests/psxhdrs/timer05.c | 28 - testsuites/psxtests/psxhdrs/timer06.c | 31 - testsuites/samples/README | 73 - testsuites/samples/base_mp/apptask.c | 37 - testsuites/samples/base_mp/init.c | 46 - testsuites/samples/base_mp/node1/base_mp.doc | 13 - testsuites/samples/base_mp/node1/base_mp.scn | 5 - testsuites/samples/base_mp/node2/base_mp.doc | 13 - testsuites/samples/base_mp/node2/base_mp.scn | 5 - testsuites/samples/base_mp/system.h | 48 - testsuites/samples/base_sp/apptask.c | 38 - testsuites/samples/base_sp/base_sp.doc | 13 - testsuites/samples/base_sp/base_sp.scn | 5 - testsuites/samples/base_sp/init.c | 48 - testsuites/samples/base_sp/system.h | 44 - testsuites/samples/cdtest/cdtest.scn | 31 - testsuites/samples/cdtest/init.c | 26 - testsuites/samples/cdtest/main.cc | 142 - testsuites/samples/cdtest/system.h | 42 - testsuites/samples/hello/hello.doc | 13 - testsuites/samples/hello/hello.scn | 3 - testsuites/samples/hello/init.c | 36 - testsuites/samples/hello/system.h | 37 - testsuites/samples/paranoia/init.c | 48 - testsuites/samples/paranoia/paranoia.c | 2304 ---------- testsuites/samples/paranoia/paranoia.doc | 13 - testsuites/samples/paranoia/system.h | 42 - testsuites/samples/ticker/init.c | 61 - testsuites/samples/ticker/system.h | 45 - testsuites/samples/ticker/tasks.c | 44 - testsuites/samples/ticker/ticker.doc | 13 - testsuites/samples/ticker/ticker.scn | 16 - testsuites/sptests/README | 9 - testsuites/sptests/sp01/init.c | 86 - testsuites/sptests/sp01/sp01.doc | 43 - testsuites/sptests/sp01/sp01.scn | 18 - testsuites/sptests/sp01/system.h | 47 - testsuites/sptests/sp01/task1.c | 50 - testsuites/sptests/sp02/init.c | 152 - testsuites/sptests/sp02/preempt.c | 32 - testsuites/sptests/sp02/sp02.doc | 37 - testsuites/sptests/sp02/sp02.scn | 15 - testsuites/sptests/sp02/system.h | 60 - testsuites/sptests/sp02/task1.c | 66 - testsuites/sptests/sp02/task2.c | 34 - testsuites/sptests/sp02/task3.c | 37 - testsuites/sptests/sp03/init.c | 67 - testsuites/sptests/sp03/sp03.doc | 24 - testsuites/sptests/sp03/sp03.scn | 26 - testsuites/sptests/sp03/system.h | 49 - testsuites/sptests/sp03/task1.c | 59 - testsuites/sptests/sp03/task2.c | 46 - testsuites/sptests/sp04/init.c | 110 - testsuites/sptests/sp04/sp04.doc | 38 - testsuites/sptests/sp04/sp04.scn | 23 - testsuites/sptests/sp04/system.h | 80 - testsuites/sptests/sp04/task1.c | 118 - testsuites/sptests/sp04/task2.c | 29 - testsuites/sptests/sp04/task3.c | 29 - testsuites/sptests/sp04/tswitch.c | 63 - testsuites/sptests/sp05/init.c | 81 - testsuites/sptests/sp05/sp05.doc | 26 - testsuites/sptests/sp05/sp05.scn | 47 - testsuites/sptests/sp05/system.h | 55 - testsuites/sptests/sp05/task1.c | 78 - testsuites/sptests/sp05/task2.c | 39 - testsuites/sptests/sp05/task3.c | 39 - testsuites/sptests/sp06/init.c | 87 - testsuites/sptests/sp06/sp06.doc | 26 - testsuites/sptests/sp06/sp06.scn | 40 - testsuites/sptests/sp06/system.h | 58 - testsuites/sptests/sp06/task1.c | 61 - testsuites/sptests/sp06/task2.c | 40 - testsuites/sptests/sp06/task3.c | 32 - testsuites/sptests/sp07/init.c | 128 - testsuites/sptests/sp07/sp07.doc | 37 - testsuites/sptests/sp07/sp07.scn | 33 - testsuites/sptests/sp07/system.h | 89 - testsuites/sptests/sp07/task1.c | 85 - testsuites/sptests/sp07/task2.c | 78 - testsuites/sptests/sp07/task3.c | 34 - testsuites/sptests/sp07/task4.c | 30 - testsuites/sptests/sp07/taskexit.c | 33 - testsuites/sptests/sp07/tcreate.c | 35 - testsuites/sptests/sp07/tdelete.c | 37 - testsuites/sptests/sp07/trestart.c | 34 - testsuites/sptests/sp07/tstart.c | 34 - testsuites/sptests/sp08/init.c | 53 - testsuites/sptests/sp08/sp08.doc | 26 - testsuites/sptests/sp08/sp08.scn | 22 - testsuites/sptests/sp08/system.h | 52 - testsuites/sptests/sp08/task1.c | 256 -- testsuites/sptests/sp09/delay.c | 28 - testsuites/sptests/sp09/init.c | 120 - testsuites/sptests/sp09/isr.c | 27 - testsuites/sptests/sp09/screen01.c | 168 - testsuites/sptests/sp09/screen02.c | 192 - testsuites/sptests/sp09/screen03.c | 217 - testsuites/sptests/sp09/screen04.c | 85 - testsuites/sptests/sp09/screen05.c | 164 - testsuites/sptests/sp09/screen06.c | 125 - testsuites/sptests/sp09/screen07.c | 200 - testsuites/sptests/sp09/screen08.c | 128 - testsuites/sptests/sp09/screen09.c | 152 - testsuites/sptests/sp09/screen10.c | 164 - testsuites/sptests/sp09/screen11.c | 250 -- testsuites/sptests/sp09/screen12.c | 337 -- testsuites/sptests/sp09/screen13.c | 114 - testsuites/sptests/sp09/screen14.c | 154 - testsuites/sptests/sp09/sp09.doc | 36 - testsuites/sptests/sp09/sp09.scn | 251 -- testsuites/sptests/sp09/system.h | 143 - testsuites/sptests/sp09/task1.c | 70 - testsuites/sptests/sp09/task2.c | 48 - testsuites/sptests/sp09/task3.c | 53 - testsuites/sptests/sp09/task4.c | 50 - testsuites/sptests/sp11/init.c | 92 - testsuites/sptests/sp11/sp11.doc | 26 - testsuites/sptests/sp11/sp11.scn | 74 - testsuites/sptests/sp11/system.h | 92 - testsuites/sptests/sp11/task1.c | 410 -- testsuites/sptests/sp11/task2.c | 126 - testsuites/sptests/sp11/timer.c | 97 - testsuites/sptests/sp12/init.c | 179 - testsuites/sptests/sp12/pridrv.c | 131 - testsuites/sptests/sp12/pritask.c | 91 - testsuites/sptests/sp12/sp12.doc | 27 - testsuites/sptests/sp12/sp12.scn | 78 - testsuites/sptests/sp12/system.h | 84 - testsuites/sptests/sp12/task1.c | 153 - testsuites/sptests/sp12/task2.c | 65 - testsuites/sptests/sp12/task3.c | 50 - testsuites/sptests/sp12/task4.c | 37 - testsuites/sptests/sp12/task5.c | 55 - testsuites/sptests/sp13/fillbuff.c | 31 - testsuites/sptests/sp13/init.c | 112 - testsuites/sptests/sp13/putbuff.c | 29 - testsuites/sptests/sp13/sp13.doc | 25 - testsuites/sptests/sp13/sp13.scn | 76 - testsuites/sptests/sp13/system.h | 70 - testsuites/sptests/sp13/task1.c | 352 -- testsuites/sptests/sp13/task2.c | 139 - testsuites/sptests/sp13/task3.c | 78 - testsuites/sptests/sp14/asr.c | 47 - testsuites/sptests/sp14/init.c | 72 - testsuites/sptests/sp14/sp14.doc | 24 - testsuites/sptests/sp14/sp14.scn | 33 - testsuites/sptests/sp14/system.h | 80 - testsuites/sptests/sp14/task1.c | 116 - testsuites/sptests/sp14/task2.c | 48 - testsuites/sptests/sp15/init.c | 78 - testsuites/sptests/sp15/sp15.doc | 24 - testsuites/sptests/sp15/sp15.scn | 16 - testsuites/sptests/sp15/system.h | 62 - testsuites/sptests/sp15/task1.c | 129 - testsuites/sptests/sp16/init.c | 128 - testsuites/sptests/sp16/sp16.doc | 24 - testsuites/sptests/sp16/sp16.scn | 58 - testsuites/sptests/sp16/system.h | 91 - testsuites/sptests/sp16/task1.c | 282 -- testsuites/sptests/sp16/task2.c | 86 - testsuites/sptests/sp16/task3.c | 57 - testsuites/sptests/sp16/task4.c | 60 - testsuites/sptests/sp16/task5.c | 73 - testsuites/sptests/sp17/asr.c | 32 - testsuites/sptests/sp17/init.c | 69 - testsuites/sptests/sp17/sp17.doc | 35 - testsuites/sptests/sp17/sp17.scn | 8 - testsuites/sptests/sp17/system.h | 58 - testsuites/sptests/sp17/task1.c | 48 - testsuites/sptests/sp17/task2.c | 45 - testsuites/sptests/sp19/first.c | 66 - testsuites/sptests/sp19/fptask.c | 98 - testsuites/sptests/sp19/fptest.h | 172 - testsuites/sptests/sp19/init.c | 150 - testsuites/sptests/sp19/inttest.h | 149 - testsuites/sptests/sp19/sp19.doc | 23 - testsuites/sptests/sp19/sp19.scn | 50 - testsuites/sptests/sp19/system.h | 59 - testsuites/sptests/sp19/task1.c | 59 - testsuites/sptests/sp20/getall.c | 43 - testsuites/sptests/sp20/init.c | 68 - testsuites/sptests/sp20/sp20.doc | 24 - testsuites/sptests/sp20/sp20.scn | 27 - testsuites/sptests/sp20/system.h | 63 - testsuites/sptests/sp20/task1.c | 116 - testsuites/sptests/sp21/init.c | 53 - testsuites/sptests/sp21/sp21.doc | 28 - testsuites/sptests/sp21/sp21.scn | 19 - testsuites/sptests/sp21/system.h | 46 - testsuites/sptests/sp21/task1.c | 105 - testsuites/sptests/sp22/delay.c | 32 - testsuites/sptests/sp22/init.c | 66 - testsuites/sptests/sp22/prtime.c | 32 - testsuites/sptests/sp22/sp22.doc | 20 - testsuites/sptests/sp22/sp22.scn | 29 - testsuites/sptests/sp22/system.h | 60 - testsuites/sptests/sp22/task1.c | 164 - testsuites/sptests/sp23/init.c | 69 - testsuites/sptests/sp23/sp23.doc | 26 - testsuites/sptests/sp23/sp23.scn | 9 - testsuites/sptests/sp23/system.h | 59 - testsuites/sptests/sp23/task1.c | 96 - testsuites/sptests/sp24/init.c | 76 - testsuites/sptests/sp24/resume.c | 34 - testsuites/sptests/sp24/sp24.doc | 51 - testsuites/sptests/sp24/sp24.scn | 16 - testsuites/sptests/sp24/system.h | 57 - testsuites/sptests/sp24/task1.c | 58 - testsuites/sptests/sp25/init.c | 66 - testsuites/sptests/sp25/sp25.doc | 32 - testsuites/sptests/sp25/sp25.scn | 29 - testsuites/sptests/sp25/system.h | 57 - testsuites/sptests/sp25/task1.c | 241 -- testsuites/sptests/spfatal/fatal.c | 136 - testsuites/sptests/spfatal/init.c | 51 - testsuites/sptests/spfatal/puterr.c | 68 - testsuites/sptests/spfatal/spfatal.doc | 28 - testsuites/sptests/spfatal/spfatal.scn | 8 - testsuites/sptests/spfatal/system.h | 79 - testsuites/sptests/spfatal/task1.c | 29 - testsuites/sptests/spsize/getint.c | 32 - testsuites/sptests/spsize/init.c | 64 - testsuites/sptests/spsize/size.c | 650 --- testsuites/sptests/spsize/system.h | 47 - testsuites/support/include/tmacros.h | 140 - testsuites/tmtests/README | 21 - testsuites/tmtests/include/timesys.h | 58 - testsuites/tmtests/tm01/system.h | 43 - testsuites/tmtests/tm01/task1.c | 189 - testsuites/tmtests/tm01/tm01.doc | 13 - testsuites/tmtests/tm02/system.h | 44 - testsuites/tmtests/tm02/task1.c | 158 - testsuites/tmtests/tm02/tm02.doc | 13 - testsuites/tmtests/tm03/system.h | 44 - testsuites/tmtests/tm03/task1.c | 151 - testsuites/tmtests/tm03/tm03.doc | 13 - testsuites/tmtests/tm04/system.h | 43 - testsuites/tmtests/tm04/task1.c | 388 -- testsuites/tmtests/tm04/tm04.doc | 13 - testsuites/tmtests/tm05/system.h | 44 - testsuites/tmtests/tm05/task1.c | 132 - testsuites/tmtests/tm05/tm05.doc | 13 - testsuites/tmtests/tm06/system.h | 44 - testsuites/tmtests/tm06/task1.c | 162 - testsuites/tmtests/tm06/tm06.doc | 13 - testsuites/tmtests/tm07/system.h | 44 - testsuites/tmtests/tm07/task1.c | 120 - testsuites/tmtests/tm07/tm07.doc | 13 - testsuites/tmtests/tm08/system.h | 44 - testsuites/tmtests/tm08/task1.c | 255 -- testsuites/tmtests/tm08/tm08.doc | 13 - testsuites/tmtests/tm09/system.h | 44 - testsuites/tmtests/tm09/task1.c | 226 - testsuites/tmtests/tm09/tm09.doc | 13 - testsuites/tmtests/tm10/system.h | 43 - testsuites/tmtests/tm10/task1.c | 165 - testsuites/tmtests/tm10/tm10.doc | 13 - testsuites/tmtests/tm11/system.h | 43 - testsuites/tmtests/tm11/task1.c | 155 - testsuites/tmtests/tm11/tm11.doc | 13 - testsuites/tmtests/tm12/system.h | 43 - testsuites/tmtests/tm12/task1.c | 146 - testsuites/tmtests/tm12/tm12.doc | 13 - testsuites/tmtests/tm13/system.h | 43 - testsuites/tmtests/tm13/task1.c | 154 - testsuites/tmtests/tm13/tm13.doc | 13 - testsuites/tmtests/tm14/system.h | 43 - testsuites/tmtests/tm14/task1.c | 146 - testsuites/tmtests/tm14/tm14.doc | 13 - testsuites/tmtests/tm15/system.h | 43 - testsuites/tmtests/tm15/task1.c | 222 - testsuites/tmtests/tm15/tm15.doc | 13 - testsuites/tmtests/tm16/system.h | 43 - testsuites/tmtests/tm16/task1.c | 148 - testsuites/tmtests/tm16/tm16.doc | 13 - testsuites/tmtests/tm17/system.h | 43 - testsuites/tmtests/tm17/task1.c | 127 - testsuites/tmtests/tm17/tm17.doc | 13 - testsuites/tmtests/tm18/system.h | 43 - testsuites/tmtests/tm18/task1.c | 112 - testsuites/tmtests/tm18/tm18.doc | 13 - testsuites/tmtests/tm19/system.h | 43 - testsuites/tmtests/tm19/task1.c | 208 - testsuites/tmtests/tm19/tm19.doc | 13 - testsuites/tmtests/tm20/system.h | 44 - testsuites/tmtests/tm20/task1.c | 466 --- testsuites/tmtests/tm20/tm20.doc | 13 - testsuites/tmtests/tm21/system.h | 50 - testsuites/tmtests/tm21/task1.c | 236 -- testsuites/tmtests/tm21/tm21.doc | 13 - testsuites/tmtests/tm22/system.h | 43 - testsuites/tmtests/tm22/task1.c | 200 - testsuites/tmtests/tm22/tm22.doc | 13 - testsuites/tmtests/tm23/system.h | 43 - testsuites/tmtests/tm23/task1.c | 302 -- testsuites/tmtests/tm23/tm23.doc | 13 - testsuites/tmtests/tm24/system.h | 42 - testsuites/tmtests/tm24/task1.c | 124 - testsuites/tmtests/tm24/tm24.doc | 13 - testsuites/tmtests/tm25/system.h | 43 - testsuites/tmtests/tm25/task1.c | 109 - testsuites/tmtests/tm25/tm25.doc | 13 - testsuites/tmtests/tm26/fptest.h | 165 - testsuites/tmtests/tm26/system.h | 43 - testsuites/tmtests/tm26/task1.c | 580 --- testsuites/tmtests/tm26/tm26.doc | 13 - testsuites/tmtests/tm27/system.h | 42 - testsuites/tmtests/tm27/task1.c | 272 -- testsuites/tmtests/tm27/tm27.doc | 13 - testsuites/tmtests/tm28/system.h | 43 - testsuites/tmtests/tm28/task1.c | 134 - testsuites/tmtests/tm28/tm28.doc | 13 - testsuites/tmtests/tm29/system.h | 43 - testsuites/tmtests/tm29/task1.c | 207 - testsuites/tmtests/tm29/tm29.doc | 13 - testsuites/tmtests/tmck/system.h | 42 - testsuites/tmtests/tmck/task1.c | 180 - testsuites/tmtests/tmck/tmck.doc | 20 - testsuites/tmtests/tmoverhd/dumrtems.h | 255 -- testsuites/tmtests/tmoverhd/empty.c | 41 - testsuites/tmtests/tmoverhd/system.h | 60 - testsuites/tmtests/tmoverhd/testtask.c | 1279 ------ testsuites/tmtests/tmoverhd/tmoverhd.doc | 13 - tools/build/Makefile.in | 14 - tools/build/README | 24 - tools/build/binpatch.c | 168 - tools/build/cklength.c | 377 -- tools/build/eolstrip.c | 366 -- tools/build/install-if-change.in | 142 - tools/build/lock-directory.in | 43 - tools/build/os/Makefile.in | 14 - tools/build/os/msdos/Makefile.in | 39 - tools/build/os/msdos/README | 12 - tools/build/os/msdos/cklength.uue | 286 -- tools/build/os/msdos/fixtimer.c | 111 - tools/build/os/msdos/fixtimer.uue | 162 - tools/build/os/msdos/ifc.c | 331 -- tools/build/os/msdos/ifc_exe.uue | 163 - tools/build/packhex.c | 565 --- tools/build/rcs-clean.in | 73 - tools/build/scripts/Makefile.in | 36 - tools/build/scripts/README | 24 - tools/build/scripts/install-if-change.in | 142 - tools/build/scripts/lock-directory.in | 43 - tools/build/scripts/rcs-clean.in | 73 - tools/build/scripts/search-id.sh | 15 - tools/build/scripts/unlock-directory.in | 41 - tools/build/search-id.sh | 15 - tools/build/src/Makefile.in | 70 - tools/build/src/cklength.c | 377 -- tools/build/src/config.h.in | 9 - tools/build/src/eolstrip.c | 366 -- tools/build/src/packhex.c | 565 --- tools/build/src/unhex.c | 738 ---- tools/build/unhex.c | 738 ---- tools/build/unlock-directory.in | 41 - tools/cpu/Makefile.in | 14 - tools/cpu/generic/Makefile.in | 36 - tools/cpu/generic/size_rtems.in | 276 -- tools/cpu/hppa1.1/genoffsets.c | 348 -- tools/cpu/sh/AUTHORS | 3 - tools/cpu/sh/COPYING | 19 - tools/cpu/sh/Makefile.in | 62 - tools/cpu/sh/TODO | 13 - tools/cpu/sh/sci.c | 157 - tools/cpu/sh/sci.h | 11 - tools/cpu/sh/shgen.c | 65 - tools/cpu/unix/Makefile.in | 58 - tools/cpu/unix/gensize.c | 116 - tools/update/310_to_320_list | 545 --- tools/update/Makefile.in | 43 - tools/update/README | 7 - tools/update/update.in | 216 - tools/update/word-replace.in | 89 - 3087 files changed, 521441 deletions(-) delete mode 100644 c/build-tools/README delete mode 100644 c/build-tools/cklength.c delete mode 100644 c/build-tools/eolstrip.c delete mode 100644 c/build-tools/install-if-change.in delete mode 100644 c/build-tools/lock-directory.in delete mode 100644 c/build-tools/packhex.c delete mode 100644 c/build-tools/rcs-clean.in delete mode 100644 c/build-tools/search-id.sh delete mode 100644 c/build-tools/unhex.c delete mode 100644 c/build-tools/unlock-directory.in delete mode 100644 c/src/ada-tests/mptests/mp01/config.h delete mode 100644 c/src/ada-tests/mptests/mp01/mp01.adb delete mode 100644 c/src/ada-tests/mptests/mp01/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp01/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp01/node1/mp01.scn delete mode 100644 c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp01/node2/mp01.scn delete mode 100644 c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp02/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp02/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp02/node1/mp02.scn delete mode 100644 c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp02/node2/mp02.scn delete mode 100644 c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp03/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp03/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp03/node1/mp03.scn delete mode 100644 c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp03/node2/mp03.scn delete mode 100644 c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp04/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp04/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp04/node1/mp04.scn delete mode 100644 c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp04/node2/mp04.scn delete mode 100644 c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp05/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp05/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp05/node1/mp05.scn delete mode 100644 c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp05/node2/mp05.scn delete mode 100644 c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp06/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp06/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp06/node1/mp06.scn delete mode 100644 c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp06/node2/mp06.scn delete mode 100644 c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp07/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp07/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp07/node1/mp07.scn delete mode 100644 c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp07/node2/mp07.scn delete mode 100644 c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp08/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp08/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp08/node1/mp08.scn delete mode 100644 c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp08/node2/mp08.scn delete mode 100644 c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp09/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp09/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp09/node1/mp09.scn delete mode 100644 c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp09/node2/mp09.scn delete mode 100644 c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp10/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp10/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp10/node1/mp10.scn delete mode 100644 c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp10/node2/mp10.scn delete mode 100644 c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp11/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp11/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp11/node1/mp11.scn delete mode 100644 c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp11/node2/mp11.scn delete mode 100644 c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp12/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp12/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp12/node1/mp12.scn delete mode 100644 c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp12/node2/mp12.scn delete mode 100644 c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp13/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp13/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp13/node1/mp13.scn delete mode 100644 c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp13/node2/mp13.scn delete mode 100644 c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp14/mptest.adb delete mode 100644 c/src/ada-tests/mptests/mp14/mptest.ads delete mode 100644 c/src/ada-tests/mptests/mp14/node1/mp14.scn delete mode 100644 c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/mptests/mp14/node2/mp14.scn delete mode 100644 c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/samples/base_mp/mptest.adb delete mode 100644 c/src/ada-tests/samples/base_mp/mptest.ads delete mode 100644 c/src/ada-tests/samples/base_mp/node1/base_mp.scn delete mode 100644 c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/samples/base_mp/node2/base_mp.scn delete mode 100644 c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb delete mode 100644 c/src/ada-tests/samples/base_sp/base_sp.adb delete mode 100644 c/src/ada-tests/samples/base_sp/base_sp.scn delete mode 100644 c/src/ada-tests/samples/base_sp/config.h delete mode 100644 c/src/ada-tests/samples/base_sp/sptest.adb delete mode 100644 c/src/ada-tests/samples/base_sp/sptest.ads delete mode 100644 c/src/ada-tests/samples/hello/config.h delete mode 100644 c/src/ada-tests/samples/hello/hello.adb delete mode 100644 c/src/ada-tests/samples/hello/hello.scn delete mode 100644 c/src/ada-tests/samples/hello/sptest.adb delete mode 100644 c/src/ada-tests/samples/hello/sptest.ads delete mode 100644 c/src/ada-tests/samples/ticker/config.h delete mode 100644 c/src/ada-tests/samples/ticker/sptest.adb delete mode 100644 c/src/ada-tests/samples/ticker/sptest.ads delete mode 100644 c/src/ada-tests/samples/ticker/ticker.adb delete mode 100644 c/src/ada-tests/samples/ticker/ticker.scn delete mode 100644 c/src/ada-tests/sptests/sp01/config.h delete mode 100644 c/src/ada-tests/sptests/sp01/sp01.adb delete mode 100644 c/src/ada-tests/sptests/sp01/sp01.scn delete mode 100644 c/src/ada-tests/sptests/sp01/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp01/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp02/config.h delete mode 100644 c/src/ada-tests/sptests/sp02/sp02.adb delete mode 100644 c/src/ada-tests/sptests/sp02/sp02.scn delete mode 100644 c/src/ada-tests/sptests/sp02/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp02/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp03/config.h delete mode 100644 c/src/ada-tests/sptests/sp03/sp03.adb delete mode 100644 c/src/ada-tests/sptests/sp03/sp03.scn delete mode 100644 c/src/ada-tests/sptests/sp03/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp03/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp04/README delete mode 100644 c/src/ada-tests/sptests/sp04/config.h delete mode 100644 c/src/ada-tests/sptests/sp04/sp04.adb delete mode 100644 c/src/ada-tests/sptests/sp04/sp04.scn delete mode 100644 c/src/ada-tests/sptests/sp04/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp04/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp05/config.h delete mode 100644 c/src/ada-tests/sptests/sp05/sp05.adb delete mode 100644 c/src/ada-tests/sptests/sp05/sp05.scn delete mode 100644 c/src/ada-tests/sptests/sp05/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp05/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp06/config.h delete mode 100644 c/src/ada-tests/sptests/sp06/sp06.adb delete mode 100644 c/src/ada-tests/sptests/sp06/sp06.scn delete mode 100644 c/src/ada-tests/sptests/sp06/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp06/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp07/config.h delete mode 100644 c/src/ada-tests/sptests/sp07/sp07.adb delete mode 100644 c/src/ada-tests/sptests/sp07/sp07.scn delete mode 100644 c/src/ada-tests/sptests/sp07/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp07/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp08/config.h delete mode 100644 c/src/ada-tests/sptests/sp08/sp08.adb delete mode 100644 c/src/ada-tests/sptests/sp08/sp08.scn delete mode 100644 c/src/ada-tests/sptests/sp08/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp08/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp09/config.h delete mode 100644 c/src/ada-tests/sptests/sp09/sp09.adb delete mode 100644 c/src/ada-tests/sptests/sp09/sp09.scn delete mode 100644 c/src/ada-tests/sptests/sp09/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp09/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp11/config.h delete mode 100644 c/src/ada-tests/sptests/sp11/sp11.adb delete mode 100644 c/src/ada-tests/sptests/sp11/sp11.scn delete mode 100644 c/src/ada-tests/sptests/sp11/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp11/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp12/config.h delete mode 100644 c/src/ada-tests/sptests/sp12/sp12.adb delete mode 100644 c/src/ada-tests/sptests/sp12/sp12.scn delete mode 100644 c/src/ada-tests/sptests/sp12/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp12/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp13/config.h delete mode 100644 c/src/ada-tests/sptests/sp13/sp13.adb delete mode 100644 c/src/ada-tests/sptests/sp13/sp13.scn delete mode 100644 c/src/ada-tests/sptests/sp13/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp13/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp14/config.h delete mode 100644 c/src/ada-tests/sptests/sp14/sp14.adb delete mode 100644 c/src/ada-tests/sptests/sp14/sp14.scn delete mode 100644 c/src/ada-tests/sptests/sp14/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp14/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp15/config.h delete mode 100644 c/src/ada-tests/sptests/sp15/sp15.adb delete mode 100644 c/src/ada-tests/sptests/sp15/sp15.scn delete mode 100644 c/src/ada-tests/sptests/sp15/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp15/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp16/config.h delete mode 100644 c/src/ada-tests/sptests/sp16/sp16.adb delete mode 100644 c/src/ada-tests/sptests/sp16/sp16.scn delete mode 100644 c/src/ada-tests/sptests/sp16/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp16/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp17/config.h delete mode 100644 c/src/ada-tests/sptests/sp17/sp17.adb delete mode 100644 c/src/ada-tests/sptests/sp17/sp17.scn delete mode 100644 c/src/ada-tests/sptests/sp17/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp17/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp19/README delete mode 100644 c/src/ada-tests/sptests/sp19/config.h delete mode 100644 c/src/ada-tests/sptests/sp19/sp19.adb delete mode 100644 c/src/ada-tests/sptests/sp19/sp19.scn delete mode 100644 c/src/ada-tests/sptests/sp19/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp20/config.h delete mode 100644 c/src/ada-tests/sptests/sp20/sp20.adb delete mode 100644 c/src/ada-tests/sptests/sp20/sp20.scn delete mode 100644 c/src/ada-tests/sptests/sp20/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp20/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp21/config.h delete mode 100644 c/src/ada-tests/sptests/sp21/sp21.adb delete mode 100644 c/src/ada-tests/sptests/sp21/sp21.scn delete mode 100644 c/src/ada-tests/sptests/sp21/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp21/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp22/config.h delete mode 100644 c/src/ada-tests/sptests/sp22/sp22.adb delete mode 100644 c/src/ada-tests/sptests/sp22/sp22.scn delete mode 100644 c/src/ada-tests/sptests/sp22/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp22/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp23/config.h delete mode 100644 c/src/ada-tests/sptests/sp23/sp23.adb delete mode 100644 c/src/ada-tests/sptests/sp23/sp23.scn delete mode 100644 c/src/ada-tests/sptests/sp23/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp23/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp24/config.h delete mode 100644 c/src/ada-tests/sptests/sp24/sp24.adb delete mode 100644 c/src/ada-tests/sptests/sp24/sp24.scn delete mode 100644 c/src/ada-tests/sptests/sp24/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp24/sptest.ads delete mode 100644 c/src/ada-tests/sptests/sp25/config.h delete mode 100644 c/src/ada-tests/sptests/sp25/sp25.adb delete mode 100644 c/src/ada-tests/sptests/sp25/sp25.scn delete mode 100644 c/src/ada-tests/sptests/sp25/sptest.adb delete mode 100644 c/src/ada-tests/sptests/sp25/sptest.ads delete mode 100644 c/src/ada-tests/sptests/spsize/spsize.adb delete mode 100644 c/src/ada-tests/sptests/spsize/sptest.adb delete mode 100644 c/src/ada-tests/sptests/spsize/sptest.ads delete mode 100644 c/src/ada-tests/support/address_io.adb delete mode 100644 c/src/ada-tests/support/address_io.ads delete mode 100644 c/src/ada-tests/support/float_io.ads delete mode 100644 c/src/ada-tests/support/fp.inc delete mode 100644 c/src/ada-tests/support/init.c delete mode 100644 c/src/ada-tests/support/integer.inc delete mode 100644 c/src/ada-tests/support/rtems_calling_overhead.ads delete mode 100644 c/src/ada-tests/support/status_io.ads delete mode 100644 c/src/ada-tests/support/test_support.adb delete mode 100644 c/src/ada-tests/support/test_support.ads delete mode 100644 c/src/ada-tests/support/time_test_support.adb delete mode 100644 c/src/ada-tests/support/time_test_support.ads delete mode 100644 c/src/ada-tests/support/timer_driver.adb delete mode 100644 c/src/ada-tests/support/timer_driver.ads delete mode 100644 c/src/ada-tests/support/unsigned32_io.ads delete mode 100644 c/src/ada-tests/tmtests/tm01/config.h delete mode 100644 c/src/ada-tests/tmtests/tm01/tm01.adb delete mode 100644 c/src/ada-tests/tmtests/tm01/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm01/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm02/config.h delete mode 100644 c/src/ada-tests/tmtests/tm02/tm02.adb delete mode 100644 c/src/ada-tests/tmtests/tm02/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm02/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm03/config.h delete mode 100644 c/src/ada-tests/tmtests/tm03/tm03.adb delete mode 100644 c/src/ada-tests/tmtests/tm03/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm03/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm04/config.h delete mode 100644 c/src/ada-tests/tmtests/tm04/tm04.adb delete mode 100644 c/src/ada-tests/tmtests/tm04/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm04/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm05/config.h delete mode 100644 c/src/ada-tests/tmtests/tm05/tm05.adb delete mode 100644 c/src/ada-tests/tmtests/tm05/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm05/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm06/config.h delete mode 100644 c/src/ada-tests/tmtests/tm06/tm06.adb delete mode 100644 c/src/ada-tests/tmtests/tm06/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm06/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm07/config.h delete mode 100644 c/src/ada-tests/tmtests/tm07/tm07.adb delete mode 100644 c/src/ada-tests/tmtests/tm07/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm07/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm08/config.h delete mode 100644 c/src/ada-tests/tmtests/tm08/tm08.adb delete mode 100644 c/src/ada-tests/tmtests/tm08/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm08/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm09/config.h delete mode 100644 c/src/ada-tests/tmtests/tm09/tm09.adb delete mode 100644 c/src/ada-tests/tmtests/tm09/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm09/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm10/config.h delete mode 100644 c/src/ada-tests/tmtests/tm10/tm10.adb delete mode 100644 c/src/ada-tests/tmtests/tm10/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm10/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm11/config.h delete mode 100644 c/src/ada-tests/tmtests/tm11/tm11.adb delete mode 100644 c/src/ada-tests/tmtests/tm11/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm11/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm12/config.h delete mode 100644 c/src/ada-tests/tmtests/tm12/tm12.adb delete mode 100644 c/src/ada-tests/tmtests/tm12/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm12/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm13/config.h delete mode 100644 c/src/ada-tests/tmtests/tm13/tm13.adb delete mode 100644 c/src/ada-tests/tmtests/tm13/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm13/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm14/config.h delete mode 100644 c/src/ada-tests/tmtests/tm14/tm14.adb delete mode 100644 c/src/ada-tests/tmtests/tm14/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm14/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm15/config.h delete mode 100644 c/src/ada-tests/tmtests/tm15/tm15.adb delete mode 100644 c/src/ada-tests/tmtests/tm15/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm15/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm16/config.h delete mode 100644 c/src/ada-tests/tmtests/tm16/tm16.adb delete mode 100644 c/src/ada-tests/tmtests/tm16/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm16/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm17/config.h delete mode 100644 c/src/ada-tests/tmtests/tm17/tm17.adb delete mode 100644 c/src/ada-tests/tmtests/tm17/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm17/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm18/config.h delete mode 100644 c/src/ada-tests/tmtests/tm18/tm18.adb delete mode 100644 c/src/ada-tests/tmtests/tm18/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm18/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm19/config.h delete mode 100644 c/src/ada-tests/tmtests/tm19/tm19.adb delete mode 100644 c/src/ada-tests/tmtests/tm19/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm19/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm20/config.h delete mode 100644 c/src/ada-tests/tmtests/tm20/tm20.adb delete mode 100644 c/src/ada-tests/tmtests/tm20/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm20/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm21/config.h delete mode 100644 c/src/ada-tests/tmtests/tm21/tm21.adb delete mode 100644 c/src/ada-tests/tmtests/tm21/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm21/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm22/config.h delete mode 100644 c/src/ada-tests/tmtests/tm22/tm22.adb delete mode 100644 c/src/ada-tests/tmtests/tm22/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm22/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm23/config.h delete mode 100644 c/src/ada-tests/tmtests/tm23/tm23.adb delete mode 100644 c/src/ada-tests/tmtests/tm23/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm23/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm24/config.h delete mode 100644 c/src/ada-tests/tmtests/tm24/tm24.adb delete mode 100644 c/src/ada-tests/tmtests/tm24/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm24/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm25/config.h delete mode 100644 c/src/ada-tests/tmtests/tm25/tm25.adb delete mode 100644 c/src/ada-tests/tmtests/tm25/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm25/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm26/README delete mode 100644 c/src/ada-tests/tmtests/tm26/config.h delete mode 100644 c/src/ada-tests/tmtests/tm26/tm26.adb delete mode 100644 c/src/ada-tests/tmtests/tm26/tmtest.adp delete mode 100644 c/src/ada-tests/tmtests/tm26/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm27/README delete mode 100644 c/src/ada-tests/tmtests/tm27/config.h delete mode 100644 c/src/ada-tests/tmtests/tm27/tm27.adb delete mode 100644 c/src/ada-tests/tmtests/tm27/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm27/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm28/config.h delete mode 100644 c/src/ada-tests/tmtests/tm28/tm28.adb delete mode 100644 c/src/ada-tests/tmtests/tm28/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm28/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tm29/config.h delete mode 100644 c/src/ada-tests/tmtests/tm29/tm29.adb delete mode 100644 c/src/ada-tests/tmtests/tm29/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tm29/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tmck/config.h delete mode 100644 c/src/ada-tests/tmtests/tmck/tmck.adb delete mode 100644 c/src/ada-tests/tmtests/tmck/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tmck/tmtest.ads delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/README delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/config.h delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/tmtest.adb delete mode 100644 c/src/ada-tests/tmtests/tmoverhd/tmtest.ads delete mode 100644 c/src/ada/rtems.adb delete mode 100644 c/src/ada/rtems.ads delete mode 100644 c/src/exec/libcsupport/include/chain.h delete mode 100644 c/src/exec/libcsupport/include/clockdrv.h delete mode 100644 c/src/exec/libcsupport/include/console.h delete mode 100644 c/src/exec/libcsupport/include/iosupp.h delete mode 100644 c/src/exec/libcsupport/include/motorola/mc68230.h delete mode 100644 c/src/exec/libcsupport/include/motorola/mc68681.h delete mode 100644 c/src/exec/libcsupport/include/ringbuf.h delete mode 100644 c/src/exec/libcsupport/include/rtems/assoc.h delete mode 100644 c/src/exec/libcsupport/include/rtems/error.h delete mode 100644 c/src/exec/libcsupport/include/rtems/libcsupport.h delete mode 100644 c/src/exec/libcsupport/include/rtems/libio.h delete mode 100644 c/src/exec/libcsupport/include/spurious.h delete mode 100644 c/src/exec/libcsupport/include/sys/filio.h delete mode 100644 c/src/exec/libcsupport/include/sys/ioctl.h delete mode 100644 c/src/exec/libcsupport/include/sys/sockio.h delete mode 100644 c/src/exec/libcsupport/include/sys/termios.h delete mode 100644 c/src/exec/libcsupport/include/sys/utsname.h delete mode 100644 c/src/exec/libcsupport/include/timerdrv.h delete mode 100644 c/src/exec/libcsupport/include/vmeintr.h delete mode 100644 c/src/exec/libcsupport/include/zilog/z8036.h delete mode 100644 c/src/exec/libcsupport/include/zilog/z8530.h delete mode 100644 c/src/exec/libcsupport/include/zilog/z8536.h delete mode 100644 c/src/exec/libcsupport/src/README delete mode 100644 c/src/exec/libcsupport/src/__brk.c delete mode 100644 c/src/exec/libcsupport/src/__gettod.c delete mode 100644 c/src/exec/libcsupport/src/__times.c delete mode 100644 c/src/exec/libcsupport/src/assoc.c delete mode 100644 c/src/exec/libcsupport/src/closedir.c delete mode 100644 c/src/exec/libcsupport/src/error.c delete mode 100644 c/src/exec/libcsupport/src/getdents.c delete mode 100644 c/src/exec/libcsupport/src/hosterr.c delete mode 100644 c/src/exec/libcsupport/src/libio.c delete mode 100644 c/src/exec/libcsupport/src/malloc.c delete mode 100644 c/src/exec/libcsupport/src/newlibc.c delete mode 100644 c/src/exec/libcsupport/src/no_libc.c delete mode 100644 c/src/exec/libcsupport/src/opendir.c delete mode 100644 c/src/exec/libcsupport/src/readdir.c delete mode 100644 c/src/exec/libcsupport/src/rewinddir.c delete mode 100644 c/src/exec/libcsupport/src/scandir.c delete mode 100644 c/src/exec/libcsupport/src/seekdir.c delete mode 100644 c/src/exec/libcsupport/src/tcdrain.c delete mode 100644 c/src/exec/libcsupport/src/telldir.c delete mode 100644 c/src/exec/libcsupport/src/termios.c delete mode 100644 c/src/exec/libcsupport/src/unixlibc.c delete mode 100644 c/src/exec/libcsupport/src/utsname.c delete mode 100644 c/src/exec/libnetworking/README delete mode 100644 c/src/exec/libnetworking/arpa/ftp.h delete mode 100644 c/src/exec/libnetworking/arpa/inet.h delete mode 100644 c/src/exec/libnetworking/arpa/nameser.h delete mode 100644 c/src/exec/libnetworking/arpa/nameser_compat.h delete mode 100644 c/src/exec/libnetworking/arpa/telnet.h delete mode 100644 c/src/exec/libnetworking/bpfilter.h delete mode 100644 c/src/exec/libnetworking/kern/kern_subr.c delete mode 100644 c/src/exec/libnetworking/kern/uipc_domain.c delete mode 100644 c/src/exec/libnetworking/kern/uipc_mbuf.c delete mode 100644 c/src/exec/libnetworking/kern/uipc_socket.c delete mode 100644 c/src/exec/libnetworking/kern/uipc_socket2.c delete mode 100644 c/src/exec/libnetworking/lib/README delete mode 100644 c/src/exec/libnetworking/lib/getprotoby.c delete mode 100644 c/src/exec/libnetworking/lib/syslog.c delete mode 100644 c/src/exec/libnetworking/lib/tftpDriver.c delete mode 100644 c/src/exec/libnetworking/libc/addr2ascii.3 delete mode 100644 c/src/exec/libnetworking/libc/addr2ascii.c delete mode 100644 c/src/exec/libnetworking/libc/ascii2addr.c delete mode 100644 c/src/exec/libnetworking/libc/base64.c delete mode 100644 c/src/exec/libnetworking/libc/byteorder.3 delete mode 100644 c/src/exec/libnetworking/libc/ether_addr.c delete mode 100644 c/src/exec/libnetworking/libc/ethers.3 delete mode 100644 c/src/exec/libnetworking/libc/gethostbydns.c delete mode 100644 c/src/exec/libnetworking/libc/gethostbyht.c delete mode 100644 c/src/exec/libnetworking/libc/gethostbyname.3 delete mode 100644 c/src/exec/libnetworking/libc/gethostbynis.c delete mode 100644 c/src/exec/libnetworking/libc/gethostnamadr.c delete mode 100644 c/src/exec/libnetworking/libc/gethostname.c delete mode 100644 c/src/exec/libnetworking/libc/getnetbydns.c delete mode 100644 c/src/exec/libnetworking/libc/getnetbyht.c delete mode 100644 c/src/exec/libnetworking/libc/getnetbynis.c delete mode 100644 c/src/exec/libnetworking/libc/getnetent.3 delete mode 100644 c/src/exec/libnetworking/libc/getnetnamadr.c delete mode 100644 c/src/exec/libnetworking/libc/getproto.c delete mode 100644 c/src/exec/libnetworking/libc/getprotoent.3 delete mode 100644 c/src/exec/libnetworking/libc/getprotoent.c delete mode 100644 c/src/exec/libnetworking/libc/getprotoname.c delete mode 100644 c/src/exec/libnetworking/libc/getservbyname.c delete mode 100644 c/src/exec/libnetworking/libc/getservbyport.c delete mode 100644 c/src/exec/libnetworking/libc/getservent.3 delete mode 100644 c/src/exec/libnetworking/libc/getservent.c delete mode 100644 c/src/exec/libnetworking/libc/herror.c delete mode 100644 c/src/exec/libnetworking/libc/inet.3 delete mode 100644 c/src/exec/libnetworking/libc/inet_addr.c delete mode 100644 c/src/exec/libnetworking/libc/inet_lnaof.c delete mode 100644 c/src/exec/libnetworking/libc/inet_makeaddr.c delete mode 100644 c/src/exec/libnetworking/libc/inet_net_ntop.c delete mode 100644 c/src/exec/libnetworking/libc/inet_net_pton.c delete mode 100644 c/src/exec/libnetworking/libc/inet_neta.c delete mode 100644 c/src/exec/libnetworking/libc/inet_netof.c delete mode 100644 c/src/exec/libnetworking/libc/inet_network.c delete mode 100644 c/src/exec/libnetworking/libc/inet_ntoa.c delete mode 100644 c/src/exec/libnetworking/libc/inet_ntop.c delete mode 100644 c/src/exec/libnetworking/libc/inet_pton.c delete mode 100644 c/src/exec/libnetworking/libc/iso_addr.3 delete mode 100644 c/src/exec/libnetworking/libc/iso_addr.c delete mode 100644 c/src/exec/libnetworking/libc/linkaddr.3 delete mode 100644 c/src/exec/libnetworking/libc/linkaddr.c delete mode 100644 c/src/exec/libnetworking/libc/map_v4v6.c delete mode 100644 c/src/exec/libnetworking/libc/ns.3 delete mode 100644 c/src/exec/libnetworking/libc/ns_addr.c delete mode 100644 c/src/exec/libnetworking/libc/ns_name.c delete mode 100644 c/src/exec/libnetworking/libc/ns_netint.c delete mode 100644 c/src/exec/libnetworking/libc/ns_ntoa.c delete mode 100644 c/src/exec/libnetworking/libc/ns_parse.c delete mode 100644 c/src/exec/libnetworking/libc/ns_print.c delete mode 100644 c/src/exec/libnetworking/libc/ns_ttl.c delete mode 100644 c/src/exec/libnetworking/libc/nsap_addr.c delete mode 100644 c/src/exec/libnetworking/libc/rcmd.3 delete mode 100644 c/src/exec/libnetworking/libc/rcmd.c delete mode 100644 c/src/exec/libnetworking/libc/recv.c delete mode 100644 c/src/exec/libnetworking/libc/res_comp.c delete mode 100644 c/src/exec/libnetworking/libc/res_config.h delete mode 100644 c/src/exec/libnetworking/libc/res_data.c delete mode 100644 c/src/exec/libnetworking/libc/res_debug.c delete mode 100644 c/src/exec/libnetworking/libc/res_init.c delete mode 100644 c/src/exec/libnetworking/libc/res_mkquery.c delete mode 100644 c/src/exec/libnetworking/libc/res_mkupdate.c delete mode 100644 c/src/exec/libnetworking/libc/res_query.c delete mode 100644 c/src/exec/libnetworking/libc/res_send.c delete mode 100644 c/src/exec/libnetworking/libc/res_stubs.c delete mode 100644 c/src/exec/libnetworking/libc/res_update.c delete mode 100644 c/src/exec/libnetworking/libc/resolver.3 delete mode 100644 c/src/exec/libnetworking/libc/send.c delete mode 100644 c/src/exec/libnetworking/libc/strsep.c delete mode 100644 c/src/exec/libnetworking/loop.h delete mode 100644 c/src/exec/libnetworking/machine/conf.h delete mode 100644 c/src/exec/libnetworking/machine/cpu.h delete mode 100644 c/src/exec/libnetworking/machine/cpufunc.h delete mode 100644 c/src/exec/libnetworking/machine/endian.h delete mode 100644 c/src/exec/libnetworking/machine/in_cksum.h delete mode 100644 c/src/exec/libnetworking/machine/limits.h delete mode 100644 c/src/exec/libnetworking/machine/param.h delete mode 100644 c/src/exec/libnetworking/machine/types.h delete mode 100644 c/src/exec/libnetworking/machine/vmparam.h delete mode 100644 c/src/exec/libnetworking/net/bpf.h delete mode 100644 c/src/exec/libnetworking/net/ethernet.h delete mode 100644 c/src/exec/libnetworking/net/if.c delete mode 100644 c/src/exec/libnetworking/net/if.h delete mode 100644 c/src/exec/libnetworking/net/if_arp.h delete mode 100644 c/src/exec/libnetworking/net/if_dl.h delete mode 100644 c/src/exec/libnetworking/net/if_ethersubr.c delete mode 100644 c/src/exec/libnetworking/net/if_llc.h delete mode 100644 c/src/exec/libnetworking/net/if_loop.c delete mode 100644 c/src/exec/libnetworking/net/if_types.h delete mode 100644 c/src/exec/libnetworking/net/netisr.h delete mode 100644 c/src/exec/libnetworking/net/radix.c delete mode 100644 c/src/exec/libnetworking/net/radix.h delete mode 100644 c/src/exec/libnetworking/net/raw_cb.c delete mode 100644 c/src/exec/libnetworking/net/raw_cb.h delete mode 100644 c/src/exec/libnetworking/net/raw_usrreq.c delete mode 100644 c/src/exec/libnetworking/net/route.c delete mode 100644 c/src/exec/libnetworking/net/route.h delete mode 100644 c/src/exec/libnetworking/net/rtsock.c delete mode 100644 c/src/exec/libnetworking/netdb.h delete mode 100644 c/src/exec/libnetworking/netinet/icmp_var.h delete mode 100644 c/src/exec/libnetworking/netinet/if_ether.c delete mode 100644 c/src/exec/libnetworking/netinet/if_ether.h delete mode 100644 c/src/exec/libnetworking/netinet/igmp.c delete mode 100644 c/src/exec/libnetworking/netinet/igmp.h delete mode 100644 c/src/exec/libnetworking/netinet/igmp_var.h delete mode 100644 c/src/exec/libnetworking/netinet/in.c delete mode 100644 c/src/exec/libnetworking/netinet/in.h delete mode 100644 c/src/exec/libnetworking/netinet/in_cksum.c delete mode 100644 c/src/exec/libnetworking/netinet/in_cksum_i386.c delete mode 100644 c/src/exec/libnetworking/netinet/in_cksum_m68k.c delete mode 100644 c/src/exec/libnetworking/netinet/in_pcb.c delete mode 100644 c/src/exec/libnetworking/netinet/in_pcb.h delete mode 100644 c/src/exec/libnetworking/netinet/in_proto.c delete mode 100644 c/src/exec/libnetworking/netinet/in_rmx.c delete mode 100644 c/src/exec/libnetworking/netinet/in_systm.h delete mode 100644 c/src/exec/libnetworking/netinet/in_var.h delete mode 100644 c/src/exec/libnetworking/netinet/ip.h delete mode 100644 c/src/exec/libnetworking/netinet/ip_divert.c delete mode 100644 c/src/exec/libnetworking/netinet/ip_fw.c delete mode 100644 c/src/exec/libnetworking/netinet/ip_fw.h delete mode 100644 c/src/exec/libnetworking/netinet/ip_icmp.c delete mode 100644 c/src/exec/libnetworking/netinet/ip_icmp.h delete mode 100644 c/src/exec/libnetworking/netinet/ip_input.c delete mode 100644 c/src/exec/libnetworking/netinet/ip_mroute.c delete mode 100644 c/src/exec/libnetworking/netinet/ip_mroute.h delete mode 100644 c/src/exec/libnetworking/netinet/ip_output.c delete mode 100644 c/src/exec/libnetworking/netinet/ip_var.h delete mode 100644 c/src/exec/libnetworking/netinet/raw_ip.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp.h delete mode 100644 c/src/exec/libnetworking/netinet/tcp_debug.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp_debug.h delete mode 100644 c/src/exec/libnetworking/netinet/tcp_fsm.h delete mode 100644 c/src/exec/libnetworking/netinet/tcp_input.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp_output.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp_seq.h delete mode 100644 c/src/exec/libnetworking/netinet/tcp_subr.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp_timer.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp_timer.h delete mode 100644 c/src/exec/libnetworking/netinet/tcp_usrreq.c delete mode 100644 c/src/exec/libnetworking/netinet/tcp_var.h delete mode 100644 c/src/exec/libnetworking/netinet/tcpip.h delete mode 100644 c/src/exec/libnetworking/netinet/udp.h delete mode 100644 c/src/exec/libnetworking/netinet/udp_usrreq.c delete mode 100644 c/src/exec/libnetworking/netinet/udp_var.h delete mode 100644 c/src/exec/libnetworking/nfs/bootp_subr.c delete mode 100644 c/src/exec/libnetworking/nfs/krpc.h delete mode 100644 c/src/exec/libnetworking/nfs/nfs.h delete mode 100644 c/src/exec/libnetworking/nfs/nfsdiskless.h delete mode 100644 c/src/exec/libnetworking/nfs/nfsproto.h delete mode 100644 c/src/exec/libnetworking/nfs/rpcv2.h delete mode 100644 c/src/exec/libnetworking/nfs/xdr_subs.h delete mode 100644 c/src/exec/libnetworking/opt_ipfw.h delete mode 100644 c/src/exec/libnetworking/opt_mrouting.h delete mode 100644 c/src/exec/libnetworking/opt_tcpdebug.h delete mode 100644 c/src/exec/libnetworking/poll.h delete mode 100644 c/src/exec/libnetworking/resolv.h delete mode 100644 c/src/exec/libnetworking/rtems/issetugid.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_bootp.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_bsdnet.h delete mode 100644 c/src/exec/libnetworking/rtems/rtems_bsdnet_internal.h delete mode 100644 c/src/exec/libnetworking/rtems/rtems_glue.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showicmpstat.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showifstat.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showipstat.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showmbuf.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showroute.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showtcpstat.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_showudpstat.c delete mode 100644 c/src/exec/libnetworking/rtems/rtems_syscall.c delete mode 100644 c/src/exec/libnetworking/rtems/sghostname.c delete mode 100644 c/src/exec/libnetworking/rtems/tftp.h delete mode 100644 c/src/exec/libnetworking/sys/buf.h delete mode 100644 c/src/exec/libnetworking/sys/callout.h delete mode 100644 c/src/exec/libnetworking/sys/conf.h delete mode 100644 c/src/exec/libnetworking/sys/domain.h delete mode 100644 c/src/exec/libnetworking/sys/kernel.h delete mode 100644 c/src/exec/libnetworking/sys/libkern.h delete mode 100644 c/src/exec/libnetworking/sys/malloc.h delete mode 100644 c/src/exec/libnetworking/sys/mbuf.h delete mode 100644 c/src/exec/libnetworking/sys/mount.h delete mode 100644 c/src/exec/libnetworking/sys/param.h delete mode 100644 c/src/exec/libnetworking/sys/proc.h delete mode 100644 c/src/exec/libnetworking/sys/protosw.h delete mode 100644 c/src/exec/libnetworking/sys/queue.h delete mode 100644 c/src/exec/libnetworking/sys/reboot.h delete mode 100644 c/src/exec/libnetworking/sys/resourcevar.h delete mode 100644 c/src/exec/libnetworking/sys/rtprio.h delete mode 100644 c/src/exec/libnetworking/sys/select.h delete mode 100644 c/src/exec/libnetworking/sys/signalvar.h delete mode 100644 c/src/exec/libnetworking/sys/socket.h delete mode 100644 c/src/exec/libnetworking/sys/socketvar.h delete mode 100644 c/src/exec/libnetworking/sys/sysctl.h delete mode 100644 c/src/exec/libnetworking/sys/syslimits.h delete mode 100644 c/src/exec/libnetworking/sys/syslog.h delete mode 100644 c/src/exec/libnetworking/sys/systm.h delete mode 100644 c/src/exec/libnetworking/sys/ttydefaults.h delete mode 100644 c/src/exec/libnetworking/sys/ucred.h delete mode 100644 c/src/exec/libnetworking/sys/uio.h delete mode 100644 c/src/exec/libnetworking/syslog.h delete mode 100644 c/src/exec/libnetworking/vm/vm.h delete mode 100644 c/src/exec/libnetworking/vm/vm_extern.h delete mode 100644 c/src/exec/libnetworking/vm/vm_kern.h delete mode 100644 c/src/exec/libnetworking/vm/vm_param.h delete mode 100644 c/src/exec/posix/include/aio.h delete mode 100644 c/src/exec/posix/include/devctl.h delete mode 100644 c/src/exec/posix/include/intr.h delete mode 100644 c/src/exec/posix/include/limits.h delete mode 100644 c/src/exec/posix/include/mqueue.h delete mode 100644 c/src/exec/posix/include/pthread.h delete mode 100644 c/src/exec/posix/include/rtems/posix/Makefile.in delete mode 100644 c/src/exec/posix/include/rtems/posix/cancel.h delete mode 100644 c/src/exec/posix/include/rtems/posix/cond.h delete mode 100644 c/src/exec/posix/include/rtems/posix/condmp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/config.h delete mode 100644 c/src/exec/posix/include/rtems/posix/intr.h delete mode 100644 c/src/exec/posix/include/rtems/posix/key.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mqueue.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mqueuemp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mutex.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mutexmp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/posixapi.h delete mode 100644 c/src/exec/posix/include/rtems/posix/priority.h delete mode 100644 c/src/exec/posix/include/rtems/posix/psignal.h delete mode 100644 c/src/exec/posix/include/rtems/posix/pthread.h delete mode 100644 c/src/exec/posix/include/rtems/posix/pthreadmp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/semaphore.h delete mode 100644 c/src/exec/posix/include/rtems/posix/semaphoremp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/seterr.h delete mode 100644 c/src/exec/posix/include/rtems/posix/threadsup.h delete mode 100644 c/src/exec/posix/include/rtems/posix/time.h delete mode 100644 c/src/exec/posix/include/sched.h delete mode 100644 c/src/exec/posix/include/semaphore.h delete mode 100644 c/src/exec/posix/include/sys/Makefile.in delete mode 100644 c/src/exec/posix/include/sys/utsname.h delete mode 100644 c/src/exec/posix/include/unistd.h delete mode 100644 c/src/exec/posix/include/wrap/Makefile.in delete mode 100644 c/src/exec/posix/inline/rtems/posix/Makefile.in delete mode 100644 c/src/exec/posix/inline/rtems/posix/cond.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/intr.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/key.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/mqueue.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/mutex.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/priority.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/pthread.inl delete mode 100644 c/src/exec/posix/inline/rtems/posix/semaphore.inl delete mode 100644 c/src/exec/posix/macros/rtems/posix/Makefile.in delete mode 100644 c/src/exec/rtems/include/rtems.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/Makefile.in delete mode 100644 c/src/exec/rtems/include/rtems/rtems/asr.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/attr.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/clock.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/config.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/dpmem.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/event.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/eventmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/eventset.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/intr.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/message.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/modes.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/mp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/msgmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/options.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/part.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/partmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/ratemon.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/region.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/regionmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/rtemsapi.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/sem.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/semmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/signal.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/signalmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/status.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/support.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/taskmp.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/tasks.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/timer.h delete mode 100644 c/src/exec/rtems/include/rtems/rtems/types.h delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/Makefile.in delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/asr.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/attr.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/dpmem.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/event.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/eventset.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/message.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/modes.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/options.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/part.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/ratemon.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/region.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/sem.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/status.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/support.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/tasks.inl delete mode 100644 c/src/exec/rtems/inline/rtems/rtems/timer.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/Makefile.in delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/asr.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/attr.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/dpmem.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/event.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/eventset.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/message.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/modes.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/options.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/part.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/ratemon.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/region.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/sem.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/status.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/support.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/tasks.inl delete mode 100644 c/src/exec/rtems/macros/rtems/rtems/timer.inl delete mode 100644 c/src/exec/rtems/src/rtclock.c delete mode 100644 c/src/exec/rtems/src/rtemstimer.c delete mode 100644 c/src/exec/sapi/include/confdefs.h delete mode 100644 c/src/exec/sapi/include/rtems/Makefile.in delete mode 100644 c/src/exec/sapi/include/rtems/README delete mode 100644 c/src/exec/sapi/include/rtems/config.h delete mode 100644 c/src/exec/sapi/include/rtems/directives.h delete mode 100644 c/src/exec/sapi/include/rtems/extension.h delete mode 100644 c/src/exec/sapi/include/rtems/fatal.h delete mode 100644 c/src/exec/sapi/include/rtems/init.h delete mode 100644 c/src/exec/sapi/include/rtems/io.h delete mode 100644 c/src/exec/sapi/include/rtems/mptables.h delete mode 100644 c/src/exec/sapi/include/rtems/sptables.h delete mode 100644 c/src/exec/sapi/inline/rtems/Makefile.in delete mode 100644 c/src/exec/sapi/inline/rtems/extension.inl delete mode 100644 c/src/exec/sapi/macros/rtems/Makefile.in delete mode 100644 c/src/exec/sapi/macros/rtems/extension.inl delete mode 100644 c/src/exec/score/cpu/mips/asm.h delete mode 100644 c/src/exec/score/cpu/mips/cpu.c delete mode 100644 c/src/exec/score/cpu/mips/cpu_asm.S delete mode 100644 c/src/exec/score/cpu/mips/cpu_asm.h delete mode 100644 c/src/exec/score/cpu/mips/idtcpu.h delete mode 100644 c/src/exec/score/cpu/mips/idtmon.h delete mode 100644 c/src/exec/score/cpu/mips/iregdef.h delete mode 100644 c/src/exec/score/cpu/mips/rtems.c delete mode 100644 c/src/exec/score/cpu/sh/ispsh7032.c delete mode 100644 c/src/exec/score/include/rtems/debug.h delete mode 100644 c/src/exec/score/include/rtems/score/Makefile.in delete mode 100644 c/src/exec/score/include/rtems/score/address.h delete mode 100644 c/src/exec/score/include/rtems/score/apiext.h delete mode 100644 c/src/exec/score/include/rtems/score/bitfield.h delete mode 100644 c/src/exec/score/include/rtems/score/chain.h delete mode 100644 c/src/exec/score/include/rtems/score/context.h delete mode 100644 c/src/exec/score/include/rtems/score/copyrt.h delete mode 100644 c/src/exec/score/include/rtems/score/coremsg.h delete mode 100644 c/src/exec/score/include/rtems/score/coremutex.h delete mode 100644 c/src/exec/score/include/rtems/score/coresem.h delete mode 100644 c/src/exec/score/include/rtems/score/heap.h delete mode 100644 c/src/exec/score/include/rtems/score/interr.h delete mode 100644 c/src/exec/score/include/rtems/score/isr.h delete mode 100644 c/src/exec/score/include/rtems/score/mpci.h delete mode 100644 c/src/exec/score/include/rtems/score/mppkt.h delete mode 100644 c/src/exec/score/include/rtems/score/object.h delete mode 100644 c/src/exec/score/include/rtems/score/objectmp.h delete mode 100644 c/src/exec/score/include/rtems/score/priority.h delete mode 100644 c/src/exec/score/include/rtems/score/stack.h delete mode 100644 c/src/exec/score/include/rtems/score/states.h delete mode 100644 c/src/exec/score/include/rtems/score/sysstate.h delete mode 100644 c/src/exec/score/include/rtems/score/thread.h delete mode 100644 c/src/exec/score/include/rtems/score/threadmp.h delete mode 100644 c/src/exec/score/include/rtems/score/threadq.h delete mode 100644 c/src/exec/score/include/rtems/score/tod.h delete mode 100644 c/src/exec/score/include/rtems/score/tqdata.h delete mode 100644 c/src/exec/score/include/rtems/score/userext.h delete mode 100644 c/src/exec/score/include/rtems/score/watchdog.h delete mode 100644 c/src/exec/score/include/rtems/score/wkspace.h delete mode 100644 c/src/exec/score/include/rtems/system.h delete mode 100644 c/src/exec/score/inline/rtems/score/Makefile.in delete mode 100644 c/src/exec/score/inline/rtems/score/address.inl delete mode 100644 c/src/exec/score/inline/rtems/score/chain.inl delete mode 100644 c/src/exec/score/inline/rtems/score/coremsg.inl delete mode 100644 c/src/exec/score/inline/rtems/score/coremutex.inl delete mode 100644 c/src/exec/score/inline/rtems/score/coresem.inl delete mode 100644 c/src/exec/score/inline/rtems/score/heap.inl delete mode 100644 c/src/exec/score/inline/rtems/score/isr.inl delete mode 100644 c/src/exec/score/inline/rtems/score/mppkt.inl delete mode 100644 c/src/exec/score/inline/rtems/score/object.inl delete mode 100644 c/src/exec/score/inline/rtems/score/objectmp.inl delete mode 100644 c/src/exec/score/inline/rtems/score/priority.inl delete mode 100644 c/src/exec/score/inline/rtems/score/stack.inl delete mode 100644 c/src/exec/score/inline/rtems/score/states.inl delete mode 100644 c/src/exec/score/inline/rtems/score/sysstate.inl delete mode 100644 c/src/exec/score/inline/rtems/score/thread.inl delete mode 100644 c/src/exec/score/inline/rtems/score/threadmp.inl delete mode 100644 c/src/exec/score/inline/rtems/score/tod.inl delete mode 100644 c/src/exec/score/inline/rtems/score/tqdata.inl delete mode 100644 c/src/exec/score/inline/rtems/score/userext.inl delete mode 100644 c/src/exec/score/inline/rtems/score/watchdog.inl delete mode 100644 c/src/exec/score/inline/rtems/score/wkspace.inl delete mode 100644 c/src/exec/score/macros/rtems/score/Makefile.in delete mode 100644 c/src/exec/score/macros/rtems/score/README delete mode 100644 c/src/exec/score/macros/rtems/score/address.inl delete mode 100644 c/src/exec/score/macros/rtems/score/chain.inl delete mode 100644 c/src/exec/score/macros/rtems/score/coremsg.inl delete mode 100644 c/src/exec/score/macros/rtems/score/coremutex.inl delete mode 100644 c/src/exec/score/macros/rtems/score/coresem.inl delete mode 100644 c/src/exec/score/macros/rtems/score/heap.inl delete mode 100644 c/src/exec/score/macros/rtems/score/isr.inl delete mode 100644 c/src/exec/score/macros/rtems/score/mppkt.inl delete mode 100644 c/src/exec/score/macros/rtems/score/object.inl delete mode 100644 c/src/exec/score/macros/rtems/score/objectmp.inl delete mode 100644 c/src/exec/score/macros/rtems/score/priority.inl delete mode 100644 c/src/exec/score/macros/rtems/score/stack.inl delete mode 100644 c/src/exec/score/macros/rtems/score/states.inl delete mode 100644 c/src/exec/score/macros/rtems/score/sysstate.inl delete mode 100644 c/src/exec/score/macros/rtems/score/thread.inl delete mode 100644 c/src/exec/score/macros/rtems/score/threadmp.inl delete mode 100644 c/src/exec/score/macros/rtems/score/tod.inl delete mode 100644 c/src/exec/score/macros/rtems/score/tqdata.inl delete mode 100644 c/src/exec/score/macros/rtems/score/userext.inl delete mode 100644 c/src/exec/score/macros/rtems/score/watchdog.inl delete mode 100644 c/src/exec/score/macros/rtems/score/wkspace.inl delete mode 100644 c/src/exec/score/src/coretod.c delete mode 100644 c/src/lib/include/rtems/assoc.h delete mode 100644 c/src/lib/include/rtems/error.h delete mode 100644 c/src/lib/include/rtems/libcsupport.h delete mode 100644 c/src/lib/include/rtems/libio.h delete mode 100644 c/src/lib/include/sys/filio.h delete mode 100644 c/src/lib/include/sys/ioctl.h delete mode 100644 c/src/lib/include/sys/sockio.h delete mode 100644 c/src/lib/include/sys/utsname.h delete mode 100644 c/src/lib/libbsp/a29k/portsw/start/Makefile.in delete mode 100644 c/src/lib/libbsp/a29k/portsw/start/amd.ah delete mode 100644 c/src/lib/libbsp/a29k/portsw/start/pswmacro.ah delete mode 100644 c/src/lib/libbsp/a29k/portsw/start/register.ah delete mode 100644 c/src/lib/libbsp/i386/shared/irq/idt.c delete mode 100644 c/src/lib/libbsp/i960/cvme961/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/efi332/start/start.c delete mode 100644 c/src/lib/libbsp/m68k/efi68k/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/efi68k/start/start.c delete mode 100644 c/src/lib/libbsp/m68k/gen68302/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/gen68302/start/start302.s delete mode 100644 c/src/lib/libbsp/m68k/gen68340/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/gen68340/start/start340.s delete mode 100644 c/src/lib/libbsp/m68k/gen68340/start/startfor340only.s delete mode 100644 c/src/lib/libbsp/m68k/gen68360/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/gen68360/start/start360.s delete mode 100644 c/src/lib/libbsp/m68k/ods68302/start/Makefile.in delete mode 100644 c/src/lib/libbsp/m68k/ods68302/start/cpuboot.c delete mode 100644 c/src/lib/libbsp/m68k/ods68302/start/debugreset.S delete mode 100644 c/src/lib/libbsp/m68k/ods68302/start/reset.S delete mode 100644 c/src/lib/libbsp/m68k/ods68302/startup/cpuboot.c delete mode 100644 c/src/lib/libbsp/mips/README delete mode 100644 c/src/lib/libbsp/mips/p4000/README delete mode 100644 c/src/lib/libbsp/mips/p4000/bsp_specs delete mode 100644 c/src/lib/libbsp/mips/p4000/console/console.c delete mode 100644 c/src/lib/libbsp/mips/p4000/console/led.S delete mode 100644 c/src/lib/libbsp/mips/p4000/include/bsp.h delete mode 100644 c/src/lib/libbsp/mips/p4000/include/coverhd.h delete mode 100644 c/src/lib/libbsp/mips/p4000/liblnk/lnklib.S delete mode 100644 c/src/lib/libbsp/mips/p4000/start/start.S delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/bspclean.c delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/ghlinkcmds delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/idtmem.S delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/idttlb.S delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/inittlb.c delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/linkcmds delete mode 100644 c/src/lib/libbsp/mips/p4000/startup/setvec.c delete mode 100644 c/src/lib/libbsp/mips/p4000/times delete mode 100644 c/src/lib/libbsp/mips64orion/p4000/start/Makefile.in delete mode 100644 c/src/lib/libbsp/mips64orion/p4000/start/start.S delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/QUIRKS delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/README delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/README.net delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/STATUS delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/bsp_specs delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/cable.doc delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/clock/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/clock/clock.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/console/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/console/config.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/console/conscfg.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/console/debugio.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/include/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/include/bsp.h delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/include/coverhd.h delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/include/dmv170.h delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/scv64/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/scv64/scv64.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/sonic/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/sonic/sonic.h delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/start/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/start/start.s delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/bspclean.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/genpvec.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/linkcmds delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/setvec.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/startup/vmeintr.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/timer/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/timer/timer.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/times delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/tod/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/tod/config.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/tod/todcfg.c delete mode 100644 c/src/lib/libbsp/powerpc/dmv177/wrapup/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/psim/start/Makefile.in delete mode 100644 c/src/lib/libbsp/powerpc/psim/start/startsim.s delete mode 100644 c/src/lib/libbsp/sh/gensh1/start/Makefile.in delete mode 100644 c/src/lib/libbsp/shared/console.c delete mode 100644 c/src/lib/libbsp/shared/tod.c delete mode 100644 c/src/lib/libbsp/shared/tod.h delete mode 100644 c/src/lib/libbsp/shmdr/shm_driver.h delete mode 100644 c/src/lib/libbsp/sparc/erc32/start/Makefile.in delete mode 100644 c/src/lib/libbsp/sparc/erc32/start/startsis.s delete mode 100644 c/src/lib/libc/assoc.c delete mode 100644 c/src/lib/libc/assoc.h delete mode 100644 c/src/lib/libc/error.c delete mode 100644 c/src/lib/libc/error.h delete mode 100644 c/src/lib/libc/utsname.c delete mode 100644 c/src/lib/libchip/Makefile.in delete mode 100644 c/src/lib/libchip/rtc/Makefile.in delete mode 100644 c/src/lib/libchip/rtc/README.ds1643 delete mode 100644 c/src/lib/libchip/rtc/README.icm7170 delete mode 100644 c/src/lib/libchip/rtc/README.m48t08 delete mode 100644 c/src/lib/libchip/rtc/README.m48t18 delete mode 100644 c/src/lib/libchip/rtc/STATUS delete mode 100644 c/src/lib/libchip/rtc/icm7170.c delete mode 100644 c/src/lib/libchip/rtc/icm7170.h delete mode 100644 c/src/lib/libchip/rtc/icm7170_reg.c delete mode 100644 c/src/lib/libchip/rtc/icm7170_reg2.c delete mode 100644 c/src/lib/libchip/rtc/icm7170_reg4.c delete mode 100644 c/src/lib/libchip/rtc/icm7170_reg8.c delete mode 100644 c/src/lib/libchip/rtc/m48t08.c delete mode 100644 c/src/lib/libchip/rtc/m48t08.h delete mode 100644 c/src/lib/libchip/rtc/m48t08_reg.c delete mode 100644 c/src/lib/libchip/rtc/m48t08_reg2.c delete mode 100644 c/src/lib/libchip/rtc/m48t08_reg4.c delete mode 100644 c/src/lib/libchip/rtc/m48t08_reg8.c delete mode 100644 c/src/lib/libchip/rtc/rtc.h delete mode 100644 c/src/lib/libchip/rtc/rtcprobe.c delete mode 100644 c/src/lib/libchip/serial/Makefile.in delete mode 100644 c/src/lib/libchip/serial/README delete mode 100644 c/src/lib/libchip/serial/README.mc68681 delete mode 100644 c/src/lib/libchip/serial/README.ns16550 delete mode 100644 c/src/lib/libchip/serial/README.xr88681 delete mode 100644 c/src/lib/libchip/serial/README.z85c30 delete mode 100644 c/src/lib/libchip/serial/STATUS delete mode 100644 c/src/lib/libchip/serial/mc68681.c delete mode 100644 c/src/lib/libchip/serial/mc68681.h delete mode 100644 c/src/lib/libchip/serial/mc68681_baud.c delete mode 100644 c/src/lib/libchip/serial/mc68681_p.h delete mode 100644 c/src/lib/libchip/serial/mc68681_reg.c delete mode 100644 c/src/lib/libchip/serial/mc68681_reg2.c delete mode 100644 c/src/lib/libchip/serial/mc68681_reg4.c delete mode 100644 c/src/lib/libchip/serial/mc68681_reg8.c delete mode 100644 c/src/lib/libchip/serial/ns16550.c delete mode 100644 c/src/lib/libchip/serial/ns16550.h delete mode 100644 c/src/lib/libchip/serial/ns16550_p.h delete mode 100644 c/src/lib/libchip/serial/serial.h delete mode 100644 c/src/lib/libchip/serial/serprobe.c delete mode 100644 c/src/lib/libchip/serial/sersupp.h delete mode 100644 c/src/lib/libchip/serial/termios_baud2index.c delete mode 100644 c/src/lib/libchip/serial/termios_baud2num.c delete mode 100644 c/src/lib/libchip/serial/z85c30.c delete mode 100644 c/src/lib/libchip/serial/z85c30.h delete mode 100644 c/src/lib/libchip/serial/z85c30_p.h delete mode 100644 c/src/lib/libchip/serial/z85c30_reg.c delete mode 100644 c/src/lib/libcpu/i386/idt.c delete mode 100644 c/src/lib/libcpu/m68k/shared/misc/memcpy.c delete mode 100644 c/src/lib/libcpu/mips/clock/ckinit.c delete mode 100644 c/src/lib/libcpu/mips/clock/clock.S delete mode 100644 c/src/lib/libcpu/mips/clock/clock.h delete mode 100644 c/src/lib/libcpu/mips/timer/gettime.S delete mode 100644 c/src/lib/libcpu/mips/timer/timer.c delete mode 100644 c/src/lib/libcpu/sh/sh7032/score/cpu_asm.c delete mode 100644 c/src/lib/libcpu/sh/sh7032/score/ispsh7032.c delete mode 100644 c/src/lib/libcpu/sh/sh7045/score/cpu_asm.c delete mode 100644 c/src/lib/libcpu/sparc/include/erc32.h delete mode 100644 c/src/libchip/rtc/Makefile.in delete mode 100644 c/src/libchip/rtc/README.ds1643 delete mode 100644 c/src/libchip/rtc/README.icm7170 delete mode 100644 c/src/libchip/rtc/README.m48t08 delete mode 100644 c/src/libchip/rtc/README.m48t18 delete mode 100644 c/src/libchip/rtc/STATUS delete mode 100644 c/src/libchip/rtc/icm7170.c delete mode 100644 c/src/libchip/rtc/icm7170.h delete mode 100644 c/src/libchip/rtc/icm7170_reg.c delete mode 100644 c/src/libchip/rtc/icm7170_reg2.c delete mode 100644 c/src/libchip/rtc/icm7170_reg4.c delete mode 100644 c/src/libchip/rtc/icm7170_reg8.c delete mode 100644 c/src/libchip/rtc/m48t08.c delete mode 100644 c/src/libchip/rtc/m48t08.h delete mode 100644 c/src/libchip/rtc/m48t08_reg.c delete mode 100644 c/src/libchip/rtc/m48t08_reg2.c delete mode 100644 c/src/libchip/rtc/m48t08_reg4.c delete mode 100644 c/src/libchip/rtc/m48t08_reg8.c delete mode 100644 c/src/libchip/rtc/rtc.h delete mode 100644 c/src/libchip/rtc/rtcprobe.c delete mode 100644 c/src/libchip/serial/Makefile.in delete mode 100644 c/src/libchip/serial/README delete mode 100644 c/src/libchip/serial/README.mc68681 delete mode 100644 c/src/libchip/serial/README.ns16550 delete mode 100644 c/src/libchip/serial/README.xr88681 delete mode 100644 c/src/libchip/serial/README.z85c30 delete mode 100644 c/src/libchip/serial/STATUS delete mode 100644 c/src/libchip/serial/mc68681.c delete mode 100644 c/src/libchip/serial/mc68681.h delete mode 100644 c/src/libchip/serial/mc68681_baud.c delete mode 100644 c/src/libchip/serial/mc68681_p.h delete mode 100644 c/src/libchip/serial/mc68681_reg.c delete mode 100644 c/src/libchip/serial/mc68681_reg2.c delete mode 100644 c/src/libchip/serial/mc68681_reg4.c delete mode 100644 c/src/libchip/serial/mc68681_reg8.c delete mode 100644 c/src/libchip/serial/ns16550.c delete mode 100644 c/src/libchip/serial/ns16550.h delete mode 100644 c/src/libchip/serial/ns16550_p.h delete mode 100644 c/src/libchip/serial/serial.h delete mode 100644 c/src/libchip/serial/serprobe.c delete mode 100644 c/src/libchip/serial/sersupp.h delete mode 100644 c/src/libchip/serial/termios_baud2index.c delete mode 100644 c/src/libchip/serial/termios_baud2num.c delete mode 100644 c/src/libchip/serial/z85c30.c delete mode 100644 c/src/libchip/serial/z85c30.h delete mode 100644 c/src/libchip/serial/z85c30_p.h delete mode 100644 c/src/libchip/serial/z85c30_reg.c delete mode 100644 c/src/libchip/shmdr/README delete mode 100644 c/src/libchip/shmdr/addlq.c delete mode 100644 c/src/libchip/shmdr/cnvpkt.c delete mode 100644 c/src/libchip/shmdr/dump.c delete mode 100644 c/src/libchip/shmdr/fatal.c delete mode 100644 c/src/libchip/shmdr/getlq.c delete mode 100644 c/src/libchip/shmdr/getpkt.c delete mode 100644 c/src/libchip/shmdr/init.c delete mode 100644 c/src/libchip/shmdr/initlq.c delete mode 100644 c/src/libchip/shmdr/intr.c delete mode 100644 c/src/libchip/shmdr/mpci.h delete mode 100644 c/src/libchip/shmdr/mpisr.c delete mode 100644 c/src/libchip/shmdr/poll.c delete mode 100644 c/src/libchip/shmdr/receive.c delete mode 100644 c/src/libchip/shmdr/retpkt.c delete mode 100644 c/src/libchip/shmdr/send.c delete mode 100644 c/src/libchip/shmdr/setckvec.c delete mode 100644 c/src/libchip/shmdr/shm_driver.h delete mode 100644 c/src/libmisc/README delete mode 100644 c/src/libmisc/assoc/Makefile.in delete mode 100644 c/src/libmisc/assoc/assoc.c delete mode 100644 c/src/libmisc/assoc/assoc.h delete mode 100644 c/src/libmisc/cpuuse/Makefile.in delete mode 100644 c/src/libmisc/cpuuse/README delete mode 100644 c/src/libmisc/cpuuse/cpuuse.c delete mode 100644 c/src/libmisc/cpuuse/cpuuse.h delete mode 100644 c/src/libmisc/cpuuse/internal.h delete mode 100644 c/src/libmisc/error/Makefile.in delete mode 100644 c/src/libmisc/error/error.c delete mode 100644 c/src/libmisc/error/error.h delete mode 100644 c/src/libmisc/monitor/Makefile.in delete mode 100644 c/src/libmisc/monitor/README delete mode 100644 c/src/libmisc/monitor/mon-command.c delete mode 100644 c/src/libmisc/monitor/mon-config.c delete mode 100644 c/src/libmisc/monitor/mon-dname.c delete mode 100644 c/src/libmisc/monitor/mon-driver.c delete mode 100644 c/src/libmisc/monitor/mon-extension.c delete mode 100644 c/src/libmisc/monitor/mon-itask.c delete mode 100644 c/src/libmisc/monitor/mon-manager.c delete mode 100644 c/src/libmisc/monitor/mon-monitor.c delete mode 100644 c/src/libmisc/monitor/mon-mpci.c delete mode 100644 c/src/libmisc/monitor/mon-object.c delete mode 100644 c/src/libmisc/monitor/mon-prmisc.c delete mode 100644 c/src/libmisc/monitor/mon-queue.c delete mode 100644 c/src/libmisc/monitor/mon-server.c delete mode 100644 c/src/libmisc/monitor/mon-symbols.c delete mode 100644 c/src/libmisc/monitor/mon-task.c delete mode 100644 c/src/libmisc/monitor/monitor.h delete mode 100644 c/src/libmisc/monitor/symbols.h delete mode 100644 c/src/libmisc/rtmonuse/Makefile.in delete mode 100644 c/src/libmisc/rtmonuse/rtmonuse.c delete mode 100644 c/src/libmisc/rtmonuse/rtmonuse.h delete mode 100644 c/src/libmisc/stackchk/Makefile.in delete mode 100644 c/src/libmisc/stackchk/README delete mode 100644 c/src/libmisc/stackchk/check.c delete mode 100644 c/src/libmisc/stackchk/internal.h delete mode 100644 c/src/libmisc/stackchk/stackchk.h delete mode 100644 c/src/libmisc/wrapup/Makefile.in delete mode 100644 c/src/libnetworking/CHANGELOG delete mode 100644 c/src/libnetworking/Makefile.in delete mode 100644 c/src/libnetworking/README delete mode 100644 c/src/libnetworking/arpa/ftp.h delete mode 100644 c/src/libnetworking/arpa/inet.h delete mode 100644 c/src/libnetworking/arpa/nameser.h delete mode 100644 c/src/libnetworking/arpa/nameser_compat.h delete mode 100644 c/src/libnetworking/arpa/telnet.h delete mode 100644 c/src/libnetworking/bpfilter.h delete mode 100644 c/src/libnetworking/include/Makefile.in delete mode 100644 c/src/libnetworking/kern/Makefile.in delete mode 100644 c/src/libnetworking/kern/kern_subr.c delete mode 100644 c/src/libnetworking/kern/uipc_domain.c delete mode 100644 c/src/libnetworking/kern/uipc_mbuf.c delete mode 100644 c/src/libnetworking/kern/uipc_socket.c delete mode 100644 c/src/libnetworking/kern/uipc_socket2.c delete mode 100644 c/src/libnetworking/lib/Makefile.in delete mode 100644 c/src/libnetworking/lib/README delete mode 100644 c/src/libnetworking/lib/getprotoby.c delete mode 100644 c/src/libnetworking/lib/syslog.c delete mode 100644 c/src/libnetworking/lib/tftpDriver.c delete mode 100644 c/src/libnetworking/libc/Makefile.in delete mode 100644 c/src/libnetworking/libc/addr2ascii.3 delete mode 100644 c/src/libnetworking/libc/addr2ascii.c delete mode 100644 c/src/libnetworking/libc/ascii2addr.c delete mode 100644 c/src/libnetworking/libc/base64.c delete mode 100644 c/src/libnetworking/libc/byteorder.3 delete mode 100644 c/src/libnetworking/libc/ether_addr.c delete mode 100644 c/src/libnetworking/libc/ethers.3 delete mode 100644 c/src/libnetworking/libc/gethostbydns.c delete mode 100644 c/src/libnetworking/libc/gethostbyht.c delete mode 100644 c/src/libnetworking/libc/gethostbyname.3 delete mode 100644 c/src/libnetworking/libc/gethostbynis.c delete mode 100644 c/src/libnetworking/libc/gethostnamadr.c delete mode 100644 c/src/libnetworking/libc/gethostname.c delete mode 100644 c/src/libnetworking/libc/getnetbydns.c delete mode 100644 c/src/libnetworking/libc/getnetbyht.c delete mode 100644 c/src/libnetworking/libc/getnetbynis.c delete mode 100644 c/src/libnetworking/libc/getnetent.3 delete mode 100644 c/src/libnetworking/libc/getnetnamadr.c delete mode 100644 c/src/libnetworking/libc/getproto.c delete mode 100644 c/src/libnetworking/libc/getprotoent.3 delete mode 100644 c/src/libnetworking/libc/getprotoent.c delete mode 100644 c/src/libnetworking/libc/getprotoname.c delete mode 100644 c/src/libnetworking/libc/getservbyname.c delete mode 100644 c/src/libnetworking/libc/getservbyport.c delete mode 100644 c/src/libnetworking/libc/getservent.3 delete mode 100644 c/src/libnetworking/libc/getservent.c delete mode 100644 c/src/libnetworking/libc/herror.c delete mode 100644 c/src/libnetworking/libc/inet.3 delete mode 100644 c/src/libnetworking/libc/inet_addr.c delete mode 100644 c/src/libnetworking/libc/inet_lnaof.c delete mode 100644 c/src/libnetworking/libc/inet_makeaddr.c delete mode 100644 c/src/libnetworking/libc/inet_net_ntop.c delete mode 100644 c/src/libnetworking/libc/inet_net_pton.c delete mode 100644 c/src/libnetworking/libc/inet_neta.c delete mode 100644 c/src/libnetworking/libc/inet_netof.c delete mode 100644 c/src/libnetworking/libc/inet_network.c delete mode 100644 c/src/libnetworking/libc/inet_ntoa.c delete mode 100644 c/src/libnetworking/libc/inet_ntop.c delete mode 100644 c/src/libnetworking/libc/inet_pton.c delete mode 100644 c/src/libnetworking/libc/iso_addr.3 delete mode 100644 c/src/libnetworking/libc/iso_addr.c delete mode 100644 c/src/libnetworking/libc/linkaddr.3 delete mode 100644 c/src/libnetworking/libc/linkaddr.c delete mode 100644 c/src/libnetworking/libc/map_v4v6.c delete mode 100644 c/src/libnetworking/libc/ns.3 delete mode 100644 c/src/libnetworking/libc/ns_addr.c delete mode 100644 c/src/libnetworking/libc/ns_name.c delete mode 100644 c/src/libnetworking/libc/ns_netint.c delete mode 100644 c/src/libnetworking/libc/ns_ntoa.c delete mode 100644 c/src/libnetworking/libc/ns_parse.c delete mode 100644 c/src/libnetworking/libc/ns_print.c delete mode 100644 c/src/libnetworking/libc/ns_ttl.c delete mode 100644 c/src/libnetworking/libc/nsap_addr.c delete mode 100644 c/src/libnetworking/libc/rcmd.3 delete mode 100644 c/src/libnetworking/libc/rcmd.c delete mode 100644 c/src/libnetworking/libc/recv.c delete mode 100644 c/src/libnetworking/libc/res_comp.c delete mode 100644 c/src/libnetworking/libc/res_config.h delete mode 100644 c/src/libnetworking/libc/res_data.c delete mode 100644 c/src/libnetworking/libc/res_debug.c delete mode 100644 c/src/libnetworking/libc/res_init.c delete mode 100644 c/src/libnetworking/libc/res_mkquery.c delete mode 100644 c/src/libnetworking/libc/res_mkupdate.c delete mode 100644 c/src/libnetworking/libc/res_query.c delete mode 100644 c/src/libnetworking/libc/res_send.c delete mode 100644 c/src/libnetworking/libc/res_stubs.c delete mode 100644 c/src/libnetworking/libc/res_update.c delete mode 100644 c/src/libnetworking/libc/resolver.3 delete mode 100644 c/src/libnetworking/libc/send.c delete mode 100644 c/src/libnetworking/libc/strsep.c delete mode 100644 c/src/libnetworking/loop.h delete mode 100644 c/src/libnetworking/machine/conf.h delete mode 100644 c/src/libnetworking/machine/cpu.h delete mode 100644 c/src/libnetworking/machine/cpufunc.h delete mode 100644 c/src/libnetworking/machine/endian.h delete mode 100644 c/src/libnetworking/machine/in_cksum.h delete mode 100644 c/src/libnetworking/machine/limits.h delete mode 100644 c/src/libnetworking/machine/param.h delete mode 100644 c/src/libnetworking/machine/types.h delete mode 100644 c/src/libnetworking/machine/vmparam.h delete mode 100644 c/src/libnetworking/net/Makefile.in delete mode 100644 c/src/libnetworking/net/bpf.h delete mode 100644 c/src/libnetworking/net/ethernet.h delete mode 100644 c/src/libnetworking/net/if.c delete mode 100644 c/src/libnetworking/net/if.h delete mode 100644 c/src/libnetworking/net/if_arp.h delete mode 100644 c/src/libnetworking/net/if_dl.h delete mode 100644 c/src/libnetworking/net/if_ethersubr.c delete mode 100644 c/src/libnetworking/net/if_llc.h delete mode 100644 c/src/libnetworking/net/if_loop.c delete mode 100644 c/src/libnetworking/net/if_types.h delete mode 100644 c/src/libnetworking/net/netisr.h delete mode 100644 c/src/libnetworking/net/radix.c delete mode 100644 c/src/libnetworking/net/radix.h delete mode 100644 c/src/libnetworking/net/raw_cb.c delete mode 100644 c/src/libnetworking/net/raw_cb.h delete mode 100644 c/src/libnetworking/net/raw_usrreq.c delete mode 100644 c/src/libnetworking/net/route.c delete mode 100644 c/src/libnetworking/net/route.h delete mode 100644 c/src/libnetworking/net/rtsock.c delete mode 100644 c/src/libnetworking/netdb.h delete mode 100644 c/src/libnetworking/netinet/Makefile.in delete mode 100644 c/src/libnetworking/netinet/icmp_var.h delete mode 100644 c/src/libnetworking/netinet/if_ether.c delete mode 100644 c/src/libnetworking/netinet/if_ether.h delete mode 100644 c/src/libnetworking/netinet/igmp.c delete mode 100644 c/src/libnetworking/netinet/igmp.h delete mode 100644 c/src/libnetworking/netinet/igmp_var.h delete mode 100644 c/src/libnetworking/netinet/in.c delete mode 100644 c/src/libnetworking/netinet/in.h delete mode 100644 c/src/libnetworking/netinet/in_cksum.c delete mode 100644 c/src/libnetworking/netinet/in_cksum_i386.c delete mode 100644 c/src/libnetworking/netinet/in_cksum_m68k.c delete mode 100644 c/src/libnetworking/netinet/in_pcb.c delete mode 100644 c/src/libnetworking/netinet/in_pcb.h delete mode 100644 c/src/libnetworking/netinet/in_proto.c delete mode 100644 c/src/libnetworking/netinet/in_rmx.c delete mode 100644 c/src/libnetworking/netinet/in_systm.h delete mode 100644 c/src/libnetworking/netinet/in_var.h delete mode 100644 c/src/libnetworking/netinet/ip.h delete mode 100644 c/src/libnetworking/netinet/ip_divert.c delete mode 100644 c/src/libnetworking/netinet/ip_fw.c delete mode 100644 c/src/libnetworking/netinet/ip_fw.h delete mode 100644 c/src/libnetworking/netinet/ip_icmp.c delete mode 100644 c/src/libnetworking/netinet/ip_icmp.h delete mode 100644 c/src/libnetworking/netinet/ip_input.c delete mode 100644 c/src/libnetworking/netinet/ip_mroute.c delete mode 100644 c/src/libnetworking/netinet/ip_mroute.h delete mode 100644 c/src/libnetworking/netinet/ip_output.c delete mode 100644 c/src/libnetworking/netinet/ip_var.h delete mode 100644 c/src/libnetworking/netinet/raw_ip.c delete mode 100644 c/src/libnetworking/netinet/tcp.h delete mode 100644 c/src/libnetworking/netinet/tcp_debug.c delete mode 100644 c/src/libnetworking/netinet/tcp_debug.h delete mode 100644 c/src/libnetworking/netinet/tcp_fsm.h delete mode 100644 c/src/libnetworking/netinet/tcp_input.c delete mode 100644 c/src/libnetworking/netinet/tcp_output.c delete mode 100644 c/src/libnetworking/netinet/tcp_seq.h delete mode 100644 c/src/libnetworking/netinet/tcp_subr.c delete mode 100644 c/src/libnetworking/netinet/tcp_timer.c delete mode 100644 c/src/libnetworking/netinet/tcp_timer.h delete mode 100644 c/src/libnetworking/netinet/tcp_usrreq.c delete mode 100644 c/src/libnetworking/netinet/tcp_var.h delete mode 100644 c/src/libnetworking/netinet/tcpip.h delete mode 100644 c/src/libnetworking/netinet/udp.h delete mode 100644 c/src/libnetworking/netinet/udp_usrreq.c delete mode 100644 c/src/libnetworking/netinet/udp_var.h delete mode 100644 c/src/libnetworking/nfs/Makefile.in delete mode 100644 c/src/libnetworking/nfs/bootp_subr.c delete mode 100644 c/src/libnetworking/nfs/krpc.h delete mode 100644 c/src/libnetworking/nfs/nfs.h delete mode 100644 c/src/libnetworking/nfs/nfsdiskless.h delete mode 100644 c/src/libnetworking/nfs/nfsproto.h delete mode 100644 c/src/libnetworking/nfs/rpcv2.h delete mode 100644 c/src/libnetworking/nfs/xdr_subs.h delete mode 100644 c/src/libnetworking/opt_ipfw.h delete mode 100644 c/src/libnetworking/opt_mrouting.h delete mode 100644 c/src/libnetworking/opt_tcpdebug.h delete mode 100644 c/src/libnetworking/poll.h delete mode 100644 c/src/libnetworking/resolv.h delete mode 100644 c/src/libnetworking/rtems/Makefile.in delete mode 100644 c/src/libnetworking/rtems/issetugid.c delete mode 100644 c/src/libnetworking/rtems/rtems_bootp.c delete mode 100644 c/src/libnetworking/rtems/rtems_bsdnet.h delete mode 100644 c/src/libnetworking/rtems/rtems_bsdnet_internal.h delete mode 100644 c/src/libnetworking/rtems/rtems_glue.c delete mode 100644 c/src/libnetworking/rtems/rtems_showicmpstat.c delete mode 100644 c/src/libnetworking/rtems/rtems_showifstat.c delete mode 100644 c/src/libnetworking/rtems/rtems_showipstat.c delete mode 100644 c/src/libnetworking/rtems/rtems_showmbuf.c delete mode 100644 c/src/libnetworking/rtems/rtems_showroute.c delete mode 100644 c/src/libnetworking/rtems/rtems_showtcpstat.c delete mode 100644 c/src/libnetworking/rtems/rtems_showudpstat.c delete mode 100644 c/src/libnetworking/rtems/rtems_syscall.c delete mode 100644 c/src/libnetworking/rtems/sghostname.c delete mode 100644 c/src/libnetworking/rtems/tftp.h delete mode 100644 c/src/libnetworking/sys/buf.h delete mode 100644 c/src/libnetworking/sys/callout.h delete mode 100644 c/src/libnetworking/sys/cdefs.h delete mode 100644 c/src/libnetworking/sys/conf.h delete mode 100644 c/src/libnetworking/sys/domain.h delete mode 100644 c/src/libnetworking/sys/filio.h delete mode 100644 c/src/libnetworking/sys/ioccom.h delete mode 100644 c/src/libnetworking/sys/ioctl.h delete mode 100644 c/src/libnetworking/sys/kernel.h delete mode 100644 c/src/libnetworking/sys/libkern.h delete mode 100644 c/src/libnetworking/sys/malloc.h delete mode 100644 c/src/libnetworking/sys/mbuf.h delete mode 100644 c/src/libnetworking/sys/mount.h delete mode 100644 c/src/libnetworking/sys/param.h delete mode 100644 c/src/libnetworking/sys/proc.h delete mode 100644 c/src/libnetworking/sys/protosw.h delete mode 100644 c/src/libnetworking/sys/queue.h delete mode 100644 c/src/libnetworking/sys/reboot.h delete mode 100644 c/src/libnetworking/sys/resourcevar.h delete mode 100644 c/src/libnetworking/sys/rtprio.h delete mode 100644 c/src/libnetworking/sys/select.h delete mode 100644 c/src/libnetworking/sys/signalvar.h delete mode 100644 c/src/libnetworking/sys/socket.h delete mode 100644 c/src/libnetworking/sys/socketvar.h delete mode 100644 c/src/libnetworking/sys/sockio.h delete mode 100644 c/src/libnetworking/sys/sysctl.h delete mode 100644 c/src/libnetworking/sys/syslimits.h delete mode 100644 c/src/libnetworking/sys/syslog.h delete mode 100644 c/src/libnetworking/sys/systm.h delete mode 100644 c/src/libnetworking/sys/ttycom.h delete mode 100644 c/src/libnetworking/sys/ttydefaults.h delete mode 100644 c/src/libnetworking/sys/ucred.h delete mode 100644 c/src/libnetworking/sys/uio.h delete mode 100644 c/src/libnetworking/syslog.h delete mode 100644 c/src/libnetworking/vm/vm.h delete mode 100644 c/src/libnetworking/vm/vm_extern.h delete mode 100644 c/src/libnetworking/vm/vm_kern.h delete mode 100644 c/src/libnetworking/vm/vm_param.h delete mode 100644 c/src/libnetworking/wrapup/Makefile.in delete mode 100644 c/src/librtems++/README delete mode 100644 c/src/librtems++/include/rtems++/rtemsEvent.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsInterrupt.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsMessageQueue.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsSemaphore.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsStatusCode.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsTask.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsTaskMode.h delete mode 100644 c/src/librtems++/include/rtems++/rtemsTimer.h delete mode 100644 c/src/librtems++/src/Makefile.in delete mode 100644 c/src/librtems++/src/rtemsEvent.cc delete mode 100644 c/src/librtems++/src/rtemsInterrupt.cc delete mode 100644 c/src/librtems++/src/rtemsMessageQueue.cc delete mode 100644 c/src/librtems++/src/rtemsSemaphore.cc delete mode 100644 c/src/librtems++/src/rtemsStatusCode.cc delete mode 100644 c/src/librtems++/src/rtemsTask.cc delete mode 100644 c/src/librtems++/src/rtemsTimer.cc delete mode 100644 c/src/make/README delete mode 100644 c/src/make/compilers/gcc-target-default.cfg delete mode 100644 c/src/make/directory.cfg delete mode 100644 c/src/make/host.cfg.in delete mode 100644 c/src/make/lib.cfg delete mode 100644 c/src/optman/rtems/no-dpmem.c delete mode 100644 c/src/optman/rtems/no-event.c delete mode 100644 c/src/optman/rtems/no-mp.c delete mode 100644 c/src/optman/rtems/no-msg.c delete mode 100644 c/src/optman/rtems/no-part.c delete mode 100644 c/src/optman/rtems/no-region.c delete mode 100644 c/src/optman/rtems/no-rtmon.c delete mode 100644 c/src/optman/rtems/no-sem.c delete mode 100644 c/src/optman/rtems/no-signal.c delete mode 100644 c/src/optman/rtems/no-timer.c delete mode 100644 c/src/optman/sapi/no-ext.c delete mode 100644 c/src/optman/sapi/no-io.c delete mode 100644 c/src/tests/psxtests/include/pmacros.h delete mode 100644 c/src/wrapup/Makefile.in delete mode 100644 cpukit/ada/rtems.adb delete mode 100644 cpukit/ada/rtems.ads delete mode 100644 cpukit/libcsupport/include/chain.h delete mode 100644 cpukit/libcsupport/include/clockdrv.h delete mode 100644 cpukit/libcsupport/include/console.h delete mode 100644 cpukit/libcsupport/include/iosupp.h delete mode 100644 cpukit/libcsupport/include/motorola/mc68230.h delete mode 100644 cpukit/libcsupport/include/motorola/mc68681.h delete mode 100644 cpukit/libcsupport/include/ringbuf.h delete mode 100644 cpukit/libcsupport/include/rtems/assoc.h delete mode 100644 cpukit/libcsupport/include/rtems/error.h delete mode 100644 cpukit/libcsupport/include/rtems/libcsupport.h delete mode 100644 cpukit/libcsupport/include/rtems/libio.h delete mode 100644 cpukit/libcsupport/include/spurious.h delete mode 100644 cpukit/libcsupport/include/sys/filio.h delete mode 100644 cpukit/libcsupport/include/sys/ioctl.h delete mode 100644 cpukit/libcsupport/include/sys/sockio.h delete mode 100644 cpukit/libcsupport/include/sys/termios.h delete mode 100644 cpukit/libcsupport/include/sys/utsname.h delete mode 100644 cpukit/libcsupport/include/timerdrv.h delete mode 100644 cpukit/libcsupport/include/vmeintr.h delete mode 100644 cpukit/libcsupport/include/zilog/z8036.h delete mode 100644 cpukit/libcsupport/include/zilog/z8530.h delete mode 100644 cpukit/libcsupport/include/zilog/z8536.h delete mode 100644 cpukit/libcsupport/src/README delete mode 100644 cpukit/libcsupport/src/__brk.c delete mode 100644 cpukit/libcsupport/src/__gettod.c delete mode 100644 cpukit/libcsupport/src/__times.c delete mode 100644 cpukit/libcsupport/src/assoc.c delete mode 100644 cpukit/libcsupport/src/closedir.c delete mode 100644 cpukit/libcsupport/src/error.c delete mode 100644 cpukit/libcsupport/src/getdents.c delete mode 100644 cpukit/libcsupport/src/hosterr.c delete mode 100644 cpukit/libcsupport/src/libio.c delete mode 100644 cpukit/libcsupport/src/malloc.c delete mode 100644 cpukit/libcsupport/src/newlibc.c delete mode 100644 cpukit/libcsupport/src/no_libc.c delete mode 100644 cpukit/libcsupport/src/opendir.c delete mode 100644 cpukit/libcsupport/src/readdir.c delete mode 100644 cpukit/libcsupport/src/rewinddir.c delete mode 100644 cpukit/libcsupport/src/scandir.c delete mode 100644 cpukit/libcsupport/src/seekdir.c delete mode 100644 cpukit/libcsupport/src/tcdrain.c delete mode 100644 cpukit/libcsupport/src/telldir.c delete mode 100644 cpukit/libcsupport/src/termios.c delete mode 100644 cpukit/libcsupport/src/unixlibc.c delete mode 100644 cpukit/libcsupport/src/utsname.c delete mode 100644 cpukit/libmisc/README delete mode 100644 cpukit/libmisc/cpuuse/README delete mode 100644 cpukit/libmisc/cpuuse/cpuuse.c delete mode 100644 cpukit/libmisc/cpuuse/cpuuse.h delete mode 100644 cpukit/libmisc/monitor/README delete mode 100644 cpukit/libmisc/monitor/mon-command.c delete mode 100644 cpukit/libmisc/monitor/mon-config.c delete mode 100644 cpukit/libmisc/monitor/mon-dname.c delete mode 100644 cpukit/libmisc/monitor/mon-driver.c delete mode 100644 cpukit/libmisc/monitor/mon-extension.c delete mode 100644 cpukit/libmisc/monitor/mon-itask.c delete mode 100644 cpukit/libmisc/monitor/mon-manager.c delete mode 100644 cpukit/libmisc/monitor/mon-monitor.c delete mode 100644 cpukit/libmisc/monitor/mon-mpci.c delete mode 100644 cpukit/libmisc/monitor/mon-object.c delete mode 100644 cpukit/libmisc/monitor/mon-prmisc.c delete mode 100644 cpukit/libmisc/monitor/mon-queue.c delete mode 100644 cpukit/libmisc/monitor/mon-server.c delete mode 100644 cpukit/libmisc/monitor/mon-symbols.c delete mode 100644 cpukit/libmisc/monitor/mon-task.c delete mode 100644 cpukit/libmisc/monitor/monitor.h delete mode 100644 cpukit/libmisc/monitor/symbols.h delete mode 100644 cpukit/libmisc/rtmonuse/rtmonuse.c delete mode 100644 cpukit/libmisc/rtmonuse/rtmonuse.h delete mode 100644 cpukit/libmisc/stackchk/README delete mode 100644 cpukit/libmisc/stackchk/check.c delete mode 100644 cpukit/libmisc/stackchk/internal.h delete mode 100644 cpukit/libmisc/stackchk/stackchk.h delete mode 100644 cpukit/libnetworking/README delete mode 100644 cpukit/libnetworking/arpa/ftp.h delete mode 100644 cpukit/libnetworking/arpa/inet.h delete mode 100644 cpukit/libnetworking/arpa/nameser.h delete mode 100644 cpukit/libnetworking/arpa/nameser_compat.h delete mode 100644 cpukit/libnetworking/arpa/telnet.h delete mode 100644 cpukit/libnetworking/bpfilter.h delete mode 100644 cpukit/libnetworking/kern/kern_subr.c delete mode 100644 cpukit/libnetworking/kern/uipc_domain.c delete mode 100644 cpukit/libnetworking/kern/uipc_mbuf.c delete mode 100644 cpukit/libnetworking/kern/uipc_socket.c delete mode 100644 cpukit/libnetworking/kern/uipc_socket2.c delete mode 100644 cpukit/libnetworking/lib/README delete mode 100644 cpukit/libnetworking/lib/getprotoby.c delete mode 100644 cpukit/libnetworking/lib/syslog.c delete mode 100644 cpukit/libnetworking/lib/tftpDriver.c delete mode 100644 cpukit/libnetworking/libc/addr2ascii.3 delete mode 100644 cpukit/libnetworking/libc/addr2ascii.c delete mode 100644 cpukit/libnetworking/libc/ascii2addr.c delete mode 100644 cpukit/libnetworking/libc/base64.c delete mode 100644 cpukit/libnetworking/libc/byteorder.3 delete mode 100644 cpukit/libnetworking/libc/ether_addr.c delete mode 100644 cpukit/libnetworking/libc/ethers.3 delete mode 100644 cpukit/libnetworking/libc/gethostbydns.c delete mode 100644 cpukit/libnetworking/libc/gethostbyht.c delete mode 100644 cpukit/libnetworking/libc/gethostbyname.3 delete mode 100644 cpukit/libnetworking/libc/gethostbynis.c delete mode 100644 cpukit/libnetworking/libc/gethostnamadr.c delete mode 100644 cpukit/libnetworking/libc/gethostname.c delete mode 100644 cpukit/libnetworking/libc/getnetbydns.c delete mode 100644 cpukit/libnetworking/libc/getnetbyht.c delete mode 100644 cpukit/libnetworking/libc/getnetbynis.c delete mode 100644 cpukit/libnetworking/libc/getnetent.3 delete mode 100644 cpukit/libnetworking/libc/getnetnamadr.c delete mode 100644 cpukit/libnetworking/libc/getproto.c delete mode 100644 cpukit/libnetworking/libc/getprotoent.3 delete mode 100644 cpukit/libnetworking/libc/getprotoent.c delete mode 100644 cpukit/libnetworking/libc/getprotoname.c delete mode 100644 cpukit/libnetworking/libc/getservbyname.c delete mode 100644 cpukit/libnetworking/libc/getservbyport.c delete mode 100644 cpukit/libnetworking/libc/getservent.3 delete mode 100644 cpukit/libnetworking/libc/getservent.c delete mode 100644 cpukit/libnetworking/libc/herror.c delete mode 100644 cpukit/libnetworking/libc/inet.3 delete mode 100644 cpukit/libnetworking/libc/inet_addr.c delete mode 100644 cpukit/libnetworking/libc/inet_lnaof.c delete mode 100644 cpukit/libnetworking/libc/inet_makeaddr.c delete mode 100644 cpukit/libnetworking/libc/inet_net_ntop.c delete mode 100644 cpukit/libnetworking/libc/inet_net_pton.c delete mode 100644 cpukit/libnetworking/libc/inet_neta.c delete mode 100644 cpukit/libnetworking/libc/inet_netof.c delete mode 100644 cpukit/libnetworking/libc/inet_network.c delete mode 100644 cpukit/libnetworking/libc/inet_ntoa.c delete mode 100644 cpukit/libnetworking/libc/inet_ntop.c delete mode 100644 cpukit/libnetworking/libc/inet_pton.c delete mode 100644 cpukit/libnetworking/libc/iso_addr.3 delete mode 100644 cpukit/libnetworking/libc/iso_addr.c delete mode 100644 cpukit/libnetworking/libc/linkaddr.3 delete mode 100644 cpukit/libnetworking/libc/linkaddr.c delete mode 100644 cpukit/libnetworking/libc/map_v4v6.c delete mode 100644 cpukit/libnetworking/libc/ns.3 delete mode 100644 cpukit/libnetworking/libc/ns_addr.c delete mode 100644 cpukit/libnetworking/libc/ns_name.c delete mode 100644 cpukit/libnetworking/libc/ns_netint.c delete mode 100644 cpukit/libnetworking/libc/ns_ntoa.c delete mode 100644 cpukit/libnetworking/libc/ns_parse.c delete mode 100644 cpukit/libnetworking/libc/ns_print.c delete mode 100644 cpukit/libnetworking/libc/ns_ttl.c delete mode 100644 cpukit/libnetworking/libc/nsap_addr.c delete mode 100644 cpukit/libnetworking/libc/rcmd.3 delete mode 100644 cpukit/libnetworking/libc/rcmd.c delete mode 100644 cpukit/libnetworking/libc/recv.c delete mode 100644 cpukit/libnetworking/libc/res_comp.c delete mode 100644 cpukit/libnetworking/libc/res_config.h delete mode 100644 cpukit/libnetworking/libc/res_data.c delete mode 100644 cpukit/libnetworking/libc/res_debug.c delete mode 100644 cpukit/libnetworking/libc/res_init.c delete mode 100644 cpukit/libnetworking/libc/res_mkquery.c delete mode 100644 cpukit/libnetworking/libc/res_mkupdate.c delete mode 100644 cpukit/libnetworking/libc/res_query.c delete mode 100644 cpukit/libnetworking/libc/res_send.c delete mode 100644 cpukit/libnetworking/libc/res_stubs.c delete mode 100644 cpukit/libnetworking/libc/res_update.c delete mode 100644 cpukit/libnetworking/libc/resolver.3 delete mode 100644 cpukit/libnetworking/libc/send.c delete mode 100644 cpukit/libnetworking/libc/strsep.c delete mode 100644 cpukit/libnetworking/loop.h delete mode 100644 cpukit/libnetworking/machine/conf.h delete mode 100644 cpukit/libnetworking/machine/cpu.h delete mode 100644 cpukit/libnetworking/machine/cpufunc.h delete mode 100644 cpukit/libnetworking/machine/endian.h delete mode 100644 cpukit/libnetworking/machine/in_cksum.h delete mode 100644 cpukit/libnetworking/machine/limits.h delete mode 100644 cpukit/libnetworking/machine/param.h delete mode 100644 cpukit/libnetworking/machine/types.h delete mode 100644 cpukit/libnetworking/machine/vmparam.h delete mode 100644 cpukit/libnetworking/net/bpf.h delete mode 100644 cpukit/libnetworking/net/ethernet.h delete mode 100644 cpukit/libnetworking/net/if.c delete mode 100644 cpukit/libnetworking/net/if.h delete mode 100644 cpukit/libnetworking/net/if_arp.h delete mode 100644 cpukit/libnetworking/net/if_dl.h delete mode 100644 cpukit/libnetworking/net/if_ethersubr.c delete mode 100644 cpukit/libnetworking/net/if_llc.h delete mode 100644 cpukit/libnetworking/net/if_loop.c delete mode 100644 cpukit/libnetworking/net/if_types.h delete mode 100644 cpukit/libnetworking/net/netisr.h delete mode 100644 cpukit/libnetworking/net/radix.c delete mode 100644 cpukit/libnetworking/net/radix.h delete mode 100644 cpukit/libnetworking/net/raw_cb.c delete mode 100644 cpukit/libnetworking/net/raw_cb.h delete mode 100644 cpukit/libnetworking/net/raw_usrreq.c delete mode 100644 cpukit/libnetworking/net/route.c delete mode 100644 cpukit/libnetworking/net/route.h delete mode 100644 cpukit/libnetworking/net/rtsock.c delete mode 100644 cpukit/libnetworking/netdb.h delete mode 100644 cpukit/libnetworking/netinet/icmp_var.h delete mode 100644 cpukit/libnetworking/netinet/if_ether.c delete mode 100644 cpukit/libnetworking/netinet/if_ether.h delete mode 100644 cpukit/libnetworking/netinet/igmp.c delete mode 100644 cpukit/libnetworking/netinet/igmp.h delete mode 100644 cpukit/libnetworking/netinet/igmp_var.h delete mode 100644 cpukit/libnetworking/netinet/in.c delete mode 100644 cpukit/libnetworking/netinet/in.h delete mode 100644 cpukit/libnetworking/netinet/in_cksum.c delete mode 100644 cpukit/libnetworking/netinet/in_cksum_i386.c delete mode 100644 cpukit/libnetworking/netinet/in_cksum_i386.h delete mode 100644 cpukit/libnetworking/netinet/in_cksum_m68k.c delete mode 100644 cpukit/libnetworking/netinet/in_cksum_m68k.h delete mode 100644 cpukit/libnetworking/netinet/in_pcb.c delete mode 100644 cpukit/libnetworking/netinet/in_pcb.h delete mode 100644 cpukit/libnetworking/netinet/in_proto.c delete mode 100644 cpukit/libnetworking/netinet/in_rmx.c delete mode 100644 cpukit/libnetworking/netinet/in_systm.h delete mode 100644 cpukit/libnetworking/netinet/in_var.h delete mode 100644 cpukit/libnetworking/netinet/ip.h delete mode 100644 cpukit/libnetworking/netinet/ip_divert.c delete mode 100644 cpukit/libnetworking/netinet/ip_fw.c delete mode 100644 cpukit/libnetworking/netinet/ip_fw.h delete mode 100644 cpukit/libnetworking/netinet/ip_icmp.c delete mode 100644 cpukit/libnetworking/netinet/ip_icmp.h delete mode 100644 cpukit/libnetworking/netinet/ip_input.c delete mode 100644 cpukit/libnetworking/netinet/ip_mroute.c delete mode 100644 cpukit/libnetworking/netinet/ip_mroute.h delete mode 100644 cpukit/libnetworking/netinet/ip_output.c delete mode 100644 cpukit/libnetworking/netinet/ip_var.h delete mode 100644 cpukit/libnetworking/netinet/raw_ip.c delete mode 100644 cpukit/libnetworking/netinet/tcp.h delete mode 100644 cpukit/libnetworking/netinet/tcp_debug.c delete mode 100644 cpukit/libnetworking/netinet/tcp_debug.h delete mode 100644 cpukit/libnetworking/netinet/tcp_fsm.h delete mode 100644 cpukit/libnetworking/netinet/tcp_input.c delete mode 100644 cpukit/libnetworking/netinet/tcp_output.c delete mode 100644 cpukit/libnetworking/netinet/tcp_seq.h delete mode 100644 cpukit/libnetworking/netinet/tcp_subr.c delete mode 100644 cpukit/libnetworking/netinet/tcp_timer.c delete mode 100644 cpukit/libnetworking/netinet/tcp_timer.h delete mode 100644 cpukit/libnetworking/netinet/tcp_usrreq.c delete mode 100644 cpukit/libnetworking/netinet/tcp_var.h delete mode 100644 cpukit/libnetworking/netinet/tcpip.h delete mode 100644 cpukit/libnetworking/netinet/udp.h delete mode 100644 cpukit/libnetworking/netinet/udp_usrreq.c delete mode 100644 cpukit/libnetworking/netinet/udp_var.h delete mode 100644 cpukit/libnetworking/nfs/bootp_subr.c delete mode 100644 cpukit/libnetworking/nfs/krpc.h delete mode 100644 cpukit/libnetworking/nfs/nfs.h delete mode 100644 cpukit/libnetworking/nfs/nfsdiskless.h delete mode 100644 cpukit/libnetworking/nfs/nfsproto.h delete mode 100644 cpukit/libnetworking/nfs/rpcv2.h delete mode 100644 cpukit/libnetworking/nfs/xdr_subs.h delete mode 100644 cpukit/libnetworking/opt_ipfw.h delete mode 100644 cpukit/libnetworking/opt_mrouting.h delete mode 100644 cpukit/libnetworking/opt_tcpdebug.h delete mode 100644 cpukit/libnetworking/poll.h delete mode 100644 cpukit/libnetworking/resolv.h delete mode 100644 cpukit/libnetworking/rtems/issetugid.c delete mode 100644 cpukit/libnetworking/rtems/rtems_bootp.c delete mode 100644 cpukit/libnetworking/rtems/rtems_bsdnet.h delete mode 100644 cpukit/libnetworking/rtems/rtems_bsdnet_internal.h delete mode 100644 cpukit/libnetworking/rtems/rtems_glue.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showicmpstat.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showifstat.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showipstat.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showmbuf.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showroute.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showtcpstat.c delete mode 100644 cpukit/libnetworking/rtems/rtems_showudpstat.c delete mode 100644 cpukit/libnetworking/rtems/rtems_syscall.c delete mode 100644 cpukit/libnetworking/rtems/sghostname.c delete mode 100644 cpukit/libnetworking/rtems/tftp.h delete mode 100644 cpukit/libnetworking/sys/buf.h delete mode 100644 cpukit/libnetworking/sys/callout.h delete mode 100644 cpukit/libnetworking/sys/conf.h delete mode 100644 cpukit/libnetworking/sys/domain.h delete mode 100644 cpukit/libnetworking/sys/kernel.h delete mode 100644 cpukit/libnetworking/sys/libkern.h delete mode 100644 cpukit/libnetworking/sys/malloc.h delete mode 100644 cpukit/libnetworking/sys/mbuf.h delete mode 100644 cpukit/libnetworking/sys/mount.h delete mode 100644 cpukit/libnetworking/sys/param.h delete mode 100644 cpukit/libnetworking/sys/proc.h delete mode 100644 cpukit/libnetworking/sys/protosw.h delete mode 100644 cpukit/libnetworking/sys/queue.h delete mode 100644 cpukit/libnetworking/sys/reboot.h delete mode 100644 cpukit/libnetworking/sys/resourcevar.h delete mode 100644 cpukit/libnetworking/sys/rtprio.h delete mode 100644 cpukit/libnetworking/sys/select.h delete mode 100644 cpukit/libnetworking/sys/signalvar.h delete mode 100644 cpukit/libnetworking/sys/socket.h delete mode 100644 cpukit/libnetworking/sys/socketvar.h delete mode 100644 cpukit/libnetworking/sys/sysctl.h delete mode 100644 cpukit/libnetworking/sys/syslimits.h delete mode 100644 cpukit/libnetworking/sys/syslog.h delete mode 100644 cpukit/libnetworking/sys/systm.h delete mode 100644 cpukit/libnetworking/sys/ttydefaults.h delete mode 100644 cpukit/libnetworking/sys/ucred.h delete mode 100644 cpukit/libnetworking/sys/uio.h delete mode 100644 cpukit/libnetworking/syslog.h delete mode 100644 cpukit/libnetworking/vm/vm.h delete mode 100644 cpukit/libnetworking/vm/vm_extern.h delete mode 100644 cpukit/libnetworking/vm/vm_kern.h delete mode 100644 cpukit/libnetworking/vm/vm_param.h delete mode 100644 cpukit/posix/include/aio.h delete mode 100644 cpukit/posix/include/devctl.h delete mode 100644 cpukit/posix/include/intr.h delete mode 100644 cpukit/posix/include/mqueue.h delete mode 100644 cpukit/posix/include/rtems/posix/cancel.h delete mode 100644 cpukit/posix/include/rtems/posix/cond.h delete mode 100644 cpukit/posix/include/rtems/posix/condmp.h delete mode 100644 cpukit/posix/include/rtems/posix/config.h delete mode 100644 cpukit/posix/include/rtems/posix/intr.h delete mode 100644 cpukit/posix/include/rtems/posix/key.h delete mode 100644 cpukit/posix/include/rtems/posix/mqueue.h delete mode 100644 cpukit/posix/include/rtems/posix/mqueuemp.h delete mode 100644 cpukit/posix/include/rtems/posix/mutex.h delete mode 100644 cpukit/posix/include/rtems/posix/mutexmp.h delete mode 100644 cpukit/posix/include/rtems/posix/posixapi.h delete mode 100644 cpukit/posix/include/rtems/posix/priority.h delete mode 100644 cpukit/posix/include/rtems/posix/psignal.h delete mode 100644 cpukit/posix/include/rtems/posix/pthread.h delete mode 100644 cpukit/posix/include/rtems/posix/pthreadmp.h delete mode 100644 cpukit/posix/include/rtems/posix/semaphore.h delete mode 100644 cpukit/posix/include/rtems/posix/semaphoremp.h delete mode 100644 cpukit/posix/include/rtems/posix/threadsup.h delete mode 100644 cpukit/posix/include/rtems/posix/time.h delete mode 100644 cpukit/posix/include/sched.h delete mode 100644 cpukit/posix/include/semaphore.h delete mode 100644 cpukit/posix/inline/rtems/posix/cond.inl delete mode 100644 cpukit/posix/inline/rtems/posix/intr.inl delete mode 100644 cpukit/posix/inline/rtems/posix/key.inl delete mode 100644 cpukit/posix/inline/rtems/posix/mqueue.inl delete mode 100644 cpukit/posix/inline/rtems/posix/mutex.inl delete mode 100644 cpukit/posix/inline/rtems/posix/priority.inl delete mode 100644 cpukit/posix/inline/rtems/posix/pthread.inl delete mode 100644 cpukit/posix/inline/rtems/posix/semaphore.inl delete mode 100644 cpukit/posix/src/adasupp.c delete mode 100644 cpukit/posix/src/aio.c delete mode 100644 cpukit/posix/src/cancel.c delete mode 100644 cpukit/posix/src/cond.c delete mode 100644 cpukit/posix/src/devctl.c delete mode 100644 cpukit/posix/src/execl.c delete mode 100644 cpukit/posix/src/execle.c delete mode 100644 cpukit/posix/src/execlp.c delete mode 100644 cpukit/posix/src/execv.c delete mode 100644 cpukit/posix/src/execve.c delete mode 100644 cpukit/posix/src/execvp.c delete mode 100644 cpukit/posix/src/fork.c delete mode 100644 cpukit/posix/src/getpid.c delete mode 100644 cpukit/posix/src/intr.c delete mode 100644 cpukit/posix/src/key.c delete mode 100644 cpukit/posix/src/mqueue.c delete mode 100644 cpukit/posix/src/mutex.c delete mode 100644 cpukit/posix/src/psignal.c delete mode 100644 cpukit/posix/src/pthread.c delete mode 100644 cpukit/posix/src/pthreadatfork.c delete mode 100644 cpukit/posix/src/ptimer.c delete mode 100644 cpukit/posix/src/sched.c delete mode 100644 cpukit/posix/src/semaphore.c delete mode 100644 cpukit/posix/src/time.c delete mode 100644 cpukit/posix/src/types.c delete mode 100644 cpukit/posix/src/wait.c delete mode 100644 cpukit/posix/src/waitpid.c delete mode 100644 cpukit/rtems/include/rtems.h delete mode 100644 cpukit/rtems/include/rtems/rtems/asr.h delete mode 100644 cpukit/rtems/include/rtems/rtems/attr.h delete mode 100644 cpukit/rtems/include/rtems/rtems/clock.h delete mode 100644 cpukit/rtems/include/rtems/rtems/config.h delete mode 100644 cpukit/rtems/include/rtems/rtems/dpmem.h delete mode 100644 cpukit/rtems/include/rtems/rtems/event.h delete mode 100644 cpukit/rtems/include/rtems/rtems/eventmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/eventset.h delete mode 100644 cpukit/rtems/include/rtems/rtems/intr.h delete mode 100644 cpukit/rtems/include/rtems/rtems/message.h delete mode 100644 cpukit/rtems/include/rtems/rtems/modes.h delete mode 100644 cpukit/rtems/include/rtems/rtems/mp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/msgmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/options.h delete mode 100644 cpukit/rtems/include/rtems/rtems/part.h delete mode 100644 cpukit/rtems/include/rtems/rtems/partmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/ratemon.h delete mode 100644 cpukit/rtems/include/rtems/rtems/region.h delete mode 100644 cpukit/rtems/include/rtems/rtems/regionmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/rtemsapi.h delete mode 100644 cpukit/rtems/include/rtems/rtems/sem.h delete mode 100644 cpukit/rtems/include/rtems/rtems/semmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/signal.h delete mode 100644 cpukit/rtems/include/rtems/rtems/signalmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/status.h delete mode 100644 cpukit/rtems/include/rtems/rtems/support.h delete mode 100644 cpukit/rtems/include/rtems/rtems/taskmp.h delete mode 100644 cpukit/rtems/include/rtems/rtems/tasks.h delete mode 100644 cpukit/rtems/include/rtems/rtems/timer.h delete mode 100644 cpukit/rtems/include/rtems/rtems/types.h delete mode 100644 cpukit/rtems/inline/rtems/rtems/asr.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/attr.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/dpmem.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/event.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/eventset.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/message.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/modes.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/options.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/part.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/ratemon.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/region.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/sem.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/status.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/support.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/tasks.inl delete mode 100644 cpukit/rtems/inline/rtems/rtems/timer.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/asr.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/attr.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/dpmem.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/event.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/eventset.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/message.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/modes.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/options.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/part.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/ratemon.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/region.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/sem.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/status.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/support.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/tasks.inl delete mode 100644 cpukit/rtems/macros/rtems/rtems/timer.inl delete mode 100644 cpukit/rtems/src/attr.c delete mode 100644 cpukit/rtems/src/dpmem.c delete mode 100644 cpukit/rtems/src/event.c delete mode 100644 cpukit/rtems/src/eventmp.c delete mode 100644 cpukit/rtems/src/intr.c delete mode 100644 cpukit/rtems/src/intrbody.c delete mode 100644 cpukit/rtems/src/mp.c delete mode 100644 cpukit/rtems/src/msg.c delete mode 100644 cpukit/rtems/src/msgmp.c delete mode 100644 cpukit/rtems/src/part.c delete mode 100644 cpukit/rtems/src/partmp.c delete mode 100644 cpukit/rtems/src/ratemon.c delete mode 100644 cpukit/rtems/src/region.c delete mode 100644 cpukit/rtems/src/regionmp.c delete mode 100644 cpukit/rtems/src/rtclock.c delete mode 100644 cpukit/rtems/src/rtemstimer.c delete mode 100644 cpukit/rtems/src/sem.c delete mode 100644 cpukit/rtems/src/semmp.c delete mode 100644 cpukit/rtems/src/signal.c delete mode 100644 cpukit/rtems/src/signalmp.c delete mode 100644 cpukit/rtems/src/taskmp.c delete mode 100644 cpukit/rtems/src/tasks.c delete mode 100644 cpukit/sapi/include/confdefs.h delete mode 100644 cpukit/sapi/include/rtems/README delete mode 100644 cpukit/sapi/include/rtems/config.h delete mode 100644 cpukit/sapi/include/rtems/extension.h delete mode 100644 cpukit/sapi/include/rtems/fatal.h delete mode 100644 cpukit/sapi/include/rtems/init.h delete mode 100644 cpukit/sapi/include/rtems/io.h delete mode 100644 cpukit/sapi/include/rtems/mptables.h delete mode 100644 cpukit/sapi/inline/rtems/extension.inl delete mode 100644 cpukit/sapi/macros/rtems/extension.inl delete mode 100644 cpukit/sapi/src/debug.c delete mode 100644 cpukit/sapi/src/exinit.c delete mode 100644 cpukit/sapi/src/extension.c delete mode 100644 cpukit/sapi/src/fatal.c delete mode 100644 cpukit/sapi/src/io.c delete mode 100644 cpukit/sapi/src/posixapi.c delete mode 100644 cpukit/sapi/src/rtemsapi.c delete mode 100644 cpukit/score/cpu/a29k/amd.ah delete mode 100644 cpukit/score/cpu/a29k/asm.h delete mode 100644 cpukit/score/cpu/a29k/cpu.c delete mode 100644 cpukit/score/cpu/a29k/pswmacro.ah delete mode 100644 cpukit/score/cpu/a29k/register.ah delete mode 100644 cpukit/score/cpu/hppa1.1/cpu.c delete mode 100644 cpukit/score/cpu/i386/asm.h delete mode 100644 cpukit/score/cpu/i386/cpu.c delete mode 100644 cpukit/score/cpu/i386/rtems/asm.h delete mode 100644 cpukit/score/cpu/i960/asm.h delete mode 100644 cpukit/score/cpu/i960/cpu.c delete mode 100644 cpukit/score/cpu/m68k/asm.h delete mode 100644 cpukit/score/cpu/m68k/cpu.c delete mode 100644 cpukit/score/cpu/m68k/m68302.h delete mode 100644 cpukit/score/cpu/m68k/m68360.h delete mode 100644 cpukit/score/cpu/m68k/memcpy.c delete mode 100644 cpukit/score/cpu/m68k/qsm.h delete mode 100644 cpukit/score/cpu/m68k/rtems/asm.h delete mode 100644 cpukit/score/cpu/m68k/rtems/m68k/m68302.h delete mode 100644 cpukit/score/cpu/m68k/rtems/m68k/m68360.h delete mode 100644 cpukit/score/cpu/m68k/rtems/m68k/qsm.h delete mode 100644 cpukit/score/cpu/m68k/rtems/m68k/sim.h delete mode 100644 cpukit/score/cpu/m68k/sim.h delete mode 100644 cpukit/score/cpu/mips/asm.h delete mode 100644 cpukit/score/cpu/mips/cpu.c delete mode 100644 cpukit/score/cpu/mips/cpu_asm.S delete mode 100644 cpukit/score/cpu/mips/idtcpu.h delete mode 100644 cpukit/score/cpu/mips/iregdef.h delete mode 100644 cpukit/score/cpu/mips/rtems/asm.h delete mode 100644 cpukit/score/cpu/mips/rtems/mips/idtcpu.h delete mode 100644 cpukit/score/cpu/mips/rtems/mips/iregdef.h delete mode 100644 cpukit/score/cpu/mips64orion/asm.h delete mode 100644 cpukit/score/cpu/mips64orion/cpu.c delete mode 100644 cpukit/score/cpu/mips64orion/cpu_asm.S delete mode 100644 cpukit/score/cpu/mips64orion/cpu_asm.h delete mode 100644 cpukit/score/cpu/mips64orion/idtcpu.h delete mode 100644 cpukit/score/cpu/mips64orion/idtmon.h delete mode 100644 cpukit/score/cpu/mips64orion/iregdef.h delete mode 100644 cpukit/score/cpu/no_cpu/asm.h delete mode 100644 cpukit/score/cpu/no_cpu/cpu.c delete mode 100644 cpukit/score/cpu/no_cpu/cpu_asm.c delete mode 100644 cpukit/score/cpu/no_cpu/rtems/asm.h delete mode 100644 cpukit/score/cpu/sh/asm.h delete mode 100644 cpukit/score/cpu/sh/cpu.c delete mode 100644 cpukit/score/cpu/sh/rtems/asm.h delete mode 100644 cpukit/score/cpu/sparc/README delete mode 100644 cpukit/score/cpu/sparc/asm.h delete mode 100644 cpukit/score/cpu/sparc/cpu.c delete mode 100644 cpukit/score/cpu/sparc/rtems/asm.h delete mode 100644 cpukit/score/cpu/unix/cpu.c delete mode 100644 cpukit/score/include/rtems/debug.h delete mode 100644 cpukit/score/include/rtems/score/address.h delete mode 100644 cpukit/score/include/rtems/score/apiext.h delete mode 100644 cpukit/score/include/rtems/score/bitfield.h delete mode 100644 cpukit/score/include/rtems/score/chain.h delete mode 100644 cpukit/score/include/rtems/score/context.h delete mode 100644 cpukit/score/include/rtems/score/copyrt.h delete mode 100644 cpukit/score/include/rtems/score/coremsg.h delete mode 100644 cpukit/score/include/rtems/score/coremutex.h delete mode 100644 cpukit/score/include/rtems/score/coresem.h delete mode 100644 cpukit/score/include/rtems/score/heap.h delete mode 100644 cpukit/score/include/rtems/score/interr.h delete mode 100644 cpukit/score/include/rtems/score/isr.h delete mode 100644 cpukit/score/include/rtems/score/mpci.h delete mode 100644 cpukit/score/include/rtems/score/mppkt.h delete mode 100644 cpukit/score/include/rtems/score/object.h delete mode 100644 cpukit/score/include/rtems/score/objectmp.h delete mode 100644 cpukit/score/include/rtems/score/priority.h delete mode 100644 cpukit/score/include/rtems/score/stack.h delete mode 100644 cpukit/score/include/rtems/score/states.h delete mode 100644 cpukit/score/include/rtems/score/sysstate.h delete mode 100644 cpukit/score/include/rtems/score/thread.h delete mode 100644 cpukit/score/include/rtems/score/threadmp.h delete mode 100644 cpukit/score/include/rtems/score/threadq.h delete mode 100644 cpukit/score/include/rtems/score/tod.h delete mode 100644 cpukit/score/include/rtems/score/tqdata.h delete mode 100644 cpukit/score/include/rtems/score/userext.h delete mode 100644 cpukit/score/include/rtems/score/watchdog.h delete mode 100644 cpukit/score/include/rtems/score/wkspace.h delete mode 100644 cpukit/score/include/rtems/system.h delete mode 100644 cpukit/score/inline/rtems/score/address.inl delete mode 100644 cpukit/score/inline/rtems/score/chain.inl delete mode 100644 cpukit/score/inline/rtems/score/coremsg.inl delete mode 100644 cpukit/score/inline/rtems/score/coremutex.inl delete mode 100644 cpukit/score/inline/rtems/score/coresem.inl delete mode 100644 cpukit/score/inline/rtems/score/heap.inl delete mode 100644 cpukit/score/inline/rtems/score/isr.inl delete mode 100644 cpukit/score/inline/rtems/score/mppkt.inl delete mode 100644 cpukit/score/inline/rtems/score/object.inl delete mode 100644 cpukit/score/inline/rtems/score/objectmp.inl delete mode 100644 cpukit/score/inline/rtems/score/priority.inl delete mode 100644 cpukit/score/inline/rtems/score/stack.inl delete mode 100644 cpukit/score/inline/rtems/score/states.inl delete mode 100644 cpukit/score/inline/rtems/score/sysstate.inl delete mode 100644 cpukit/score/inline/rtems/score/thread.inl delete mode 100644 cpukit/score/inline/rtems/score/threadmp.inl delete mode 100644 cpukit/score/inline/rtems/score/tod.inl delete mode 100644 cpukit/score/inline/rtems/score/tqdata.inl delete mode 100644 cpukit/score/inline/rtems/score/userext.inl delete mode 100644 cpukit/score/inline/rtems/score/watchdog.inl delete mode 100644 cpukit/score/inline/rtems/score/wkspace.inl delete mode 100644 cpukit/score/macros/README delete mode 100644 cpukit/score/macros/rtems/score/README delete mode 100644 cpukit/score/macros/rtems/score/address.inl delete mode 100644 cpukit/score/macros/rtems/score/chain.inl delete mode 100644 cpukit/score/macros/rtems/score/coremsg.inl delete mode 100644 cpukit/score/macros/rtems/score/coremutex.inl delete mode 100644 cpukit/score/macros/rtems/score/coresem.inl delete mode 100644 cpukit/score/macros/rtems/score/heap.inl delete mode 100644 cpukit/score/macros/rtems/score/isr.inl delete mode 100644 cpukit/score/macros/rtems/score/mppkt.inl delete mode 100644 cpukit/score/macros/rtems/score/object.inl delete mode 100644 cpukit/score/macros/rtems/score/objectmp.inl delete mode 100644 cpukit/score/macros/rtems/score/priority.inl delete mode 100644 cpukit/score/macros/rtems/score/stack.inl delete mode 100644 cpukit/score/macros/rtems/score/states.inl delete mode 100644 cpukit/score/macros/rtems/score/sysstate.inl delete mode 100644 cpukit/score/macros/rtems/score/thread.inl delete mode 100644 cpukit/score/macros/rtems/score/threadmp.inl delete mode 100644 cpukit/score/macros/rtems/score/tod.inl delete mode 100644 cpukit/score/macros/rtems/score/tqdata.inl delete mode 100644 cpukit/score/macros/rtems/score/userext.inl delete mode 100644 cpukit/score/macros/rtems/score/watchdog.inl delete mode 100644 cpukit/score/macros/rtems/score/wkspace.inl delete mode 100644 cpukit/score/src/apiext.c delete mode 100644 cpukit/score/src/chain.c delete mode 100644 cpukit/score/src/coremsg.c delete mode 100644 cpukit/score/src/coremutex.c delete mode 100644 cpukit/score/src/coresem.c delete mode 100644 cpukit/score/src/coretod.c delete mode 100644 cpukit/score/src/heap.c delete mode 100644 cpukit/score/src/interr.c delete mode 100644 cpukit/score/src/isr.c delete mode 100644 cpukit/score/src/mpci.c delete mode 100644 cpukit/score/src/object.c delete mode 100644 cpukit/score/src/objectmp.c delete mode 100644 cpukit/score/src/thread.c delete mode 100644 cpukit/score/src/threadmp.c delete mode 100644 cpukit/score/src/threadq.c delete mode 100644 cpukit/score/src/userext.c delete mode 100644 cpukit/score/src/watchdog.c delete mode 100644 cpukit/score/src/wkspace.c delete mode 100644 cpukit/zlib/doc/rfc1950.txt delete mode 100644 cpukit/zlib/doc/rfc1951.txt delete mode 100644 cpukit/zlib/doc/rfc1952.txt delete mode 100644 doc/HELP.html delete mode 100644 doc/Make.config delete mode 100644 doc/Makefile delete mode 100644 doc/README delete mode 100644 doc/TODO delete mode 100644 doc/ada_user/Makefile delete mode 100644 doc/ada_user/ada_user.texi delete mode 100644 doc/ada_user/example.texi delete mode 100644 doc/archgrey.gif delete mode 100644 doc/bsp_howto/Makefile delete mode 100644 doc/bsp_howto/analog.t delete mode 100644 doc/bsp_howto/bsp_howto.texi delete mode 100644 doc/bsp_howto/clock.t delete mode 100644 doc/bsp_howto/console.t delete mode 100644 doc/bsp_howto/discrete.t delete mode 100644 doc/bsp_howto/init.t delete mode 100644 doc/bsp_howto/intro.t delete mode 100644 doc/bsp_howto/linkcmds.t delete mode 100644 doc/bsp_howto/makefiles.t delete mode 100644 doc/bsp_howto/network.t delete mode 100644 doc/bsp_howto/nvmem.t delete mode 100644 doc/bsp_howto/rtc.t delete mode 100644 doc/bsp_howto/shmsupp.t delete mode 100644 doc/bsp_howto/support.t delete mode 100644 doc/bsp_howto/target.t delete mode 100644 doc/bsp_howto/timer.t delete mode 100644 doc/common/cpright.texi delete mode 100644 doc/common/oaronly.jpg delete mode 100644 doc/common/setup.texi delete mode 100644 doc/common/timemac.texi delete mode 100644 doc/common/timetbl.t delete mode 100644 doc/common/timing.t delete mode 100644 doc/common/treedef.tex delete mode 100644 doc/common/up-arrow.gif delete mode 100644 doc/common/wksheets.t delete mode 100644 doc/develenv/Makefile delete mode 100644 doc/develenv/compile.texi delete mode 100644 doc/develenv/develenv.texi delete mode 100644 doc/develenv/direct.texi delete mode 100644 doc/develenv/intro.texi delete mode 100644 doc/develenv/sample.texi delete mode 100644 doc/develenv/utils.texi delete mode 100755 doc/do_docs delete mode 100644 doc/index.html delete mode 100644 doc/networking/Makefile delete mode 100644 doc/networking/driver.t delete mode 100644 doc/networking/networkapp.t delete mode 100644 doc/networking/networking.eps delete mode 100644 doc/networking/networking.gif delete mode 100644 doc/networking/networking.texi delete mode 100644 doc/networking/networktasks.t delete mode 100644 doc/networking/preface.texi delete mode 100644 doc/networking/testing.t delete mode 100644 doc/new_chapters/Makefile delete mode 100644 doc/new_chapters/STATUS delete mode 100644 doc/new_chapters/adminiface.t delete mode 100644 doc/new_chapters/base.t delete mode 100644 doc/new_chapters/cancel.t delete mode 100644 doc/new_chapters/clock.t delete mode 100644 doc/new_chapters/cond.t delete mode 100644 doc/new_chapters/confspace.t delete mode 100644 doc/new_chapters/cspecific.t delete mode 100644 doc/new_chapters/device.t delete mode 100644 doc/new_chapters/dumpcontrol.t delete mode 100644 doc/new_chapters/eventlog.t delete mode 100644 doc/new_chapters/files.t delete mode 100644 doc/new_chapters/gen_section delete mode 100644 doc/new_chapters/io.t delete mode 100644 doc/new_chapters/key.t delete mode 100644 doc/new_chapters/memorymgmt.t delete mode 100644 doc/new_chapters/message.t delete mode 100644 doc/new_chapters/mutex.t delete mode 100644 doc/new_chapters/posix_users.texi delete mode 100644 doc/new_chapters/preface.texi delete mode 100644 doc/new_chapters/procenv.t delete mode 100644 doc/new_chapters/process.t delete mode 100644 doc/new_chapters/sched.t delete mode 100644 doc/new_chapters/semaphores.t delete mode 100644 doc/new_chapters/signal.t delete mode 100644 doc/new_chapters/systemdb.t delete mode 100644 doc/new_chapters/thread.t delete mode 100644 doc/oaronly.jpg delete mode 100644 doc/posix1003.1/Makefile delete mode 100644 doc/posix1003.1/ch01.t delete mode 100644 doc/posix1003.1/ch02.t delete mode 100644 doc/posix1003.1/ch03.t delete mode 100644 doc/posix1003.1/ch04.t delete mode 100644 doc/posix1003.1/ch05.t delete mode 100644 doc/posix1003.1/ch06.t delete mode 100644 doc/posix1003.1/ch07.t delete mode 100644 doc/posix1003.1/ch08.t delete mode 100644 doc/posix1003.1/ch09.t delete mode 100644 doc/posix1003.1/ch10.t delete mode 100644 doc/posix1003.1/ch11.t delete mode 100644 doc/posix1003.1/ch12.t delete mode 100644 doc/posix1003.1/ch13.t delete mode 100644 doc/posix1003.1/ch14.t delete mode 100644 doc/posix1003.1/ch15.t delete mode 100644 doc/posix1003.1/ch16.t delete mode 100644 doc/posix1003.1/ch17.t delete mode 100644 doc/posix1003.1/ch18.t delete mode 100644 doc/posix1003.1/posix1003_1.texi delete mode 100644 doc/posix1003.1/preface.texi delete mode 100755 doc/posix1003.1/summarize delete mode 100644 doc/posix_users/Makefile delete mode 100644 doc/posix_users/base.texi delete mode 100644 doc/posix_users/clock.texi delete mode 100644 doc/posix_users/cond.texi delete mode 100644 doc/posix_users/key.texi delete mode 100644 doc/posix_users/mutex.texi delete mode 100644 doc/posix_users/posix_users.texi delete mode 100644 doc/posix_users/preface.texi delete mode 100644 doc/posix_users/sched.texi delete mode 100644 doc/posix_users/signal.texi delete mode 100644 doc/posix_users/thread.texi delete mode 100644 doc/relnotes/Makefile delete mode 100644 doc/relnotes/install.texi delete mode 100644 doc/relnotes/intro.texi delete mode 100644 doc/relnotes/probrep.texi delete mode 100644 doc/relnotes/relnotes.texi delete mode 100644 doc/relnotes/status.texi delete mode 100644 doc/rtems_footer.html delete mode 100644 doc/rtems_header.html delete mode 100644 doc/rtems_support.html delete mode 100644 doc/src2html/Makefile delete mode 100644 doc/src2html/RTEMS.test delete mode 100644 doc/started/Makefile delete mode 100644 doc/started/buildc.t delete mode 100644 doc/started/buildrt.t delete mode 100644 doc/started/gdb.t delete mode 100644 doc/started/intro.t delete mode 100644 doc/started/nt.t delete mode 100644 doc/started/pictures/bit_ada.jpg delete mode 100644 doc/started/pictures/bit_ada.vsd delete mode 100644 doc/started/pictures/bit_c.jpg delete mode 100644 doc/started/pictures/bit_c.vsd delete mode 100644 doc/started/pictures/scfile10.jpg delete mode 100644 doc/started/pictures/scfile10.vsd delete mode 100644 doc/started/pictures/scfile11.jpg delete mode 100644 doc/started/pictures/scfile11.vsd delete mode 100644 doc/started/pictures/scfile12.jpg delete mode 100644 doc/started/pictures/scfile12.vsd delete mode 100644 doc/started/pictures/scfile13.jpg delete mode 100644 doc/started/pictures/scfile13.vsd delete mode 100644 doc/started/pictures/scsfile1.jpg delete mode 100644 doc/started/pictures/scsfile1.vsd delete mode 100644 doc/started/pictures/scsfile2.jpg delete mode 100644 doc/started/pictures/scsfile2.vsd delete mode 100644 doc/started/pictures/scsfile3.jpg delete mode 100644 doc/started/pictures/scsfile3.vsd delete mode 100644 doc/started/pictures/scsfile4.jpg delete mode 100644 doc/started/pictures/scsfile4.vsd delete mode 100644 doc/started/pictures/scsfile5.jpg delete mode 100644 doc/started/pictures/scsfile5.vsd delete mode 100644 doc/started/pictures/scsfile6.jpg delete mode 100644 doc/started/pictures/scsfile6.vsd delete mode 100644 doc/started/pictures/scsfile7.jpg delete mode 100644 doc/started/pictures/scsfile7.vsd delete mode 100644 doc/started/pictures/scsfile8.jpg delete mode 100644 doc/started/pictures/scsfile8.vsd delete mode 100644 doc/started/pictures/scsfile9.jpg delete mode 100644 doc/started/pictures/scsfile9.vsd delete mode 100644 doc/started/pictures/sfile12c.jpg delete mode 100644 doc/started/pictures/sfile12c.vsd delete mode 100644 doc/started/require.t delete mode 100644 doc/started/sample.t delete mode 100644 doc/started/started.texi delete mode 100644 doc/started/versions.texi delete mode 100644 doc/started_ada/Makefile delete mode 100644 doc/started_ada/buildada.t delete mode 100644 doc/started_ada/buildrt.t delete mode 100644 doc/started_ada/gdb.t delete mode 100644 doc/started_ada/intro.t delete mode 100644 doc/started_ada/require.t delete mode 100644 doc/started_ada/sample.t delete mode 100644 doc/started_ada/started_ada.texi delete mode 100644 doc/started_ada/versions.texi delete mode 100644 doc/supplements/hppa1_1/Makefile delete mode 100644 doc/supplements/hppa1_1/SIMHPPA_TIMES delete mode 100644 doc/supplements/hppa1_1/bsp.t delete mode 100644 doc/supplements/hppa1_1/callconv.t delete mode 100644 doc/supplements/hppa1_1/cpumodel.t delete mode 100644 doc/supplements/hppa1_1/cputable.t delete mode 100644 doc/supplements/hppa1_1/fatalerr.t delete mode 100644 doc/supplements/hppa1_1/hppa1_1.texi delete mode 100644 doc/supplements/hppa1_1/intr_NOTIMES.t delete mode 100644 doc/supplements/hppa1_1/memmodel.t delete mode 100644 doc/supplements/hppa1_1/preface.texi delete mode 100644 doc/supplements/hppa1_1/timeSIMHPPA.t delete mode 100644 doc/supplements/i386/FORCE386_TIMES delete mode 100644 doc/supplements/i386/Makefile delete mode 100644 doc/supplements/i386/bsp.t delete mode 100644 doc/supplements/i386/callconv.t delete mode 100644 doc/supplements/i386/cpumodel.t delete mode 100644 doc/supplements/i386/cputable.t delete mode 100644 doc/supplements/i386/fatalerr.t delete mode 100644 doc/supplements/i386/i386.texi delete mode 100644 doc/supplements/i386/intr_NOTIMES.t delete mode 100644 doc/supplements/i386/memmodel.t delete mode 100644 doc/supplements/i386/preface.texi delete mode 100644 doc/supplements/i386/timeFORCE386.t delete mode 100644 doc/supplements/i960/CVME961_TIMES delete mode 100644 doc/supplements/i960/Makefile delete mode 100644 doc/supplements/i960/bsp.t delete mode 100644 doc/supplements/i960/callconv.t delete mode 100644 doc/supplements/i960/cpumodel.t delete mode 100644 doc/supplements/i960/cputable.t delete mode 100644 doc/supplements/i960/fatalerr.t delete mode 100644 doc/supplements/i960/i960.texi delete mode 100644 doc/supplements/i960/intr_NOTIMES.t delete mode 100644 doc/supplements/i960/memmodel.t delete mode 100644 doc/supplements/i960/preface.texi delete mode 100644 doc/supplements/i960/timeCVME961.t delete mode 100644 doc/supplements/m68k/MVME136_TIMES delete mode 100644 doc/supplements/m68k/Makefile delete mode 100644 doc/supplements/m68k/bsp.t delete mode 100644 doc/supplements/m68k/callconv.t delete mode 100644 doc/supplements/m68k/cpumodel.t delete mode 100644 doc/supplements/m68k/cputable.t delete mode 100644 doc/supplements/m68k/fatalerr.t delete mode 100644 doc/supplements/m68k/intr_NOTIMES.t delete mode 100644 doc/supplements/m68k/m68k.texi delete mode 100644 doc/supplements/m68k/memmodel.t delete mode 100644 doc/supplements/m68k/preface.texi delete mode 100644 doc/supplements/m68k/timeMVME136.t delete mode 100644 doc/supplements/m68k/timedata.t delete mode 100644 doc/supplements/powerpc/DMV177_TIMES delete mode 100644 doc/supplements/powerpc/Makefile delete mode 100644 doc/supplements/powerpc/PSIM_TIMES delete mode 100644 doc/supplements/powerpc/bsp.t delete mode 100644 doc/supplements/powerpc/callconv.t delete mode 100644 doc/supplements/powerpc/cpumodel.t delete mode 100644 doc/supplements/powerpc/cputable.t delete mode 100644 doc/supplements/powerpc/fatalerr.t delete mode 100644 doc/supplements/powerpc/intr_NOTIMES.t delete mode 100644 doc/supplements/powerpc/memmodel.t delete mode 100644 doc/supplements/powerpc/powerpc.texi delete mode 100644 doc/supplements/powerpc/preface.texi delete mode 100644 doc/supplements/powerpc/timeDMV177.t delete mode 100644 doc/supplements/powerpc/timePSIM.t delete mode 100644 doc/supplements/sh/callconv.texi delete mode 100644 doc/supplements/sparc/ERC32_TIMES delete mode 100644 doc/supplements/sparc/Makefile delete mode 100644 doc/supplements/sparc/bsp.t delete mode 100644 doc/supplements/sparc/callconv.t delete mode 100644 doc/supplements/sparc/cpumodel.t delete mode 100644 doc/supplements/sparc/cputable.t delete mode 100644 doc/supplements/sparc/fatalerr.t delete mode 100644 doc/supplements/sparc/intr_NOTIMES.t delete mode 100644 doc/supplements/sparc/memmodel.t delete mode 100644 doc/supplements/sparc/preface.texi delete mode 100644 doc/supplements/sparc/sparc.texi delete mode 100644 doc/supplements/sparc/timeERC32.t delete mode 100644 doc/supplements/template/BSP_TIMES delete mode 100644 doc/supplements/template/Makefile delete mode 100644 doc/supplements/template/bsp.t delete mode 100644 doc/supplements/template/callconv.t delete mode 100644 doc/supplements/template/cpumodel.t delete mode 100644 doc/supplements/template/cputable.t delete mode 100644 doc/supplements/template/fatalerr.t delete mode 100644 doc/supplements/template/intr_NOTIMES.t delete mode 100644 doc/supplements/template/memmodel.t delete mode 100644 doc/supplements/template/preface.texi delete mode 100644 doc/supplements/template/template.texi delete mode 100644 doc/supplements/template/timeBSP.t delete mode 100644 doc/texinfo/texinfo.tex delete mode 100644 doc/tools/bmenu/Makefile delete mode 100644 doc/tools/bmenu/address.h delete mode 100644 doc/tools/bmenu/address.inl delete mode 100644 doc/tools/bmenu/base.h delete mode 100644 doc/tools/bmenu/chain.c delete mode 100644 doc/tools/bmenu/chain.h delete mode 100644 doc/tools/bmenu/chain.inl delete mode 100644 doc/tools/bmenu/isr.h delete mode 100644 doc/tools/bmenu/main.c delete mode 100644 doc/tools/bmenu/system.h delete mode 100644 doc/tools/bmenu/testdoc.texi delete mode 100644 doc/tools/pdl2texi/Drive.d delete mode 100644 doc/tools/pdl2texi/Makefile delete mode 100644 doc/tools/pdl2texi/address.h delete mode 100644 doc/tools/pdl2texi/address.inl delete mode 100644 doc/tools/pdl2texi/afcc.texi delete mode 100644 doc/tools/pdl2texi/base.h delete mode 100644 doc/tools/pdl2texi/chain.c delete mode 100644 doc/tools/pdl2texi/chain.h delete mode 100644 doc/tools/pdl2texi/chain.inl delete mode 100644 doc/tools/pdl2texi/drive.d delete mode 100644 doc/tools/pdl2texi/isr.h delete mode 100644 doc/tools/pdl2texi/main.c delete mode 100644 doc/tools/pdl2texi/s.d delete mode 100644 doc/tools/pdl2texi/sample.d delete mode 100644 doc/tools/pdl2texi/system.h delete mode 100644 doc/tools/pdl2texi/t1.d delete mode 100644 doc/tools/pdl2texi/test_cases/avdas.d delete mode 100644 doc/tools/pdl2texi/test_cases/enum.d delete mode 100644 doc/tools/pdl2texi/test_cases/enumbad.d delete mode 100644 doc/tools/pdl2texi/test_cases/table.d delete mode 100644 doc/tools/src2html/Makefile delete mode 100644 doc/tools/src2html1.4a/Ctags/C.c delete mode 100644 doc/tools/src2html1.4a/Ctags/Makefile delete mode 100644 doc/tools/src2html1.4a/Ctags/ctags.1 delete mode 100644 doc/tools/src2html1.4a/Ctags/ctags.c delete mode 100644 doc/tools/src2html1.4a/Ctags/ctags.h delete mode 100644 doc/tools/src2html1.4a/Ctags/fortran.c delete mode 100644 doc/tools/src2html1.4a/Ctags/lisp.c delete mode 100644 doc/tools/src2html1.4a/Ctags/print.c delete mode 100644 doc/tools/src2html1.4a/Ctags/strerror.c delete mode 100644 doc/tools/src2html1.4a/Ctags/tree.c delete mode 100644 doc/tools/src2html1.4a/Ctags/yacc.c delete mode 100644 doc/tools/src2html1.4a/Ctags/z.c delete mode 100644 doc/tools/src2html1.4a/FreeBSD/FreeBSD.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/FreeBSD.s2h delete mode 100644 doc/tools/src2html1.4a/FreeBSD/conf.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/ddb.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/i386.i386.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/i386.include.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/i386.isa.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/i386.stand.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/kern.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/net.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/netinet.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/nfs.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/stand.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/sys.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/ufs.hdr delete mode 100644 doc/tools/src2html1.4a/FreeBSD/vm.hdr delete mode 100644 doc/tools/src2html1.4a/Readme delete mode 100644 doc/tools/src2html1.4a/ctags-emacs/README delete mode 100644 doc/tools/src2html1.4a/ctags-emacs/ctags delete mode 100644 doc/tools/src2html1.4a/ctags-emacs/etags.c-ada-patch delete mode 100644 doc/tools/src2html1.4a/ctags-wr delete mode 100644 doc/tools/src2html1.4a/src2html delete mode 100644 doc/tools/src2html1.4a/src2html.1 delete mode 100644 doc/tools/src2html1.4a/src2html.cgi delete mode 100644 doc/tools/texi2www/Makefile delete mode 100644 doc/tools/texi2www/archive/texi2www-960103.tgz delete mode 100644 doc/tools/texi2www/dir-arrow.gif delete mode 100644 doc/tools/texi2www/missing-arrow.gif delete mode 100644 doc/tools/texi2www/next-arrow.gif delete mode 100644 doc/tools/texi2www/prev-arrow.gif delete mode 100644 doc/tools/texi2www/texi2dvi delete mode 100755 doc/tools/texi2www/texi2www delete mode 100644 doc/tools/texi2www/texi2www.texi delete mode 100644 doc/tools/texi2www/up-arrow.gif delete mode 100644 doc/tools/update delete mode 100755 doc/tools/word-replace delete mode 100644 doc/user/Makefile delete mode 100644 doc/user/bsp.t delete mode 100644 doc/user/c_user.texi delete mode 100644 doc/user/clock.t delete mode 100644 doc/user/concepts.t delete mode 100644 doc/user/conf.t delete mode 100644 doc/user/dirstat.texi delete mode 100644 doc/user/dpmem.t delete mode 100644 doc/user/event.t delete mode 100644 doc/user/example.texi delete mode 100644 doc/user/fatal.t delete mode 100644 doc/user/glossary.texi delete mode 100644 doc/user/init.t delete mode 100644 doc/user/intr.t delete mode 100644 doc/user/io.t delete mode 100644 doc/user/mp.t delete mode 100644 doc/user/msg.t delete mode 100644 doc/user/overview.t delete mode 100644 doc/user/part.t delete mode 100644 doc/user/preface.texi delete mode 100644 doc/user/region.t delete mode 100644 doc/user/rtemsarc.gif delete mode 100644 doc/user/rtemspie.gif delete mode 100644 doc/user/rtmon.t delete mode 100644 doc/user/schedule.t delete mode 100644 doc/user/sem.t delete mode 100644 doc/user/signal.t delete mode 100644 doc/user/states.gif delete mode 100644 doc/user/task.t delete mode 100644 doc/user/timer.t delete mode 100644 doc/user/userext.t delete mode 100644 make/custom/dmv177.cfg delete mode 100644 testsuites/PROBLEMS delete mode 100644 testsuites/README delete mode 100644 testsuites/libtests/README delete mode 100644 testsuites/libtests/cpuuse/cpuuse.scn delete mode 100644 testsuites/libtests/cpuuse/init.c delete mode 100644 testsuites/libtests/cpuuse/system.h delete mode 100644 testsuites/libtests/cpuuse/task1.c delete mode 100644 testsuites/libtests/cpuuse/task2.c delete mode 100644 testsuites/libtests/cpuuse/task3.c delete mode 100644 testsuites/libtests/cpuuse/tswitch.c delete mode 100644 testsuites/libtests/malloctest/init.c delete mode 100644 testsuites/libtests/malloctest/system.h delete mode 100644 testsuites/libtests/malloctest/task1.c delete mode 100644 testsuites/libtests/monitor/init.c delete mode 100644 testsuites/libtests/monitor/system.h delete mode 100644 testsuites/libtests/rtems++/Init.cc delete mode 100644 testsuites/libtests/rtems++/System.h delete mode 100644 testsuites/libtests/rtems++/Task1.cc delete mode 100644 testsuites/libtests/rtems++/Task2.cc delete mode 100644 testsuites/libtests/rtems++/Task3.cc delete mode 100644 testsuites/libtests/rtems++/rtems++.doc delete mode 100644 testsuites/libtests/rtems++/rtems++.scn delete mode 100644 testsuites/libtests/rtmonuse/getall.c delete mode 100644 testsuites/libtests/rtmonuse/init.c delete mode 100644 testsuites/libtests/rtmonuse/rtmonuse.scn delete mode 100644 testsuites/libtests/rtmonuse/system.h delete mode 100644 testsuites/libtests/rtmonuse/task1.c delete mode 100644 testsuites/libtests/stackchk/blow.c delete mode 100644 testsuites/libtests/stackchk/init.c delete mode 100644 testsuites/libtests/stackchk/stackchk.scn delete mode 100644 testsuites/libtests/stackchk/system.h delete mode 100644 testsuites/libtests/stackchk/task1.c delete mode 100644 testsuites/libtests/termios/README delete mode 100644 testsuites/libtests/termios/init.c delete mode 100644 testsuites/mptests/README delete mode 100644 testsuites/mptests/mp01/init.c delete mode 100644 testsuites/mptests/mp01/node1/mp01.doc delete mode 100644 testsuites/mptests/mp01/node1/mp01.scn delete mode 100644 testsuites/mptests/mp01/node2/mp01.doc delete mode 100644 testsuites/mptests/mp01/node2/mp01.scn delete mode 100644 testsuites/mptests/mp01/system.h delete mode 100644 testsuites/mptests/mp01/task1.c delete mode 100644 testsuites/mptests/mp02/init.c delete mode 100644 testsuites/mptests/mp02/node1/mp02.doc delete mode 100644 testsuites/mptests/mp02/node1/mp02.scn delete mode 100644 testsuites/mptests/mp02/node2/mp02.doc delete mode 100644 testsuites/mptests/mp02/node2/mp02.scn delete mode 100644 testsuites/mptests/mp02/system.h delete mode 100644 testsuites/mptests/mp02/task1.c delete mode 100644 testsuites/mptests/mp03/delay.c delete mode 100644 testsuites/mptests/mp03/init.c delete mode 100644 testsuites/mptests/mp03/node1/mp03.doc delete mode 100644 testsuites/mptests/mp03/node1/mp03.scn delete mode 100644 testsuites/mptests/mp03/node2/mp03.doc delete mode 100644 testsuites/mptests/mp03/node2/mp03.scn delete mode 100644 testsuites/mptests/mp03/system.h delete mode 100644 testsuites/mptests/mp03/task1.c delete mode 100644 testsuites/mptests/mp04/init.c delete mode 100644 testsuites/mptests/mp04/node1/mp04.doc delete mode 100644 testsuites/mptests/mp04/node1/mp04.scn delete mode 100644 testsuites/mptests/mp04/node2/mp04.doc delete mode 100644 testsuites/mptests/mp04/node2/mp04.scn delete mode 100644 testsuites/mptests/mp04/system.h delete mode 100644 testsuites/mptests/mp04/task1.c delete mode 100644 testsuites/mptests/mp05/asr.c delete mode 100644 testsuites/mptests/mp05/init.c delete mode 100644 testsuites/mptests/mp05/node1/mp05.doc delete mode 100644 testsuites/mptests/mp05/node1/mp05.scn delete mode 100644 testsuites/mptests/mp05/node2/mp05.doc delete mode 100644 testsuites/mptests/mp05/node2/mp05.scn delete mode 100644 testsuites/mptests/mp05/system.h delete mode 100644 testsuites/mptests/mp05/task1.c delete mode 100644 testsuites/mptests/mp06/init.c delete mode 100644 testsuites/mptests/mp06/node1/mp06.doc delete mode 100644 testsuites/mptests/mp06/node1/mp06.scn delete mode 100644 testsuites/mptests/mp06/node2/mp06.doc delete mode 100644 testsuites/mptests/mp06/node2/mp06.scn delete mode 100644 testsuites/mptests/mp06/system.h delete mode 100644 testsuites/mptests/mp06/task1.c delete mode 100644 testsuites/mptests/mp07/init.c delete mode 100644 testsuites/mptests/mp07/node1/mp07.doc delete mode 100644 testsuites/mptests/mp07/node1/mp07.scn delete mode 100644 testsuites/mptests/mp07/node2/mp07.doc delete mode 100644 testsuites/mptests/mp07/node2/mp07.scn delete mode 100644 testsuites/mptests/mp07/system.h delete mode 100644 testsuites/mptests/mp07/task1.c delete mode 100644 testsuites/mptests/mp08/init.c delete mode 100644 testsuites/mptests/mp08/node1/mp08.doc delete mode 100644 testsuites/mptests/mp08/node1/mp08.scn delete mode 100644 testsuites/mptests/mp08/node2/mp08.doc delete mode 100644 testsuites/mptests/mp08/node2/mp08.scn delete mode 100644 testsuites/mptests/mp08/system.h delete mode 100644 testsuites/mptests/mp08/task1.c delete mode 100644 testsuites/mptests/mp09/init.c delete mode 100644 testsuites/mptests/mp09/node1/mp09.doc delete mode 100644 testsuites/mptests/mp09/node1/mp09.scn delete mode 100644 testsuites/mptests/mp09/node2/mp09.doc delete mode 100644 testsuites/mptests/mp09/node2/mp09.scn delete mode 100644 testsuites/mptests/mp09/recvmsg.c delete mode 100644 testsuites/mptests/mp09/sendmsg.c delete mode 100644 testsuites/mptests/mp09/system.h delete mode 100644 testsuites/mptests/mp09/task1.c delete mode 100644 testsuites/mptests/mp10/init.c delete mode 100644 testsuites/mptests/mp10/node1/mp10.doc delete mode 100644 testsuites/mptests/mp10/node1/mp10.scn delete mode 100644 testsuites/mptests/mp10/node2/mp10.doc delete mode 100644 testsuites/mptests/mp10/node2/mp10.scn delete mode 100644 testsuites/mptests/mp10/system.h delete mode 100644 testsuites/mptests/mp10/task1.c delete mode 100644 testsuites/mptests/mp10/task2.c delete mode 100644 testsuites/mptests/mp10/task3.c delete mode 100644 testsuites/mptests/mp11/init.c delete mode 100644 testsuites/mptests/mp11/node1/mp11.doc delete mode 100644 testsuites/mptests/mp11/node1/mp11.scn delete mode 100644 testsuites/mptests/mp11/node2/mp11.doc delete mode 100644 testsuites/mptests/mp11/node2/mp11.scn delete mode 100644 testsuites/mptests/mp11/system.h delete mode 100644 testsuites/mptests/mp12/init.c delete mode 100644 testsuites/mptests/mp12/node1/mp12.doc delete mode 100644 testsuites/mptests/mp12/node1/mp12.scn delete mode 100644 testsuites/mptests/mp12/node2/mp12.doc delete mode 100644 testsuites/mptests/mp12/node2/mp12.scn delete mode 100644 testsuites/mptests/mp12/system.h delete mode 100644 testsuites/mptests/mp13/init.c delete mode 100644 testsuites/mptests/mp13/node1/mp13.doc delete mode 100644 testsuites/mptests/mp13/node1/mp13.scn delete mode 100644 testsuites/mptests/mp13/node2/mp13.doc delete mode 100644 testsuites/mptests/mp13/node2/mp13.scn delete mode 100644 testsuites/mptests/mp13/system.h delete mode 100644 testsuites/mptests/mp13/task1.c delete mode 100644 testsuites/mptests/mp13/task2.c delete mode 100644 testsuites/mptests/mp14/delay.c delete mode 100644 testsuites/mptests/mp14/evtask1.c delete mode 100644 testsuites/mptests/mp14/evtmtask.c delete mode 100644 testsuites/mptests/mp14/exit.c delete mode 100644 testsuites/mptests/mp14/init.c delete mode 100644 testsuites/mptests/mp14/msgtask1.c delete mode 100644 testsuites/mptests/mp14/node1/mp14.doc delete mode 100644 testsuites/mptests/mp14/node1/mp14.scn delete mode 100644 testsuites/mptests/mp14/node2/mp14.doc delete mode 100644 testsuites/mptests/mp14/node2/mp14.scn delete mode 100644 testsuites/mptests/mp14/pttask1.c delete mode 100644 testsuites/mptests/mp14/smtask1.c delete mode 100644 testsuites/mptests/mp14/system.h delete mode 100644 testsuites/psxtests/include/pmacros.h delete mode 100644 testsuites/psxtests/psx01/init.c delete mode 100644 testsuites/psxtests/psx01/psx01.scn delete mode 100644 testsuites/psxtests/psx01/system.h delete mode 100644 testsuites/psxtests/psx01/task.c delete mode 100644 testsuites/psxtests/psx02/init.c delete mode 100644 testsuites/psxtests/psx02/psx02.scn delete mode 100644 testsuites/psxtests/psx02/system.h delete mode 100644 testsuites/psxtests/psx02/task.c delete mode 100644 testsuites/psxtests/psx03/init.c delete mode 100644 testsuites/psxtests/psx03/psx03.scn delete mode 100644 testsuites/psxtests/psx03/system.h delete mode 100644 testsuites/psxtests/psx03/task.c delete mode 100644 testsuites/psxtests/psx04/init.c delete mode 100644 testsuites/psxtests/psx04/psx04.scn delete mode 100644 testsuites/psxtests/psx04/system.h delete mode 100644 testsuites/psxtests/psx04/task1.c delete mode 100644 testsuites/psxtests/psx04/task2.c delete mode 100644 testsuites/psxtests/psx04/task3.c delete mode 100644 testsuites/psxtests/psx05/init.c delete mode 100644 testsuites/psxtests/psx05/psx05.scn delete mode 100644 testsuites/psxtests/psx05/system.h delete mode 100644 testsuites/psxtests/psx05/task.c delete mode 100644 testsuites/psxtests/psx05/task2.c delete mode 100644 testsuites/psxtests/psx05/task3.c delete mode 100644 testsuites/psxtests/psx06/init.c delete mode 100644 testsuites/psxtests/psx06/psx06.scn delete mode 100644 testsuites/psxtests/psx06/system.h delete mode 100644 testsuites/psxtests/psx06/task.c delete mode 100644 testsuites/psxtests/psx06/task2.c delete mode 100644 testsuites/psxtests/psx07/init.c delete mode 100644 testsuites/psxtests/psx07/psx07.scn delete mode 100644 testsuites/psxtests/psx07/system.h delete mode 100644 testsuites/psxtests/psx07/task.c delete mode 100644 testsuites/psxtests/psx08/init.c delete mode 100644 testsuites/psxtests/psx08/psx08.scn delete mode 100644 testsuites/psxtests/psx08/system.h delete mode 100644 testsuites/psxtests/psx08/task2.c delete mode 100644 testsuites/psxtests/psx09/init.c delete mode 100644 testsuites/psxtests/psx09/psx09.scn delete mode 100644 testsuites/psxtests/psx09/system.h delete mode 100644 testsuites/psxtests/psx10/init.c delete mode 100644 testsuites/psxtests/psx10/psx10.scn delete mode 100644 testsuites/psxtests/psx10/system.h delete mode 100644 testsuites/psxtests/psx10/task.c delete mode 100644 testsuites/psxtests/psx10/task2.c delete mode 100644 testsuites/psxtests/psx10/task3.c delete mode 100644 testsuites/psxtests/psx11/init.c delete mode 100644 testsuites/psxtests/psx11/psx11.scn delete mode 100644 testsuites/psxtests/psx11/system.h delete mode 100644 testsuites/psxtests/psx11/task.c delete mode 100644 testsuites/psxtests/psx12/init.c delete mode 100644 testsuites/psxtests/psx12/psx12.scn delete mode 100644 testsuites/psxtests/psx12/system.h delete mode 100644 testsuites/psxtests/psx12/task.c delete mode 100644 testsuites/psxtests/psxhdrs/clock01.c delete mode 100644 testsuites/psxtests/psxhdrs/clock02.c delete mode 100644 testsuites/psxtests/psxhdrs/clock03.c delete mode 100644 testsuites/psxtests/psxhdrs/clock04.c delete mode 100644 testsuites/psxtests/psxhdrs/clock05.c delete mode 100644 testsuites/psxtests/psxhdrs/clock06.c delete mode 100644 testsuites/psxtests/psxhdrs/cond01.c delete mode 100644 testsuites/psxtests/psxhdrs/cond02.c delete mode 100644 testsuites/psxtests/psxhdrs/cond03.c delete mode 100644 testsuites/psxtests/psxhdrs/cond04.c delete mode 100644 testsuites/psxtests/psxhdrs/cond05.c delete mode 100644 testsuites/psxtests/psxhdrs/cond06.c delete mode 100644 testsuites/psxtests/psxhdrs/cond07.c delete mode 100644 testsuites/psxtests/psxhdrs/cond08.c delete mode 100644 testsuites/psxtests/psxhdrs/cond09.c delete mode 100644 testsuites/psxtests/psxhdrs/cond10.c delete mode 100644 testsuites/psxtests/psxhdrs/key01.c delete mode 100644 testsuites/psxtests/psxhdrs/key02.c delete mode 100644 testsuites/psxtests/psxhdrs/key03.c delete mode 100644 testsuites/psxtests/psxhdrs/key04.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex01.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex02.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex03.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex04.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex05.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex06.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex07.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex08.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex09.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex10.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex11.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex12.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex13.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex14.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex15.c delete mode 100644 testsuites/psxtests/psxhdrs/mutex16.c delete mode 100644 testsuites/psxtests/psxhdrs/proc01.c delete mode 100644 testsuites/psxtests/psxhdrs/proc02.c delete mode 100644 testsuites/psxtests/psxhdrs/proc03.c delete mode 100644 testsuites/psxtests/psxhdrs/proc04.c delete mode 100644 testsuites/psxtests/psxhdrs/proc05.c delete mode 100644 testsuites/psxtests/psxhdrs/proc06.c delete mode 100644 testsuites/psxtests/psxhdrs/proc07.c delete mode 100644 testsuites/psxtests/psxhdrs/proc08.c delete mode 100644 testsuites/psxtests/psxhdrs/proc09.c delete mode 100644 testsuites/psxtests/psxhdrs/proc10.c delete mode 100644 testsuites/psxtests/psxhdrs/proc11.c delete mode 100644 testsuites/psxtests/psxhdrs/proc12.c delete mode 100644 testsuites/psxtests/psxhdrs/proc13.c delete mode 100644 testsuites/psxtests/psxhdrs/proc14.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread01.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread02.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread03.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread04.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread05.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread06.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread07.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread08.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread09.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread10.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread11.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread12.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread13.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread14.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread15.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread16.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread17.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread18.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread19.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread20.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread21.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread22.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread23.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread24.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread25.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread26.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread27.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread28.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread29.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread30.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread31.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread32.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread33.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread34.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread35.c delete mode 100644 testsuites/psxtests/psxhdrs/pthread36.c delete mode 100644 testsuites/psxtests/psxhdrs/sched01.c delete mode 100644 testsuites/psxtests/psxhdrs/sched02.c delete mode 100644 testsuites/psxtests/psxhdrs/sched03.c delete mode 100644 testsuites/psxtests/psxhdrs/sched04.c delete mode 100644 testsuites/psxtests/psxhdrs/sched05.c delete mode 100644 testsuites/psxtests/psxhdrs/sched06.c delete mode 100644 testsuites/psxtests/psxhdrs/sched07.c delete mode 100644 testsuites/psxtests/psxhdrs/sched08.c delete mode 100644 testsuites/psxtests/psxhdrs/signal01.c delete mode 100644 testsuites/psxtests/psxhdrs/signal02.c delete mode 100644 testsuites/psxtests/psxhdrs/signal03.c delete mode 100644 testsuites/psxtests/psxhdrs/signal04.c delete mode 100644 testsuites/psxtests/psxhdrs/signal05.c delete mode 100644 testsuites/psxtests/psxhdrs/signal06.c delete mode 100644 testsuites/psxtests/psxhdrs/signal07.c delete mode 100644 testsuites/psxtests/psxhdrs/signal08.c delete mode 100644 testsuites/psxtests/psxhdrs/signal09.c delete mode 100644 testsuites/psxtests/psxhdrs/signal10.c delete mode 100644 testsuites/psxtests/psxhdrs/signal11.c delete mode 100644 testsuites/psxtests/psxhdrs/signal12.c delete mode 100644 testsuites/psxtests/psxhdrs/signal13.c delete mode 100644 testsuites/psxtests/psxhdrs/signal14.c delete mode 100644 testsuites/psxtests/psxhdrs/signal15.c delete mode 100644 testsuites/psxtests/psxhdrs/signal16.c delete mode 100644 testsuites/psxtests/psxhdrs/signal17.c delete mode 100644 testsuites/psxtests/psxhdrs/signal18.c delete mode 100644 testsuites/psxtests/psxhdrs/signal19.c delete mode 100644 testsuites/psxtests/psxhdrs/signal20.c delete mode 100644 testsuites/psxtests/psxhdrs/signal21.c delete mode 100644 testsuites/psxtests/psxhdrs/signal22.c delete mode 100644 testsuites/psxtests/psxhdrs/time01.c delete mode 100644 testsuites/psxtests/psxhdrs/time02.c delete mode 100644 testsuites/psxtests/psxhdrs/time03.c delete mode 100644 testsuites/psxtests/psxhdrs/time04.c delete mode 100644 testsuites/psxtests/psxhdrs/time05.c delete mode 100644 testsuites/psxtests/psxhdrs/time06.c delete mode 100644 testsuites/psxtests/psxhdrs/time07.c delete mode 100644 testsuites/psxtests/psxhdrs/time08.c delete mode 100644 testsuites/psxtests/psxhdrs/time09.c delete mode 100644 testsuites/psxtests/psxhdrs/time10.c delete mode 100644 testsuites/psxtests/psxhdrs/time11.c delete mode 100644 testsuites/psxtests/psxhdrs/time12.c delete mode 100644 testsuites/psxtests/psxhdrs/time13.c delete mode 100644 testsuites/psxtests/psxhdrs/timer01.c delete mode 100644 testsuites/psxtests/psxhdrs/timer02.c delete mode 100644 testsuites/psxtests/psxhdrs/timer03.c delete mode 100644 testsuites/psxtests/psxhdrs/timer04.c delete mode 100644 testsuites/psxtests/psxhdrs/timer05.c delete mode 100644 testsuites/psxtests/psxhdrs/timer06.c delete mode 100644 testsuites/samples/README delete mode 100644 testsuites/samples/base_mp/apptask.c delete mode 100644 testsuites/samples/base_mp/init.c delete mode 100644 testsuites/samples/base_mp/node1/base_mp.doc delete mode 100644 testsuites/samples/base_mp/node1/base_mp.scn delete mode 100644 testsuites/samples/base_mp/node2/base_mp.doc delete mode 100644 testsuites/samples/base_mp/node2/base_mp.scn delete mode 100644 testsuites/samples/base_mp/system.h delete mode 100644 testsuites/samples/base_sp/apptask.c delete mode 100644 testsuites/samples/base_sp/base_sp.doc delete mode 100644 testsuites/samples/base_sp/base_sp.scn delete mode 100644 testsuites/samples/base_sp/init.c delete mode 100644 testsuites/samples/base_sp/system.h delete mode 100644 testsuites/samples/cdtest/cdtest.scn delete mode 100644 testsuites/samples/cdtest/init.c delete mode 100644 testsuites/samples/cdtest/main.cc delete mode 100644 testsuites/samples/cdtest/system.h delete mode 100644 testsuites/samples/hello/hello.doc delete mode 100644 testsuites/samples/hello/hello.scn delete mode 100644 testsuites/samples/hello/init.c delete mode 100644 testsuites/samples/hello/system.h delete mode 100644 testsuites/samples/paranoia/init.c delete mode 100644 testsuites/samples/paranoia/paranoia.c delete mode 100644 testsuites/samples/paranoia/paranoia.doc delete mode 100644 testsuites/samples/paranoia/system.h delete mode 100644 testsuites/samples/ticker/init.c delete mode 100644 testsuites/samples/ticker/system.h delete mode 100644 testsuites/samples/ticker/tasks.c delete mode 100644 testsuites/samples/ticker/ticker.doc delete mode 100644 testsuites/samples/ticker/ticker.scn delete mode 100644 testsuites/sptests/README delete mode 100644 testsuites/sptests/sp01/init.c delete mode 100644 testsuites/sptests/sp01/sp01.doc delete mode 100644 testsuites/sptests/sp01/sp01.scn delete mode 100644 testsuites/sptests/sp01/system.h delete mode 100644 testsuites/sptests/sp01/task1.c delete mode 100644 testsuites/sptests/sp02/init.c delete mode 100644 testsuites/sptests/sp02/preempt.c delete mode 100644 testsuites/sptests/sp02/sp02.doc delete mode 100644 testsuites/sptests/sp02/sp02.scn delete mode 100644 testsuites/sptests/sp02/system.h delete mode 100644 testsuites/sptests/sp02/task1.c delete mode 100644 testsuites/sptests/sp02/task2.c delete mode 100644 testsuites/sptests/sp02/task3.c delete mode 100644 testsuites/sptests/sp03/init.c delete mode 100644 testsuites/sptests/sp03/sp03.doc delete mode 100644 testsuites/sptests/sp03/sp03.scn delete mode 100644 testsuites/sptests/sp03/system.h delete mode 100644 testsuites/sptests/sp03/task1.c delete mode 100644 testsuites/sptests/sp03/task2.c delete mode 100644 testsuites/sptests/sp04/init.c delete mode 100644 testsuites/sptests/sp04/sp04.doc delete mode 100644 testsuites/sptests/sp04/sp04.scn delete mode 100644 testsuites/sptests/sp04/system.h delete mode 100644 testsuites/sptests/sp04/task1.c delete mode 100644 testsuites/sptests/sp04/task2.c delete mode 100644 testsuites/sptests/sp04/task3.c delete mode 100644 testsuites/sptests/sp04/tswitch.c delete mode 100644 testsuites/sptests/sp05/init.c delete mode 100644 testsuites/sptests/sp05/sp05.doc delete mode 100644 testsuites/sptests/sp05/sp05.scn delete mode 100644 testsuites/sptests/sp05/system.h delete mode 100644 testsuites/sptests/sp05/task1.c delete mode 100644 testsuites/sptests/sp05/task2.c delete mode 100644 testsuites/sptests/sp05/task3.c delete mode 100644 testsuites/sptests/sp06/init.c delete mode 100644 testsuites/sptests/sp06/sp06.doc delete mode 100644 testsuites/sptests/sp06/sp06.scn delete mode 100644 testsuites/sptests/sp06/system.h delete mode 100644 testsuites/sptests/sp06/task1.c delete mode 100644 testsuites/sptests/sp06/task2.c delete mode 100644 testsuites/sptests/sp06/task3.c delete mode 100644 testsuites/sptests/sp07/init.c delete mode 100644 testsuites/sptests/sp07/sp07.doc delete mode 100644 testsuites/sptests/sp07/sp07.scn delete mode 100644 testsuites/sptests/sp07/system.h delete mode 100644 testsuites/sptests/sp07/task1.c delete mode 100644 testsuites/sptests/sp07/task2.c delete mode 100644 testsuites/sptests/sp07/task3.c delete mode 100644 testsuites/sptests/sp07/task4.c delete mode 100644 testsuites/sptests/sp07/taskexit.c delete mode 100644 testsuites/sptests/sp07/tcreate.c delete mode 100644 testsuites/sptests/sp07/tdelete.c delete mode 100644 testsuites/sptests/sp07/trestart.c delete mode 100644 testsuites/sptests/sp07/tstart.c delete mode 100644 testsuites/sptests/sp08/init.c delete mode 100644 testsuites/sptests/sp08/sp08.doc delete mode 100644 testsuites/sptests/sp08/sp08.scn delete mode 100644 testsuites/sptests/sp08/system.h delete mode 100644 testsuites/sptests/sp08/task1.c delete mode 100644 testsuites/sptests/sp09/delay.c delete mode 100644 testsuites/sptests/sp09/init.c delete mode 100644 testsuites/sptests/sp09/isr.c delete mode 100644 testsuites/sptests/sp09/screen01.c delete mode 100644 testsuites/sptests/sp09/screen02.c delete mode 100644 testsuites/sptests/sp09/screen03.c delete mode 100644 testsuites/sptests/sp09/screen04.c delete mode 100644 testsuites/sptests/sp09/screen05.c delete mode 100644 testsuites/sptests/sp09/screen06.c delete mode 100644 testsuites/sptests/sp09/screen07.c delete mode 100644 testsuites/sptests/sp09/screen08.c delete mode 100644 testsuites/sptests/sp09/screen09.c delete mode 100644 testsuites/sptests/sp09/screen10.c delete mode 100644 testsuites/sptests/sp09/screen11.c delete mode 100644 testsuites/sptests/sp09/screen12.c delete mode 100644 testsuites/sptests/sp09/screen13.c delete mode 100644 testsuites/sptests/sp09/screen14.c delete mode 100644 testsuites/sptests/sp09/sp09.doc delete mode 100644 testsuites/sptests/sp09/sp09.scn delete mode 100644 testsuites/sptests/sp09/system.h delete mode 100644 testsuites/sptests/sp09/task1.c delete mode 100644 testsuites/sptests/sp09/task2.c delete mode 100644 testsuites/sptests/sp09/task3.c delete mode 100644 testsuites/sptests/sp09/task4.c delete mode 100644 testsuites/sptests/sp11/init.c delete mode 100644 testsuites/sptests/sp11/sp11.doc delete mode 100644 testsuites/sptests/sp11/sp11.scn delete mode 100644 testsuites/sptests/sp11/system.h delete mode 100644 testsuites/sptests/sp11/task1.c delete mode 100644 testsuites/sptests/sp11/task2.c delete mode 100644 testsuites/sptests/sp11/timer.c delete mode 100644 testsuites/sptests/sp12/init.c delete mode 100644 testsuites/sptests/sp12/pridrv.c delete mode 100644 testsuites/sptests/sp12/pritask.c delete mode 100644 testsuites/sptests/sp12/sp12.doc delete mode 100644 testsuites/sptests/sp12/sp12.scn delete mode 100644 testsuites/sptests/sp12/system.h delete mode 100644 testsuites/sptests/sp12/task1.c delete mode 100644 testsuites/sptests/sp12/task2.c delete mode 100644 testsuites/sptests/sp12/task3.c delete mode 100644 testsuites/sptests/sp12/task4.c delete mode 100644 testsuites/sptests/sp12/task5.c delete mode 100644 testsuites/sptests/sp13/fillbuff.c delete mode 100644 testsuites/sptests/sp13/init.c delete mode 100644 testsuites/sptests/sp13/putbuff.c delete mode 100644 testsuites/sptests/sp13/sp13.doc delete mode 100644 testsuites/sptests/sp13/sp13.scn delete mode 100644 testsuites/sptests/sp13/system.h delete mode 100644 testsuites/sptests/sp13/task1.c delete mode 100644 testsuites/sptests/sp13/task2.c delete mode 100644 testsuites/sptests/sp13/task3.c delete mode 100644 testsuites/sptests/sp14/asr.c delete mode 100644 testsuites/sptests/sp14/init.c delete mode 100644 testsuites/sptests/sp14/sp14.doc delete mode 100644 testsuites/sptests/sp14/sp14.scn delete mode 100644 testsuites/sptests/sp14/system.h delete mode 100644 testsuites/sptests/sp14/task1.c delete mode 100644 testsuites/sptests/sp14/task2.c delete mode 100644 testsuites/sptests/sp15/init.c delete mode 100644 testsuites/sptests/sp15/sp15.doc delete mode 100644 testsuites/sptests/sp15/sp15.scn delete mode 100644 testsuites/sptests/sp15/system.h delete mode 100644 testsuites/sptests/sp15/task1.c delete mode 100644 testsuites/sptests/sp16/init.c delete mode 100644 testsuites/sptests/sp16/sp16.doc delete mode 100644 testsuites/sptests/sp16/sp16.scn delete mode 100644 testsuites/sptests/sp16/system.h delete mode 100644 testsuites/sptests/sp16/task1.c delete mode 100644 testsuites/sptests/sp16/task2.c delete mode 100644 testsuites/sptests/sp16/task3.c delete mode 100644 testsuites/sptests/sp16/task4.c delete mode 100644 testsuites/sptests/sp16/task5.c delete mode 100644 testsuites/sptests/sp17/asr.c delete mode 100644 testsuites/sptests/sp17/init.c delete mode 100644 testsuites/sptests/sp17/sp17.doc delete mode 100644 testsuites/sptests/sp17/sp17.scn delete mode 100644 testsuites/sptests/sp17/system.h delete mode 100644 testsuites/sptests/sp17/task1.c delete mode 100644 testsuites/sptests/sp17/task2.c delete mode 100644 testsuites/sptests/sp19/first.c delete mode 100644 testsuites/sptests/sp19/fptask.c delete mode 100644 testsuites/sptests/sp19/fptest.h delete mode 100644 testsuites/sptests/sp19/init.c delete mode 100644 testsuites/sptests/sp19/inttest.h delete mode 100644 testsuites/sptests/sp19/sp19.doc delete mode 100644 testsuites/sptests/sp19/sp19.scn delete mode 100644 testsuites/sptests/sp19/system.h delete mode 100644 testsuites/sptests/sp19/task1.c delete mode 100644 testsuites/sptests/sp20/getall.c delete mode 100644 testsuites/sptests/sp20/init.c delete mode 100644 testsuites/sptests/sp20/sp20.doc delete mode 100644 testsuites/sptests/sp20/sp20.scn delete mode 100644 testsuites/sptests/sp20/system.h delete mode 100644 testsuites/sptests/sp20/task1.c delete mode 100644 testsuites/sptests/sp21/init.c delete mode 100644 testsuites/sptests/sp21/sp21.doc delete mode 100644 testsuites/sptests/sp21/sp21.scn delete mode 100644 testsuites/sptests/sp21/system.h delete mode 100644 testsuites/sptests/sp21/task1.c delete mode 100644 testsuites/sptests/sp22/delay.c delete mode 100644 testsuites/sptests/sp22/init.c delete mode 100644 testsuites/sptests/sp22/prtime.c delete mode 100644 testsuites/sptests/sp22/sp22.doc delete mode 100644 testsuites/sptests/sp22/sp22.scn delete mode 100644 testsuites/sptests/sp22/system.h delete mode 100644 testsuites/sptests/sp22/task1.c delete mode 100644 testsuites/sptests/sp23/init.c delete mode 100644 testsuites/sptests/sp23/sp23.doc delete mode 100644 testsuites/sptests/sp23/sp23.scn delete mode 100644 testsuites/sptests/sp23/system.h delete mode 100644 testsuites/sptests/sp23/task1.c delete mode 100644 testsuites/sptests/sp24/init.c delete mode 100644 testsuites/sptests/sp24/resume.c delete mode 100644 testsuites/sptests/sp24/sp24.doc delete mode 100644 testsuites/sptests/sp24/sp24.scn delete mode 100644 testsuites/sptests/sp24/system.h delete mode 100644 testsuites/sptests/sp24/task1.c delete mode 100644 testsuites/sptests/sp25/init.c delete mode 100644 testsuites/sptests/sp25/sp25.doc delete mode 100644 testsuites/sptests/sp25/sp25.scn delete mode 100644 testsuites/sptests/sp25/system.h delete mode 100644 testsuites/sptests/sp25/task1.c delete mode 100644 testsuites/sptests/spfatal/fatal.c delete mode 100644 testsuites/sptests/spfatal/init.c delete mode 100644 testsuites/sptests/spfatal/puterr.c delete mode 100644 testsuites/sptests/spfatal/spfatal.doc delete mode 100644 testsuites/sptests/spfatal/spfatal.scn delete mode 100644 testsuites/sptests/spfatal/system.h delete mode 100644 testsuites/sptests/spfatal/task1.c delete mode 100644 testsuites/sptests/spsize/getint.c delete mode 100644 testsuites/sptests/spsize/init.c delete mode 100644 testsuites/sptests/spsize/size.c delete mode 100644 testsuites/sptests/spsize/system.h delete mode 100644 testsuites/support/include/tmacros.h delete mode 100644 testsuites/tmtests/README delete mode 100644 testsuites/tmtests/include/timesys.h delete mode 100644 testsuites/tmtests/tm01/system.h delete mode 100644 testsuites/tmtests/tm01/task1.c delete mode 100644 testsuites/tmtests/tm01/tm01.doc delete mode 100644 testsuites/tmtests/tm02/system.h delete mode 100644 testsuites/tmtests/tm02/task1.c delete mode 100644 testsuites/tmtests/tm02/tm02.doc delete mode 100644 testsuites/tmtests/tm03/system.h delete mode 100644 testsuites/tmtests/tm03/task1.c delete mode 100644 testsuites/tmtests/tm03/tm03.doc delete mode 100644 testsuites/tmtests/tm04/system.h delete mode 100644 testsuites/tmtests/tm04/task1.c delete mode 100644 testsuites/tmtests/tm04/tm04.doc delete mode 100644 testsuites/tmtests/tm05/system.h delete mode 100644 testsuites/tmtests/tm05/task1.c delete mode 100644 testsuites/tmtests/tm05/tm05.doc delete mode 100644 testsuites/tmtests/tm06/system.h delete mode 100644 testsuites/tmtests/tm06/task1.c delete mode 100644 testsuites/tmtests/tm06/tm06.doc delete mode 100644 testsuites/tmtests/tm07/system.h delete mode 100644 testsuites/tmtests/tm07/task1.c delete mode 100644 testsuites/tmtests/tm07/tm07.doc delete mode 100644 testsuites/tmtests/tm08/system.h delete mode 100644 testsuites/tmtests/tm08/task1.c delete mode 100644 testsuites/tmtests/tm08/tm08.doc delete mode 100644 testsuites/tmtests/tm09/system.h delete mode 100644 testsuites/tmtests/tm09/task1.c delete mode 100644 testsuites/tmtests/tm09/tm09.doc delete mode 100644 testsuites/tmtests/tm10/system.h delete mode 100644 testsuites/tmtests/tm10/task1.c delete mode 100644 testsuites/tmtests/tm10/tm10.doc delete mode 100644 testsuites/tmtests/tm11/system.h delete mode 100644 testsuites/tmtests/tm11/task1.c delete mode 100644 testsuites/tmtests/tm11/tm11.doc delete mode 100644 testsuites/tmtests/tm12/system.h delete mode 100644 testsuites/tmtests/tm12/task1.c delete mode 100644 testsuites/tmtests/tm12/tm12.doc delete mode 100644 testsuites/tmtests/tm13/system.h delete mode 100644 testsuites/tmtests/tm13/task1.c delete mode 100644 testsuites/tmtests/tm13/tm13.doc delete mode 100644 testsuites/tmtests/tm14/system.h delete mode 100644 testsuites/tmtests/tm14/task1.c delete mode 100644 testsuites/tmtests/tm14/tm14.doc delete mode 100644 testsuites/tmtests/tm15/system.h delete mode 100644 testsuites/tmtests/tm15/task1.c delete mode 100644 testsuites/tmtests/tm15/tm15.doc delete mode 100644 testsuites/tmtests/tm16/system.h delete mode 100644 testsuites/tmtests/tm16/task1.c delete mode 100644 testsuites/tmtests/tm16/tm16.doc delete mode 100644 testsuites/tmtests/tm17/system.h delete mode 100644 testsuites/tmtests/tm17/task1.c delete mode 100644 testsuites/tmtests/tm17/tm17.doc delete mode 100644 testsuites/tmtests/tm18/system.h delete mode 100644 testsuites/tmtests/tm18/task1.c delete mode 100644 testsuites/tmtests/tm18/tm18.doc delete mode 100644 testsuites/tmtests/tm19/system.h delete mode 100644 testsuites/tmtests/tm19/task1.c delete mode 100644 testsuites/tmtests/tm19/tm19.doc delete mode 100644 testsuites/tmtests/tm20/system.h delete mode 100644 testsuites/tmtests/tm20/task1.c delete mode 100644 testsuites/tmtests/tm20/tm20.doc delete mode 100644 testsuites/tmtests/tm21/system.h delete mode 100644 testsuites/tmtests/tm21/task1.c delete mode 100644 testsuites/tmtests/tm21/tm21.doc delete mode 100644 testsuites/tmtests/tm22/system.h delete mode 100644 testsuites/tmtests/tm22/task1.c delete mode 100644 testsuites/tmtests/tm22/tm22.doc delete mode 100644 testsuites/tmtests/tm23/system.h delete mode 100644 testsuites/tmtests/tm23/task1.c delete mode 100644 testsuites/tmtests/tm23/tm23.doc delete mode 100644 testsuites/tmtests/tm24/system.h delete mode 100644 testsuites/tmtests/tm24/task1.c delete mode 100644 testsuites/tmtests/tm24/tm24.doc delete mode 100644 testsuites/tmtests/tm25/system.h delete mode 100644 testsuites/tmtests/tm25/task1.c delete mode 100644 testsuites/tmtests/tm25/tm25.doc delete mode 100644 testsuites/tmtests/tm26/fptest.h delete mode 100644 testsuites/tmtests/tm26/system.h delete mode 100644 testsuites/tmtests/tm26/task1.c delete mode 100644 testsuites/tmtests/tm26/tm26.doc delete mode 100644 testsuites/tmtests/tm27/system.h delete mode 100644 testsuites/tmtests/tm27/task1.c delete mode 100644 testsuites/tmtests/tm27/tm27.doc delete mode 100644 testsuites/tmtests/tm28/system.h delete mode 100644 testsuites/tmtests/tm28/task1.c delete mode 100644 testsuites/tmtests/tm28/tm28.doc delete mode 100644 testsuites/tmtests/tm29/system.h delete mode 100644 testsuites/tmtests/tm29/task1.c delete mode 100644 testsuites/tmtests/tm29/tm29.doc delete mode 100644 testsuites/tmtests/tmck/system.h delete mode 100644 testsuites/tmtests/tmck/task1.c delete mode 100644 testsuites/tmtests/tmck/tmck.doc delete mode 100644 testsuites/tmtests/tmoverhd/dumrtems.h delete mode 100644 testsuites/tmtests/tmoverhd/empty.c delete mode 100644 testsuites/tmtests/tmoverhd/system.h delete mode 100644 testsuites/tmtests/tmoverhd/testtask.c delete mode 100644 testsuites/tmtests/tmoverhd/tmoverhd.doc delete mode 100644 tools/build/Makefile.in delete mode 100644 tools/build/README delete mode 100644 tools/build/binpatch.c delete mode 100644 tools/build/cklength.c delete mode 100644 tools/build/eolstrip.c delete mode 100644 tools/build/install-if-change.in delete mode 100644 tools/build/lock-directory.in delete mode 100644 tools/build/os/Makefile.in delete mode 100644 tools/build/os/msdos/Makefile.in delete mode 100644 tools/build/os/msdos/README delete mode 100644 tools/build/os/msdos/cklength.uue delete mode 100644 tools/build/os/msdos/fixtimer.c delete mode 100644 tools/build/os/msdos/fixtimer.uue delete mode 100644 tools/build/os/msdos/ifc.c delete mode 100644 tools/build/os/msdos/ifc_exe.uue delete mode 100644 tools/build/packhex.c delete mode 100644 tools/build/rcs-clean.in delete mode 100644 tools/build/scripts/Makefile.in delete mode 100644 tools/build/scripts/README delete mode 100644 tools/build/scripts/install-if-change.in delete mode 100644 tools/build/scripts/lock-directory.in delete mode 100644 tools/build/scripts/rcs-clean.in delete mode 100644 tools/build/scripts/search-id.sh delete mode 100644 tools/build/scripts/unlock-directory.in delete mode 100755 tools/build/search-id.sh delete mode 100644 tools/build/src/Makefile.in delete mode 100644 tools/build/src/cklength.c delete mode 100644 tools/build/src/config.h.in delete mode 100644 tools/build/src/eolstrip.c delete mode 100644 tools/build/src/packhex.c delete mode 100644 tools/build/src/unhex.c delete mode 100644 tools/build/unhex.c delete mode 100644 tools/build/unlock-directory.in delete mode 100644 tools/cpu/Makefile.in delete mode 100644 tools/cpu/generic/Makefile.in delete mode 100644 tools/cpu/generic/size_rtems.in delete mode 100644 tools/cpu/hppa1.1/genoffsets.c delete mode 100644 tools/cpu/sh/AUTHORS delete mode 100644 tools/cpu/sh/COPYING delete mode 100644 tools/cpu/sh/Makefile.in delete mode 100644 tools/cpu/sh/TODO delete mode 100644 tools/cpu/sh/sci.c delete mode 100644 tools/cpu/sh/sci.h delete mode 100644 tools/cpu/sh/shgen.c delete mode 100644 tools/cpu/unix/Makefile.in delete mode 100644 tools/cpu/unix/gensize.c delete mode 100644 tools/update/310_to_320_list delete mode 100644 tools/update/Makefile.in delete mode 100644 tools/update/README delete mode 100644 tools/update/update.in delete mode 100644 tools/update/word-replace.in diff --git a/c/build-tools/README b/c/build-tools/README deleted file mode 100644 index 0738a5830e..0000000000 --- a/c/build-tools/README +++ /dev/null @@ -1,24 +0,0 @@ -# -# $Id$ -# - -Misc. support tools for RTEMS workspaces. -More will be added later as they are converted from Teamware -to CVS. - -install-if-change - Smart install script that also can append suffixes as it - installs (suffixes used for debug and profile variants). - Requires bash or ksh. - -rcs-clean - deletes all files from the current directory that can be - re-created from RCS. Careful to not delete locked files. - May be used by 'gmake clobber' - -lock-directory -unlock-directory - traverse a directory structure making it unwritable. - Useful to keep people from accidentally overwriting - "released" trees if they get confused about which - module they have loaded. diff --git a/c/build-tools/cklength.c b/c/build-tools/cklength.c deleted file mode 100644 index 624bf25e70..0000000000 --- a/c/build-tools/cklength.c +++ /dev/null @@ -1,377 +0,0 @@ -/* - * cklength - check the length of lines in a file - * - * This program check to see if the files passed to it on the command line - * contain a line which exceeds the maximum allowable length. The default - * maximum line length is 80. - * - * usage: cklength [ -v ] [ arg ... ] files... - * -l length -- maximum line length - * -v -- verbose - * - * $Id$ - */ - -#define GETOPTARGS "l:nNv" - -char *USAGE = "\ -usage: cklength [ -v ] [ arg ... ] files... \n\ - -l length -- maximum line length\n\ - -n -- report line numbers for offending lines\n\ - -N -- report line numbers and length for offending lines\n\ - -v -- verbose\n\ -\n\ -Print the name of files which have at least 1 line which exceeds the\n\ -maximum line length. The default maximum line length is 80.\n\ -"; - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#ifndef VMS -#ifndef HAVE_STRERROR -extern int sys_nerr; -extern char *sys_errlist[]; - -#define strerror( _err ) \ - ((_err) < sys_nerr) ? sys_errlist [(_err)] : "unknown error" - -#else /* HAVE_STRERROR */ -char *strerror (); -#endif -#else /* VMS */ -char *strerror (int,...); -#endif - - -#define BUFFER_SIZE 512 - -#define SUCCESS 0 -#define FAILURE -1 -#define Failed(x) (((int) (x)) == FAILURE) -#define TRUE 1 -#define FALSE 0 -#define STREQ(a,b) (strcmp(a,b) == 0) -#define NUMELEMS(arr) (sizeof(arr) / sizeof(arr[0])) - -/* - * Definitions for unsigned "ints"; especially for use in data structures - * that will be shared among (potentially) different cpu's (we punt on - * byte ordering problems tho) - */ - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -/* - * vars controlled by command line options - */ - -int verbose = FALSE; /* be verbose */ -int report_line_numbers = FALSE; /* report line numbers of offenders */ -int report_line_length = FALSE; /* report line length of offenders */ - -int line_length = 80; /* maximum allowable line length */ - -extern char *optarg; /* getopt(3) control vars */ -extern int optind, opterr; - -char *progname; /* for error() */ - -int process(char *arg); -void error(int errn, ...); -long getparm(char *s, long min, long max, char *msg); - -#define ERR_ERRNO (1<<((sizeof(int) * 8) - 2)) /* hi bit; use 'errno' */ -#define ERR_FATAL (ERR_ERRNO / 2) /* fatal error ; no return */ -#define ERR_ABORT (ERR_ERRNO / 4) /* fatal error ; abort */ -#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */ - -#define stol(p) strtol(p, (char **) NULL, 0) -int Open(), Read(), Write(); - -int main( - int argc, - char **argv -) -{ - register int c; - int showusage = FALSE; /* usage error? */ - int rc = 0; - - /* - * figure out invocation leaf-name - */ - - if ((progname = strrchr(argv[0], '/')) == (char *) NULL) - progname = argv[0]; - else - progname++; - - argv[0] = progname; /* for getopt err reporting */ - - /* - * Check options and arguments. - */ - - opterr = 0; /* we'll report all errors */ - while ((c = getopt(argc, argv, GETOPTARGS)) != EOF) - switch (c) - { - case 'l': /* line length */ - line_length = atoi( optarg ); - if ( line_length < 0 || line_length > BUFFER_SIZE ) - error(ERR_FATAL, "(%d) is illegal line length\n",line_length); - break; - - case 'n': /* toggle report_line_numbers */ - report_line_numbers = ! report_line_numbers; - break; - - case 'N': /* toggle both reports */ - report_line_numbers = ! report_line_numbers; - report_line_length = ! report_line_length; - break; - - case 'v': /* toggle verbose */ - verbose = ! verbose; - break; - - case '?': - showusage = TRUE; - } - - if (showusage) - { - (void) fprintf(stderr, "%s", USAGE); - exit(1); - } - - /* - * traverse and process the arguments - */ - - for ( ; argv[optind]; optind++) - if (Failed(process(argv[optind]))) - rc = FAILURE; - - return rc; -} - - -/* - * process(arg) - */ - -int -process(char *arg) -{ - FILE *in; - char *bptr; - char buffer[ BUFFER_SIZE ]; - int line_number; - int length; - int count; - int rc = SUCCESS; /* succeed by default */ - - in = fopen( arg, "r" ); - if (!in) - error( ERR_ERRNO | ERR_FATAL, "Unable to open file (%s)\n", arg ); - - count = 0; - - for ( line_number=1 ; ; line_number++ ) { - bptr = fgets( buffer, BUFFER_SIZE, in ); - if (!bptr) - break; - - /* - * Don't count the carriage return. - */ - - length = strlen( buffer ) - 1; - - if ( length <= line_length ) - continue; - - if ( count == 0 ) { - fprintf( stderr, "%s\n", arg ); - if ( !report_line_numbers ) - break; - } - - if ( verbose ) - fprintf( stderr, "TOO LONG:%d: %s\n", line_number, buffer ); - - if ( report_line_numbers ) { - if ( report_line_length ) - fprintf( stderr, "%d: %d\n" , line_number, length ); - else - fprintf( stderr, "%d\n" , line_number ); - } - - count++; - - } - - fclose( in ); - return rc; -} - -/* - * error(errn, arglist) - * report an error to stderr using printf(3) conventions. - * Any output is preceded by ': ' - * - * Uses ERR_FATAL bit to request exit(errn) - * ERR_ABORT to request abort() - * ERR_ERRNO to indicate use of errno instead of argument. - * - * If resulting 'errn' is non-zero, it is assumed to be an 'errno' and its - * associated error message is appended to the output. - */ - -/*VARARGS*/ - -void -error(int error_flag, ...) -{ - va_list arglist; - register char *format; - int local_errno; - - extern int errno; - - (void) fflush(stdout); /* in case stdout/stderr same */ - - local_errno = error_flag & ~ERR_MASK; - if (error_flag & ERR_ERRNO) /* use errno? */ - local_errno = errno; - - va_start(arglist, error_flag); - format = va_arg(arglist, char *); - (void) fprintf(stderr, "%s: ", progname); - (void) vfprintf(stderr, format, arglist); - va_end(arglist); - - if (local_errno) - (void) fprintf(stderr, " (%s)\n", strerror(local_errno)); - - (void) fflush(stderr); - - if (error_flag & (ERR_FATAL | ERR_ABORT)) - { - if (error_flag & ERR_FATAL) - { - error(0, "fatal error, exiting"); - exit(local_errno ? local_errno : 1); - } - else - { - error(0, "fatal error, aborting"); - abort(); - } - } -} - -long -getparm(char *s, - long min, - long max, - char *msg) -{ - long val; - - if ( ! strchr("0123456789-", *s)) - { - error(ERR_FATAL, "'%s' is not a number", s); - return min; - } - - val = strtol(s, (char **) NULL, 0); - if ((val < min) || (val > max)) - { - if (min == max) - error(ERR_FATAL, "%s can only be %ld", s, min); - else - error(ERR_FATAL, "%s must be between %ld and %ld", msg, min, max); - } - - return val; -} - - -/* - * Open() - * Perform open(2), returning the file descriptor. Prints - * error message if open fails. - */ - -int -Open(char *file, - int oflag, - int mode) -{ - int O_fd; - - if (Failed(O_fd = open(file, oflag, mode))) - error( - ERR_ERRNO | ERR_FATAL, - "open('%s', 0x%x, 0%o) failed", file, oflag, mode - ); - - return O_fd; -} - -/* - * Read() - * Perform read(2); prints error message if fails. - */ - -int -Read(int file, - char *buffer, - unsigned int count) -{ - int nbytes; - - if (Failed(nbytes = read(file, buffer, count))) - error( - ERR_ERRNO | ERR_FATAL, - "read(%d, 0x%x, %d) failed", file, buffer, count - ); - - return nbytes; -} - -/* - * Write() - * Perform write(2); prints error message if fails. - */ - -int -Write(int file, - char *buffer, - unsigned int count) -{ - int nbytes; - - if (Failed(nbytes = write(file, buffer, count))) - error( - ERR_ERRNO | ERR_FATAL, - "write(%d, 0x%x, %d) failed", file, buffer, count - ); - - return nbytes; -} diff --git a/c/build-tools/eolstrip.c b/c/build-tools/eolstrip.c deleted file mode 100644 index c944ae6663..0000000000 --- a/c/build-tools/eolstrip.c +++ /dev/null @@ -1,366 +0,0 @@ -/* - * eolstrip - strip white space from end of lines - * - * This program strips the white space from the end of every line in the - * specified program. - * - * usage: eolstrip [ -v ] [ arg ... ] files... - * -v -- verbose - * - * $Id$ - */ - -#define GETOPTARGS "vt" - -char *USAGE = "\ -usage: cklength [ -v ] [ arg ... ] files... \n\ - -v -- verbose\n\ - -t -- test only .. DO NOT OVERWRITE FILE!!!\n\ -\n\ -Strip the white space from the end of every line on the list of files.\n\ -"; - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#ifndef VMS -#ifndef HAVE_STRERROR -extern int sys_nerr; -extern char *sys_errlist[]; - -#define strerror( _err ) \ - ((_err) < sys_nerr) ? sys_errlist [(_err)] : "unknown error" - -#else /* HAVE_STRERROR */ -char *strerror (); -#endif -#else /* VMS */ -char *strerror (int,...); -#endif - - -#define BUFFER_SIZE 2048 -#define MAX_PATH 2048 - -#define SUCCESS 0 -#define FAILURE -1 -#define Failed(x) (((int) (x)) == FAILURE) -#define TRUE 1 -#define FALSE 0 -#define STREQ(a,b) (strcmp(a,b) == 0) -#define NUMELEMS(arr) (sizeof(arr) / sizeof(arr[0])) - -/* - * Definitions for unsigned "ints"; especially for use in data structures - * that will be shared among (potentially) different cpu's (we punt on - * byte ordering problems tho) - */ - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -/* - * vars controlled by command line options - */ - -int verbose = FALSE; /* be verbose */ -int test_only = FALSE; /* test only */ - -extern char *optarg; /* getopt(3) control vars */ -extern int optind, opterr; - -char *progname; /* for error() */ - -int process(char *arg); -void error(int errn, ...); -long getparm(char *s, long min, long max, char *msg); - -#define ERR_ERRNO (1<<((sizeof(int) * 8) - 2)) /* hi bit; use 'errno' */ -#define ERR_FATAL (ERR_ERRNO / 2) /* fatal error ; no return */ -#define ERR_ABORT (ERR_ERRNO / 4) /* fatal error ; abort */ -#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */ - -#define stol(p) strtol(p, (char **) NULL, 0) -int Open(), Read(), Write(); - -int main( - int argc, - char **argv -) -{ - register int c; - int showusage = FALSE; /* usage error? */ - int rc = 0; - - /* - * figure out invocation leaf-name - */ - - if ((progname = strrchr(argv[0], '/')) == (char *) NULL) - progname = argv[0]; - else - progname++; - - argv[0] = progname; /* for getopt err reporting */ - - /* - * Check options and arguments. - */ - - opterr = 0; /* we'll report all errors */ - while ((c = getopt(argc, argv, GETOPTARGS)) != EOF) - switch (c) - { - case 't': /* toggle test only mode */ - test_only = ! test_only; - break; - - case 'v': /* toggle verbose */ - verbose = ! verbose; - break; - - case '?': - showusage = TRUE; - } - - if (showusage) - { - (void) fprintf(stderr, "%s", USAGE); - exit(1); - } - - /* - * traverse and process the arguments - */ - - for ( ; argv[optind]; optind++) - if (Failed(process(argv[optind]))) - rc = FAILURE; - - return rc; -} - - -/* - * process(arg) - */ - -int -process(char *arg) -{ - FILE *in; - FILE *out = (FILE *) 0; - char outname[ MAX_PATH ]; - char *bptr; - char buffer[ BUFFER_SIZE ]; - int length; - int line_number; - int rc = SUCCESS; /* succeed by default */ - - in = fopen( arg, "r" ); - if (!in) - error( ERR_ERRNO | ERR_FATAL, "Unable to open file (%s)\n", arg ); - - if ( !test_only ) { - sprintf( outname, "%s.eoltmp", arg ); - - out = fopen( outname, "w" ); - if (!out) - error( ERR_ERRNO | ERR_FATAL, "Unable to open file (%s)\n", arg ); - } - - if ( verbose ) - fprintf( stderr, "Processing %s\n", arg ); - - for ( line_number=1 ; ; line_number++ ) { - bptr = fgets( buffer, BUFFER_SIZE, in ); - if (!bptr) - break; - - /* - * Don't count the carriage return. - */ - - length = strlen( buffer ) - 1; - - if ( buffer[ length ] != '\n' ) - error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg); - - while ( isspace( (int) buffer[ length ] ) ) - buffer[ length-- ] = '\0'; - - if ( test_only ) { - fprintf( stderr, "%s\n", arg ); - break; - } - - fprintf( out, "%s\n", buffer ); - } - - fclose( in ); - if ( !test_only ) { - fclose( out ); - rename( outname, arg ); - } - return rc; -} - -/* - * error(errn, arglist) - * report an error to stderr using printf(3) conventions. - * Any output is preceded by ': ' - * - * Uses ERR_FATAL bit to request exit(errn) - * ERR_ABORT to request abort() - * ERR_ERRNO to indicate use of errno instead of argument. - * - * If resulting 'errn' is non-zero, it is assumed to be an 'errno' and its - * associated error message is appended to the output. - */ - -/*VARARGS*/ - -void -error(int error_flag, ...) -{ - va_list arglist; - register char *format; - int local_errno; - - extern int errno; - - (void) fflush(stdout); /* in case stdout/stderr same */ - - local_errno = error_flag & ~ERR_MASK; - if (error_flag & ERR_ERRNO) /* use errno? */ - local_errno = errno; - - va_start(arglist, error_flag); - format = va_arg(arglist, char *); - (void) fprintf(stderr, "%s: ", progname); - (void) vfprintf(stderr, format, arglist); - va_end(arglist); - - if (local_errno) - (void) fprintf(stderr, " (%s)\n", strerror(local_errno)); - else - (void) fprintf(stderr, "\n"); - - (void) fflush(stderr); - - if (error_flag & (ERR_FATAL | ERR_ABORT)) - { - if (error_flag & ERR_FATAL) - { - error(0, "fatal error, exiting"); - exit(local_errno ? local_errno : 1); - } - else - { - error(0, "fatal error, aborting"); - abort(); - } - } -} - -long -getparm(char *s, - long min, - long max, - char *msg) -{ - long val; - - if ( ! strchr("0123456789-", *s)) - { - error(ERR_FATAL, "'%s' is not a number", s); - return min; - } - - val = strtol(s, (char **) NULL, 0); - if ((val < min) || (val > max)) - { - if (min == max) - error(ERR_FATAL, "%s can only be %ld", s, min); - else - error(ERR_FATAL, "%s must be between %ld and %ld", msg, min, max); - } - - return val; -} - - -/* - * Open() - * Perform open(2), returning the file descriptor. Prints - * error message if open fails. - */ - -int -Open(char *file, - int oflag, - int mode) -{ - int O_fd; - - if (Failed(O_fd = open(file, oflag, mode))) - error( - ERR_ERRNO | ERR_FATAL, - "open('%s', 0x%x, 0%o) failed", file, oflag, mode - ); - - return O_fd; -} - -/* - * Read() - * Perform read(2); prints error message if fails. - */ - -int -Read(int file, - char *buffer, - unsigned int count) -{ - int nbytes; - - if (Failed(nbytes = read(file, buffer, count))) - error( - ERR_ERRNO | ERR_FATAL, - "read(%d, 0x%x, %d) failed", file, buffer, count - ); - - return nbytes; -} - -/* - * Write() - * Perform write(2); prints error message if fails. - */ - -int -Write(int file, - char *buffer, - unsigned int count) -{ - int nbytes; - - if (Failed(nbytes = write(file, buffer, count))) - error( - ERR_ERRNO | ERR_FATAL, - "write(%d, 0x%x, %d) failed", file, buffer, count - ); - - return nbytes; -} diff --git a/c/build-tools/install-if-change.in b/c/build-tools/install-if-change.in deleted file mode 100644 index b2f3cb04bb..0000000000 --- a/c/build-tools/install-if-change.in +++ /dev/null @@ -1,142 +0,0 @@ -#!@KSH@ -p -# -# Either bash or ksh will be ok for this; requires (( )) arithmetic -# (-p above just says to not parse $ENV file; makes it faster for -# those of us who set $ENV) -# -# install files if they have changed by running 'cmp', then 'install' -# as necessary. -# -# Optionally, can append a suffix before last existing suffix (if any) -# -# NOTE -# We avoid using typical install(1M) programs since they have -# large variability across systems and we also need to support ou -# -V option. -# So we just copy and chmod by hand. -# -# $Id$ -# - -progname=`basename $0` -#progname=${0##*/} # fast basename hack for ksh, bash - -USAGE=\ -"usage: $progname [ -vmV ] file [ file ... ] dest-directory-or-file - -v -- verbose - -V suffix -- suffix to append to targets (before any . suffix) - eg: -V _g would change 'foo' to 'foo_g' and - 'libfoo.a' to 'libfoo_g.a' - -m mode -- mode for new file(s)" - -fatal() { - if [ "$1" ] - then - echo $* >&2 - fi - echo "$USAGE" 1>&2 - exit 1 -} - -# -# process the options -# - -verbose="" -suffix="" -mode="" - -while getopts vm:V: OPT -do - case "$OPT" in - v) - verbose="yes";; - V) - eval suffix=$OPTARG;; - m) - mode="$OPTARG";; - *) - fatal - esac -done - -shiftcount=`expr $OPTIND - 1` -shift $shiftcount - -args=$* - -# -# Separate source file(s) from dest directory or file -# - -files="" -dest="" -for d in $args -do - files="$files $dest" - dest=$d -done - -if [ ! "$files" ] || [ ! "$dest" ] -then - fatal "missing files or invalid destination" -fi - -# -# Process the arguments -# - -targets="" -for f in $files -do - # leaf=`basename $f` - leaf=${f##*/} # fast basename hack for ksh, bash - - target=$dest - if [ -d $dest ] - then - # if we were given a suffix, then add it as appropriate - if [ "$suffix" ] - then - case $f in - *.*) - # leaf=`echo $leaf | - # /bin/sed "s/\([~\.]*\)\.\(.*\)$/\1$suffix.\2/"` - # ksh,bash hack for above sed script - leaf=${leaf%%.*}$suffix.${leaf#*.} - - [ "$verbose" = "yes" ] && - echo "$progname: $f will be installed as $leaf" - ;; - *) - leaf=$leaf$suffix;; - esac - fi - target=$target/$leaf - fi - - [ ! -r $f ] && fatal "can not read $f" - - if cmp -s $f $target - then - [ "$verbose" = "yes" ] && echo "'$f' not newer than '$target'" - else - [ "$verbose" = "yes" ] && echo "rm -f $target" - rm -f $target - echo "cp -p $f $target" - cp -p $f $target || exit 1 - targets="$targets $target" # keep list for chmod below - fi -done - -if [ "$mode" -a "$targets" ] -then - [ "$verbose" = "yes" ] && echo "chmod $mode $targets" - chmod $mode $targets -fi - -exit 0 - -# Local Variables: *** -# mode:ksh *** -# End: *** diff --git a/c/build-tools/lock-directory.in b/c/build-tools/lock-directory.in deleted file mode 100644 index 1c205cdec0..0000000000 --- a/c/build-tools/lock-directory.in +++ /dev/null @@ -1,43 +0,0 @@ -#!@KSH@ -# -# $Id$ -# -# Make a directory write protected -# Used to write protect the install point after a build -# to prevent inadvertant overwriting. -# - -# is a particular command available on this machine? -# -cmd_avail() -{ - set -- `type $1 2>&1` - if [ "$2" = "not" -a "$3" = "found" ] || [ "$3" = "not" -a "$4" = "found" ] - then - return 1 - else - return 0 - fi -} - -lock_directory() { - l_dir=$1/. # get any symlink out of the way using '.' - if [ -d $l_dir ] - then - find $l_dir -type d -perm -0200 -print | $XARGS chmod -w - fi -} - -# Use gnu xargs if available; faster, more reliable in general -XARGS=xargs -cmd_avail gxargs && XARGS=gxargs - -for dir -do - lock_directory $dir -done - -# Local Variables: *** -# mode:ksh *** -# End: *** - diff --git a/c/build-tools/packhex.c b/c/build-tools/packhex.c deleted file mode 100644 index 3b85a7c927..0000000000 --- a/c/build-tools/packhex.c +++ /dev/null @@ -1,565 +0,0 @@ - -/***** P A C K H E X . C ************************************************ - * - * Packhex is a hex-file compaction utility. It attempts to concatenate - * hex records to produce more size-efficient packaging. - * - * Limitations: Input files must be correctly formatted. This utility - * is not robust enough to detect hex-record formatting - * errors. - * - * Published: May 1993 Embedded Systems Programming magazine - * "Creating Faster Hex Files" - * - * URL: ESP magazine: http://www.embedded.com - * Source Code: ftp://ftp.mfi.com/pub/espmag/1993/pakhex.zip - * - * Author: Mark Gringrich - * - * Compiler: Microsoft C 6.0 - * cl /F 1000 packhex.c - * - * - * $Id$ - * - **************************************************************************/ - - -/* #define SMALLER_RECORDS */ -#ifdef SMALLER_RECORDS -#define MAX_LEN_S1_RECS 128 -#define MAX_LEN_S2_RECS 128 -#define MAX_LEN_S3_RECS 128 -#else -#define MAX_LEN_S1_RECS 252 -#define MAX_LEN_S2_RECS 251 -#define MAX_LEN_S3_RECS 250 -#endif - - -/*--------------------------------- includes ---------------------------------*/ - -#include -#include -#include - -#include "config.h" - -#ifndef VMS -#ifndef HAVE_STRERROR -extern int sys_nerr; -extern char *sys_errlist[]; - -#define strerror( _err ) \ - ((_err) < sys_nerr) ? sys_errlist [(_err)] : "unknown error" - -#else /* HAVE_STRERROR */ -char *strerror (); -#endif -#else /* VMS */ -char *strerror (int,...); -#endif - -#if defined(__unix__) && !defined(EXIT_FAILURE) -#define EXIT_FAILURE -1 -#define EXIT_SUCCESS 0 -#endif - -/*--------------------------------- defines ----------------------------------*/ - -#define YES 1 -#define MAX_LINE_SIZE 600 -#define EOS '\0' - - -/*---------------------------------- macros ----------------------------------*/ - -/* Convert ASCII hexadecimal digit to value. */ - -#define HEX_DIGIT( C ) ( ( ( ( C ) > '9' ) ? ( C ) + 25 : ( C ) ) & 0xF ) - - -/*--------------------------------- typedefs ---------------------------------*/ - -typedef unsigned char Boolean; -typedef unsigned char Uchar; -typedef unsigned int Uint; -typedef unsigned long Ulong; - -typedef struct /* Functions and constant returning Hex-record vital stats. */ -{ - Boolean ( *is_data_record )( char * ); - Ulong ( *get_address )( char * ); - Uint ( *get_data_count )( char * ); - const Uint max_data_count; - char *( *get_data_start )( char * ); - void ( *put_data_record )( Uint, Ulong, char * ); -} Rec_vitals; - - -/*--------------------------- function prototypes ----------------------------*/ - -Rec_vitals * identify_first_data_record( char *, int ); -Ulong get_ndigit_hex( char *, int ); - - -/*----------------------------- Intel Hex format -----------------------------*/ - -/* - * Intel Hex data-record layout - * - * :aabbbbccd...dee - * - * : - header character - * aa - record data byte count, a 2-digit hex value - * bbbb - record address, a 4-digit hex value - * cc - record type, a 2-digit hex value: - * "00" is a data record - * "01" is an end-of-data record - * "02" is an extended-address record - * "03" is a start record - * d...d - data (always an even number of chars) - * ee - record checksum, a 2-digit hex value - * checksum = 2's complement - * [ (sum of bytes: aabbbbccd...d) modulo 256 ] - */ - - -Boolean is_intel_data_rec( char * rec_str ) -{ - return( ( rec_str[ 0 ] == ':' ) && ( rec_str[ 8 ] == '0' ) ); -} - -Uint get_intel_rec_data_count( char * rec_str ) -{ - return( ( Uint ) get_ndigit_hex( rec_str + 1, 2 ) ); -} - -Ulong get_intel_rec_address( char * rec_str ) -{ - return( get_ndigit_hex( rec_str + 3, 4 ) ); -} - -char * get_intel_rec_data_start( char * rec_str ) -{ - return( rec_str + 9 ); -} - -void put_intel_data_rec( Uint count, Ulong address, char * data_str ) -{ - char *ptr; - Uint sum = count + ( address >> 8 & 0xff ) + ( address & 0xff ); - - for ( ptr = data_str ; *ptr != EOS ; ptr += 2 ) - sum += ( Uint ) get_ndigit_hex( ptr, 2 ); - - printf( - ":%02X%04lX00%s%02X\n", count, address, data_str, (~sum + 1) & 0xff - ); -} - - -Rec_vitals intel_hex = -{ - is_intel_data_rec, - get_intel_rec_address, - get_intel_rec_data_count, - 255, /* Maximum data bytes in a record. */ - get_intel_rec_data_start, - put_intel_data_rec -}; - - -/*------------------------- Motorola S1-record format ------------------------*/ - -/* - * Motorola S-record data-record layout - * - * Sabbc...cd...dee - * - * S - header character - * a - record type, a 1-digit value: - * "0" is a header record - * "1" is a 2-byte-address data record - * "2" is a 3-byte-address data record - * "3" is a 4-byte-address data record - * "7" is a 4-byte-address end-of-data record - * "8" is a 3-byte-address end-of-data record - * "9" is a 2-byte-address end-of-data record - * bb - record length in bytes, a 2-digit hex value - * (record length doesn't count the header/type - * chars and checksum byte) - * c...c - record address, a 4-, 6-, or 8-digit value, - * depending on record type - * d...d - data (always an even number of chars) - * ee - record checksum, a 2-digit hex value - * checksum = 1's complement - * [ (sum of all bytes: bbc..cd...d) modulo 256 ] - */ - -#define S1_COUNT_OFFSET 3 - - -Boolean is_moto_s1_data_rec( char * rec_str ) -{ - return ( ( rec_str[ 0 ] == 'S' ) && ( rec_str[ 1 ] == '1' ) ); -} - -Uint get_moto_s1_rec_data_count( char * rec_str ) -{ - return( ( Uint ) get_ndigit_hex( rec_str + 2, 2 ) - S1_COUNT_OFFSET ); -} - -Ulong get_moto_s1_rec_address( char * rec_str ) -{ - return( get_ndigit_hex( rec_str + 4, 4 ) ); -} - -char * get_moto_s1_rec_data_start( char * rec_str ) -{ - return( rec_str + 8 ); -} - -void put_moto_s1_data_rec( Uint count, Ulong address, char * data_str ) -{ - char *ptr; - Uint sum = S1_COUNT_OFFSET + count + - ( address >> 8 & 0xff ) + ( address & 0xff ); - - for ( ptr = data_str ; *ptr != EOS ; ptr += 2 ) - sum += ( Uint ) get_ndigit_hex( ptr, 2 ); - - printf( - "S1%02X%04lX%s%02X\n", - count + S1_COUNT_OFFSET, address, data_str, ~sum & 0xff - ); -} - - -Rec_vitals motorola_s1_rec = -{ - is_moto_s1_data_rec, - get_moto_s1_rec_address, - get_moto_s1_rec_data_count, - MAX_LEN_S1_RECS, /* Maximum data bytes in a record. */ - get_moto_s1_rec_data_start, - put_moto_s1_data_rec -}; - - -/*------------------------- Motorola S2-record format ------------------------*/ - -#define S2_COUNT_OFFSET 4 - -Boolean is_moto_s2_data_rec( char * rec_str ) -{ - return ( ( rec_str[ 0 ] == 'S' ) && ( rec_str[ 1 ] == '2' ) ); -} - -Uint get_moto_s2_rec_data_count( char * rec_str ) -{ - return( ( Uint ) get_ndigit_hex( rec_str + 2, 2 ) - S2_COUNT_OFFSET ); -} - -Ulong get_moto_s2_rec_address( char * rec_str ) -{ - return( get_ndigit_hex( rec_str + 4, 6 ) ); -} - -char * get_moto_s2_rec_data_start( char * rec_str ) -{ - return( rec_str + 10 ); -} - -void put_moto_s2_data_rec( Uint count, Ulong address, char * data_str ) -{ - char *ptr; - Uint sum = S2_COUNT_OFFSET + count + ( address >> 16 & 0xff ) + - ( address >> 8 & 0xff ) + - ( address & 0xff ); - - for ( ptr = data_str ; *ptr != EOS ; ptr += 2 ) - sum += ( Uint ) get_ndigit_hex( ptr, 2 ); - - printf( - "S2%02X%06lX%s%02X\n", - count + S2_COUNT_OFFSET, address, data_str, ~sum & 0xff - ); -} - - -Rec_vitals motorola_s2_rec = -{ - is_moto_s2_data_rec, - get_moto_s2_rec_address, - get_moto_s2_rec_data_count, - MAX_LEN_S2_RECS, /* Maximum data bytes in a record. */ - get_moto_s2_rec_data_start, - put_moto_s2_data_rec -}; - - -/*------------------------- Motorola S3-record format ------------------------*/ - -#define S3_COUNT_OFFSET 5 - -Boolean is_moto_s3_data_rec( char * rec_str ) -{ - return ( ( rec_str[ 0 ] == 'S' ) && ( rec_str[ 1 ] == '3' ) ); -} - -Uint get_moto_s3_rec_data_count( char * rec_str ) -{ - return( ( Uint ) get_ndigit_hex( rec_str + 2, 2 ) - S3_COUNT_OFFSET ); -} - -Ulong get_moto_s3_rec_address( char * rec_str ) -{ - return( get_ndigit_hex( rec_str + 4, 8 ) ); -} - -char * get_moto_s3_rec_data_start( char * rec_str ) -{ - return( rec_str + 12 ); -} - -void put_moto_s3_data_rec( Uint count, Ulong address, char * data_str ) -{ - char *ptr; - Uint sum = S3_COUNT_OFFSET + count + ( address >> 24 & 0xff ) + - ( address >> 16 & 0xff ) + - ( address >> 8 & 0xff ) + - ( address & 0xff ); - - for ( ptr = data_str ; *ptr != EOS ; ptr += 2 ) - sum += ( Uint ) get_ndigit_hex( ptr, 2 ); - - printf( - "S3%02X%08lX%s%02X\n", - count + S3_COUNT_OFFSET, address, data_str, ~sum & 0xff - ); -} - - -Rec_vitals motorola_s3_rec = -{ - is_moto_s3_data_rec, - get_moto_s3_rec_address, - get_moto_s3_rec_data_count, - MAX_LEN_S3_RECS, /* Maximum data bytes in a record. */ - get_moto_s3_rec_data_start, - put_moto_s3_data_rec -}; - - -/*-------------------- Put your favorite hex format here ---------------------*/ - -/* - * * * * The following is a template for an additional hex format: * * * - * - * - * Boolean is_X_data_rec( char * rec_str ) {} - * - * Uint get_X_rec_data_count( char * rec_str ) {} - * - * Ulong get_X_rec_address( char * rec_str ) {} - * - * char * get_X_rec_data_start( char * rec_str ) {} - * - * void put_X_data_rec( Uint count, Ulong address, char * data_str ) {} - * - * Rec_vitals X_rec = - * { - * is_X_data_rec, - * get_X_rec_address, - * get_X_rec_data_count, - * MAXIMUM DATA BYTES IN A RECORD, - * get_X_rec_data_start, - * put_X_data_rec - * }; - * - */ - -/*----------------------------------------------------------------------------*/ - - -/* - * Put address of additional Rec_vitals structures - * in this array, before the NULL entry. - */ - -Rec_vitals *formats[] = -{ - &intel_hex, - &motorola_s1_rec, - &motorola_s2_rec, - &motorola_s3_rec, - ( Rec_vitals * ) NULL -}; - - -/**** main ***************************************************************** -* -* -* Expects: Nothing (no command-line parameters). -* -* Returns: Exit status (EXIT_SUCCESS or EXIT_FAILURE). -* -* Reads hex records on the standard input and attempts to -* splice adjacent data fields together. Results appear on -* the standard output. -* -*******************************************************************************/ - -int main( - int argc, - char **argv -) -{ - - char inbuff[ MAX_LINE_SIZE ], outbuff[ MAX_LINE_SIZE ]; - char *in_dptr, *out_dptr; - int d_total, d_count, d_excess, n; - int length; - Ulong in_rec_addr, out_rec_addr = 0; - Rec_vitals *rptr; - - - /* Sift through file until first hex record is identified. */ - - rptr = identify_first_data_record( inbuff, MAX_LINE_SIZE ); - if ( rptr == NULL ) - { - fputs( "No hex records found.\n", stderr ); - exit( EXIT_FAILURE ); - } - - - /* Attempt data-record splicing until end-of-file is reached. */ - d_total = 0; - for (;;) { - if ( rptr->is_data_record( inbuff ) == YES ) - { /* Input record is a data record. */ - d_count = rptr->get_data_count( inbuff ); - in_rec_addr = rptr->get_address( inbuff ); - in_dptr = rptr->get_data_start( inbuff ); - - if ( d_total == 0 || in_rec_addr != out_rec_addr + d_total ) - { /* Begin a new output record. */ - if ( d_total != 0 ) - rptr->put_data_record( d_total, out_rec_addr, outbuff ); - out_dptr = outbuff; - n = d_total = d_count; - out_rec_addr = in_rec_addr; - } - else if - ( ( d_excess = d_total + d_count - rptr->max_data_count ) > 0 ) - { /* Output a maximum-length record, then start a new record. */ - strncat( outbuff, in_dptr, 2 * ( d_count - d_excess ) ); - rptr->put_data_record( - rptr->max_data_count, out_rec_addr, outbuff - ); - in_dptr += 2 * ( d_count - d_excess ); - out_dptr = outbuff; - n = d_total = d_excess; - out_rec_addr += rptr->max_data_count; - } - else - { /* Append input record's data field with accumulated data. */ - out_dptr = outbuff + ( 2 * d_total ); - d_total += n = d_count; - } - strncpy( out_dptr, in_dptr, 2 * n ); - out_dptr[ 2 * n ] = EOS; - } - else - { /* Not a data record; - * flush accumulated data then echo non-data record. - */ - if ( d_total != 0 ) - { - rptr->put_data_record( d_total, out_rec_addr, outbuff ); - d_total = 0; - } - puts( inbuff ); - } - - inbuff[ MAX_LINE_SIZE - 1 ] = '\0'; - if ( !fgets( inbuff, MAX_LINE_SIZE, stdin ) ) - break; - if ( inbuff[ MAX_LINE_SIZE - 1 ] ) { - fprintf( stderr, "Input line too long" ); - exit( 1 ); - } - length = strlen(inbuff); - inbuff[length - 1] = '\0'; - - } - - - return ( EXIT_SUCCESS ); - -} - - -/**** identify_first_data_record ******************************************* -* -* Expects: Pointer to hex-record line buffer. -* -* Returns: Pointer to hex-record structure (NULL if no match found). -* -* Reads the standard input, line by line, searching for a valid -* record header character. If a valid header is found, a pointer -* to the hex-record's type structure is returned, otherwise NULL. -* -* The input-stream pointer is left pointing to the first valid hex record. -* -*******************************************************************************/ - -Rec_vitals * identify_first_data_record( char * buff_ptr, int max_length ) -{ - Rec_vitals ** ptr; - int length; - - - - for ( ;; ) { - - buff_ptr[ max_length - 1 ] = '\0'; - if ( !fgets( buff_ptr, max_length, stdin ) ) - break; - if ( buff_ptr[ max_length - 1 ] ) { - fprintf( stderr, "Input line too long" ); - exit( 1 ); - } - length = strlen(buff_ptr); - buff_ptr[length - 1] = '\0'; - - for ( ptr = formats ; *ptr != ( Rec_vitals * ) NULL ; ptr++ ) - if ( ( *ptr )->is_data_record( buff_ptr ) == YES ) - return( *ptr ); /* Successful return. */ - - puts( buff_ptr ); /* Echo non-hex-record line. */ - } - - return( ( Rec_vitals * ) NULL ); /* Unsuccessful return. */ -} - - -/**** get_ndigit_hex ******************************************************* -* -* Expects: Pointer to first ASCII hexadecimal digit, number of digits. -* -* Returns: Value of hexadecimal string as an unsigned long. -* -*******************************************************************************/ - -Ulong get_ndigit_hex( char * cptr, int digits ) -{ - Ulong value; - - for ( value = 0 ; --digits >= 0 ; cptr++ ) - value = ( value * 16L ) + HEX_DIGIT( *cptr ); - - return( value ); -} diff --git a/c/build-tools/rcs-clean.in b/c/build-tools/rcs-clean.in deleted file mode 100644 index 83fed05128..0000000000 --- a/c/build-tools/rcs-clean.in +++ /dev/null @@ -1,73 +0,0 @@ -#!@KSH@ -p -# -# $Id$ -# -# Delete all files from the current directory that can be recreated -# via RCS 'co' commonds -# Used by 'make clobber' -# - -progname=${0##*/} # fast basename hack for ksh, bash - -USAGE=\ -"usage: $progname [ -v ]" - -fatal() { - if [ "$1" ] - then - echo $* >&2 - fi - echo "$USAGE" 1>&2 - exit 1 -} - -# -# process the options -# - -verbose="" - -while getopts v OPT -do - case "$OPT" in - v) - verbose="yes";; - *) - fatal - esac -done - -let $((shiftcount = $OPTIND - 1)) -shift $shiftcount - -args=$* -[ "$args" ] && fatal - -[ -d RCS/. ] || exit 0 - -# there is probably a better way to do this - -rcs_files=`echo RCS/*,v | sed -e 's?RCS/??g' -e's/,v//g'` - -kills="" -for f in $rcs_files -do - # build list of all files in RCS/*,v that are *not* locked - if [ -f $f ] && [ ! -w $f ] && [ -f RCS/$f,v ] - then - locked=`rlog -L -R $f` - [ "$locked" = "" ] && kills="$kills $f" - fi -done - -if [ "$kills" ] -then - [ "$verbose" ] && echo rm -f $kills - rm -f $kills -fi - -exit 0 - -# Local Variables: *** -# mode:ksh *** -# End: *** diff --git a/c/build-tools/search-id.sh b/c/build-tools/search-id.sh deleted file mode 100644 index a94d2d7cc9..0000000000 --- a/c/build-tools/search-id.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# -# $Id$ -# - -find $1 -type f -a ! -name "*.scn" -a ! -name "bsp_specs" -a \ - -print > /tmp/$$.0 -find $1 -type f -a ! -name "*.scn" -a ! -name "bsp_specs" -a \ - -exec grep -l '$Id' {} \; > /tmp/$$.1 - -diff /tmp/$$.0 /tmp/$$.1 > /tmp/$$.2 - -grep "<" /tmp/$$.2 | sed 's/< //' >&1 - -rm -f /tmp/$$* diff --git a/c/build-tools/unhex.c b/c/build-tools/unhex.c deleted file mode 100644 index 6a75a13ae7..0000000000 --- a/c/build-tools/unhex.c +++ /dev/null @@ -1,738 +0,0 @@ -/* - * unhex - * convert a hex file to binary equivalent. If more than one file name - * is given, then the output will be logically concatenated together. - * stdin and stdout are defaults. Verbose will enable checksum output. - * - * Supported input formats are Intel hex, Motorola S records, and TI 'B' - * records. - * - * Intel hex input format is - * Byte - * 1 Colon : - * 2..3 Record length, eg: "20" - * 4..7 load address nibbles - * 8..9 record type: "00" (data) or "02" base addr - * 10..x data bytes in ascii-hex - * x+1..x+2 cksum (2's compl of (len+addr+data)) - * x+3 \n -- newline - * - * $Id$ - */ - -char *USAGE = "\ -usage: unhex [-va] [ -o file ] [ file [file ... ] ]\n\ - -v -- verbose\n\ - -a base -- 1st byte of output corresponds to this address\n\ - -l -- linear, just writes data out\n\ - -o file -- output file; must not be input file\n\ - -F k_bits -- \"holes\" in input will be filled with 0xFF's\n\ - up to \"k_bits\" * 1024 bits\n\ -"; - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#ifndef VMS -#ifndef HAVE_STRERROR -extern int sys_nerr; -extern char *sys_errlist[]; - -#define strerror( _err ) \ - ((_err) < sys_nerr) ? sys_errlist [(_err)] : "unknown error" - -#else /* HAVE_STRERROR */ -char *strerror (); -#endif -#else /* VMS */ -char *strerror (int,...); -#endif - - -#define OK 0 -#define FAILURE (-1) -#define Failed(x) ((x) == FAILURE) -#define TRUE 1 -#define FALSE 0 -typedef char bool; -#define STREQ(a,b) (strcmp(a,b) == 0) - -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; - -/* - * Pick out designated bytes - */ - -#define B0(x) ((x) & 0xff) -#define B1(x) B0((x) >> 8) -#define B2(x) B0((x) >> 16) -#define B3(x) B0((x) >> 24) - -typedef struct buffer_rec { - u32 dl_destaddr; - u32 dl_jumpaddr; - int dl_count; - u8 dl_buf[512]; -} buffer_rec; - -/* - * vars controlled by command line options - */ - -bool verbose = FALSE; /* be verbose */ -bool linear = FALSE; /* just write out linear data */ -char *outfilename = "-"; /* default output is stdout */ -u32 base = 0L; /* base address */ -u32 FFfill = 0L; /* how far to fill w 0xFF's */ - -extern char *optarg; /* getopt(3) control vars */ -extern int optind; - -char *progname; /* for error() */ - -void error(int errn, ...); -#define ERR_ERRNO (1<<((sizeof(int) * 8) - 2)) /* hi bit; use 'errno' */ -#define ERR_FATAL (ERR_ERRNO / 2) /* error is fatal; no return */ -#define ERR_ABORT (ERR_ERRNO / 4) /* error is fatal; abort */ -#define ERR_MASK (ERR_ERRNO | ERR_FATAL | ERR_ABORT) /* all */ - -#ifdef HAVE_STRTOUL -#define stol(p) strtoul(p, (char **) NULL, 0) -#else -#define stol(p) strtol(p, (char **) NULL, 0) -#endif - -int unhex(FILE *ifp, char *inm, FILE *ofp, char *onm); -int convert_Intel_records(FILE *ifp, char *inm, FILE *ofp, char *onm); -int convert_S_records(FILE *ifp, char *inm, FILE *ofp, char *onm); -int convert_TI_records(FILE *ifp, char *inm, FILE *ofp, char *onm); -void write_record(buffer_rec *tb, FILE *fp); -int getnibble(char **p); -int getbyte(char **p); -long getNbytes(char **p, int n); -void badformat(char *s, char *fname, char *msg); - -#define get1bytes(p) ((int) getbyte(p)) -#define get2bytes(p) ((int) getNbytes(p, 2)) -#define get3bytes(p) getNbytes(p, 3) -#define get4bytes(p) getNbytes(p, 4) - -char *BADADDR = "Invalid record address"; -char *BADLEN = "Invalid record length"; -char *BADBASE = "Bad base or starting address"; -char *BADFMT = "Unrecognized record type"; -char *BADDATA = "Invalid data byte"; -char *BADCSUM = "Invalid checksum"; -char *MISCSUM = "Checksum mismatch"; -char *BADTYPE = "Unrecognized record type"; -char *MISTYPE = "Incompatible record types"; - -int main( - int argc, - char **argv -) -{ - register int c; - bool showusage = FALSE; /* usage error? */ - int rc = 0; - FILE *outfp, *infp; - - /* - * figure out invocation leaf-name - */ - - if ((progname = strrchr(argv[0], '/')) == (char *) NULL) - progname = argv[0]; - else - progname++; - - argv[0] = progname; /* for getopt err reporting */ - - /* - * Check options and arguments. - */ - - progname = argv[0]; - while ((c = getopt(argc, argv, "F:a:o:vl")) != EOF) - switch (c) - { - case 'a': /* base address */ - base = stol(optarg); - break; - - case 'l': /* linear output */ - linear = TRUE; - break; - - case 'v': /* toggle verbose */ - verbose = ! verbose; - break; - - case 'o': /* output file */ - outfilename = optarg; - break; - - case 'F': /* 0xFF fill amount (bytes) */ - FFfill = stol(optarg) * 1024L / 8L; - break; - - case '?': - showusage = TRUE; - } - - if (showusage) - { - (void) fprintf(stderr, "%s", USAGE); - exit(1); - } - - if (linear && (base != 0)) - { - error(0, "-l and -a may not be specified in combination"); - exit(1); - } - - if (STREQ(outfilename, "-")) - { - outfp = stdout; - outfilename = "stdout"; - } - else - if ((outfp = fopen(outfilename, "w")) == (FILE *) NULL) - { - error(-1, "couldn't open '%s' for output", outfilename); - exit(1); - } - - /* - * Now process the input files (or stdin, if none specified) - */ - - if (argv[optind] == (char *) NULL) /* just stdin */ - exit(unhex(stdin, "stdin", outfp, outfilename)); - else - for (; (optarg = argv[optind]); optind++) - { - if (STREQ(optarg, "-")) - rc += unhex(stdin, "stdin", outfp, outfilename); - else - { - if ((infp = fopen(optarg, "r")) == (FILE *) NULL) - { - error(-1, "couldn't open '%s' for input", optarg); - exit(1); - } - rc += unhex(infp, optarg, outfp, outfilename); - } - } - - return(rc); -} - -u16 filesum; - -int -unhex(FILE *ifp, - char *inm, - FILE *ofp, - char *onm) -{ - int c; - - filesum = 0; - - /* - * Make sure holes will be filled with 0xFF's if requested. We - * do this the easy way by just filling the file with FF's before - * getting started. To do it more optimally would be quite a bit - * more difficult since the user can skip around as much as he/she - * likes in the input hex file addressing. - * - * We'll clean this up later (after this program has run) with - * 'stripffs' - */ - - if (FFfill) - { - (void) fseek(ofp, 0, 0); - for (c = FFfill; c > 0; c--) - (void) fputc(0xFF, ofp); - } - - /* - * Read the first char from file and determine record types - */ - - if ((c = getc(ifp)) != EOF) - { - ungetc(c, ifp); - switch(c) - { - case 'S': - convert_S_records(ifp, inm, ofp, onm); - break; - - case ':': - convert_Intel_records(ifp, inm, ofp, onm); - break; - - case '9': - case 'B': - convert_TI_records(ifp, inm, ofp, onm); - break; - - default: - { - char tmp[2]; - tmp[0] = c; tmp[1] = 0; - badformat(tmp, inm, BADFMT); - } - } - } - - if (verbose) - fprintf(stderr, "'%s' checksum is 0x%04x\n", inm, filesum); - - return 0; -} - -int -convert_Intel_records( - FILE *ifp, - char *inm, - FILE *ofp, - char *onm) -{ - char buff[512]; - char *p; - u8 cksum; - int incksum; - int c; - int rectype; /* record type */ - int len; /* data length of current line */ - u32 addr; - u32 base_address = 0; - bool endrecord = FALSE; - buffer_rec tb; - - while ( ! endrecord && (fgets(buff, sizeof(buff), ifp))) - { - p = &buff[0]; - - if (p[strlen(p)-1] == '\n') /* get rid of newline */ - p[strlen(p)-1] = '\0'; - - if (p[strlen(p)-1] == '\r') /* get rid of any CR */ - p[strlen(p)-1] = '\0'; - - tb.dl_count = 0; - - if (*p != ':') - badformat(p, inm, BADFMT); - p++; - - if ((len = getbyte(&p)) == -1) /* record len */ - badformat(buff, inm, BADLEN); - - if ((addr = get2bytes(&p)) == -1L) /* record addr */ - badformat(buff, inm, BADADDR); - - rectype = getbyte(&p); - - cksum = len + B0(addr) + B1(addr) + rectype; - - switch (rectype) - { - case 0x00: /* normal data record */ - tb.dl_destaddr = base_address + addr; - while (len--) - { - if ((c = getbyte(&p)) == -1) - badformat(buff, inm, BADDATA); - cksum += c; - filesum += c; - tb.dl_buf[tb.dl_count++] = c; - } - break; - - case 0x01: /* execution start address */ - base_address = addr; - endrecord = TRUE; - break; - - case 0x02: /* new base */ - if ((base_address = get2bytes(&p)) == -1L) - badformat(buff, inm, BADBASE); - cksum += B0(base_address) + B1(base_address); - base_address <<= 4; - break; - - case 0x03: /* seg/off execution start address */ - { - u32 seg, off; - - seg = get2bytes(&p); - off = get2bytes(&p); - if ((seg == -1L) || (off == -1L)) - badformat(buff, inm, BADADDR); - - cksum += B0(seg) + B1(seg) + B0(off) + B1(off); - - tb.dl_jumpaddr = (seg << 4) + off; - break; - } - - default: - error(0, "unknown Intel-hex record type: 0x%02x", rectype); - badformat(buff, inm, BADTYPE); - } - - /* - * Verify checksums are correct in file. - */ - - cksum = (-cksum) & 0xff; - if ((incksum = getbyte(&p)) == -1) - badformat(buff, inm, BADCSUM); - if (((u8) incksum) != cksum) - badformat(buff, inm, MISCSUM); - - if (tb.dl_count) - write_record(&tb, ofp); - } - return 0; -} - -int -convert_S_records( - FILE *ifp, - char *inm, - FILE *ofp, - char *onm) -{ - char buff[512]; - char *p; - u8 cksum; - int incksum; - int c; - int len; /* data length of current line */ - int rectype; /* record type */ - u32 addr; - bool endrecord = FALSE; - buffer_rec tb; - - while ( ! endrecord && (fgets(buff, sizeof(buff), ifp))) - { - p = &buff[0]; - - if (p[strlen(p)-1] == '\n') /* get rid of newline */ - p[strlen(p)-1] = '\0'; - - if (p[strlen(p)-1] == '\r') /* get rid of any CR */ - p[strlen(p)-1] = '\0'; - - tb.dl_count = 0; - - if (*p != 'S') - badformat(p, inm, BADFMT); - p++; - - if ((rectype = getnibble(&p)) == -1) /* record type */ - badformat(buff, inm, BADTYPE); - - if ((len = getbyte(&p)) == -1) /* record len */ - badformat(buff, inm, BADLEN); - cksum = len; - - switch (rectype) - { - case 0x00: /* comment field, ignored */ - goto write_it; - - case 0x01: /* data record, 16 bit addr */ - if ((addr = get2bytes(&p)) == -1L) - badformat(buff, inm, BADADDR); - len -= 3; - goto doit; - - case 0x02: /* ... 24 bit addr */ - if ((addr = get3bytes(&p)) == -1L) - badformat(buff, inm, BADADDR); - len -= 4; - goto doit; - - case 0x03: /* ... 32 bit addr */ - if ((addr = get4bytes(&p)) == -1L) - badformat(buff, inm, BADADDR); - len -= 5; - doit: - cksum += B0(addr) + B1(addr) + B2(addr) + B3(addr); - - tb.dl_destaddr = addr; - while (len--) - { - if ((c = getbyte(&p)) == -1) - badformat(buff, inm, BADDATA); - cksum += c; - filesum += c; - tb.dl_buf[tb.dl_count++] = c; - } - break; - - case 0x07: /* 32 bit end record */ - if ((addr = get4bytes(&p)) == -1L) - badformat(buff, inm, BADADDR); - goto end_rec; - - case 0x08: /* 24 bit end record */ - if ((addr = get3bytes(&p)) == -1L) - badformat(buff, inm, BADADDR); - goto end_rec; - - case 0x09: /* 16 bit end record */ - if ((addr = get2bytes(&p)) == -1L) - badformat(buff, inm, BADADDR); - -end_rec: - cksum += B0(addr) + B1(addr) + B2(addr) + B3(addr); - tb.dl_jumpaddr = addr; - break; - - default: - error(0, "unknown Motorola-S record type: 0x%02x", rectype); - badformat(buff, inm, BADTYPE); - break; - } - - /* - * Verify checksums are correct in file. - */ - - cksum = (~cksum) & 0xff; - if ((incksum = getbyte(&p)) == -1) - badformat(buff, inm, BADCSUM); - if (((u8) incksum) != cksum) - badformat(buff, inm, MISCSUM); - -write_it: - if (tb.dl_count) - write_record(&tb, ofp); - } - return 0; -} - -int -convert_TI_records( - FILE *ifp, - char *inm, - FILE *ofp, - char *onm) -{ - char buff[512]; - char *p; - int c; - bool endrecord = FALSE; - bool eol; - buffer_rec tb; - - while ( ! endrecord && (fgets(buff, sizeof(buff), ifp))) - { - if (p[strlen(p)-1] == '\n') /* get rid of newline */ - p[strlen(p)-1] = '\0'; - - if (p[strlen(p)-1] == '\r') /* get rid of any CR */ - p[strlen(p)-1] = '\0'; - - tb.dl_count = 0; - - p = &buff[0]; - eol = FALSE; - while ( ! eol && ! endrecord) - { - switch (*p++) - { - case '9': - if (tb.dl_count) - write_record(&tb, ofp); - tb.dl_destaddr = get2bytes(&p); - break; - - case 'B': - c = getbyte(&p); - filesum += c; - tb.dl_buf[tb.dl_count++] = c; - c = getbyte(&p); - filesum += c; - tb.dl_buf[tb.dl_count++] = c; - break; - - case 'F': - eol = TRUE; - break; - - case ':': - endrecord = TRUE; - break; - - default: - badformat(p, inm, BADFMT); - } - } - if (tb.dl_count) - write_record(&tb, ofp); - } - return 0; -} - -void -write_record(buffer_rec *tb, - FILE *fp) -{ - if ( ! linear) - { - if (tb->dl_destaddr < base) - error(ERR_FATAL, "record at address 0x%x precedes base of 0x%x", - tb->dl_destaddr, base); - (void) fseek(fp, tb->dl_destaddr - base, 0); - } - - (void) fwrite(tb->dl_buf, tb->dl_count, 1, fp); - tb->dl_destaddr += tb->dl_count; - tb->dl_count = 0; -} - -int -getnibble(char **p) -{ - register int val; - - **p = toupper(**p); - switch (**p) - { - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - val = **p - '0'; - break; - - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - val = 10 + (**p - 'A'); - break; - - default: - return(-1); - } - *p += 1; - - return(val & 0x0f); -} - -int -getbyte(char **p) -{ - int n0, n1; - - if ((n0 = getnibble(p)) == -1) - return(-1); - if ((n1 = getnibble(p)) == -1) - return(-1); - - return(((n0 << 4) + n1) & 0xff); -} - -long -getNbytes(char **p, - int n) -{ - int t; - u32 val = 0; - - while (n--) - { - if ((t = getbyte(p)) == -1) - return(-1L); - val <<= 8; - val += t; - } - - return(val); -} - -void -badformat(char *s, - char *fname, - char *msg) -{ - if (s[strlen(s)-1] == '\n') /* get rid of newline */ - s[strlen(s)-1] = '\0'; - error(0, "line '%s'::\n\tfrom file '%s'; %s", s, fname, msg); - exit(1); -} - -/* - * error(errn, arglist) - * report an error to stderr using printf(3) conventions. - * Any output is preceded by ': ' - * - * Uses ERR_EXIT bit to request exit(errn) - * ERR_ABORT to request abort() - * ERR_ERRNO to indicate use of errno instead of argument. - * - * If resulting 'errn' is non-zero, it is assumed to be an 'errno' and its - * associated error message is appended to the output. - */ - -/*VARARGS*/ - -void -error(int error_flag, ...) -{ - va_list arglist; - register char *format; - int local_errno; - - extern int errno; - - (void) fflush(stdout); /* in case stdout/stderr same */ - - local_errno = error_flag & ~ERR_MASK; - if (error_flag & ERR_ERRNO) /* use errno? */ - local_errno = errno; - - va_start(arglist, error_flag); - format = va_arg(arglist, char *); - (void) fprintf(stderr, "%s: ", progname); - (void) vfprintf(stderr, format, arglist); - va_end(arglist); - - if (local_errno) - (void) fprintf(stderr, " (%s)\n", strerror(local_errno)); - else - (void) fprintf(stderr, "\n"); - - (void) fflush(stderr); - - if (error_flag & (ERR_FATAL | ERR_ABORT)) - { - if (error_flag & ERR_FATAL) - { - error(0, "fatal error, exiting"); - exit(local_errno ? local_errno : 1); - } - else - { - error(0, "fatal error, aborting"); - abort(); - } - } -} - diff --git a/c/build-tools/unlock-directory.in b/c/build-tools/unlock-directory.in deleted file mode 100644 index c63ceff881..0000000000 --- a/c/build-tools/unlock-directory.in +++ /dev/null @@ -1,41 +0,0 @@ -#!@KSH@ -# -# $Id$ -# -# Unlock a directory processed by lock_directory -# - -# is a particular command available on this machine? -# -cmd_avail() -{ - set -- `type $1 2>&1` - if [ "$2" = "not" -a "$3" = "found" ] || [ "$3" = "not" -a "$4" = "found" ] - then - return 1 - else - return 0 - fi -} - -unlock_directory() { - ul_dir=$1/. # get any symlink out of the way using '.' - if [ -d $ul_dir ] - then - find $ul_dir -type d ! -perm -0222 -print | $XARGS -t chmod +w - fi -} - -# Use gnu xargs if available; faster, more reliable in general -XARGS=xargs -cmd_avail gxargs && XARGS=gxargs - -for dir -do - unlock_directory $dir -done - -# Local Variables: *** -# mode:ksh *** -# End: *** - diff --git a/c/src/ada-tests/mptests/mp01/config.h b/c/src/ada-tests/mptests/mp01/config.h deleted file mode 100644 index 513e94359d..0000000000 --- a/c/src/ada-tests/mptests/mp01/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_MPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/mptests/mp01/mp01.adb b/c/src/ada-tests/mptests/mp01/mp01.adb deleted file mode 100644 index 0b1e0a0eba..0000000000 --- a/c/src/ada-tests/mptests/mp01/mp01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test MP01 of the Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with MPTEST; -with TEST_SUPPORT; - -procedure MP01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.GLOBAL, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - MPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end MP01; - diff --git a/c/src/ada-tests/mptests/mp01/mptest.adb b/c/src/ada-tests/mptests/mp01/mptest.adb deleted file mode 100644 index 3f3fbe6c30..0000000000 --- a/c/src/ada-tests/mptests/mp01/mptest.adb +++ /dev/null @@ -1,235 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - C : RTEMS.CHARACTER; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 1 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE /= 1 then - C := 'S'; - else - C := 'M'; - end if; - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( C, 'A', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( C, 'A', '2', ' ' ); - MPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( C, 'A', '3', ' ' ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TEXT_IO.PUT_LINE( "Creating task 1 (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - TEXT_IO.PUT_LINE( "Creating task 2 (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - TEXT_IO.PUT_LINE( "Creating task 3 (Local)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 2 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 3 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - MPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - MPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if TEST_SUPPORT.TASK_NUMBER( TID ) = 1 then -- TASK 1 - - TEST_SUPPORT.PUT_NAME( - MPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEXT_IO.PUT_LINE( " - deleting self" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - else if TEST_SUPPORT.TASK_NUMBER( TID ) = 2 then -- TASK 2 - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 2 ), FALSE ); - TEXT_IO.PUT( " - waiting to be deleted by " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 3 ), TRUE ); - - loop - TEST_SUPPORT.DO_NOTHING; -- can't be optimized away - end loop; - - else -- TASK 3 - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 3 ), FALSE ); - TEXT_IO.PUT( " - getting TID of " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 2 ), TRUE ); - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - TID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 3 ), FALSE ); - TEXT_IO.PUT( " - deleting " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( 2 ), TRUE ); - - RTEMS.TASK_DELETE( TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end if; - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 1 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp01/mptest.ads b/c/src/ada-tests/mptests/mp01/mptest.ads deleted file mode 100644 index 42bf917bb1..0000000000 --- a/c/src/ada-tests/mptests/mp01/mptest.ads +++ /dev/null @@ -1,164 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.GLOBAL, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 33, -- maximum # global objects - 33 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp01/node1/mp01.scn b/c/src/ada-tests/mptests/mp01/node1/mp01.scn deleted file mode 100644 index d7495bfa0d..0000000000 --- a/c/src/ada-tests/mptests/mp01/node1/mp01.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 1 -- NODE 1 *** -Creating task 1 (Global) -Creating task 2 (Global) -Creating task 3 (Local) -MA1 - clock_get - 9: 0: 0 12/31/1988 -MA2 - clock_get - 9: 0: 0 12/31/1988 -MA3 - clock_get - 9: 0: 0 12/31/1988 -MA1 - clock_get - 9: 0: 5 12/31/1988 -MA1 - deleting self -MA2 - clock_get - 9: 0:10 12/31/1988 -MA2 - waiting to be deleted by MA3 -MA3 - clock_get - 9: 0:15 12/31/1988 -MA3 - getting TID of MA2 -MA3 - deleting MA2 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp01/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp01/node2/mp01.scn b/c/src/ada-tests/mptests/mp01/node2/mp01.scn deleted file mode 100644 index 98047240f3..0000000000 --- a/c/src/ada-tests/mptests/mp01/node2/mp01.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 1 -- NODE 2 *** -Creating task 1 (Global) -Creating task 2 (Global) -Creating task 3 (Local) -SA1 - clock_get - 9: 0: 0 12/31/1988 -SA2 - clock_get - 9: 0: 0 12/31/1988 -SA3 - clock_get - 9: 0: 0 12/31/1988 -SA1 - clock_get - 9: 0: 5 12/31/1988 -SA1 - deleting self -SA2 - clock_get - 9: 0:10 12/31/1988 -SA2 - waiting to be deleted by SA3 -SA3 - clock_get - 9: 0:15 12/31/1988 -SA3 - getting TID of SA2 -SA3 - deleting SA2 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp01/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp02/mptest.adb b/c/src/ada-tests/mptests/mp02/mptest.adb deleted file mode 100644 index 44b6d564ad..0000000000 --- a/c/src/ada-tests/mptests/mp02/mptest.adb +++ /dev/null @@ -1,213 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 2 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 2 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating test task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - 1, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TEST_TID : RTEMS.ID; - REMOTE_TID : RTEMS.ID; - REMOTE_NODE : RTEMS.UNSIGNED32; - NOTE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - REMOTE_NODE := 2; - else - REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT_LINE( "Getting TID of remote task (all nodes)" ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - -- - -- We just got this ID above so looping is not necessary. - -- - - TEXT_IO.PUT_LINE( "Getting TID of remote task (1 node)" ); - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( REMOTE_NODE ), - REMOTE_NODE, - TEST_TID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT" ); - - if TEST_TID /= REMOTE_TID then - TEXT_IO.PUT_LINE( "task_ident tid's do not match!!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - RTEMS.TASK_DELETE( REMOTE_TID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "task_delete of remote task" - ); - TEXT_IO.PUT_LINE( - "task_delete of remote task returned the correct error" - ); - - RTEMS.TASK_START( REMOTE_TID, MPTEST.TEST_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "task_start of remote task" - ); - TEXT_IO.PUT_LINE( - "task_start of remote task returned the correct error" - ); - - RTEMS.TASK_RESTART( REMOTE_TID, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "task_restart of remote task" - ); - TEXT_IO.PUT_LINE( - "task_restart of remote task returned the correct error" - ); - - - TEXT_IO.PUT( "Setting notepad " ); - UNSIGNED32_IO.PUT( RTEMS.GET_NODE( TID ), WIDTH=>1 ); - TEXT_IO.PUT( " of the remote task to " ); - UNSIGNED32_IO.PUT( RTEMS.GET_NODE( TID ), WIDTH=>1 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - REMOTE_TID, - RTEMS.GET_NODE( TID ), - RTEMS.GET_NODE( TID ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT_LINE( "Getting a notepad of the remote task" ); - RTEMS.TASK_GET_NOTE( - REMOTE_TID, - RTEMS.GET_NODE( TID ), - NOTE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - - if NOTE = RTEMS.GET_NODE( TID ) then - TEXT_IO.PUT_LINE( "Remote notepad set and read correctly" ); - else - TEXT_IO.PUT( - "FAILURE!!! Remote notepad was not set and read correctly (" - ); - UNSIGNED32_IO.PUT( NOTE ); - TEXT_IO.PUT( ", " ); - UNSIGNED32_IO.PUT( RTEMS.GET_NODE( TID ) ); - TEXT_IO.PUT_LINE( ")" ); - - end if; - - RTEMS.TASK_DELETE( REMOTE_TID, STATUS ); - TEXT_IO.PUT_LINE( "*** END OF TEST 2 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp02/mptest.ads b/c/src/ada-tests/mptests/mp02/mptest.ads deleted file mode 100644 index 82e7aacbb3..0000000000 --- a/c/src/ada-tests/mptests/mp02/mptest.ads +++ /dev/null @@ -1,164 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp02/node1/mp02.scn b/c/src/ada-tests/mptests/mp02/node1/mp02.scn deleted file mode 100644 index 91b57321f7..0000000000 --- a/c/src/ada-tests/mptests/mp02/node1/mp02.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 2 -- NODE 1 *** -Creating test task (Global) -Getting TID of remote task (all nodes) -Getting TID of remote task (1 node) -task_delete of remote task returned the correct error -task_start of remote task returned the correct error -task_restart of remote task returned the correct error -Setting notepad 1 of the remote task to 1 -Getting a notepad of the remote task -Remote notepad set and read correctly -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp02/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp02/node2/mp02.scn b/c/src/ada-tests/mptests/mp02/node2/mp02.scn deleted file mode 100644 index 14239a546d..0000000000 --- a/c/src/ada-tests/mptests/mp02/node2/mp02.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 2 -- NODE 2 *** -Creating test task (Global) -Getting TID of remote task (all nodes) -Getting TID of remote task (1 node) -task_delete of remote task returned the correct error -task_start of remote task returned the correct error -task_restart of remote task returned the correct error -Setting notepad 2 of the remote task to 2 -Getting a notepad of the remote task -Remote notepad set and read correctly -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp02/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp03/mptest.adb b/c/src/ada-tests/mptests/mp03/mptest.adb deleted file mode 100644 index ea662c3422..0000000000 --- a/c/src/ada-tests/mptests/mp03/mptest.adb +++ /dev/null @@ -1,277 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 3 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 3 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - 1, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( 1 ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_SEND_EVENT --- - - procedure DELAYED_SEND_EVENT ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( MPTEST.TASK_ID( 1 ), RTEMS.EVENT_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end DELAYED_SEND_EVENT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.DELAYED_SEND_EVENT'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - MPTEST.TEST_TASK_SUPPORT( 1 ); - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 11 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.DELAYED_SEND_EVENT'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.TASK_WAKE_AFTER( - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end if; - - MPTEST.TEST_TASK_SUPPORT( 2 ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 3 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - ---PAGE --- --- TEST_TASK_SUPPORT --- - - - procedure TEST_TASK_SUPPORT ( - NODE : in RTEMS.UNSIGNED32 - ) is - EVENTS : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = NODE then - - loop - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( RTEMS.SUCCESSFUL, STATUS ); - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE" - ); - - RTEMS.TASK_WAKE_AFTER( - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( NODE ), FALSE ); - TEXT_IO.PUT_LINE( " - Suspending remote task" ); - RTEMS.TASK_SUSPEND( MPTEST.REMOTE_TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - RTEMS.TASK_WAKE_AFTER( - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( NODE ), FALSE ); - TEXT_IO.PUT_LINE( " - Resuming remote task" ); - - RTEMS.TASK_RESUME( MPTEST.REMOTE_TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - end loop; - - else - - loop - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( RTEMS.SUCCESSFUL, STATUS ); - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE" - ); - - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( REMOTE_NODE ), FALSE ); - TEXT_IO.PUT_LINE( " - have I been suspended???" ); - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TICKS_PER_SECOND / 2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end if; - - end TEST_TASK_SUPPORT; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp03/mptest.ads b/c/src/ada-tests/mptests/mp03/mptest.ads deleted file mode 100644 index 5542682111..0000000000 --- a/c/src/ada-tests/mptests/mp03/mptest.ads +++ /dev/null @@ -1,214 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_SEND_EVENT --- --- DESCRIPTION: --- --- This subprogram is a timer service routine which sends an --- event set to a waiting task. --- - - procedure DELAYED_SEND_EVENT ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_SUPPORT --- --- DESCRIPTION: --- --- This subprogram performs the bulk of the test. Based on the NODE --- specified, this subprogram loops suspending/resuming a remote task --- or waiting for itself to be suspended/resumed. --- - - procedure TEST_TASK_SUPPORT ( - NODE : in RTEMS.UNSIGNED32 - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp03/node1/mp03.scn b/c/src/ada-tests/mptests/mp03/node1/mp03.scn deleted file mode 100644 index d749db49e2..0000000000 --- a/c/src/ada-tests/mptests/mp03/node1/mp03.scn +++ /dev/null @@ -1,28 +0,0 @@ -*** TEST 3 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 222 -111 - Suspending remote task -111 - Resuming remote task -111 - Suspending remote task -111 - Resuming remote task -111 - Suspending remote task -111 - Resuming remote task -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -222 - have I been suspended??? -*** END OF TEST 3 *** - diff --git a/c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp03/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp03/node2/mp03.scn b/c/src/ada-tests/mptests/mp03/node2/mp03.scn deleted file mode 100644 index 56298f5b8d..0000000000 --- a/c/src/ada-tests/mptests/mp03/node2/mp03.scn +++ /dev/null @@ -1,28 +0,0 @@ -*** TEST 3 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 111 -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -111 - have I been suspended??? -222 - Suspending remote task -222 - Resuming remote task -222 - Suspending remote task -222 - Resuming remote task -222 - Suspending remote task -222 - Resuming remote task -*** END OF TEST 3 *** - diff --git a/c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp03/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp04/mptest.adb b/c/src/ada-tests/mptests/mp04/mptest.adb deleted file mode 100644 index c44f521eaa..0000000000 --- a/c/src/ada-tests/mptests/mp04/mptest.adb +++ /dev/null @@ -1,169 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 4 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 4 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY_1 : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - RTEMS.TASK_SET_PRIORITY( - MPTEST.REMOTE_TID, - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - if PREVIOUS_PRIORITY /= MPTEST.REMOTE_NODE then - - TEXT_IO.PUT( "Remote priority (0x" ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY, BASE => 16 ); - TEXT_IO.PUT( "does not match remote node (0x" ); - UNSIGNED32_IO.PUT( MPTEST.REMOTE_NODE, BASE => 16 ); - TEXT_IO.PUT_LINE( ")!!!" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 16#F00000# ); - - end if; - - loop - - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - RTEMS.CURRENT_PRIORITY, - PREVIOUS_PRIORITY_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - exit when PREVIOUS_PRIORITY_1 = MPTEST.REMOTE_NODE; - - end loop; - - - TEXT_IO.PUT_LINE( "Local task priority has been set" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 4 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp04/mptest.ads b/c/src/ada-tests/mptests/mp04/mptest.ads deleted file mode 100644 index 2541ff5a93..0000000000 --- a/c/src/ada-tests/mptests/mp04/mptest.ads +++ /dev/null @@ -1,178 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp04/node1/mp04.scn b/c/src/ada-tests/mptests/mp04/node1/mp04.scn deleted file mode 100644 index e9518f3ac2..0000000000 --- a/c/src/ada-tests/mptests/mp04/node1/mp04.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 4 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 222 -Local task priority has been set -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp04/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp04/node2/mp04.scn b/c/src/ada-tests/mptests/mp04/node2/mp04.scn deleted file mode 100644 index 8ccfcfef79..0000000000 --- a/c/src/ada-tests/mptests/mp04/node2/mp04.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 4 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting TID of remote task -Remote task's name is : 111 -Local task priority has been set -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp04/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp05/mptest.adb b/c/src/ada-tests/mptests/mp05/mptest.adb deleted file mode 100644 index 2bab2ddbb7..0000000000 --- a/c/src/ada-tests/mptests/mp05/mptest.adb +++ /dev/null @@ -1,252 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 5 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 5 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - MPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - SIGNAL : in RTEMS.SIGNAL_SET - ) - is - begin - - if SIGNAL /= MPTEST.EXPECTED_SIGNAL then - - TEXT_IO.PUT( "ERROR: I was expecting signal 0x" ); - UNSIGNED32_IO.PUT( EXPECTED_SIGNAL, BASE => 16 ); - TEXT_IO.PUT( " got 0x" ); - UNSIGNED32_IO.PUT( SIGNAL, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.FATAL_ERROR_OCCURRED( 16#000F_0000# ); - - end if; - - MPTEST.SIGNAL_CAUGHT := TRUE; - - end PROCESS_ASR; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.STOP_TEST := FALSE; - - MPTEST.SIGNAL_CAUGHT := FALSE; - MPTEST.SIGNAL_COUNT := 0; - - TEXT_IO.PUT_LINE( "signal_catch: initializing signal catcher" ); - RTEMS.SIGNAL_CATCH( - MPTEST.PROCESS_ASR'ACCESS, - RTEMS.NO_ASR + RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - MPTEST.REMOTE_SIGNAL := RTEMS.SIGNAL_18; - MPTEST.EXPECTED_SIGNAL := RTEMS.SIGNAL_17; - else - MPTEST.REMOTE_NODE := 1; - MPTEST.REMOTE_SIGNAL := RTEMS.SIGNAL_17; - MPTEST.EXPECTED_SIGNAL := RTEMS.SIGNAL_18; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Sending signal to remote task" ); - loop - RTEMS.SIGNAL_SEND( - MPTEST.REMOTE_TID, - MPTEST.REMOTE_SIGNAL, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.NOT_DEFINED ); - - end loop; - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - end if; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - if MPTEST.SIGNAL_CAUGHT = TRUE then - - MPTEST.SIGNAL_CAUGHT := FALSE; - MPTEST.SIGNAL_COUNT := MPTEST.SIGNAL_COUNT + 1; - - if MPTEST.SIGNAL_COUNT >= MPTEST.SIGNALS_PER_DOT then - - MPTEST.SIGNAL_COUNT := 0; - - TEST_SUPPORT.PUT_DOT( "." ); - - end if; - - RTEMS.SIGNAL_SEND( - MPTEST.REMOTE_TID, - MPTEST.REMOTE_SIGNAL, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - end if; - - end loop; - - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "*** END OF TEST 5 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp05/mptest.ads b/c/src/ada-tests/mptests/mp05/mptest.ads deleted file mode 100644 index 9f95ede392..0000000000 --- a/c/src/ada-tests/mptests/mp05/mptest.ads +++ /dev/null @@ -1,243 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - STOP_TEST : RTEMS.BOOLEAN; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- This is the signal set which is sent to the task on the other node. --- - - REMOTE_SIGNAL : RTEMS.SIGNAL_SET; - --- --- This is the signal set the task on this node expects to receive --- from the other node. --- - - EXPECTED_SIGNAL : RTEMS.SIGNAL_SET; - --- --- These keep track of if a signal set has been caught and how many --- signal sets have been caught cumulative. --- - - SIGNAL_CAUGHT : RTEMS.BOOLEAN; - SIGNAL_COUNT : RTEMS.UNSIGNED32; - --- --- The number of signals to process per dot printed out. --- - - SIGNALS_PER_DOT : constant RTEMS.UNSIGNED32 := 15; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is an ASR for TEST_TASK. --- - - procedure PROCESS_ASR ( - SIGNAL : in RTEMS.SIGNAL_SET - ); - --- --- STOP_TEST_TSR --- --- DESCRIPTION: --- --- This subprogram is a TSR which sets the "stop test" flag. --- - - procedure STOP_TEST_TSR ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 2, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp05/node1/mp05.scn b/c/src/ada-tests/mptests/mp05/node1/mp05.scn deleted file mode 100644 index 6f0ea4b639..0000000000 --- a/c/src/ada-tests/mptests/mp05/node1/mp05.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 5 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -signal_catch: initializing signal catcher -Remote task's name is : 222 -Getting TID of remote task -Sending signal to remote task -.................................................... -.................................................... -*** END OF TEST 5 *** diff --git a/c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp05/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp05/node2/mp05.scn b/c/src/ada-tests/mptests/mp05/node2/mp05.scn deleted file mode 100644 index 1fb18c132b..0000000000 --- a/c/src/ada-tests/mptests/mp05/node2/mp05.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 5 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -signal_catch: initializing signal catcher -Remote task's name is : 111 -Getting TID of remote task -.................................................... -.................................................... -*** END OF TEST 5 *** diff --git a/c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp05/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp06/mptest.adb b/c/src/ada-tests/mptests/mp06/mptest.adb deleted file mode 100644 index 56a0841e20..0000000000 --- a/c/src/ada-tests/mptests/mp06/mptest.adb +++ /dev/null @@ -1,257 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 6 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 6 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - MPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - EVENT_FOR_THIS_ITERATION : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.STOP_TEST := FALSE; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - TEXT_IO.PUT_LINE( "Sending events to remote task" ); - else - TEXT_IO.PUT_LINE( "Receiving events from remote task" ); - end if; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - COUNT := 0; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - EVENT_FOR_THIS_ITERATION := - MPTEST.EVENT_SET_TABLE( - INTEGER( COUNT ) mod MPTEST.EVENT_SET_TABLE'LAST + 1 - ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.EVENT_SEND( - MPTEST.REMOTE_TID, - EVENT_FOR_THIS_ITERATION, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - else - - RTEMS.EVENT_RECEIVE( - EVENT_FOR_THIS_ITERATION, - RTEMS.DEFAULT_OPTIONS, - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - - if RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ) then - TEXT_IO.NEW_LINE( 1 ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - TEXT_IO.PUT_LINE( - "Correct behavior if the other node exitted." - ); - else - TEXT_IO.PUT_LINE( - "ERROR... node 1 died" - ); - end if; - - exit; - - else - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - end if; - - end if; - - if (COUNT mod MPTEST.MAXIMUM_DOTS) = 0 then - - TEST_SUPPORT.PUT_DOT( "." ); - - end if; - - COUNT := COUNT + 1; - - end loop; - - TEXT_IO.NEW_LINE; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - RTEMS.TIMEOUT, - STATUS, - "EVENT_RECEIVE" - ); - - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "event_receive - correctly returned TIMEOUT" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 6 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp06/mptest.ads b/c/src/ada-tests/mptests/mp06/mptest.ads deleted file mode 100644 index f7fb4f599d..0000000000 --- a/c/src/ada-tests/mptests/mp06/mptest.ads +++ /dev/null @@ -1,250 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - STOP_TEST : RTEMS.BOOLEAN; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of signals to process per dot printed out. --- - - MAXIMUM_DOTS : constant RTEMS.UNSIGNED32 := 25; - --- --- The following is a table of the event sets which consist of --- a single event. This test cycles through all of these --- events. --- - - EVENT_SET_TABLE : constant array ( 0 .. 30 ) of RTEMS.EVENT_SET := ( - RTEMS.EVENT_0, - RTEMS.EVENT_1, - RTEMS.EVENT_2, - RTEMS.EVENT_3, - RTEMS.EVENT_4, - RTEMS.EVENT_5, - RTEMS.EVENT_6, - RTEMS.EVENT_7, - RTEMS.EVENT_8, - RTEMS.EVENT_9, - RTEMS.EVENT_10, - RTEMS.EVENT_11, - RTEMS.EVENT_12, - RTEMS.EVENT_13, - RTEMS.EVENT_14, - RTEMS.EVENT_15, - RTEMS.EVENT_16, - RTEMS.EVENT_17, - RTEMS.EVENT_18, - RTEMS.EVENT_19, - RTEMS.EVENT_20, - RTEMS.EVENT_21, - RTEMS.EVENT_22, - RTEMS.EVENT_23, - RTEMS.EVENT_24, - RTEMS.EVENT_25, - RTEMS.EVENT_26, - RTEMS.EVENT_27, - RTEMS.EVENT_28, - RTEMS.EVENT_29, - RTEMS.EVENT_30 - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- STOP_TEST_TSR --- --- DESCRIPTION: --- --- This subprogram is a TSR which sets the "stop test" flag. --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 2, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp06/node1/mp06.scn b/c/src/ada-tests/mptests/mp06/node1/mp06.scn deleted file mode 100644 index 71da651eca..0000000000 --- a/c/src/ada-tests/mptests/mp06/node1/mp06.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 6 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 222 -Getting TID of remote task -Sending events to remote task -.................................................... -.................................................... -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp06/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp06/node2/mp06.scn b/c/src/ada-tests/mptests/mp06/node2/mp06.scn deleted file mode 100644 index da449041b4..0000000000 --- a/c/src/ada-tests/mptests/mp06/node2/mp06.scn +++ /dev/null @@ -1,11 +0,0 @@ -*** TEST 6 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 111 -Getting TID of remote task -Receiving events from remote task -.................................................... -.................................................... -event_receive - correctly returned TIMEOUT -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp06/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp07/mptest.adb b/c/src/ada-tests/mptests/mp07/mptest.adb deleted file mode 100644 index 2f86bb310c..0000000000 --- a/c/src/ada-tests/mptests/mp07/mptest.adb +++ /dev/null @@ -1,210 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 7 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 7 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( 1 ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.STOP_TEST := FALSE; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - MPTEST.REMOTE_NODE := 2; - else - MPTEST.REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - loop - RTEMS.TASK_IDENT( - MPTEST.TASK_NAME( MPTEST.REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.REMOTE_TID, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Sending first event to remote task" ); - RTEMS.EVENT_SEND( - MPTEST.REMOTE_TID, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end if; - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.PER_DOT - loop - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - if RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ) then - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( - "TA1 - TIMEOUT .. probably OK if the other node exits" - ); - exit; - else - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - end if; - - RTEMS.EVENT_SEND( - MPTEST.REMOTE_TID, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end loop; - - TEST_SUPPORT.PUT_DOT( "." ); - - end loop; - - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "*** END OF TEST 7 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp07/mptest.ads b/c/src/ada-tests/mptests/mp07/mptest.ads deleted file mode 100644 index 6640261d88..0000000000 --- a/c/src/ada-tests/mptests/mp07/mptest.ads +++ /dev/null @@ -1,210 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - STOP_TEST : RTEMS.BOOLEAN; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- STOP_TEST_TSR --- --- DESCRIPTION: --- --- This subprogram is a TSR which sets the "stop test" flag. --- - - procedure STOP_TEST_TSR ( - IGNORED1 : in RTEMS.ID; - IGNORED2 : in RTEMS.ADDRESS - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 2, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp07/node1/mp07.scn b/c/src/ada-tests/mptests/mp07/node1/mp07.scn deleted file mode 100644 index 71e0956329..0000000000 --- a/c/src/ada-tests/mptests/mp07/node1/mp07.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 7 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 222 -Getting TID of remote task -Sending first event to remote task -.................................................... -.................................................... -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp07/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp07/node2/mp07.scn b/c/src/ada-tests/mptests/mp07/node2/mp07.scn deleted file mode 100644 index c31011e85c..0000000000 --- a/c/src/ada-tests/mptests/mp07/node2/mp07.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 7 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Remote task's name is : 111 -Getting TID of remote task -.................................................... -.................................................... -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp07/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp08/mptest.adb b/c/src/ada-tests/mptests/mp08/mptest.adb deleted file mode 100644 index e07fa1dc4c..0000000000 --- a/c/src/ada-tests/mptests/mp08/mptest.adb +++ /dev/null @@ -1,207 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 8 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 8 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Semaphore(Global)" ); - - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (Global)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - DOTS : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.SEMAPHORE_DELETE( - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "SEMAPHORE_DELETE" - ); - - TEXT_IO.PUT_LINE( - "semaphore_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT" - ); - - end if; - - COUNT := 0; - - loop - - TEST_SUPPORT.PUT_DOT( "p" ); - - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - if not RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN" - ); - - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Global semaphore deleted" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - COUNT := COUNT + 1; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 and then - COUNT >= 1000 then - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Deleting global semaphore" ); - - RTEMS.SEMAPHORE_DELETE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - TEST_SUPPORT.PUT_DOT( "v" ); - - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - end loop; - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp08/mptest.ads b/c/src/ada-tests/mptests/mp08/mptest.ads deleted file mode 100644 index 8467cbe217..0000000000 --- a/c/src/ada-tests/mptests/mp08/mptest.ads +++ /dev/null @@ -1,192 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores created --- by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 1, -- maximum # timers - 1, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp08/node1/mp08.scn b/c/src/ada-tests/mptests/mp08/node1/mp08.scn deleted file mode 100644 index ba9f089e96..0000000000 --- a/c/src/ada-tests/mptests/mp08/node1/mp08.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 8 -- NODE 1 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting SMID of semaphore -pvpvpvpvpvp....... -(continued) pvp -Deleting global semaphore -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp08/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp08/node2/mp08.scn b/c/src/ada-tests/mptests/mp08/node2/mp08.scn deleted file mode 100644 index 8ac712ae93..0000000000 --- a/c/src/ada-tests/mptests/mp08/node2/mp08.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 8 -- NODE 2 *** -Creating Test_task (Global) -Starting Test_task (Global) -Deleting initialization task -Getting SMID of semaphore -semaphore_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT -pvpvpvpvpvp....... -(continued) pvp -Global semaphore deleted -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp08/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp09/mptest.adb b/c/src/ada-tests/mptests/mp09/mptest.adb deleted file mode 100644 index f8f0f594d0..0000000000 --- a/c/src/ada-tests/mptests/mp09/mptest.adb +++ /dev/null @@ -1,381 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 9 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 9 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.RECEIVE_BUFFER := - RTEMS.TO_BUFFER_POINTER( MPTEST.RECEIVE_BUFFER_AREA'ADDRESS ); - - MPTEST.BUFFER_1 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_1'ADDRESS ); - - MPTEST.BUFFER_2 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_2'ADDRESS ); - - MPTEST.BUFFER_3 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_3'ADDRESS ); - - MPTEST.BUFFER_4 := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREA_4'ADDRESS ); - - MPTEST.FILL_BUFFER( "123456789012345 ", MPTEST.BUFFER_AREA_1 ); - MPTEST.FILL_BUFFER( "abcdefghijklmno ", MPTEST.BUFFER_AREA_2 ); - MPTEST.FILL_BUFFER( "ABCDEFGHIJKLMNO ", MPTEST.BUFFER_AREA_3 ); - MPTEST.FILL_BUFFER( "PQRSTUVWXYZ(){} ", MPTEST.BUFFER_AREA_4 ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Test_task (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( MPTEST.MULTIPROCESSING_CONFIGURATION.NODE ), - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- SEND_MESSAGES --- - - procedure SEND_MESSAGES is - BROADCAST_COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "message_queue_send : " ); - MPTEST.PUT_BUFFER( MPTEST.BUFFER_AREA_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "Delaying for a second" ); - RTEMS.TASK_WAKE_AFTER( - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "message_queue_urgent : " ); - MPTEST.PUT_BUFFER( MPTEST.BUFFER_AREA_2 ); - TEXT_IO.NEW_LINE; - - RTEMS.MESSAGE_QUEUE_URGENT( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT_LINE( "Delaying for a second" ); - RTEMS.TASK_WAKE_AFTER( - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "message_queue_broadcast : " ); - MPTEST.PUT_BUFFER( MPTEST.BUFFER_AREA_3 ); - TEXT_IO.NEW_LINE; - - RTEMS.MESSAGE_QUEUE_BROADCAST( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_3, - BROADCAST_COUNT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_BROADCAST" ); - - TEXT_IO.PUT_LINE( "Delaying for a second" ); - RTEMS.TASK_WAKE_AFTER( - 1 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end SEND_MESSAGES; - ---PAGE --- --- RECEIVE_MESSAGES --- - - procedure RECEIVE_MESSAGES is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. 3 - loop - - TEXT_IO.PUT_LINE( "Receiving message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - MPTEST.RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - - TEXT_IO.PUT( "Received : " ); - MPTEST.PUT_BUFFER( MPTEST.RECEIVE_BUFFER_AREA ); - TEXT_IO.NEW_LINE; - - end loop; - - TEXT_IO.PUT_LINE( "Receiver delaying for a second" ); - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end RECEIVE_MESSAGES; - ---PAGE --- --- FILL_BUFFER --- - --- --- Depends on tricks to make the copy work. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out RTEMS.BUFFER - ) is - SOURCE_BUFFER : RTEMS.BUFFER_POINTER; - begin - - SOURCE_BUFFER := RTEMS.TO_BUFFER_POINTER( - SOURCE( SOURCE'FIRST )'ADDRESS - ); - - BUFFER.FIELD1 := SOURCE_BUFFER.FIELD1; - BUFFER.FIELD2 := SOURCE_BUFFER.FIELD2; - BUFFER.FIELD3 := SOURCE_BUFFER.FIELD3; - BUFFER.FIELD4 := SOURCE_BUFFER.FIELD4; - - end FILL_BUFFER; - ---PAGE --- --- PUT_BUFFER --- - --- --- Depends on tricks to make the output work. --- - - procedure PUT_BUFFER ( - BUFFER : in RTEMS.BUFFER - ) is - begin - - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD1, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD2, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD3, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD4, FALSE ); - - end PUT_BUFFER; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting QID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.MESSAGE_QUEUE_DELETE( MPTEST.QUEUE_ID( 1 ), STATUS ); - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "MESSAGE_QUEUE_DELETE" - ); - - TEXT_IO.PUT_LINE( - "message_queue_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT" - ); - - MPTEST.SEND_MESSAGES; - - MPTEST.RECEIVE_MESSAGES; - - TEXT_IO.PUT_LINE( "Flushing remote empty queue" ); - RTEMS.MESSAGE_QUEUE_FLUSH( MPTEST.QUEUE_ID( 1 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 1 ); - TEXT_IO.PUT_LINE( - " messages were flushed from remote empty queue" - ); - - TEXT_IO.PUT_LINE( - "Send messages to be flushed from remote queue" - ); - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFER_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "Flushing remote queue" ); - RTEMS.MESSAGE_QUEUE_FLUSH( MPTEST.QUEUE_ID( 1 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 1 ); - TEXT_IO.PUT_LINE( - " messages were flushed from the remote queue" - ); - - TEXT_IO.PUT_LINE( "Waiting for message queue to be deleted" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - MPTEST.RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "MESSAGE_QUEUE_FLUSH" - ); - - else - - MPTEST.RECEIVE_MESSAGES; - - MPTEST.SEND_MESSAGES; - - RTEMS.TASK_WAKE_AFTER( - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.MESSAGE_QUEUE_DELETE( MPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 9 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp09/mptest.ads b/c/src/ada-tests/mptests/mp09/mptest.ads deleted file mode 100644 index b981b4664c..0000000000 --- a/c/src/ada-tests/mptests/mp09/mptest.ads +++ /dev/null @@ -1,254 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- The following are message buffers used to contain the test messages --- and pointers to those buffers. --- - - RECEIVE_BUFFER_AREA : RTEMS.BUFFER; - BUFFER_AREA_1 : RTEMS.BUFFER; - BUFFER_AREA_2 : RTEMS.BUFFER; - BUFFER_AREA_3 : RTEMS.BUFFER; - BUFFER_AREA_4 : RTEMS.BUFFER; - - RECEIVE_BUFFER : RTEMS.BUFFER_POINTER; - BUFFER_1 : RTEMS.BUFFER_POINTER; - BUFFER_2 : RTEMS.BUFFER_POINTER; - BUFFER_3 : RTEMS.BUFFER_POINTER; - BUFFER_4 : RTEMS.BUFFER_POINTER; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SEND_MESSAGES --- --- This subprogram prints and sends a sequence of three test messages. --- One of the messages is sent, one is urgent, and one is broadcast. --- A one second pause is between each the sending of each message. --- - - procedure SEND_MESSAGES; - --- --- RECEIVE_MESSAGES --- --- This subprogram receives and prints a sequence of three test messages. --- - - procedure RECEIVE_MESSAGES; - --- --- FILL_BUFFER --- --- DESCRIPTION: --- --- This subprogram takes the SOURCE input string and places --- up to the first sixteen characters of that string into --- the message BUFFER. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out RTEMS.BUFFER - ); - --- --- PUT_BUFFER --- --- DESCRIPTION: --- --- This subprogram prints the specified message BUFFER. --- - - procedure PUT_BUFFER ( - BUFFER : in RTEMS.BUFFER - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 1, -- maximum # message queues - 1, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp09/node1/mp09.scn b/c/src/ada-tests/mptests/mp09/node1/mp09.scn deleted file mode 100644 index 167d6e18a5..0000000000 --- a/c/src/ada-tests/mptests/mp09/node1/mp09.scn +++ /dev/null @@ -1,20 +0,0 @@ -*** TEST 9 -- NODE 1 *** -Creating Message Queue (Global) -Creating Test_task (local) -Starting Test_task (local) -Deleting initialization task -Getting QID of message queue -Receiving message ... -Received : 123456789012345 -Receiving message ... -Received : abcdefghijklmno -Receiving message ... -Received : ABCDEFGHIJKLMNO -Receiver delaying for a second -message_queue_send : 123456789012345 -Delaying for a second -message_queue_urgent : abcdefghijklmno -Delaying for a second -message_queue_broadcast : ABCDEFGHIJKLMNO -Delaying for a second -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp09/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp09/node2/mp09.scn b/c/src/ada-tests/mptests/mp09/node2/mp09.scn deleted file mode 100644 index 4cd8a7bff7..0000000000 --- a/c/src/ada-tests/mptests/mp09/node2/mp09.scn +++ /dev/null @@ -1,26 +0,0 @@ -*** TEST 9 -- NODE 2 *** -Creating Test_task (local) -Starting Test_task (local) -Deleting initialization task -Getting QID of message queue -message_queue_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT -message_queue_send : 123456789012345 -Delaying for a second -message_queue_urgent : abcdefghijklmno -Delaying for a second -message_queue_broadcast : ABCDEFGHIJKLMNO -Delaying for a second -Receiving message ... -Received : 123456789012345 -Receiving message ... -Received : abcdefghijklmno -Receiving message ... -Received : ABCDEFGHIJKLMNO -Receiver delaying for a second -Flushing remote empty queue -0 messages were flushed from remote empty queue -Send messages to be flushed from remote queue -Flushing remote queue -1 messages were flushed from the remote queue -Waiting for message queue to be deleted -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp09/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp10/mptest.adb b/c/src/ada-tests/mptests/mp10/mptest.adb deleted file mode 100644 index 011d1f83e7..0000000000 --- a/c/src/ada-tests/mptests/mp10/mptest.adb +++ /dev/null @@ -1,301 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 10 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 10 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - MPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'A', '3', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 0, - RTEMS.GLOBAL + RTEMS.PRIORITY, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - RTEMS.TASK_WAKE_AFTER( 10 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - else - - TEXT_IO.PUT_LINE( "Creating Test_task 1 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 1 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Test_task 2 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 2 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 2 ), - MPTEST.TEST_TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Test_task 3 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 3 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 3 ), - MPTEST.TEST_TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Sleeping for 1 second ..." ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Deleting Test_task 2" ); - RTEMS.TASK_DELETE( MPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF 2" ); - - TEXT_IO.PUT_LINE( "Deleting Test_task 1" ); - RTEMS.TASK_DELETE( MPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF 1" ); - - TEXT_IO.PUT_LINE( "Restarting Test_task 3" ); - RTEMS.TASK_RESTART( MPTEST.TASK_ID( 3 ), 1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF 3" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 10 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - ---PAGE --- --- TEST_TASK_1 --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - RECEIVE_BUFFER_AREA : RTEMS.BUFFER; - RECEIVE_BUFFER : RTEMS.BUFFER_POINTER; - STATUS : RTEMS.STATUS_CODES; - begin - - RECEIVE_BUFFER := - RTEMS.TO_BUFFER_POINTER( RECEIVE_BUFFER_AREA'ADDRESS ); - - TEXT_IO.PUT_LINE( "Getting QID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( "Attempting to receive message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - - end TEST_TASK_1; - ---PAGE --- --- TEST_TASK_2 --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( "Attempting to acquire semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end TEST_TASK_2; - ---PAGE --- --- TEST_TASK_3 --- - - procedure TEST_TASK_3 ( - RESTART : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - if RESTART = 1 then - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - end if; - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( "Attempting to acquire semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end TEST_TASK_3; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp10/mptest.ads b/c/src/ada-tests/mptests/mp10/mptest.ads deleted file mode 100644 index a574adf43f..0000000000 --- a/c/src/ada-tests/mptests/mp10/mptest.ads +++ /dev/null @@ -1,224 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 10 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- The number of events to process per dot printed out. --- - - PER_DOT : constant RTEMS.UNSIGNED32 := 100; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_1 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_2 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_3 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_3 ( - RESTART : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp10/node1/mp10.scn b/c/src/ada-tests/mptests/mp10/node1/mp10.scn deleted file mode 100644 index deeafc0a9a..0000000000 --- a/c/src/ada-tests/mptests/mp10/node1/mp10.scn +++ /dev/null @@ -1,4 +0,0 @@ -*** TEST 10 -- NODE 1 *** -Creating Message Queue (Global) -Creating Semaphore (Global) -*** END OF TEST 10 *** diff --git a/c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp10/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp10/node2/mp10.scn b/c/src/ada-tests/mptests/mp10/node2/mp10.scn deleted file mode 100644 index c0337fdacf..0000000000 --- a/c/src/ada-tests/mptests/mp10/node2/mp10.scn +++ /dev/null @@ -1,18 +0,0 @@ -*** TEST 10 -- NODE 2 *** -Creating Test_task 1 (local) -Starting Test_task 1 (local) -Creating Test_task 2 (local) -Starting Test_task 2 (local) -Creating Test_task 3 (local) -Starting Test_task 3 (local) -Sleeping for 1 second ... -Getting QID of message queue -Attempting to receive message ... -Getting SMID of semaphore -Attempting to acquire semaphore ... -Getting SMID of semaphore -Attempting to acquire semaphore ... -Deleting Test_task 2 -Deleting Test_task 1 -Restarting Test_task 3 -*** END OF TEST 10 *** diff --git a/c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp10/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp11/mptest.adb b/c/src/ada-tests/mptests/mp11/mptest.adb deleted file mode 100644 index c94ca43eaa..0000000000 --- a/c/src/ada-tests/mptests/mp11/mptest.adb +++ /dev/null @@ -1,138 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 11 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 11 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'A', 'R', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Attempting to create Test_task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TASK_CREATE" - ); - TEXT_IO.PUT_LINE( "task_create correctly returned TOO_MANY" ); - - TEXT_IO.PUT_LINE( "Attempting to create Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_CREATE" - ); - TEXT_IO.PUT_LINE( - "message_queue_create correctly returned TOO_MANY" - ); - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "SEMAPHORE_CREATE" - ); - TEXT_IO.PUT_LINE( "semaphore_create correctly returned TOO_MANY" ); - - TEXT_IO.PUT_LINE( "Creating Partition (Global)" ); - RTEMS.PARTITION_CREATE( - MPTEST.PARTITION_NAME( 1 ), - MPTEST.PARTITION_AREA( 0 )'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PARTITION_CREATE" - ); - TEXT_IO.PUT_LINE( "partition_create correctly returned TOO_MANY" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 11 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp11/mptest.ads b/c/src/ada-tests/mptests/mp11/mptest.ads deleted file mode 100644 index 6d54d45084..0000000000 --- a/c/src/ada-tests/mptests/mp11/mptest.ads +++ /dev/null @@ -1,184 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partition --- created by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This is the area used for the partition. --- - - PARTITION_AREA : - array ( RTEMS.UNSIGNED32 range 0 .. 1023 ) of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 0, -- maximum # global objects - 0 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 0, -- maximum # messages - 1, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp11/node1/mp11.scn b/c/src/ada-tests/mptests/mp11/node1/mp11.scn deleted file mode 100644 index 013426bf91..0000000000 --- a/c/src/ada-tests/mptests/mp11/node1/mp11.scn +++ /dev/null @@ -1,10 +0,0 @@ -*** TEST 11 -- NODE 1 *** -Attempting to create Test_task (Global) -task_create correctly returned TOO_MANY -Attempting to create Message Queue (Global) -message_queue_create correctly returned TOO_MANY -Creating Semaphore (Global) -semaphore_create correctly returned TOO_MANY -Creating Partition (Global) -partition_create correctly returned TOO_MANY -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp11/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp11/node2/mp11.scn b/c/src/ada-tests/mptests/mp11/node2/mp11.scn deleted file mode 100644 index 49bd8a3219..0000000000 --- a/c/src/ada-tests/mptests/mp11/node2/mp11.scn +++ /dev/null @@ -1,2 +0,0 @@ -*** TEST 11 -- NODE 2 *** -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp11/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp12/mptest.adb b/c/src/ada-tests/mptests/mp12/mptest.adb deleted file mode 100644 index e99006ec72..0000000000 --- a/c/src/ada-tests/mptests/mp12/mptest.adb +++ /dev/null @@ -1,152 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 12 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER_ADDRESS : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 12 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'A', 'R', ' ' ); - - TEXT_IO.PUT_LINE( "Got to the initialization task" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 2 then - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting ID of remote Partition (Global)" ); - - loop - - RTEMS.PARTITION_IDENT( - MPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - TEXT_IO.PUT_LINE( - "Attempting to delete remote Partition (Global)" - ); - - RTEMS.PARTITION_DELETE( MPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ILLEGAL_ON_REMOTE_OBJECT, - "PARTITION_DELETE" - ); - - TEXT_IO.PUT_LINE( - "partition_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT!!" - ); - - TEXT_IO.PUT_LINE( "Obtaining a buffer from the global partition" ); - - RTEMS.PARTITION_GET_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT( "Address returned was : " ); - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( BUFFER_ADDRESS, RTEMS.NULL_ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - TEXT_IO.NEW_LINE; - - RTEMS.PARTITION_RETURN_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - else - - TEXT_IO.PUT_LINE( "Creating Partition (Global)" ); - RTEMS.PARTITION_CREATE( - MPTEST.PARTITION_NAME( 1 ), - MPTEST.PARTITION_AREA( 0 )'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - - TEXT_IO.PUT_LINE( "Sleeping for three seconds" ); - RTEMS.TASK_WAKE_AFTER( 3 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Deleting Partition (Global)" ); - RTEMS.PARTITION_DELETE( MPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE" ); - - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 12 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp12/mptest.ads b/c/src/ada-tests/mptests/mp12/mptest.ads deleted file mode 100644 index bc6b0d8827..0000000000 --- a/c/src/ada-tests/mptests/mp12/mptest.ads +++ /dev/null @@ -1,182 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the area used for the partition. --- - - PARTITION_AREA : - array ( RTEMS.UNSIGNED32 range 0 .. 1023 ) of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 1, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp12/node1/mp12.scn b/c/src/ada-tests/mptests/mp12/node1/mp12.scn deleted file mode 100644 index 40646722eb..0000000000 --- a/c/src/ada-tests/mptests/mp12/node1/mp12.scn +++ /dev/null @@ -1,6 +0,0 @@ -*** TEST 12 -- NODE 1 *** -Got to the initialization task -Creating Partition (Global) -Sleeping for three seconds -Deleting Partition (Global) -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp12/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp12/node2/mp12.scn b/c/src/ada-tests/mptests/mp12/node2/mp12.scn deleted file mode 100644 index 2189ae9959..0000000000 --- a/c/src/ada-tests/mptests/mp12/node2/mp12.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 12 -- NODE 2 *** -Got to the initialization task -Getting ID of remote Partition (Global) -Attempting to delete remote Partition (Global) -partition_delete correctly returned ILLEGAL_ON_REMOTE_OBJECT!! -Obtaining a buffer from the global partition -Address returned was : 0x200f0000 -NOTE: Address printed will probably differ!!! -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp12/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp13/mptest.adb b/c/src/ada-tests/mptests/mp13/mptest.adb deleted file mode 100644 index 33aebf6cd8..0000000000 --- a/c/src/ada-tests/mptests/mp13/mptest.adb +++ /dev/null @@ -1,328 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 13 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 13 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 3, - RTEMS.GLOBAL + RTEMS.LIMIT, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL + RTEMS.PRIORITY, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Test_task 1 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 1 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.TEST_TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Test_task 2 (local)" ); - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Test_task 2 (local)" ); - RTEMS.TASK_START( - MPTEST.TASK_ID( 2 ), - MPTEST.TEST_TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - TEXT_IO.PUT_LINE( "Deleting initialization task" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK_1 --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - RECEIVE_BUFFER_AREA : RTEMS.BUFFER; - RECEIVE_BUFFER : RTEMS.BUFFER_POINTER; - STATUS : RTEMS.STATUS_CODES; - begin - - RECEIVE_BUFFER := - RTEMS.TO_BUFFER_POINTER( RECEIVE_BUFFER_AREA'ADDRESS ); - - TEXT_IO.PUT_LINE( "Getting QID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Receiving message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEXT_IO.PUT_LINE( "How did I get back from here???" ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Receiving message ..." ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - RECEIVE_BUFFER, - RTEMS.DEFAULT_OPTIONS, - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_RECEIVE" - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_OBTAIN" - ); - - TEXT_IO.PUT_LINE( - "message_queue_receive correctly returned TIMEOUT" - ); - - TEXT_IO.PUT_LINE( "Deleting self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TEST_TASK_1; - ---PAGE --- --- TEST_TASK_2 --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting SMID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Releasing semaphore ..." ); - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEXT_IO.PUT_LINE( "How did I get back from here???" ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( "Releasing semaphore ..." ); - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "Getting semaphore ..." ); - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - 2 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "SEMAPHORE_OBTAIN" - ); - TEXT_IO.PUT_LINE( "semaphore_obtain correctly returned TIMEOUT" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK_2; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp13/mptest.ads b/c/src/ada-tests/mptests/mp13/mptest.ads deleted file mode 100644 index 1575c5adeb..0000000000 --- a/c/src/ada-tests/mptests/mp13/mptest.ads +++ /dev/null @@ -1,206 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphore --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- This variable contains the ID of the remote task with which this --- test interacts. --- - - REMOTE_TID : RTEMS.ID; - --- --- This variable contains the node on which the remote task with which --- this test interacts resides. --- - - REMOTE_NODE : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_1 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK_2 --- --- DESCRIPTION: --- --- This is the body of one of the RTEMS tasks which constitute this test. --- - - procedure TEST_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp13/node1/mp13.scn b/c/src/ada-tests/mptests/mp13/node1/mp13.scn deleted file mode 100644 index d3bd11f65e..0000000000 --- a/c/src/ada-tests/mptests/mp13/node1/mp13.scn +++ /dev/null @@ -1,14 +0,0 @@ -*** TEST 13 -- NODE 1 *** -Creating Message Queue (Global) -Creating Semaphore (Global) -Creating Test_task 1 (local) -Starting Test_task 1 (local) -Creating Test_task 2 (local) -Starting Test_task 2 (local) -Getting QID of message queue -Receiving message ... -Getting SMID of semaphore -Releasing semaphore ... -Getting semaphore ... -Getting semaphore ... -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp13/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp13/node2/mp13.scn b/c/src/ada-tests/mptests/mp13/node2/mp13.scn deleted file mode 100644 index 3254046292..0000000000 --- a/c/src/ada-tests/mptests/mp13/node2/mp13.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 13 -- NODE 2 *** -Creating Test_task 1 (local) -Starting Test_task 1 (local) -Creating Test_task 2 (local) -Starting Test_task 2 (local) -Deleting initialization task -Getting QID of message queue -Getting SMID of semaphore -Getting semaphore ... -Releasing semaphore ... -Receiving message ... -Getting semaphore ... -message_queue_receive correctly returned TIMEOUT -Deleting self -semaphore_obtain correctly returned TIMEOUT -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp13/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp14/mptest.adb b/c/src/ada-tests/mptests/mp14/mptest.adb deleted file mode 100644 index e43aec8ae5..0000000000 --- a/c/src/ada-tests/mptests/mp14/mptest.adb +++ /dev/null @@ -1,764 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 14 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with BSP; -with BSP_MPCI; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- STOP_TEST_TSR --- - - procedure STOP_TEST_TSR ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - MPTEST.STOP_TEST := TRUE; - - end STOP_TEST_TSR; - ---PAGE --- --- EXIT_TEST --- - - procedure EXIT_TEST is - OLD_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( RTEMS.NO_PREEMPT, RTEMS.PREEMPT_MASK, OLD_MODE, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - BSP_MPCI.PRINT_STATISTICS; - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end EXIT_TEST; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** TEST 14 -- NODE " ); - UNSIGNED32_IO.PUT( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE, - WIDTH => 1 - ); - TEXT_IO.PUT_LINE( " ***" ); - - MPTEST.STOP_TIMER_NAME := RTEMS.BUILD_NAME( 'S', 'T', 'O', 'P' ); - - MPTEST.STOP_TEST := FALSE; - - RTEMS.TIMER_CREATE( - MPTEST.STOP_TIMER_NAME, - MPTEST.STOP_TIMER_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TIMER_FIRE_AFTER( - MPTEST.STOP_TIMER_ID, - BSP.MAXIMUM_LONG_TEST_DURATION * TEST_SUPPORT.TICKS_PER_SECOND, - MPTEST.STOP_TEST_TSR'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - MPTEST.EVENT_TASK_NAME( 1 ) := RTEMS.BUILD_NAME( '1', '1', '1', ' ' ); - MPTEST.EVENT_TASK_NAME( 2 ) := RTEMS.BUILD_NAME( '2', '2', '2', ' ' ); - - MPTEST.QUEUE_TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'T', '1', ' ' ); - MPTEST.QUEUE_TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'M', 'T', '2', ' ' ); - - MPTEST.PARTITION_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - MPTEST.PARTITION_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'P', 'T', '2', ' ' ); - - MPTEST.SEMAPHORE_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - MPTEST.SEMAPHORE_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - - MPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'E', 'M', ' ' ); - - MPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'S', 'G', ' ' ); - - MPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'A', 'R', ' ' ); - - MPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', 'R', ' ' ); - - for INDEX in MPTEST.BUFFERS'FIRST .. MPTEST.BUFFERS'LAST - loop - - MPTEST.BUFFERS( INDEX ) := - RTEMS.TO_BUFFER_POINTER( MPTEST.BUFFER_AREAS( INDEX )'ADDRESS ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - TEXT_IO.PUT_LINE( "Creating Semaphore (Global)" ); - RTEMS.SEMAPHORE_CREATE( - MPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Message Queue (Global)" ); - RTEMS.MESSAGE_QUEUE_CREATE( - MPTEST.QUEUE_NAME( 1 ), - 1, - RTEMS.GLOBAL, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - TEXT_IO.PUT_LINE( "Creating Partition (Global)" ); - RTEMS.PARTITION_CREATE( - MPTEST.PARTITION_NAME( 1 ), - MPTEST.PARTITION_AREA( 0 )'ADDRESS, - 16#8000#, - 16#3000#, - RTEMS.GLOBAL, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - - end if; - - TEXT_IO.PUT_LINE( "Creating Event task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.EVENT_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.EVENT_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Event task (Global)" ); - RTEMS.TASK_START( - MPTEST.EVENT_TASK_ID( 1 ), - MPTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Semaphore task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.SEMAPHORE_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.SEMAPHORE_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Semaphore task (Global)" ); - RTEMS.TASK_START( - MPTEST.SEMAPHORE_TASK_ID( 1 ), - MPTEST.SEMAPHORE_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Message Queue task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.QUEUE_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.QUEUE_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Message Queue task (Global)" ); - RTEMS.TASK_START( - MPTEST.QUEUE_TASK_ID( 1 ), - MPTEST.MESSAGE_QUEUE_TASK'ACCESS, - 1, -- index of buffer - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - TEXT_IO.PUT_LINE( "Creating Partition task (Global)" ); - RTEMS.TASK_CREATE( - MPTEST.PARTITION_TASK_NAME( - MPTEST.MULTIPROCESSING_CONFIGURATION.NODE - ), - 2, - 2048, - RTEMS.TIMESLICE, - RTEMS.GLOBAL, - MPTEST.PARTITION_TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - TEXT_IO.PUT_LINE( "Starting Partition task (Global)" ); - RTEMS.TASK_START( - MPTEST.PARTITION_TASK_ID( 1 ), - MPTEST.PARTITION_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 2, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - MPTEST.DELAYED_EVENTS_TASK( 1 ); - - end INIT; - --- --- DELAYED_SEND_EVENT --- --- DESCRIPTION: --- --- This subprogram is a timer service routine which sends an --- event set to a waiting task. --- - - procedure DELAYED_SEND_EVENT ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( - MPTEST.TASK_ID( RTEMS.GET_INDEX( TIMER_ID ) ), - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - end DELAYED_SEND_EVENT; - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - REMOTE_NODE : RTEMS.UNSIGNED32; - REMOTE_TID : RTEMS.ID; - COUNT : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - REMOTE_NODE := 2; - else - REMOTE_NODE := 1; - end if; - - TEXT_IO.PUT_LINE( "About to go to sleep!" ); - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - TEXT_IO.PUT_LINE( "Waking up!" ); - - TEXT_IO.PUT( "Remote task's name is : " ); - TEST_SUPPORT.PUT_NAME( MPTEST.EVENT_TASK_NAME( REMOTE_NODE ), TRUE ); - - TEXT_IO.PUT_LINE( "Getting TID of remote task" ); - - loop - - RTEMS.TASK_IDENT( - MPTEST.EVENT_TASK_NAME( REMOTE_NODE ), - RTEMS.SEARCH_ALL_NODES, - REMOTE_TID, - STATUS - ); - - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "task_ident" ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - TEXT_IO.PUT_LINE( "Sending events to remote task" ); - - loop - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.EVENT_TASK_DOT_COUNT - loop - RTEMS.EVENT_SEND( - REMOTE_TID, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND" ); - - exit when MPTEST.STOP_TEST = TRUE; - - end loop; - - TEST_SUPPORT.PUT_DOT( "e" ); - - end loop; - - end if; - - TEXT_IO.PUT_LINE( "Receiving events from remote task" ); - - loop - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.EVENT_TASK_DOT_COUNT - loop - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - end loop; - - TEST_SUPPORT.PUT_DOT( "e" ); - - end loop; - - MPTEST.EXIT_TEST; - - end TEST_TASK; - --- --- DELAYED_EVENTS_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure DELAYED_EVENTS_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - EVENTS_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( - RTEMS.PREEMPT + RTEMS.TIMESLICE, - RTEMS.PREEMPT_MASK + RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.TIMER_CREATE( - MPTEST.TIMER_NAME( 1 ), - MPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TASK_IDENT( - RTEMS.SELF, - RTEMS.SEARCH_ALL_NODES, - MPTEST.TASK_ID( RTEMS.GET_INDEX( MPTEST.TIMER_ID( 1 ) ) ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENTS" ); - - loop - - for COUNT in 1 .. MPTEST.DELAYED_EVENT_DOT_COUNT - loop - RTEMS.TIMER_FIRE_AFTER( - MPTEST.TIMER_ID( 1 ), - 1, - MPTEST.DELAYED_SEND_EVENT'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTS_OUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - end loop; - - TEST_SUPPORT.PUT_DOT( "." ); - - end loop; - - MPTEST.EXIT_TEST; - - end DELAYED_EVENTS_TASK; - --- --- MESSAGE_QUEUE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure MESSAGE_QUEUE_TASK ( - INDEX : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - YIELD_COUNT : RTEMS.UNSIGNED32; - OVERFLOW_COUNT : RTEMS.UNSIGNED32_POINTER; - BUFFER_COUNT : RTEMS.UNSIGNED32_POINTER; - STATUS : RTEMS.STATUS_CODES; - begin - - MPTEST.BUFFERS( INDEX ).FIELD1 := 0; - MPTEST.BUFFERS( INDEX ).FIELD2 := 0; - MPTEST.BUFFERS( INDEX ).FIELD3 := 0; - MPTEST.BUFFERS( INDEX ).FIELD4 := 0; - - TEXT_IO.PUT_LINE( "Getting ID of message queue" ); - - loop - - RTEMS.MESSAGE_QUEUE_IDENT( - MPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.QUEUE_ID( 1 ), - STATUS - ); - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "message_queue_ident FAILED!!" ); - - end loop; - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFERS( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - OVERFLOW_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD1'ADDRESS - ); - - BUFFER_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD2'ADDRESS - ); - - else - - OVERFLOW_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD3'ADDRESS - ); - - BUFFER_COUNT := RTEMS.TO_UNSIGNED32_POINTER( - MPTEST.BUFFERS( INDEX ).FIELD4'ADDRESS - ); - - end if; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - YIELD_COUNT := 100; - - for COUNT in 1 .. MPTEST.MESSAGE_DOT_COUNT - loop - - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFERS( INDEX ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_RECEIVE" - ); - - if BUFFER_COUNT.ALL = RTEMS.UNSIGNED32'LAST then - BUFFER_COUNT.ALL := 0; - OVERFLOW_COUNT.ALL := OVERFLOW_COUNT.ALL + 1; - else - BUFFER_COUNT.ALL := BUFFER_COUNT.ALL + 1; - end if; - - RTEMS.MESSAGE_QUEUE_SEND( - MPTEST.QUEUE_ID( 1 ), - MPTEST.BUFFERS( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - if MPTEST.STOP_TEST = FALSE then - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - YIELD_COUNT := YIELD_COUNT - 1; - - if YIELD_COUNT = 0 then - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "YIELD" ); - - YIELD_COUNT := 100; - - end if; - - end if; - - end if; - - end loop; - - TEST_SUPPORT.PUT_DOT( "m" ); - - end loop; - - MPTEST.EXIT_TEST; - - end MESSAGE_QUEUE_TASK; - --- --- PARTITION_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure PARTITION_TASK ( - IGNORED : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - BUFFER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting ID of partition" ); - - loop - - RTEMS.PARTITION_IDENT( - MPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.PARTITION_ID( 1 ), - STATUS - ); - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "partition_ident FAILED!!" ); - - end loop; - - loop - - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.PARTITION_DOT_COUNT - loop - - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.PARTITION_GET_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - - RTEMS.PARTITION_RETURN_BUFFER( - MPTEST.PARTITION_ID( 1 ), - BUFFER, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PARTITION_RETURN_BUFFER" - ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "YIELD" ); - - end if; - - end loop; - - TEST_SUPPORT.PUT_DOT( "p" ); - - end loop; - - MPTEST.EXIT_TEST; - - end PARTITION_TASK; - --- --- SEMAPHORE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure SEMAPHORE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - COUNT : RTEMS.UNSIGNED32; - YIELD_COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "Getting ID of semaphore" ); - - loop - - RTEMS.SEMAPHORE_IDENT( - MPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - MPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - exit when RTEMS.IS_STATUS_SUCCESSFUL( STATUS ); - - TEXT_IO.PUT_LINE( "semaphore_ident FAILED!!" ); - - end loop; - - loop - - YIELD_COUNT := 100; - - exit when MPTEST.STOP_TEST = TRUE; - - for COUNT in 1 .. MPTEST.SEMAPHORE_DOT_COUNT - loop - - exit when MPTEST.STOP_TEST = TRUE; - - RTEMS.SEMAPHORE_OBTAIN( - MPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - RTEMS.SEMAPHORE_RELEASE( MPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - if MPTEST.MULTIPROCESSING_CONFIGURATION.NODE = 1 then - - YIELD_COUNT := YIELD_COUNT - 1; - - if YIELD_COUNT = 0 then - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "YIELD" ); - - YIELD_COUNT := 100; - - end if; - - end if; - - end loop; - - TEST_SUPPORT.PUT_DOT( "s" ); - - end loop; - - MPTEST.EXIT_TEST; - - end SEMAPHORE_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp14/mptest.ads b/c/src/ada-tests/mptests/mp14/mptest.ads deleted file mode 100644 index 83786f5fe0..0000000000 --- a/c/src/ada-tests/mptests/mp14/mptest.ads +++ /dev/null @@ -1,347 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for passing event sets. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for passing event sets. --- - - EVENT_TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - EVENT_TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for manipulating semaphores. --- - - SEMAPHORE_TASK_ID : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - SEMAPHORE_TASK_NAME : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for passing messages. --- - - QUEUE_TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - QUEUE_TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test for manipulating the global partitions. --- - - PARTITION_TASK_ID : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - PARTITION_TASK_NAME : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions --- created by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores --- created by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message_queues --- created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- --- These arrays contain the IDs and NAMEs of all RTEMS timers --- created by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- The following are message buffers used to contain the test messages --- and pointers to those buffers. --- - - BUFFER_AREAS : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.BUFFER; - BUFFERS : - array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.BUFFER_POINTER; - --- --- This is the area used for the partition. --- - - PARTITION_AREA : - array ( RTEMS.UNSIGNED32 range 0 .. 16#7FFF# ) of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following constants control the flow of "dot" indicators --- from the various test componenents. --- - - EVENT_TASK_DOT_COUNT : constant RTEMS.UNSIGNED32 := 100; - EVENT_SEND_DOT_COUNT : constant RTEMS.UNSIGNED32 := 100; - DELAYED_EVENT_DOT_COUNT : constant RTEMS.UNSIGNED32 := 1000; - MESSAGE_DOT_COUNT : constant RTEMS.UNSIGNED32 := 200; - PARTITION_DOT_COUNT : constant RTEMS.UNSIGNED32 := 200; - SEMAPHORE_DOT_COUNT : constant RTEMS.UNSIGNED32 := 200; - --- --- These contain the IDs and NAMEs of the RTEMS timers used --- by this test to stop. --- - - STOP_TIMER_ID : RTEMS.ID; - STOP_TIMER_NAME : RTEMS.NAME; - --- --- This variable is set when the test should stop executing. --- - - STOP_TEST : RTEMS.BOOLEAN; - --- --- EXIT_TEST --- --- DESCRIPTION: --- --- This subprogram is invoked to stop this test. --- - - procedure EXIT_TEST; - --- --- DELAYED_SEND_EVENT --- --- DESCRIPTION: --- --- This subprogram is a timer service routine which sends an --- event set to a waiting task. --- - - procedure DELAYED_SEND_EVENT ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_EVENTS_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure DELAYED_EVENTS_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MESSAGE_QUEUE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure MESSAGE_QUEUE_TASK ( - INDEX : in RTEMS.TASK_ARGUMENT - ); - --- --- PARTITION_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure PARTITION_TASK ( - IGNORED : in RTEMS.TASK_ARGUMENT - ); - --- --- SEMAPHORE_TASK --- --- DESCRIPTION: --- --- This is one of the test tasks. --- - - procedure SEMAPHORE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.DEFAULT_ATTRIBUTES, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.TIMESLICE, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 32, -- maximum # global objects - 32 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 12, -- maximum # timers - 1, -- maximum # semaphores - 1, -- maximum # message queues - 1, -- maximum # messages - 1, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 1 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/mptests/mp14/node1/mp14.scn b/c/src/ada-tests/mptests/mp14/node1/mp14.scn deleted file mode 100644 index d1b6feefe9..0000000000 --- a/c/src/ada-tests/mptests/mp14/node1/mp14.scn +++ /dev/null @@ -1,33 +0,0 @@ -*** TEST 14 -- NODE 1 *** -Creating Semaphore (Global) -Creating Message Queue (Global) -Creating Partition (Global) -Creating Event task (Global) -Starting Event task (Global) -Creating Semaphore task (Global) -About to go to sleep! -Starting Semaphore task (Global) -Creating Message Queue task (Global) -Getting SMID of semaphore -Starting Message Queue task (Global) -Creating Partition task (Global) -Getting ID of msg queue -Starting Partition task (Global) -Getting ID of partition -Waking up! -Remote task's name is : 222 -Getting TID of remote task -Sending events to remote task - -. - indicates 100 iterations of -tm_evafter of 1 tick and event_receive. -e - indicates that 100 -events have been sent to the remote task. -m - indicates 100 iterations of -message_queue_send and message_queue_receive. -p - indicates 100 iterations of -partition_get_buffer and partition_return_buffer. -s - indicates 100 iterations of -semaphore_obtain and semaphore_release. -NOTE: The characters in the stream could begin to appear whenever any -task is started. diff --git a/c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/mptests/mp14/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/mptests/mp14/node2/mp14.scn b/c/src/ada-tests/mptests/mp14/node2/mp14.scn deleted file mode 100644 index a245b11faa..0000000000 --- a/c/src/ada-tests/mptests/mp14/node2/mp14.scn +++ /dev/null @@ -1,28 +0,0 @@ -*** TEST 14 -- NODE 2 *** -Creating Event task (Global) -Starting Event task (Global) -Creating Semaphore task (Global) -About to go to sleep! -Starting Semaphore task (Global) -Creating Message Queue task (Global) -Getting SMID of semaphore -Starting Message Queue task (Global) -Creating Partition task (Global) -Getting ID of msg queue -Starting Partition task (Global) -Getting ID of partition -Waking up! -Remote task's name is : 111 -Getting TID of remote task -Receiving events from remote task - -. - indicates 100 iterations of -tm_evafter of 1 tick and event_receive. -e - indicates that 100 -events have been sent to the remote task. -m - indicates 100 iterations of -message_queue_send and message_queue_receive. -p - indicates 100 iterations of -partition_get_buffer and partition_return_buffer. -s - indicates 100 iterations of -semaphore_obtain and semaphore_release. diff --git a/c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/mptests/mp14/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/samples/base_mp/mptest.adb b/c/src/ada-tests/samples/base_mp/mptest.adb deleted file mode 100644 index 61990654b4..0000000000 --- a/c/src/ada-tests/samples/base_mp/mptest.adb +++ /dev/null @@ -1,108 +0,0 @@ --- --- MPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body MPTEST is - - package body PER_NODE_CONFIGURATION is separate; - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - C : RTEMS.CHARACTER; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT( "*** SAMPLE MULTIPROCESSOR APPLICATION ***" ); - TEXT_IO.PUT( "Creating and starting an application task" ); - - - MPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - MPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 0 ), - RTEMS.DEFAULT_ATTRIBUTES, - MPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - MPTEST.TASK_ID( 1 ), - MPTEST.APPLICATION_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- APPLICATION_TASK --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - TEXT_IO.PUT( "This task was invoked with node argument (" ); - UNSIGNED32_IO.PUT( ARGUMENT ); - TEXT_IO.PUT_LINE( ")" ); - - TEXT_IO.PUT( "This task has the id of 0x" ); - UNSIGNED32_IO.PUT( TID, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "*** END OF SAMPLE MULTIPROCESSOR APPLICATION ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end APPLICATION_TASK; - -end MPTEST; diff --git a/c/src/ada-tests/samples/base_mp/mptest.ads b/c/src/ada-tests/samples/base_mp/mptest.ads deleted file mode 100644 index 7b76581a62..0000000000 --- a/c/src/ada-tests/samples/base_mp/mptest.ads +++ /dev/null @@ -1,166 +0,0 @@ --- --- MPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Multiprocessor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with BSP_MPCI; -with RTEMS; - -package MPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- APPLICATION_TASK --- --- DESCRIPTION: --- --- This routine is as an example of an application task which --- prints a message including its RTEMS task id. This task --- then invokes exit to return to the monitor. --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- This is the Driver Address Table for this test. --- - - DEVICE_DRIVERS : aliased RTEMS.DRIVER_ADDRESS_TABLE( 1 .. 1 ) := - (1=> - ( - CLOCK_DRIVER.INITIALIZE'ACCESS, -- Initialization - RTEMS.NO_DRIVER_ENTRY, -- Open - RTEMS.NO_DRIVER_ENTRY, -- Close - RTEMS.NO_DRIVER_ENTRY, -- Read - RTEMS.NO_DRIVER_ENTRY, -- Write - RTEMS.NO_DRIVER_ENTRY -- Control - ) - ); - --- --- This is the Initialization Tasks Table for this test. --- - - INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) := - (1=> - ( - RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ), -- task name - 2048, -- stack size - 1, -- priority - RTEMS.GLOBAL, -- attributes - MPTEST.INIT'ACCESS, -- entry point - RTEMS.NO_PREEMPT, -- initial mode - 0 -- argument list - ) - ); - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- BEGIN SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - - -- - -- MPTEST.PER_NODE_CONFIGURATION / SPECIFICATION - -- - -- DESCRIPTION: - -- - -- This package is the specification for the subpackage - -- which will define the per node configuration parameters. - -- - - package PER_NODE_CONFIGURATION is - - -- - -- LOCAL_NODE_NUMBER - -- - -- DESCRIPTION: - -- - -- This function returns the node number for this node. - -- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32; - - pragma INLINE ( LOCAL_NODE_NUMBER ); - - end PER_NODE_CONFIGURATION; - ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- --- END SUBPACKAGE -- ----------------------------------------------------------------------------- ----------------------------------------------------------------------------- - --- --- This is the Multiprocessor Configuration Table for this test. --- - - MULTIPROCESSING_CONFIGURATION : aliased RTEMS.MULTIPROCESSING_TABLE := ( - MPTEST.PER_NODE_CONFIGURATION.LOCAL_NODE_NUMBER, - 2, -- maximum # nodes in system - 33, -- maximum # global objects - 33 -- maximum # proxies - ); - --- --- This is the Configuration Table for this test. --- - - CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := ( - RTEMS.NULL_ADDRESS, -- will be replaced by BSP - 64 * 1024, -- executive RAM size - 10, -- maximum # tasks - 0, -- maximum # timers - 0, -- maximum # semaphores - 0, -- maximum # message queues - 0, -- maximum # messages - 0, -- maximum # partitions - 0, -- maximum # regions - 0, -- maximum # dp memory areas - 0, -- maximum # periods - 0, -- maximum # user extensions - RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick - 50 -- # ticks in a timeslice - ); - -end MPTEST; diff --git a/c/src/ada-tests/samples/base_mp/node1/base_mp.scn b/c/src/ada-tests/samples/base_mp/node1/base_mp.scn deleted file mode 100644 index a2d2f359be..0000000000 --- a/c/src/ada-tests/samples/base_mp/node1/base_mp.scn +++ /dev/null @@ -1,5 +0,0 @@ -*** SAMPLE MULTIPROCESSOR APPLICATION *** -Creating and starting an application task -This task was invoked with the node argument (1) -This task has the id of 0x10002 -*** END OF SAMPLE MULTIPROCESSOR APPLICATION *** diff --git a/c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb b/c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb deleted file mode 100644 index 7df5087537..0000000000 --- a/c/src/ada-tests/samples/base_mp/node1/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 1; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/samples/base_mp/node2/base_mp.scn b/c/src/ada-tests/samples/base_mp/node2/base_mp.scn deleted file mode 100644 index 95bc96a808..0000000000 --- a/c/src/ada-tests/samples/base_mp/node2/base_mp.scn +++ /dev/null @@ -1,5 +0,0 @@ -*** SAMPLE MULTIPROCESSOR APPLICATION *** -Creating and starting an application task -This task was invoked with the node argument (2) -This task has the id of 0x20002 -*** END OF SAMPLE MULTIPROCESSOR APPLICATION *** diff --git a/c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb b/c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb deleted file mode 100644 index e127cc5573..0000000000 --- a/c/src/ada-tests/samples/base_mp/node2/mptest-per_node_configuration.adb +++ /dev/null @@ -1,43 +0,0 @@ --- --- MPTEST.PER_NODE_CONFIGURATION / BODY --- --- DESCRIPTION: --- --- This package is the specification for the subpackage --- which will define the per node configuration parameters. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -separate ( MPTEST ) - -package body PER_NODE_CONFIGURATION is - ---PAGE --- --- LOCAL_NODE_NUMBER --- - - function LOCAL_NODE_NUMBER - return RTEMS.UNSIGNED32 is - begin - - return 2; - - end LOCAL_NODE_NUMBER; - -end PER_NODE_CONFIGURATION; diff --git a/c/src/ada-tests/samples/base_sp/base_sp.adb b/c/src/ada-tests/samples/base_sp/base_sp.adb deleted file mode 100644 index 0800b3da48..0000000000 --- a/c/src/ada-tests/samples/base_sp/base_sp.adb +++ /dev/null @@ -1,58 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Base Single Process Example of the --- Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure Base_SP is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end Base_SP; - diff --git a/c/src/ada-tests/samples/base_sp/base_sp.scn b/c/src/ada-tests/samples/base_sp/base_sp.scn deleted file mode 100644 index 90794be60c..0000000000 --- a/c/src/ada-tests/samples/base_sp/base_sp.scn +++ /dev/null @@ -1,4 +0,0 @@ -*** SAMPLE SINGLE PROCESSOR APPLICATION *** -Creating and starting an application task -Application task was invoked with argument (0) and has id of 0x10002 -*** END OF SAMPLE SINGLE PROCESSOR APPLICATION *** diff --git a/c/src/ada-tests/samples/base_sp/config.h b/c/src/ada-tests/samples/base_sp/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/samples/base_sp/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/samples/base_sp/sptest.adb b/c/src/ada-tests/samples/base_sp/sptest.adb deleted file mode 100644 index 5ae17e18da..0000000000 --- a/c/src/ada-tests/samples/base_sp/sptest.adb +++ /dev/null @@ -1,98 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** SAMPLE SINGLE PROCESSOR APPLICATION ***" ); - TEXT_IO.PUT_LINE( "Creating and starting an application task" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 0 ), - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.APPLICATION_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- APPLICATION_TASK --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - - TEXT_IO.PUT( "Application task was invoked with argument (" ); - UNSIGNED32_IO.PUT( ARGUMENT ); - TEXT_IO.PUT( ") and has id of 0x" ); - UNSIGNED32_IO.PUT( TID, BASE => 16 ); - - TEXT_IO.PUT_LINE( "*** END OF SAMPLE SINGLE PROCESSOR APPLICATION ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end APPLICATION_TASK; - -end SPTEST; diff --git a/c/src/ada-tests/samples/base_sp/sptest.ads b/c/src/ada-tests/samples/base_sp/sptest.ads deleted file mode 100644 index 62ed876e9f..0000000000 --- a/c/src/ada-tests/samples/base_sp/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- APPLICATION_TASK --- --- DESCRIPTION: --- --- This is the body of the RTEMS task which constitutes this test. --- - - procedure APPLICATION_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/samples/hello/config.h b/c/src/ada-tests/samples/hello/config.h deleted file mode 100644 index 32dae5a93d..0000000000 --- a/c/src/ada-tests/samples/hello/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/samples/hello/hello.adb b/c/src/ada-tests/samples/hello/hello.adb deleted file mode 100644 index d2fa9d1155..0000000000 --- a/c/src/ada-tests/samples/hello/hello.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test Hello of the Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure Hello is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end Hello; - diff --git a/c/src/ada-tests/samples/hello/hello.scn b/c/src/ada-tests/samples/hello/hello.scn deleted file mode 100644 index d9e92d81d5..0000000000 --- a/c/src/ada-tests/samples/hello/hello.scn +++ /dev/null @@ -1,3 +0,0 @@ -*** HELLO WORLD TEST *** -Hello World -*** END OF HELLO WORLD TEST *** diff --git a/c/src/ada-tests/samples/hello/sptest.adb b/c/src/ada-tests/samples/hello/sptest.adb deleted file mode 100644 index db2add4365..0000000000 --- a/c/src/ada-tests/samples/hello/sptest.adb +++ /dev/null @@ -1,52 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** HELLO WORLD TEST ***" ); - TEXT_IO.PUT_LINE( "Hello World" ); - TEXT_IO.PUT_LINE( "*** END OF HELLO WORLD TEST ***" ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - -end SPTEST; diff --git a/c/src/ada-tests/samples/hello/sptest.ads b/c/src/ada-tests/samples/hello/sptest.ads deleted file mode 100644 index e632f1a499..0000000000 --- a/c/src/ada-tests/samples/hello/sptest.ads +++ /dev/null @@ -1,48 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for the Hello World Test of the RTEMS --- Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/samples/ticker/config.h b/c/src/ada-tests/samples/ticker/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/samples/ticker/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/samples/ticker/sptest.adb b/c/src/ada-tests/samples/ticker/sptest.adb deleted file mode 100644 index c755f3783d..0000000000 --- a/c/src/ada-tests/samples/ticker/sptest.adb +++ /dev/null @@ -1,162 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 1 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF CLOCK TICK TEST ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/samples/ticker/sptest.ads b/c/src/ada-tests/samples/ticker/sptest.ads deleted file mode 100644 index e03ccd0e64..0000000000 --- a/c/src/ada-tests/samples/ticker/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/samples/ticker/ticker.adb b/c/src/ada-tests/samples/ticker/ticker.adb deleted file mode 100644 index dff51ce83b..0000000000 --- a/c/src/ada-tests/samples/ticker/ticker.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test Ticker of the Sample Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure Ticker is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end Ticker; - diff --git a/c/src/ada-tests/samples/ticker/ticker.scn b/c/src/ada-tests/samples/ticker/ticker.scn deleted file mode 100644 index b95fee033f..0000000000 --- a/c/src/ada-tests/samples/ticker/ticker.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** CLOCK TICK TEST *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -*** END OF CLOCK TICK TEST *** diff --git a/c/src/ada-tests/sptests/sp01/config.h b/c/src/ada-tests/sptests/sp01/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp01/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp01/sp01.adb b/c/src/ada-tests/sptests/sp01/sp01.adb deleted file mode 100644 index c1264df6f3..0000000000 --- a/c/src/ada-tests/sptests/sp01/sp01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP01 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP01; - diff --git a/c/src/ada-tests/sptests/sp01/sp01.scn b/c/src/ada-tests/sptests/sp01/sp01.scn deleted file mode 100644 index dac3add1f2..0000000000 --- a/c/src/ada-tests/sptests/sp01/sp01.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 1 *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -*** END OF TEST 1 *** diff --git a/c/src/ada-tests/sptests/sp01/sptest.adb b/c/src/ada-tests/sptests/sp01/sptest.adb deleted file mode 100644 index e74a80c0cf..0000000000 --- a/c/src/ada-tests/sptests/sp01/sptest.adb +++ /dev/null @@ -1,162 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 1 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.INTERRUPT_LEVEL( 31 ), - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF TEST 1 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( TEST_SUPPORT.TASK_NUMBER( TID ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp01/sptest.ads b/c/src/ada-tests/sptests/sp01/sptest.ads deleted file mode 100644 index e03ccd0e64..0000000000 --- a/c/src/ada-tests/sptests/sp01/sptest.ads +++ /dev/null @@ -1,60 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This is the body of the RTEMS tasks which constitute this test. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp02/config.h b/c/src/ada-tests/sptests/sp02/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp02/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp02/sp02.adb b/c/src/ada-tests/sptests/sp02/sp02.adb deleted file mode 100644 index e7c9631161..0000000000 --- a/c/src/ada-tests/sptests/sp02/sp02.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP02 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP02 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP02; - diff --git a/c/src/ada-tests/sptests/sp02/sp02.scn b/c/src/ada-tests/sptests/sp02/sp02.scn deleted file mode 100644 index 9db0bc4100..0000000000 --- a/c/src/ada-tests/sptests/sp02/sp02.scn +++ /dev/null @@ -1,15 +0,0 @@ -*** TEST 2 *** -INIT - task_wake_after - yielding processor -PREEMPT - task_delete - deleting self -INIT - suspending TA2 while middle task on a ready chain -TA1 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 minute -TA3 - task_wake_after - sleep 5 seconds -TA1 - task_ident - tid of TA2 (16#10007#) -TA1 - task_ident - tid of TA3 (16#10008#) -TA1 - task_set_priority - set TA3's priority to 2 -TA1 - task_suspend - suspend TA2 -TA1 - task_delete - delete TA2 -TA1 - task_wake_after - sleep for 5 seconds -TA3 - task_delete - delete self -*** END OF TEST 2 *** diff --git a/c/src/ada-tests/sptests/sp02/sptest.adb b/c/src/ada-tests/sptests/sp02/sptest.adb deleted file mode 100644 index dd2b9172ac..0000000000 --- a/c/src/ada-tests/sptests/sp02/sptest.adb +++ /dev/null @@ -1,331 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 2 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 2 ***" ); - - SPTEST.PREEMPT_TASK_NAME := RTEMS.BUILD_NAME( 'P', 'R', 'M', 'T' ); - - RTEMS.TASK_CREATE( - SPTEST.PREEMPT_TASK_NAME, - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PREEMPT_TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF PREEMPT" ); - - RTEMS.TASK_START( - SPTEST.PREEMPT_TASK_ID, - SPTEST.PREEMPT_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF PREEMPT" ); - - TEXT_IO.PUT_LINE( "INIT - task_wake_after - yielding processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - TEXT_IO.PUT_LINE( - "INIT - suspending TA2 while middle task on a ready chain" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 3, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PREEMPT_TASK --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "PREEMPT - task_delete - deleting self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF PREEMPT" ); - - end PREEMPT_TASK; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID2 : RTEMS.ID; - TID3 : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - TID2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - TEXT_IO.PUT( "TA1 - task_ident - tid of TA2 (" ); - UNSIGNED32_IO.PUT( TID2, WIDTH => 8, BASE => 10#16# ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 3 ), - RTEMS.SEARCH_ALL_NODES, - TID3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA3" ); - - TEXT_IO.PUT( "TA1 - task_ident - tid of TA3 (" ); - UNSIGNED32_IO.PUT( TID3, WIDTH => 8, BASE => 10#16# ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_SET_PRIORITY( TID3, 2, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_set_priority - set TA3's priority to 2" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA2" ); - RTEMS.TASK_DELETE( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep for 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 2 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1 minute" ); - RTEMS.TASK_WAKE_AFTER( 60 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER IN TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER IN TA3" ); - - TEXT_IO.PUT_LINE( "TA3 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp02/sptest.ads b/c/src/ada-tests/sptests/sp02/sptest.ads deleted file mode 100644 index 2d5141f540..0000000000 --- a/c/src/ada-tests/sptests/sp02/sptest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - - PREEMPT_TASK_ID : RTEMS.ID; - PREEMPT_TASK_NAME : RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PREEMPT_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the basic preemption capability. --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp03/config.h b/c/src/ada-tests/sptests/sp03/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp03/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp03/sp03.adb b/c/src/ada-tests/sptests/sp03/sp03.adb deleted file mode 100644 index 5455671942..0000000000 --- a/c/src/ada-tests/sptests/sp03/sp03.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP03 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP03 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP03; - diff --git a/c/src/ada-tests/sptests/sp03/sp03.scn b/c/src/ada-tests/sptests/sp03/sp03.scn deleted file mode 100644 index a13d9ae2e6..0000000000 --- a/c/src/ada-tests/sptests/sp03/sp03.scn +++ /dev/null @@ -1,26 +0,0 @@ -*** TEST 3 *** -TA1 sets clock: 9:15: 0 12/31/1988 -TA1 going to sleep: 9:15: 0 12/31/1988 -TA2 9:15: 1 12/31/1988 -TA2 9:15: 2 12/31/1988 -TA2 9:15: 3 12/31/1988 -TA2 9:15: 4 12/31/1988 -TA1 awakened: 9:15: 5 12/31/1988 -TA1 going to sleep: 9:15: 5 12/31/1988 -TA2 9:15: 5 12/31/1988 -TA2 9:15: 6 12/31/1988 -TA2 9:15: 7 12/31/1988 -TA2 9:15: 8 12/31/1988 -TA2 9:15: 9 12/31/1988 -TA1 awakened: 9:15:10 12/31/1988 -TA1 going to sleep: 9:15:10 12/31/1988 -TA2 9:15:10 12/31/1988 -TA2 9:15:11 12/31/1988 -TA2 9:15:12 12/31/1988 -TA2 9:15:13 12/31/1988 -TA2 9:15:14 12/31/1988 -TA1 awakened: 9:15:15 12/31/1988 -TA1 going to sleep: 9:15:15 12/31/1988 -TA2 9:15:15 12/31/1988 -TA2 9:15:16 12/31/1988 -*** END OF TEST 3 *** diff --git a/c/src/ada-tests/sptests/sp03/sptest.adb b/c/src/ada-tests/sptests/sp03/sptest.adb deleted file mode 100644 index 789740f0c3..0000000000 --- a/c/src/ada-tests/sptests/sp03/sptest.adb +++ /dev/null @@ -1,173 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 3 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 3 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIME := ( 1988, 12, 31, 9, 15, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "sets clock: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - loop - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "going to sleep: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME.SECOND := TIME.SECOND + 5; - TIME.MINUTE := TIME.MINUTE + (TIME.SECOND / 60 ); - TIME.SECOND := TIME.SECOND mod 60; - TIME.HOUR := TIME.HOUR + (TIME.MINUTE / 60 ); - TIME.MINUTE := TIME.MINUTE mod 60; - TIME.HOUR := TIME.HOUR mod 24; - - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_WHEN" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 1 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "awakened: ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - loop - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 17 then - TEXT_IO.PUT_LINE( "*** END OF TEST 3 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( 2 ), FALSE ); - TEST_SUPPORT.PRINT_TIME( " ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end loop; - - end TASK_2; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp03/sptest.ads b/c/src/ada-tests/sptests/sp03/sptest.ads deleted file mode 100644 index fda2add5e2..0000000000 --- a/c/src/ada-tests/sptests/sp03/sptest.ads +++ /dev/null @@ -1,74 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_WAKE_WHEN directive of --- the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_WAKE_AFTER directive of --- the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp04/README b/c/src/ada-tests/sptests/sp04/README deleted file mode 100644 index 6928aaea49..0000000000 --- a/c/src/ada-tests/sptests/sp04/README +++ /dev/null @@ -1,13 +0,0 @@ -# -# $Id$ -# - -This test is broken as it is currently implemented. It is illegal for -a task to do Ada IO during a extension since the Ada run-time uses -locks to safeguard data structures. Dispatching is disabled and the -call to Text_IO in the Switch extension will lock the system up. - -The proper solution is to have the Switch extension lock task and -time when it a switch occurs and have a single task print this -information as necessary. - diff --git a/c/src/ada-tests/sptests/sp04/config.h b/c/src/ada-tests/sptests/sp04/config.h deleted file mode 100644 index 8a9352ccc9..0000000000 --- a/c/src/ada-tests/sptests/sp04/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp04/sp04.adb b/c/src/ada-tests/sptests/sp04/sp04.adb deleted file mode 100644 index 511ccb36a5..0000000000 --- a/c/src/ada-tests/sptests/sp04/sp04.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP04 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP04 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP04; - diff --git a/c/src/ada-tests/sptests/sp04/sp04.scn b/c/src/ada-tests/sptests/sp04/sp04.scn deleted file mode 100644 index dc075e2b94..0000000000 --- a/c/src/ada-tests/sptests/sp04/sp04.scn +++ /dev/null @@ -1,23 +0,0 @@ -*** TEST 4 *** -TA1 - 9:15: 0 12/31/1988 -TA1 - task_suspend - on Task 2 -TA1 - task_suspend - on Task 3 -TA1 - killing time -TA1 - task_resume - on Task 2 -TA1 - task_resume - on Task 3 -TA2 - 9:15: 4 12/31/1988 -TA3 - 9:15: 5 12/31/1988 -TA1 - 9:15: 6 12/31/1988 -TA2 - 9:15: 7 12/31/1988 -TA3 - 9:15: 8 12/31/1988 -TA1 - 9:15: 9 12/31/1988 -TA1 - task_mode - change mode to NO PREEMPT -TA1 - 9:15:10 12/31/1988 -TA1 - 9:15:11 12/31/1988 -TA1 - 9:15:12 12/31/1988 -TA1 - 9:15:13 12/31/1988 -TA1 - 9:15:14 12/31/1988 -TA1 - 9:15:15 12/31/1988 -TA1 - task_mode - change mode to PREEMPT -TA2 - 9:15:16 12/31/1988 -*** END OF TEST 4 *** diff --git a/c/src/ada-tests/sptests/sp04/sptest.adb b/c/src/ada-tests/sptests/sp04/sptest.adb deleted file mode 100644 index 8056f9225e..0000000000 --- a/c/src/ada-tests/sptests/sp04/sptest.adb +++ /dev/null @@ -1,317 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 4 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 4 ***" ); - - TIME := ( 1988, 12, 31, 9, 15, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.EXTENSION_NAME( 1 ) := RTEMS.BUILD_NAME( 'E', 'X', 'T', ' ' ); - - RTEMS.EXTENSION_CREATE( - SPTEST.EXTENSION_NAME( 1 ), - SPTEST.EXTENSIONS'ACCESS, - EXTENSION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EXTENSION_CREATE" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.RUN_COUNT( 1 ) := 0; - SPTEST.RUN_COUNT( 2 ) := 0; - SPTEST.RUN_COUNT( 3 ) := 0; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.TIMESLICE, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SECONDS : RTEMS.UNSIGNED32; - OLD_SECONDS : RTEMS.UNSIGNED32; - STARTED_DELAY : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - TIME : RTEMS.TIME_OF_DAY; - START_TIME : RTEMS.INTERVAL; - END_TIME : RTEMS.INTERVAL; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - on Task 2" ); - RTEMS.TASK_SUSPEND( TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - on Task 3" ); - RTEMS.TASK_SUSPEND( TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - - TEXT_IO.PUT_LINE( "TA1 - killing time" ); - - RTEMS.CLOCK_GET( - RTEMS.CLOCK_GET_SECONDS_SINCE_EPOCH, - START_TIME'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - loop - RTEMS.CLOCK_GET( - RTEMS.CLOCK_GET_SECONDS_SINCE_EPOCH, - END_TIME'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - exit when END_TIME > (START_TIME + 2); - end loop; - - TEXT_IO.PUT_LINE( "TA1 - task_resume - on Task 2" ); - RTEMS.TASK_RESUME( TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_resume - on Task 3" ); - RTEMS.TASK_RESUME( TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA3" ); - - loop - - if SPTEST.RUN_COUNT( 1 ) = 3 then - - TEXT_IO.PUT_LINE( - "TA1 - task_mode - change mode to NO PREEMPT" - ); - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - OLD_SECONDS := TIME.SECOND; - - SECONDS := 0; - loop - - exit when SECONDS >= 6; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND /= OLD_SECONDS then - OLD_SECONDS := TIME.SECOND; - SECONDS := SECONDS + 1; - TEST_SUPPORT.PRINT_TIME( "TA1 - ", TIME, "" ); - TEXT_IO.NEW_LINE; - end if; - - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - task_mode - change mode to PREEMPT" - ); - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - -<> - goto LOOP_LABEL; - - end if; - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - -<> - goto LOOP_LABEL; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - -<> - goto LOOP_LABEL; - - end TASK_3; - ---PAGE --- --- TASK_SWITCH --- - - procedure TASK_SWITCH ( - UNUSED : in RTEMS.TCB_POINTER; - HEIR : in RTEMS.TCB_POINTER - ) is - INDEX : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - function TCB_To_ID ( - TCB : RTEMS.TCB_POINTER - ) return RTEMS.ID; - pragma Import (C, TCB_To_ID, "tcb_to_id" ); - - begin - - --INDEX := TEST_SUPPORT.TASK_NUMBER( HEIR.OBJECT.ID ); - INDEX := TCB_To_ID( HEIR ); - - case INDEX is - when 1 | 2 | 3 => - SPTEST.RUN_COUNT( INDEX ) := SPTEST.RUN_COUNT( INDEX ) + 1; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INDEX ), FALSE ); - TEST_SUPPORT.PRINT_TIME( "- ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if TIME.SECOND >= 16 then - TEXT_IO.PUT_LINE( "*** END OF TEST 4 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - when others => - NULL; - end case; - - end TASK_SWITCH; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp04/sptest.ads b/c/src/ada-tests/sptests/sp04/sptest.ads deleted file mode 100644 index ce3237bedd..0000000000 --- a/c/src/ada-tests/sptests/sp04/sptest.ads +++ /dev/null @@ -1,133 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS extensions created --- by this test. --- - - EXTENSION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This array contains the number of times each of the test tasks has --- been context switched TO. --- - - RUN_COUNT : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is used as a background task to suspend, resume, --- and context switch to. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task is used as a background task to suspend, resume, --- and context switch to. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_SWITCH --- --- DESCRIPTION: --- --- This subprogram is the TASK_SWITCH extension for this test. --- It is invoked at each context switch and counts the number --- of times each application task has been context switched to. --- - - procedure TASK_SWITCH ( - UNUSED : in RTEMS.TCB_POINTER; - HEIR : in RTEMS.TCB_POINTER - ); - --- --- This is the User Extension Table for this test. --- - - EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := - ( - NULL, -- Task create - NULL, -- Task start - NULL, -- Task restart - NULL, -- Task delete - SPTEST.TASK_SWITCH'ACCESS, -- Task switch - NULL, -- Task post switch - NULL, -- Task begin - NULL, -- Task exitted - NULL -- Fatal error - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp05/config.h b/c/src/ada-tests/sptests/sp05/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp05/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp05/sp05.adb b/c/src/ada-tests/sptests/sp05/sp05.adb deleted file mode 100644 index bd6407a0c7..0000000000 --- a/c/src/ada-tests/sptests/sp05/sp05.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP05 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP05 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP05; - diff --git a/c/src/ada-tests/sptests/sp05/sp05.scn b/c/src/ada-tests/sptests/sp05/sp05.scn deleted file mode 100644 index 59c30a0b97..0000000000 --- a/c/src/ada-tests/sptests/sp05/sp05.scn +++ /dev/null @@ -1,48 +0,0 @@ -*** TEST 5 *** -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_suspend - suspend self -TA3 - task_suspend - suspend self -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA3 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA3 -TA1 - task_resume - resume TA2 -TA1 - task_wake_after - sleep 5 seconds -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA2 - task_wake_after - sleep 1 second -TA1 - task_suspend - suspend TA2 -TA1 - task_resume - resume TA3 -*** END OF TEST 5 *** - diff --git a/c/src/ada-tests/sptests/sp05/sptest.adb b/c/src/ada-tests/sptests/sp05/sptest.adb deleted file mode 100644 index 22d64fa54f..0000000000 --- a/c/src/ada-tests/sptests/sp05/sptest.adb +++ /dev/null @@ -1,229 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 5 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 5 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID2 : RTEMS.ID; - TID3 : RTEMS.ID; - PASS : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 2 ), - 1, - TID2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA2" ); - - RTEMS.TASK_IDENT( - SPTEST.TASK_NAME( 3 ), - 1, - TID3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF TA3" ); - - for PASS in 1 .. 3 - loop - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA3" ); - RTEMS.TASK_SUSPEND( TID3, STATUS ); - if PASS = 1 then - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ALREADY_SUSPENDED, - "TASK_SUSPEND OF TA3" - ); - else - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - end if; - - TEXT_IO.PUT_LINE( "TA1 - task_resume - resume TA2" ); - RTEMS.TASK_RESUME( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( TID2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_resume - resume TA3" ); - RTEMS.TASK_RESUME( TID3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA3" ); - - end loop; - - TEXT_IO.PUT_LINE( "*** END OF TEST 5 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - task_suspend - suspend self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - loop - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA2" ); - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - task_suspend - suspend self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA3" ); - - loop - TEXT_IO.PUT_LINE( "TA3 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER OF TA3" ); - end loop; - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp05/sptest.ads b/c/src/ada-tests/sptests/sp05/sptest.ads deleted file mode 100644 index 74b2e956bc..0000000000 --- a/c/src/ada-tests/sptests/sp05/sptest.ads +++ /dev/null @@ -1,84 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp06/config.h b/c/src/ada-tests/sptests/sp06/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp06/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp06/sp06.adb b/c/src/ada-tests/sptests/sp06/sp06.adb deleted file mode 100644 index 8cd49904d7..0000000000 --- a/c/src/ada-tests/sptests/sp06/sp06.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP06 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP06 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP06; - diff --git a/c/src/ada-tests/sptests/sp06/sp06.scn b/c/src/ada-tests/sptests/sp06/sp06.scn deleted file mode 100644 index 8dc6c6afae..0000000000 --- a/c/src/ada-tests/sptests/sp06/sp06.scn +++ /dev/null @@ -1,38 +0,0 @@ -*** TEST 6 *** -TA1 - is beginning to run -TA1 - restarting TA3 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting TA2 -TA2 - is beginning to run -TA2 - task_wake_after - sleep 1/2 second -TA2 - task_wake_after - sleep 1/2 second -TA1 - task_restart - restarting self -TA2 - task_wake_after - sleep 1/2 second -TA1 - is beginning to run -*** END OF TEST 6 *** diff --git a/c/src/ada-tests/sptests/sp06/sptest.adb b/c/src/ada-tests/sptests/sp06/sptest.adb deleted file mode 100644 index db068639c0..0000000000 --- a/c/src/ada-tests/sptests/sp06/sptest.adb +++ /dev/null @@ -1,222 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 6 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 6 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.ARGUMENT := 0; - SPTEST.RESTART_ARGUMENT := 1; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 10, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - SPTEST.ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - SPTEST.ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 3 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PASS : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - is beginning to run" ); - - PASS := ARGUMENT + 1; - - if PASS = 5 then - TEXT_IO.PUT_LINE( "*** END OF TEST 6 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - if PASS = 1 then - TEXT_IO.PUT_LINE( "TA1 - restarting TA3" ); - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 3 ), - SPTEST.RESTART_ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA3" ); - - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_restart - restarting TA2" ); - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 2 ), - SPTEST.RESTART_ARGUMENT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA2" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_restart - restarting self" ); - RTEMS.TASK_RESTART( SPTEST.TASK_ID( 1 ), PASS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF SELF" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - is beginning to run" ); - - if ARGUMENT = SPTEST.ARGUMENT then - RTEMS.TASK_WAKE_AFTER( 2 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - end if; - - loop - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - sleep 1/2 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND / 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp06/sptest.ads b/c/src/ada-tests/sptests/sp06/sptest.ads deleted file mode 100644 index 53d4825ec4..0000000000 --- a/c/src/ada-tests/sptests/sp06/sptest.ads +++ /dev/null @@ -1,91 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following are used as arguments to the various RTEMS tasks --- in this test to indicate when a restart should be performed. - - ARGUMENT : RTEMS.UNSIGNED32; - RESTART_ARGUMENT : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp07/config.h b/c/src/ada-tests/sptests/sp07/config.h deleted file mode 100644 index 8a9352ccc9..0000000000 --- a/c/src/ada-tests/sptests/sp07/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp07/sp07.adb b/c/src/ada-tests/sptests/sp07/sp07.adb deleted file mode 100644 index e86ec72e6d..0000000000 --- a/c/src/ada-tests/sptests/sp07/sp07.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP07 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP07 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP07; - diff --git a/c/src/ada-tests/sptests/sp07/sp07.scn b/c/src/ada-tests/sptests/sp07/sp07.scn deleted file mode 100644 index 3f171037a7..0000000000 --- a/c/src/ada-tests/sptests/sp07/sp07.scn +++ /dev/null @@ -1,32 +0,0 @@ -*** TEST 7 *** -TASKS_CREATE - TA1 - created. -TASKS_CREATE - TA2 - created. -TASKS_CREATE - TA3 - created. -TASKS_CREATE - TA4 - created. -TASKS_START - TA1 - started. -TASKS_START - TA2 - started. -TASKS_START - TA3 - started. -TASKS_START - TA4 - started. -TASKS_RESTART - TA3 - restarted. -INIT - task_set_note - set TA1's NOTEPAD_8 to TA1's initial priority: 4 -INIT - task_set_note - set TA2's NOTEPAD_8 to TA2's initial priority: 4 - -TA1 - task_set_priority - get initial priority of self: 4 -TA1 - task_get_note - get NOTEPAD_8 - current priority: 4 -TA1 - task_set_note - set TA2's NOTEPAD_8: 3 -TA1 - task_set_priority - set TA2's priority: 3 -TA2 - task_get_note - get NOTEPAD_8 - current priority: 3 -TA2 - task_set_note - set TA1's NOTEPAD_8: 2 -TA2 - task_set_priority - set TA1's priority: 2 -TA1 - task_get_note - get NOTEPAD_8 - current priority: 2 -TA1 - task_set_note - set TA2's NOTEPAD_8: 1 -TA1 - task_set_priority - set TA2's priority: 1 -TA2 - task_get_note - get NOTEPAD_8 - current priority: 1 -TA2 - task_suspend - suspend TA1 -TA2 - task_set_priority - set priority of TA1 ( blocked ) -TASKS_DELETE - TA2 deleting TA1 -TASKS_DELETE - TA2 deleting TA3 -TASKS_DELETE - TA2 deleting TA2 -TA4 - exitting task -TASK_EXITTED - user extension invoked correctly -*** END OF TEST 7 *** diff --git a/c/src/ada-tests/sptests/sp07/sptest.adb b/c/src/ada-tests/sptests/sp07/sptest.adb deleted file mode 100644 index 0c46cf1a62..0000000000 --- a/c/src/ada-tests/sptests/sp07/sptest.adb +++ /dev/null @@ -1,496 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 7 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- TCB_To_ID --- - - function TCB_To_ID ( - TCB : RTEMS.TCB_POINTER - ) return RTEMS.ID; - pragma Import (C, TCB_To_ID, "tcb_to_id" ); - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 7 ***" ); - - SPTEST.EXTENSION_NAME( 1 ) := RTEMS.BUILD_NAME( 'E', 'X', 'T', ' ' ); - - RTEMS.EXTENSION_CREATE( - SPTEST.EXTENSION_NAME( 1 ), - SPTEST.EXTENSIONS'ACCESS, - EXTENSION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EXTENSION_CREATE" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 250, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 254, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_RESTART( SPTEST.TASK_ID( 3 ), 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESTART OF TA3" ); - - RTEMS.TASK_SET_NOTE( SPTEST.TASK_ID( 1 ), 8, 4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE OF TA1" ); - TEXT_IO.PUT( "INIT - task_set_note - set TA1's NOTEPAD_8" ); - TEXT_IO.PUT_LINE( " to TA1's initial priority: 4" ); - - RTEMS.TASK_SET_NOTE( SPTEST.TASK_ID( 2 ), 8, 4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE OF TA2" ); - TEXT_IO.PUT( "INIT - task_set_note - set TA2's NOTEPAD_8" ); - TEXT_IO.PUT_LINE( " to TA2's initial priority: 4" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - THE_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEST_SUPPORT.PAUSE; - - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - RTEMS.CURRENT_PRIORITY, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - TEXT_IO.PUT( "TA1 - task_set_priority - "); - TEXT_IO.PUT( "get initial priority of self: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - loop - - RTEMS.TASK_GET_NOTE( RTEMS.SELF, 8, THE_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - TEXT_IO.PUT( "TA1 - task_get_note - "); - TEXT_IO.PUT( "get NOTEPAD_8 - current priority: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - THE_PRIORITY := THE_PRIORITY - 1; - - if THE_PRIORITY = 0 then - TEXT_IO.PUT_LINE( "TA1 - task_suspend - suspend TA2" ); - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT( "TA1 - task_set_priority - "); - TEXT_IO.PUT_LINE( "set priority of TA2 ( blocked )"); - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 2 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end if; - - TEXT_IO.PUT( "TA1 - task_set_note - set TA2's NOTEPAD_8: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - SPTEST.TASK_ID( 2 ), - 8, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT("TA1 - task_set_priority - set TA2's priority: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 2 ), - THE_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - end loop; - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - THE_PRIORITY : RTEMS.TASK_PRIORITY; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - loop - - RTEMS.TASK_GET_NOTE( RTEMS.SELF, 8, THE_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_GET_NOTE" ); - TEXT_IO.PUT( "TA2 - task_get_note - "); - TEXT_IO.PUT( "get NOTEPAD_8 - current priority: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - - THE_PRIORITY := THE_PRIORITY - 1; - - if THE_PRIORITY = 0 then - TEXT_IO.PUT_LINE( "TA2 - task_suspend - suspend TA1" ); - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT( "TA2 - task_set_priority - "); - TEXT_IO.PUT_LINE( "set priority of TA1 ( blocked )"); - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 1 ), - 5, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.TASK_DELETE( - SPTEST.TASK_ID( 1 ), - STATUS - ); -- TA1 is blocked - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - RTEMS.TASK_DELETE( - SPTEST.TASK_ID( 3 ), - STATUS - ); -- TA3 is ready - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - else - - TEXT_IO.PUT( "TA2 - task_set_note - set TA1's NOTEPAD_8: " ); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2 ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_NOTE( - SPTEST.TASK_ID( 1 ), - 8, - THE_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_NOTE" ); - - TEXT_IO.PUT( "TA2 - task_set_priority - "); - TEXT_IO.PUT( "set TA1's priority: "); - UNSIGNED32_IO.PUT( THE_PRIORITY, BASE => 10, WIDTH => 2); - TEXT_IO.NEW_LINE; - RTEMS.TASK_SET_PRIORITY( - SPTEST.TASK_ID( 1 ), - THE_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - end if; - - end loop; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - loop - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - end loop; - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TEXT_IO.PUT_LINE( "TA4 - exitting task" ); - - end TASK_4; - ---PAGE --- --- TASK_EXIT_EXTENSION --- - - procedure TASK_EXIT_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) > 0 then - TEXT_IO.PUT_LINE( "TASK_EXITTED - user extension invoked correctly" ); - end if; - - TEXT_IO.PUT_LINE( "*** END OF TEST 7 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_EXIT_EXTENSION; - ---PAGE --- --- TASK_CREATE_EXTENSION --- - - procedure TASK_CREATE_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - CREATED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( CREATED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_CREATE - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( CREATED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( "- created." ); - end if; - - end TASK_CREATE_EXTENSION; - ---PAGE --- --- TASK_DELETE_EXTENSION --- - - procedure TASK_DELETE_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER; - DELETED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_DELETE - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RUNNING_TASK ) ) - ), - FALSE - ); - end if; - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( DELETED_TASK ) ) > 0 then - TEXT_IO.PUT( "deleting " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( DELETED_TASK ) ) - ), - TRUE - ); - end if; - - end TASK_DELETE_EXTENSION; - ---PAGE --- --- TASK_RESTART_EXTENSION --- - - procedure TASK_RESTART_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - RESTARTED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RESTARTED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_RESTART - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( RESTARTED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( " - restarted." ); - end if; - - end TASK_RESTART_EXTENSION; - ---PAGE --- --- TASK_START_EXTENSION --- - - procedure TASK_START_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - STARTED_TASK : in RTEMS.TCB_POINTER - ) is - begin - - if TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( STARTED_TASK ) ) > 0 then - TEXT_IO.PUT( "TASKS_START - " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( - TEST_SUPPORT.TASK_NUMBER( TCB_To_ID( STARTED_TASK ) ) - ), - FALSE - ); - TEXT_IO.PUT_LINE( " - started." ); - end if; - - end TASK_START_EXTENSION; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp07/sptest.ads b/c/src/ada-tests/sptests/sp07/sptest.ads deleted file mode 100644 index 2fcfec1888..0000000000 --- a/c/src/ada-tests/sptests/sp07/sptest.ads +++ /dev/null @@ -1,186 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 4 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS extensions created --- by this test. --- - - EXTENSION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - EXTENSION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests some of the capabilities of the Task Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_CREATE_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_CREATE extension for this test. --- - - procedure TASK_CREATE_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - CREATED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_DELETE_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_DELETE extension for this test. --- - - procedure TASK_DELETE_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER; - DELETED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_RESTART_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_RESTART extension for this test. --- - - procedure TASK_RESTART_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - RESTARTED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_START_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_START extension for this test. --- - - procedure TASK_START_EXTENSION ( - UNUSED : in RTEMS.TCB_POINTER; - STARTED_TASK : in RTEMS.TCB_POINTER - ); - --- --- TASK_EXIT_EXTENSION --- --- DESCRIPTION: --- --- This subprogram is the TASK_EXIT extension for this test. --- It is invoked when a RTEMS task exits from its entry point. --- - - procedure TASK_EXIT_EXTENSION ( - RUNNING_TASK : in RTEMS.TCB_POINTER - ); - --- --- This is the User Extension Table for this test. --- - - EXTENSIONS : aliased RTEMS.EXTENSIONS_TABLE := - ( - SPTEST.TASK_CREATE_EXTENSION'ACCESS, -- Task create - SPTEST.TASK_START_EXTENSION'ACCESS, -- Task start - SPTEST.TASK_RESTART_EXTENSION'ACCESS, -- Task restart - SPTEST.TASK_DELETE_EXTENSION'ACCESS, -- Task delete - NULL, -- Task switch - NULL, -- Task post switch - NULL, -- Task begin - SPTEST.TASK_EXIT_EXTENSION'ACCESS, -- Task exitted - NULL -- Fatal error - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp08/config.h b/c/src/ada-tests/sptests/sp08/config.h deleted file mode 100644 index 7fc8c7580e..0000000000 --- a/c/src/ada-tests/sptests/sp08/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp08/sp08.adb b/c/src/ada-tests/sptests/sp08/sp08.adb deleted file mode 100644 index 2f1a587979..0000000000 --- a/c/src/ada-tests/sptests/sp08/sp08.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP08 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP08 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP08; - diff --git a/c/src/ada-tests/sptests/sp08/sp08.scn b/c/src/ada-tests/sptests/sp08/sp08.scn deleted file mode 100644 index bc829b849a..0000000000 --- a/c/src/ada-tests/sptests/sp08/sp08.scn +++ /dev/null @@ -1,20 +0,0 @@ -*** TEST 8 *** -TA1 - task_mode - ASR - previous mode: 16#0# -TA1 - task_mode - NO_ASR - previous mode: 16#0# -TA1 - task_mode - NO_ASR - previous mode: 16#400# -TA1 - task_mode - ASR - previous mode: 16#400# -TA1 - task_mode - NO_TIMESLICE - previous mode: 16#0# -TA1 - task_mode - TIMESLICE - previous mode: 16#0# -TA1 - task_mode - TIMESLICE - previous mode: 16#200# -TA1 - task_mode - NO_TIMESLICE - previous mode: 16#200# -TA1 - task_mode - PREEMPT - previous mode: 16#0# -TA1 - task_mode - NO_PREEMPT - previous mode: 16#0# -TA1 - task_mode - NO_PREEMPT - previous mode: 16#100# -TA1 - task_mode - PREEMPT - previous mode: 16#100# -TA1 - task_mode - INTERRUPT_LEVEL( 3 ) - previous mode: 16#0# -TA1 - task_mode - INTERRUPT_LEVEL( 5 ) - previous mode: 16#3# -TA1 - task_mode - set all modes - previous mode: 16#5# -TA1 - task_mode - set all modes - previous mode: 16#703# -TA1 - task_mode - clear all modes - previous mode: 16#703# -TA1 - task_mode - get current mode - previous mode: 16#0# -*** END OF TEST 8 *** diff --git a/c/src/ada-tests/sptests/sp08/sptest.adb b/c/src/ada-tests/sptests/sp08/sptest.adb deleted file mode 100644 index 725849df43..0000000000 --- a/c/src/ada-tests/sptests/sp08/sptest.adb +++ /dev/null @@ -1,351 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 8 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 8 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_MODE --- - - procedure PUT_MODE( - COMMENT : in STRING; - OUTPUT_MODE : in RTEMS.MODE - ) is - begin - - TEXT_IO.PUT( COMMENT ); - UNSIGNED32_IO.PUT( OUTPUT_MODE, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - end PUT_MODE; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - --- BEGINNING OF ASR - - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_ASR - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - ASR - previous mode: ", - PREVIOUS_MODE - ); - --- END OF ASR - --- BEGINNING OF TIMESLICE - - RTEMS.TASK_MODE( - RTEMS.NO_TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_TIMESLICE, - RTEMS.TIMESLICE_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_TIMESLICE - previous mode: ", - PREVIOUS_MODE - ); - --- END OF TIMESLICE - --- BEGINNING OF PREEMPT - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - NO_PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - PREEMPT - previous mode: ", - PREVIOUS_MODE - ); - --- END OF PREEMPT - --- BEGINNING OF INTERRUPT LEVEL - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ), - RTEMS.INTERRUPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - INTERRUPT_LEVEL( 3 ) - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 5 ), - RTEMS.INTERRUPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - INTERRUPT_LEVEL( 5 ) - previous mode: ", - PREVIOUS_MODE - ); - --- END OF INTERRUPT LEVEL - --- BEGINNING OF COMBINATIONS - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ) + RTEMS.NO_ASR + - RTEMS.TIMESLICE + RTEMS.NO_PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - set all modes - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 3 ) + RTEMS.NO_ASR + - RTEMS.TIMESLICE + RTEMS.NO_PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - set all modes - previous mode: ", - PREVIOUS_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 0 ) + RTEMS.ASR + - RTEMS.NO_TIMESLICE + RTEMS.PREEMPT, - RTEMS.INTERRUPT_MASK + RTEMS.ASR_MASK + - RTEMS.TIMESLICE_MASK + RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - clear all modes - previous mode: ", - PREVIOUS_MODE - ); - --- END OF COMBINATIONS - --- BEGINNING OF CURRENT MODE - - RTEMS.TASK_MODE( - RTEMS.CURRENT_MODE, - RTEMS.CURRENT_MODE, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - SPTEST.PUT_MODE( - "TA1 - task_mode - get current mode - previous mode: ", - PREVIOUS_MODE - ); - --- END OF CURRENT MODE - - TEXT_IO.PUT_LINE( "*** END OF TEST 8 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp08/sptest.ads b/c/src/ada-tests/sptests/sp08/sptest.ads deleted file mode 100644 index c9f0327172..0000000000 --- a/c/src/ada-tests/sptests/sp08/sptest.ads +++ /dev/null @@ -1,74 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_MODE --- --- DESCRIPTION: --- --- This subprogram prints the COMMENT and the OUTPUT_MODE followed --- by a carriage return. --- - - procedure PUT_MODE( - COMMENT : in STRING; - OUTPUT_MODE : in RTEMS.MODE - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the TASK_MODE directive of the Task Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp09/config.h b/c/src/ada-tests/sptests/sp09/config.h deleted file mode 100644 index adf05616b7..0000000000 --- a/c/src/ada-tests/sptests/sp09/config.h +++ /dev/null @@ -1,42 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 1 -#define CONFIGURE_MAXIMUM_SEMAPHORES 2 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_MAXIMUM_PARTITIONS 1 -#define CONFIGURE_MAXIMUM_REGIONS 1 -#define CONFIGURE_MAXIMUM_PERIODS 1 -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp09/sp09.adb b/c/src/ada-tests/sptests/sp09/sp09.adb deleted file mode 100644 index 669b52c1ef..0000000000 --- a/c/src/ada-tests/sptests/sp09/sp09.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP09 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP09 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP09; - diff --git a/c/src/ada-tests/sptests/sp09/sp09.scn b/c/src/ada-tests/sptests/sp09/sp09.scn deleted file mode 100644 index a82582e51f..0000000000 --- a/c/src/ada-tests/sptests/sp09/sp09.scn +++ /dev/null @@ -1,250 +0,0 @@ -*** TEST 9 *** -INIT - task_create - INVALID_SIZE -- NOT CHECKED -INIT - task_create - INVALID_PRIORITY -INIT - task_restart - INCORRECT_STATE -TA1 - task_delete - INVALID_ID -TA1 - task_get_note - INVALID_NUMBER -- constraint error -TA1 - task_get_note - INVALID_ID -TA1 - task_ident - current task SUCCESSFUL -TA1 - task_ident - global INVALID_NAME -TA1 - task_ident - local INVALID_NAME -TA1 - task_ident - INVALID_NODE -TA1 - task_restart - INVALID_ID -TA1 - task_resume - INVALID_ID -TA1 - task_resume - INCORRECT_STATE -TA1 - task_set_priority - INVALID_PRIORITY -- constraint error -TA1 - task_set_priority - INVALID_ID -TA1 - task_set_note - INVALID_NUMBER -- constraint error -TA1 - task_set_note - INVALID_ID -TA1 - task_start - INVALID_ID -TA1 - task_start - INCORRECT_STATE -TA1 - task_suspend - INVALID_ID - -TA1 - clock_get - NOT_DEFINED -TA1 - task_wake_when - NOT_DEFINED -TA1 - timer_fire_when - NOT_DEFINED -TA1 - clock_set - 8:30:45 2/ 5/1987 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 15/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/32/1988 - INVALID_CLOCK -TA1 - clock_set - 25:30:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:61:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:61 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/ 5/1988 - INVALID_CLOCK -TA1 - clock_set - 8:30:45 2/ 5/1988 - SUCCESSFUL -TA1 - task_wake_when - TICK INVALID - sleep about 3 seconds -TA1 - task_wake_when - TICK INVALID - woke up SUCCESSFUL -TA1 - task_wake_when - 8:30:48 2/ 5/1961 - INVALID_CLOCK -TA1 - task_wake_when - 25:30:48 2/ 5/1988 - INVALID_CLOCK -TA1 - current time - 8:30:48 2/ 5/1988 -TA1 - task_wake_when - 8:30:48 1/ 5/1988 - INVALID_CLOCK - -TA1 - task_create - INVALID_NAME -TA1 - task_create - stack size - UNSATISFIED -TA1 - task_create - TA2 created - SUCCESSFUL -TA1 - task_suspend - suspend TA2 - SUCCESSFUL -TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED -TA1 - task_resume - TA2 resumed - SUCCESSFUL -TA1 - task_create - TA3 created - SUCCESSFUL -TA1 - task_create - 4 created - SUCCESSFUL -TA1 - task_create - 5 created - SUCCESSFUL -TA1 - task_create - 6 created - SUCCESSFUL -TA1 - task_create - 7 created - SUCCESSFUL -TA1 - task_create - 8 created - SUCCESSFUL -TA1 - task_create - 9 created - SUCCESSFUL -TA1 - task_create - 10 created - SUCCESSFUL -TA1 - task_create - 11 - TOO_MANY -TA1 - task_create - MP_NOT_CONFIGURED - -TA1 - event_receive - UNSATISFIED ( all conditions ) -TA1 - event_receive - UNSATISFIED ( any conditions ) -TA1 - event_receive - timeout in 3 seconds -TA1 - event_receive - woke with TIMEOUT -TA1 - event_send - INVALID_ID -TA1 - task_wake_after - sleep 1 second - SUCCESSFUL -TA1 - clock_set - 8:30:45 2/ 5/1988 - SUCCESSFUL - -TA1 - semaphore_create - INVALID_NAME -TA1 - semaphore_create - 1 - SUCCESSFUL -TA1 - semaphore_create - 2 - SUCCESSFUL -TA1 - semaphore_create - 3 - TOO_MANY -TA1 - semaphore_create - NOT_DEFINED -TA1 - semaphore_create - NOT_DEFINED -TA1 - semaphore_create - INVALID_NUMBER -TA1 - semaphore_create - MP_NOT_CONFIGURED -TA1 - semaphore_delete - unknown INVALID_ID -TA1 - semaphore_delete - local INVALID_ID -TA1 - semaphore_ident - global INVALID_NAME -TA1 - semaphore_ident - local INVALID_NAME - -TA1 - semaphore_obtain - INVALID_ID -TA1 - semaphore_obtain - got sem 1 - SUCCESSFUL -TA1 - semaphore_obtain - UNSATISFIED -TA1 - semaphore_obtain - timeout in 3 seconds -TA1 - semaphore_obtain - woke with TIMEOUT -TA1 - semaphore_release - NOT_OWNER_OF_RESOURCE -TA1 - semaphore_release - INVALID_ID -TA1 - task_start - start TA2 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA2 - semaphore_obtain - sem 1 - WAIT FOREVER -TA1 - semaphore_delete - delete sem 1 - SUCCESSFUL -TA1 - semaphore_obtain - binary semaphore -TA1 - semaphore_delete - delete sem 2 - RESOURCE_IN_USE -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA2 - semaphore_obtain - woke up with OBJECT_WAS_DELETED -TA2 - task_delete - delete self - SUCCESSFUL -TA1 - task_delete TA2 - already deleted INVALID_ID - -TA1 - message_queue_broadcast - INVALID_ID -TA1 - message_queue_create - Q 1 - INVALID_NAME -TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED -TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL -TA1 - message_queue_create - Q 2 - TOO_MANY -TA1 - message_queue_delete - unknown INVALID_ID -TA1 - message_queue_delete - local INVALID_ID -TA1 - message_queue_ident - INVALID_NAME -TA1 - message_queue_flush - INVALID_ID -TA1 - message_queue_receive - INVALID_ID -TA1 - message_queue_receive - Q 1 - UNSATISFIED -TA1 - message_queue_receive - Q 1 - timeout in 3 seconds -TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT -TA1 - message_queue_send - INVALID_ID -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY - -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL -TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL -TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY -TA1 - message_queue_delete - Q 1 - SUCCESSFUL -TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL -TA1 - task_start - start TA3 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA3 - message_queue_receive - Q 1 - WAIT FOREVER -TA1 - message_queue_delete - delete Q 1 - SUCCESSFUL -TA1 - task_wake_after - yield processor - SUCCESSFUL -TA3 - message_queue_receive - woke up with OBJECT_WAS_DELETED -TA3 - task_delete - delete self - SUCCESSFUL - -TA1 - interrupt_catch - INVALID_NUMBER -- constraint error -TA1 - interrupt_catch - INVALID_ADDRESS -TA1 - signal_send - INVALID_ID -TA1 - signal_send - NOT_DEFINED -TA1 - port_create - INVALID_NAME -TA1 - port_create - INVALID_ADDRESS -TA1 - port_create - TOO_MANY -TA1 - port_delete - INVALID_ID -TA1 - port_ident - INVALID_NAME -TA1 - port_internal_to_external - INVALID_ID -TA1 - port_external_to_internal - INVALID_ID - -TA1 - rate_monotonic_create - INVALID_NAME -TA1 - rate_monotonic_create - SUCCESSFUL -TA1 - rate_monotonic_create - TOO_MANY -TA1 - rate_monotonic_ident - INVALID_NAME -TA1 - rate_monotonic_period - unknown INVALID_ID -TA1 - rate_monotonic_period - local INVALID_ID -TA1 - rate_monotonic_period( STATUS ) - NOT_DEFINED -TA1 - rate_monotonic_period - 100 ticks - SUCCESSFUL -TA1 - rate_monotonic_period( STATUS ) - SUCCESSFUL -TA1 - rate_monotonic_period( STATUS ) - TIMEOUT -TA1 - rate_monotonic_cancel - unknown INVALID_ID -TA1 - rate_monotonic_cancel - local INVALID_ID -TA1 - rate_monotonic_cancel - SUCCESSFUL -TA1 - rate_monotonic_period - 5 ticks - TIMEOUT -TA1 - task_wake_after - yielding to TA4 -TA4 - rate_monotonic_cancel - NOT_OWNER_OF_RESOURCE -TA4 - rate_monotonic_period - NOT_OWNER_OF_RESOURCE -TA4 - task_delete - delete self - SUCCESSFUL -TA1 - rate_monotonic_delete - unknown INVALID_ID -TA1 - rate_monotonic_delete - local INVALID_ID -TA1 - rate_monotonic_delete - SUCCESSFUL - -TA1 - partition_create - INVALID_NAME -TA1 - partition_create - length - INVALID_SIZE -TA1 - partition_create - buffer size - INVALID_SIZE -TA1 - partition_create - length < buffer size - INVALID_SIZE -TA1 - partition_create - MP_NOT_CONFIGURED -TA1 - partition_create - INVALID_ADDRESS -TA1 - partition_create - INVALID_SIZE -TA1 - partition_delete - unknown INVALID_ID -TA1 - partition_delete - local INVALID_ID -TA1 - partition_get_buffer - INVALID_ID -TA1 - partition_ident - INVALID_NAME -TA1 - partition_return_buffer - INVALID_ID -TA1 - partition_create - SUCCESSFUL -TA1 - partition_create - TOO_MANY -TA1 - partition_get_buffer - SUCCESSFUL -TA1 - partition_get_buffer - SUCCESSFUL -TA1 - partition_get_buffer - UNSATISFIED -TA1 - partition_delete - RESOURCE_IN_USE -TA1 - partition_return_buffer - INVALID_ADDRESS - out of range -TA1 - partition_return_buffer - INVALID_ADDRESS - not on boundary - -TA1 - region_create - INVALID_NAME -TA1 - region_create - INVALID_ADDRESS -TA1 - region_create - INVALID_SIZE -TA1 - region_create - SUCCESSFUL -TA1 - region_create - TOO_MANY -TA1 - region_delete - unknown INVALID_ID -TA1 - region_delete - local INVALID_ID -TA1 - region_ident - INVALID_NAME -TA1 - region_get_segment - INVALID_ID -TA1 - region_get_segment - INVALID_SIZE -TA1 - region_get_segment - SUCCESSFUL -TA1 - region_get_segment - UNSATISFIED -TA1 - region_get_segment - timeout in 3 seconds -TA1 - region_get_segment - woke up with TIMEOUT -TA1 - region_delete - RESOURCE_IN_USE -TA1 - region_return_segment - INVALID_ID -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - debug_disable - DEBUG_REGION -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - region_return_segment - INVALID_ADDRESS -TA1 - debug_enable - DEBUG_REGION -TA1 - region_extend - INVALID_ID -TA1 - region_extend - within heap - INVALID_ADDRESS -TA1 - region_extend - non-contiguous lower - NOT_IMPLEMENTED -TA1 - region_extend - contiguous lower - NOT_IMPLEMENTED -TA1 - region_extend - non-contiguous higher - NOT_IMPLEMENTED - -TA1 - io_close - INVALID_NUMBER -TA1 - io_control - INVALID_NUMBER -TA1 - io_initialize - INVALID_NUMBER -TA1 - io_open - INVALID_NUMBER -TA1 - io_read - INVALID_NUMBER -TA1 - io_write - INVALID_NUMBER -TA1 - clock_set - 23:59:59 12/31/2000 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2001 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/1999 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2000 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/2100 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2101 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/2099 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/2100 - SUCCESSFUL -TA1 - clock_set - 23:59:59 12/31/1991 - SUCCESSFUL -TA1 - clock_get - 0: 0: 0 1/ 1/1992 - SUCCESSFUL - -TA1 - timer_create - INVALID_NAME -TA1 - timer_create - 1 - SUCCESSFUL -TA1 - timer_create - 2 - TOO_MANY -TA1 - timer_delete - local INVALID_ID -TA1 - timer_delete - global INVALID_ID -TA1 - timer_ident - INVALID_NAME -TA1 - timer_cancel - INVALID_ID -TA1 - timer_reset - INVALID_ID -TA1 - timer_reset - NOT_DEFINED -TA1 - timer_fire_after - INVALID_ID -TA1 - timer_fire_when - INVALID_ID -TA1 - timer_fire_after - INVALID_NUMBER -TA1 - timer_fire_when - 8:30:45 2/ 5/1987 - INVALID_CLOCK -TA1 - clock_get - 0: 0: 0 1/ 1/1992 -TA1 - timer_fire_when - 8:30:45 2/ 5/1990 - before INVALID_CLOCK -*** END OF TEST 9 *** diff --git a/c/src/ada-tests/sptests/sp09/sptest.adb b/c/src/ada-tests/sptests/sp09/sptest.adb deleted file mode 100644 index 960b610f77..0000000000 --- a/c/src/ada-tests/sptests/sp09/sptest.adb +++ /dev/null @@ -1,3208 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 9 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 9 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - SPTEST.TASK_NAME( 6 ) := RTEMS.BUILD_NAME( 'T', 'A', '6', ' ' ); - SPTEST.TASK_NAME( 7 ) := RTEMS.BUILD_NAME( 'T', 'A', '7', ' ' ); - SPTEST.TASK_NAME( 8 ) := RTEMS.BUILD_NAME( 'T', 'A', '8', ' ' ); - SPTEST.TASK_NAME( 9 ) := RTEMS.BUILD_NAME( 'T', 'A', '9', ' ' ); - SPTEST.TASK_NAME( 10 ) := RTEMS.BUILD_NAME( 'T', 'A', 'A', ' ' ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - SPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - SPTEST.SEMAPHORE_NAME( 2 ) := RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - SPTEST.SEMAPHORE_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'M', '3', ' ' ); - - SPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ); - SPTEST.QUEUE_NAME( 2 ) := RTEMS.BUILD_NAME( 'M', 'Q', '2', ' ' ); - - SPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - SPTEST.PORT_NAME( 1 ) := RTEMS.BUILD_NAME( 'D', 'P', '1', ' ' ); - - SPTEST.PERIOD_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - --- RTEMS.TASK_CREATE( --- SPTEST.TASK_NAME( 1 ), --- 4, --- 10, --- RTEMS.DEFAULT_MODES, --- RTEMS.DEFAULT_ATTRIBUTES, --- SPTEST.TASK_ID( 1 ), --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_SIZE, --- "TASK_CREATE WITH ILLEGAL STACK SIZE" --- ); - TEXT_IO.PUT_LINE( "INIT - task_create - INVALID_SIZE -- NOT CHECKED" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 0, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_PRIORITY, - "TASK_CREATE WITH ILLEGAL PRIORITY" - ); - TEXT_IO.PUT_LINE( "INIT - task_create - INVALID_PRIORITY" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_RESTART( - SPTEST.TASK_ID( 1 ), - 0, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_RESTART OF DORMANT TASK" - ); - TEXT_IO.PUT_LINE( "INIT - task_restart - INCORRECT_STATE" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_SUBPROGRAM --- - - procedure DELAYED_SUBPROGRAM ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end DELAYED_SUBPROGRAM; - ---PAGE --- --- SERVICE_ROUTINE --- - - procedure SERVICE_ROUTINE ( - IGNORED : in RTEMS.VECTOR_NUMBER - ) is - begin - - NULL; - - end SERVICE_ROUTINE; - ---PAGE --- --- SCREEN_1 --- - - procedure SCREEN_1 - is - NOTEPAD_VALUE : RTEMS.UNSIGNED32; - SELF_ID : RTEMS.ID; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_delete - INVALID_ID" ); - --- RTEMS.TASK_GET_NOTE( RTEMS.SELF, --- RTEMS.NOTEPAD_INDEX'LAST + 10, --- NOTEPAD_VALUE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "TASK_GET_NOTE WITH ILLEGAL NOTEPAD" --- ); --- TEXT_IO.PUT_LINE( "TA1 - task_get_note - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - task_get_note - INVALID_NUMBER -- constraint error" - ); - - RTEMS.TASK_GET_NOTE( - 100, - RTEMS.NOTEPAD_INDEX'LAST, - NOTEPAD_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_GET_NOTE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_get_note - INVALID_ID" ); - - RTEMS.TASK_IDENT( - RTEMS.SELF, - RTEMS.SEARCH_ALL_NODES, - SELF_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - if SELF_ID /= SPTEST.TASK_ID( 1 ) then - TEXT_IO.PUT_LINE( "ERROR - task_ident - incorrect ID returned!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - TEXT_IO.PUT_LINE( - "TA1 - task_ident - current task SUCCESSFUL" - ); - - RTEMS.TASK_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_IDENT WITH ILLEGAL NAME (local)" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - global INVALID_NAME" ); - - RTEMS.TASK_IDENT( 100, 1, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_IDENT WITH ILLEGAL NAME (global)" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - local INVALID_NAME" ); - - RTEMS.TASK_IDENT( 100, 2, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NODE, - "TASK_IDENT WITH ILLEGAL NODE" - ); - TEXT_IO.PUT_LINE( "TA1 - task_ident - INVALID_NODE" ); - - RTEMS.TASK_RESTART( 100, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_RESTART WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_restart - INVALID_ID" ); - - RTEMS.TASK_RESUME( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_RESUME WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_resume - INVALID_ID" ); - - RTEMS.TASK_RESUME( RTEMS.SELF, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_RESUME OF READY TASK" - ); - TEXT_IO.PUT_LINE( "TA1 - task_resume - INCORRECT_STATE" ); - --- RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 512, PREVIOUS_PRIORITY, STATUS ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_PRIORITY, --- "TASK_SET_PRIORITY WITH ILLEGAL PRIORITY" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - task_set_priority - INVALID_PRIORITY" --- ); - TEXT_IO.PUT_LINE( - "TA1 - task_set_priority - INVALID_PRIORITY -- constraint error" - ); - - RTEMS.TASK_SET_PRIORITY( 100, 8, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SET_PRIORITY WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_set_priority - INVALID_ID" ); - --- RTEMS.TASK_SET_NOTE( RTEMS.SELF, --- RTEMS.NOTEPAD_INDEX'LAST + 10, --- NOTEPAD_VALUE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "TASK_SET_NOTE WITH ILLEGAL NOTEPAD" --- ); --- TEXT_IO.PUT_LINE( "TA1 - task_set_note - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - task_set_note - INVALID_NUMBER -- constraint error" - ); - - RTEMS.TASK_SET_NOTE( - 100, - RTEMS.NOTEPAD_INDEX'LAST, - NOTEPAD_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SET_NOTE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_set_note - INVALID_ID" ); - - RTEMS.TASK_START( 100, SPTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_START WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_start - INVALID_ID" ); - - RTEMS.TASK_START( RTEMS.SELF, SPTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INCORRECT_STATE, - "TASK_START OF READY TASK" - ); - TEXT_IO.PUT_LINE( "TA1 - task_start - INCORRECT_STATE" ); - - RTEMS.TASK_SUSPEND( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_SUSPEND WITH INVALID ID" - ); - TEXT_IO.PUT_LINE( "TA1 - task_suspend - INVALID_ID" ); - - end SCREEN_1; - ---PAGE --- --- SCREEN_2 --- - - procedure SCREEN_2 - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - --- errors before clock is set - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT_LINE( - "TA1 - clock_get - NOT_DEFINED -- DID THE BSP SET THE TIME OF DAY?" - ); - else - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "CLOCK_GET BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - clock_get - NOT_DEFINED" ); - end if; - - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT( "TA1 - task_wake_when - NOT_DEFINED -- " ); - TEXT_IO.PUT_LINE( "DID THE BSP SET THE TIME OF DAY?" ); - else - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TASK_WAKE_WHEN BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - task_wake_when - NOT_DEFINED" ); - end if; - - RTEMS.TIMER_FIRE_WHEN( - 0, - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - - if RTEMS.IS_STATUS_SUCCESSFUL( STATUS ) then - TEXT_IO.PUT( "TA1 - task_fire_when - NOT_DEFINED -- " ); - TEXT_IO.PUT_LINE( "DID THE BSP SET THE TIME OF DAY?" ); - else - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TIMER_FIRE_WHEN BEFORE CLOCK IS SET" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_when - NOT_DEFINED" ); - - end if; - --- invalid time of day field - - TIME := ( 1987, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID YEAR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 15, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID MONTH" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 32, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID DAY" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 25, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID HOUR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 61, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID MINUTE" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 61, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID SECOND" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, TEST_SUPPORT.TICKS_PER_SECOND + 1 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "CLOCK_SET WITH INVALID TICKS PER SECOND" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEXT_IO.PUT_LINE( " - SUCCESSFUL" ); - --- task_wake_when - - TIME := ( 1988, 2, 5, 8, 30, 48, TEST_SUPPORT.TICKS_PER_SECOND + 1 ); - TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " ); - TEXT_IO.PUT_LINE( "sleep about 3 seconds" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_WHEN WITH INVALID TICKS PER SECOND" - ); - TEXT_IO.PUT( "TA1 - task_wake_when - TICK INVALID - " ); - TEXT_IO.PUT_LINE( "woke up SUCCESSFUL" ); - - TIME := ( 1961, 2, 5, 8, 30, 48, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN WITH INVALID YEAR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - TIME := ( 1988, 2, 5, 25, 30, 48, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN WITH INVALID HOUR" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - current time - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME.MONTH := 1; - TEST_SUPPORT.PRINT_TIME( "TA1 - task_wake_when - ", TIME, "" ); - RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TASK_WAKE_WHEN BEFORE CURRENT TIME" - ); - TEXT_IO.PUT_LINE( " - INVALID_CLOCK" ); - - end SCREEN_2; - ---PAGE --- --- SCREEN_3 --- - - procedure SCREEN_3 - is - TASK_NAME : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - TASK_NAME := 1; - - RTEMS.TASK_CREATE( - 0, - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TASK_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - INVALID_NAME" - ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 1, - RTEMS.CONFIGURATION.WORK_SPACE_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "TASK_CREATE WITH A STACK SIZE LARGER THAN THE WORKSPACE" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - stack size - UNSATISFIED" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - TA2 created - SUCCESSFUL" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_suspend - suspend TA2 - SUCCESSFUL" - ); - - RTEMS.TASK_SUSPEND( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.ALREADY_SUSPENDED, - "TASK_SUSPEND ON SUSPENDED TA2" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_suspend - suspend TA2 - ALREADY_SUSPENDED" - ); - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF TA2" ); - TEXT_IO.PUT_LINE( - "TA1 - task_resume - TA2 resumed - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - TA3 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 4 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 5 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 6 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 6 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA6" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 6 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 7 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 7 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA7" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 7 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 8 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 8 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA8" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 8 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 9 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 9 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA9" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 9 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 10 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 10 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA10" ); - TEXT_IO.PUT_LINE( - "TA1 - task_create - 10 created - SUCCESSFUL" - ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TASK_CREATE FOR TOO MANY TASKS" - ); - TEXT_IO.PUT_LINE( "TA1 - task_create - 11 - TOO_MANY" ); - - RTEMS.TASK_CREATE( - TASK_NAME, - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "TASK_CREATE OF GLOBAL TASK IN SINGLE CPU SYSTEM" - ); - TEXT_IO.PUT_LINE( "TA1 - task_create - MP_NOT_CONFIGURED" ); - - end SCREEN_3; - ---PAGE --- --- SCREEN_4 --- - - procedure SCREEN_4 - is - EVENT_OUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE UNSATISFIED (ALL)" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - UNSATISFIED ( all conditions )" - ); - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE UNSATISFIED (ANY)" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - UNSATISFIED ( any conditions )" - ); - - TEXT_IO.PUT_LINE( "TA1 - event_receive - timeout in 3 seconds" ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENT_OUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "EVENT_RECEIVE AFTER 3 SECOND TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - woke with TIMEOUT" - ); - - RTEMS.EVENT_SEND( - 100, - RTEMS.EVENT_16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "EVENT_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - event_send - INVALID_ID" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - sleep 1 second - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (1 SECOND)" ); - - TIME := ( 1988, 2, 5, 8, 30, 45, 0 ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEXT_IO.PUT_LINE( " - SUCCESSFUL" ); - - end SCREEN_4; - ---PAGE --- --- SCREEN_5 --- - - procedure SCREEN_5 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_CREATE( - 0, - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - INVALID_NAME" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 1 - SUCCESSFUL" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 1, - RTEMS.BINARY_SEMAPHORE, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" ); - - loop - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - - exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL ); - end loop; - - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "SEMAPHORE_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 3 - TOO_MANY" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SEMAPHORE_CREATE OF FIFO INHERIT PRIORITY" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - NOT_DEFINED"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.INHERIT_PRIORITY + RTEMS.COUNTING_SEMAPHORE + RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SEMAPHORE_CREATE OF COUNTING_SEMAPHORE INHERIT PRIORITY" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - NOT_DEFINED"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 2, - RTEMS.BINARY_SEMAPHORE, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "SEMAPHORE_CREATE OF BINARY_SEMAPHORE with COUNT > 1" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - INVALID_NUMBER"); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.GLOBAL, - RTEMS.NO_PRIORITY, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "SEMAPHORE_CREATE OF MP_NOT_CONFIGURED" - ); - TEXT_IO.PUT_LINE("TA1 - semaphore_create - MP_NOT_CONFIGURED"); - - RTEMS.SEMAPHORE_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - unknown INVALID_ID" - ); - - RTEMS.SEMAPHORE_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_DELETE WITH LOCAL ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - local INVALID_ID" - ); - - RTEMS.SEMAPHORE_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_IDENT WITH ILLEGAL NAME (local)" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_ident - global INVALID_NAME" - ); - - RTEMS.SEMAPHORE_IDENT( 100, 1, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "SEMAPHORE_IDENT WITH ILLEGAL NAME (global)" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_ident - local INVALID_NAME" - ); - - end SCREEN_5; - ---PAGE --- --- SCREEN_6 --- - - procedure SCREEN_6 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - 100, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_OBTAIN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - INVALID_ID" ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED(STATUS, "SEMAPHORE_OBTAIN SUCCESSFUL"); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - got sem 1 - SUCCESSFUL" - ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "SEMAPHORE_OBTAIN NOT AVAILABLE" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - UNSATISFIED" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - timeout in 3 seconds" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "SEMAPHORE_OBTAIN NOT AVAILABLE" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - woke with TIMEOUT" - ); - - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "SEMAPHORE_RELEASE AND NOT OWNER" - ); - TEXT_IO.PUT_LINE( - "TA1 - semaphore_release - NOT_OWNER_OF_RESOURCE" - ); - - RTEMS.SEMAPHORE_RELEASE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SEMAPHORE_RELEASE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - INVALID_ID" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_start - start TA2 - SUCCESSFUL" - ); - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - delete sem 1 - SUCCESSFUL" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - binary semaphore" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_delete - delete sem 2 - RESOURCE_IN_USE" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "SEMAPHORE_DELETE OF SM2" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TASK_DELETE AFTER THE TASK HAS BEEN DELETED" - ); - TEXT_IO.PUT_LINE( - "TA1 - task_delete TA2 - already deleted INVALID_ID" - ); - - end SCREEN_6; - ---PAGE --- --- SCREEN_7 --- - - procedure SCREEN_7 - is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_BROADCAST( - 100, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_BROADCAST WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_broadcast - INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - 0, - 3, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "MESSAGE_QUEUE_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - INVALID_NAME" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 1, - 16, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "MESSAGE_QUEUE_CREATE OF MP NOT CONFIGURED" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED"); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 2 ), - 1, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 2 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - unknown INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_DELETE WITH LOCAL ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - local INVALID_ID" - ); - - RTEMS.MESSAGE_QUEUE_IDENT( - 100, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "MESSAGE_QUEUE_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_ident - INVALID_NAME" ); - - RTEMS.MESSAGE_QUEUE_FLUSH( 100, COUNT, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_FLUSH WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - 100, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_RECEIVE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_receive - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "MESSAGE_QUEUE_RECEIVE UNSATISFIED" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - UNSATISFIED" - ); - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - timeout in 3 seconds" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "MESSAGE_QUEUE_RECEIVE 3 SECOND TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_receive - Q 1 - woke up with TIMEOUT" - ); - - RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, 16, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "MESSAGE_QUEUE_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - INVALID_ID" ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY" - ); - - end SCREEN_7; - ---PAGE --- --- SCREEN_8 --- - - procedure SCREEN_8 - is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 3, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY" - ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - Q 1 - SUCCESSFUL" - ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 2, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_CREATE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_start - start TA3 - SUCCESSFUL" - ); - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "MESSAGE_QUEUE_DELETE SUCCESSFUL" - ); - TEXT_IO.PUT_LINE( - "TA1 - message_queue_delete - delete Q 1 - SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - yield processor - SUCCESSFUL" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - end SCREEN_8; - ---PAGE --- --- SCREEN_9 --- - - procedure SCREEN_9 - is - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - OLD_SERVICE_ROUTINE : RTEMS.ADDRESS; - begin - --- RTEMS.INTERRUPT_CATCH( --- SPTEST.SERVICE_ROUTINE'ACCESS, --- 500, --- OLD_SERVICE_ROUTINE, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_NUMBER, --- "INTERRUPT_CATCH WITH INVALID VECTOR" --- ); --- TEXT_IO.PUT_LINE( "TA1 - interrupt_catch - INVALID_NUMBER" ); - TEXT_IO.PUT_LINE( - "TA1 - interrupt_catch - INVALID_NUMBER -- constraint error" - ); - - RTEMS.INTERRUPT_CATCH( - RTEMS.NULL_ADDRESS, - 3, - OLD_SERVICE_ROUTINE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "INTERRUPT_CATCH WITH INVALID HANDLER" - ); - TEXT_IO.PUT_LINE( "TA1 - interrupt_catch - INVALID_ADDRESS" ); - - RTEMS.SIGNAL_SEND( 100, RTEMS.SIGNAL_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "SIGNAL_SEND WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - signal_send - INVALID_ID" ); - - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_16, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "SIGNAL_SEND WITH NO HANDLER" - ); - TEXT_IO.PUT_LINE( "TA1 - signal_send - NOT_DEFINED" ); - - RTEMS.PORT_CREATE( - 0, - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PORT_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - INVALID_NAME" ); - - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - SPTEST.INTERNAL_PORT_AREA( 1 )'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PORT_CREATE WITH ILLEGAL ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - INVALID_ADDRESS" ); - - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PORT_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - port_create - TOO_MANY" ); - - RTEMS.PORT_DELETE( 0, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - port_delete - INVALID_ID" ); - - RTEMS.PORT_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PORT_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - port_ident - INVALID_NAME" ); - - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - 100, - SPTEST.INTERNAL_PORT_AREA'ADDRESS, - CONVERTED, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_INTERNAL_TO_EXTERNAL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - port_internal_to_external - INVALID_ID" - ); - - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - 100, - SPTEST.EXTERNAL_PORT_AREA'ADDRESS, - CONVERTED, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PORT_EXTERNAL_TO_INTERNAL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - port_external_to_internal - INVALID_ID" - ); - - end SCREEN_9; - ---PAGE --- --- SCREEN_10 --- - - procedure SCREEN_10 - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "RATE_MONOTONIC_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_create - INVALID_NAME" - ); - - RTEMS.RATE_MONOTONIC_CREATE( - SPTEST.PERIOD_NAME( 1 ), - SPTEST.PERIOD_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_create - SUCCESSFUL" - ); - - RTEMS.RATE_MONOTONIC_CREATE( - SPTEST.PERIOD_NAME( 1 ), - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "RATE_MONOTONIC_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_create - TOO_MANY" ); - - RTEMS.RATE_MONOTONIC_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "RATE_MONOTONIC_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_ident - INVALID_NAME" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( 100, 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_PERIOD WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( 16#10100#, 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_PERIOD WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "RATE_MONOTONIC_PERIOD STATUS NOT DEFINED" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period( STATUS ) - NOT_DEFINED" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 100, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 100 TICKS" - ); - TEXT_IO.PUT( "TA1 - rate_monotonic_period - 100 ticks - " ); - TEXT_IO.PUT_LINE( "SUCCESSFUL" ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD STATUS" - ); - TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); - TEXT_IO.PUT_LINE( "SUCCESSFUL" ); - - loop - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - RTEMS.PERIOD_STATUS, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TIMEOUT ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD STATUS WAITING FOR TIMEOUT" - ); - - end loop; - TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); - TEXT_IO.PUT_LINE( "TIMEOUT" ); - - RTEMS.RATE_MONOTONIC_CANCEL( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_cancel - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_CANCEL( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_cancel - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_CANCEL( SPTEST.PERIOD_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CANCEL" ); - TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - SUCCESSFUL" ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD RESTART" - ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "RATE_MONOTONIC_PERIOD TIMED OUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_period - 5 ticks - TIMEOUT" - ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yielding to TA4" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); - - RTEMS.RATE_MONOTONIC_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - unknown INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - local INVALID_ID" - ); - - RTEMS.RATE_MONOTONIC_DELETE( SPTEST.PERIOD_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_DELETE" ); - TEXT_IO.PUT_LINE( - "TA1 - rate_monotonic_delete - SUCCESSFUL" - ); - - end SCREEN_10; - ---PAGE --- --- SCREEN_11 --- - - procedure SCREEN_11 - is - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.PARTITION_CREATE( - 0, - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 40, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PARTITION_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_NAME" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 0, - 80, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH ILLEGAL LENGTH" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - length - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 0, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH ILLEGAL BUFFER_SIZE" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - buffer size - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 256, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH BUFFER_SIZE > LENGTH" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_create - length < buffer size - INVALID_SIZE" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.GLOBAL, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.MP_NOT_CONFIGURED, - "PARTITION_CREATE OF GLOBAL" - ); - TEXT_IO.PUT_LINE("TA1 - partition_create - MP_NOT_CONFIGURED"); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_BAD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_CREATE WITH BAD ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_ADDRESS" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 34, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "PARTITION_CREATE WITH UNALIGNED BUFFER_SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_SIZE" ); - - RTEMS.PARTITION_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_delete - unknown INVALID_ID" - ); - - RTEMS.PARTITION_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_delete - local INVALID_ID" - ); - - RTEMS.PARTITION_GET_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_GET_BUFFER WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - INVALID_ID" ); - - RTEMS.PARTITION_IDENT( - 0, - RTEMS.SEARCH_ALL_NODES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "PARTITION_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_ident - INVALID_NAME" ); - - RTEMS.PARTITION_RETURN_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "PARTITION_RETURN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - partition_return_buffer - INVALID_ID" - ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - SUCCESSFUL" ); - - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - SPTEST.PARTITION_GOOD_AREA'ADDRESS, - 128, - 64, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "PARTITION_CREATE OF TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_create - TOO_MANY" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); - - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "PARTITION_GET_BUFFER UNSATISFIED" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - UNSATISFIED" ); - - RTEMS.PARTITION_DELETE( - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "PARTITION_DELETE WITH BUFFERS IN USE" - ); - TEXT_IO.PUT_LINE( "TA1 - partition_delete - RESOURCE_IN_USE" ); - - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( 0 )'ADDRESS, -- NOTE: REGION - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_RETURN WITH BUFFER ADDRESS OUT OF PARTITION" - ); - TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); - TEXT_IO.PUT_LINE( "INVALID_ADDRESS - out of range" ); - - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - SPTEST.PARTITION_GOOD_AREA( 7 )'ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "PARTITION_RETURN WITH BUFFER ADDRESS NOT ON BOUNDARY" - ); - TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); - TEXT_IO.PUT_LINE( "INVALID_ADDRESS - not on boundary" ); - - - end SCREEN_11; - ---PAGE --- --- SCREEN_12 --- - - procedure SCREEN_12 - is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - OFFSET : RTEMS.UNSIGNED32; - GOOD_FRONT_FLAG : RTEMS.UNSIGNED32; - GOOD_BACK_FLAG : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_CREATE( - 0, - SPTEST.REGION_GOOD_AREA'ADDRESS, - 16#40#, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "REGION_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_NAME" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_BAD_AREA'ADDRESS, - 16#40#, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_CREATE WITH ILLEGAL ADDRESS" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_ADDRESS" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - 16#40#, - 34, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "REGION_CREATE WITH ILLEGAL SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_SIZE" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS, - SPTEST.REGION_LENGTH, - 16#40#, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - region_create - SUCCESSFUL" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - SPTEST.REGION_LENGTH, - 16#40#, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "REGION_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - region_create - TOO_MANY" ); - - RTEMS.REGION_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - unknown INVALID_ID" ); - - RTEMS.REGION_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - local INVALID_ID" ); - - RTEMS.REGION_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "REGION_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - region_ident - INVALID_NAME" ); - - RTEMS.REGION_GET_SEGMENT( - 100, - 16#40#, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_GET_SEGMENT WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - INVALID_ID" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - (SPTEST.REGION_GOOD_AREA'SIZE / 8) * 2, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_SIZE, - "REGION_GET_SEGMENT WITH ILLEGAL SIZE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - INVALID_SIZE" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 384, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - SUCCESSFUL" ); - - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_LENGTH / 2, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "REGION_GET_SEGMENT UNSATISFIED" - ); - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - UNSATISFIED" ); - - TEXT_IO.PUT_LINE( "TA1 - region_get_segment - timeout in 3 seconds" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 128, - RTEMS.DEFAULT_OPTIONS, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TIMEOUT, - "REGION_GET_SEGMENT TIMEOUT" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_get_segment - woke up with TIMEOUT" - ); - - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.RESOURCE_IN_USE, - "REGION_DELETE WITH BUFFERS IN USE" - ); - TEXT_IO.PUT_LINE( "TA1 - region_delete - RESOURCE_IN_USE" ); - - RTEMS.REGION_RETURN_SEGMENT( - 100, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_RETURN_SEGMENT WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - region_return_segment - INVALID_ID" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA'ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_RETURN_SEGMENT WITH ILLEGAL SEGMENT" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS" - ); - - -- internal heap errors, subject to change if heap code changes - - TEXT_IO.PUT_LINE( "TA1 - debug_disable - DEBUG_REGION" ); - RTEMS.DEBUG_DISABLE( RTEMS.DEBUG_REGION ); - - OFFSET := 0; - GOOD_BACK_FLAG := 0; - GOOD_FRONT_FLAG := 0; - - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" - ); - - --- OFFSET := RTEMS.SUBTRACT( --- SEGMENT_ADDRESS_1, --- SPTEST.REGION_GOOD_AREA'ADDRESS --- ) / 4; --- --- --- -- bad FRONT_FLAG error --- --- GOOD_FRONT_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 1 ); --- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG + 2; --- --- RTEMS.REGION_RETURN_SEGMENT( --- SPTEST.REGION_ID( 1 ), --- SEGMENT_ADDRESS_1, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_ADDRESS, --- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - region_return_segment - INVALID_ADDRESS" --- ); --- --- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG; --- --- -- bad BACK_FLAG error --- --- GOOD_BACK_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 2 ); --- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := 1024; --- --- RTEMS.REGION_RETURN_SEGMENT( --- SPTEST.REGION_ID( 1 ), --- SEGMENT_ADDRESS_1, --- STATUS --- ); --- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( --- STATUS, --- RTEMS.INVALID_ADDRESS, --- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" --- ); --- TEXT_IO.PUT_LINE( --- "TA1 - region_return_segment - INVALID_ADDRESS" --- ); --- --- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := GOOD_BACK_FLAG; - - TEXT_IO.PUT_LINE( "TA1 - debug_enable - DEBUG_REGION" ); - RTEMS.DEBUG_ENABLE( RTEMS.DEBUG_REGION ); - - RTEMS.REGION_EXTEND( - 100, - SPTEST.REGION_GOOD_AREA'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "REGION_EXTEND WITH INVALID_ID" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - INVALID_ID" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET + 16 )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ADDRESS, - "REGION_EXTEND WITH INVALID_ADDRESS" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - within heap - INVALID_ADDRESS" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_BAD_AREA'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - non-contiguous lower - NOT_IMPLEMENTED" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( - SPTEST.REGION_START_OFFSET - SPTEST.REGION_LENGTH )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - contiguous lower - NOT_IMPLEMENTED" - ); - - RTEMS.REGION_EXTEND( - SPTEST.REGION_ID( 1 ), - SPTEST.REGION_GOOD_AREA( - SPTEST.REGION_START_OFFSET + SPTEST.REGION_LENGTH + 16 )'ADDRESS, - 128, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_IMPLEMENTED, - "REGION_EXTEND WITH NOT_IMPLEMENTED" - ); - TEXT_IO.PUT_LINE( - "TA1 - region_extend - non-contiguous higher - NOT_IMPLEMENTED" - ); - - end SCREEN_12; - ---PAGE --- --- SCREEN_13 --- - - procedure SCREEN_13 - is - RESULT : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.IO_CLOSE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_CLOSE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE("TA1 - io_close - INVALID_NUMBER"); - - RTEMS.IO_CONTROL( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_CONTROL WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - INVALID_NUMBER" - ); - - RTEMS.IO_INITIALIZE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_INITIALIZE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - INVALID_NUMBER" - ); - - RTEMS.IO_OPEN( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_OPEN WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_open - INVALID_NUMBER" ); - - RTEMS.IO_READ( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_READ WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_read - INVALID_NUMBER" ); - - RTEMS.IO_WRITE( - RTEMS.DEVICE_MAJOR_NUMBER'LAST, - 0, - RTEMS.NULL_ADDRESS, - RESULT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_WRITE WITH BAD MAJOR NUMBER" - ); - TEXT_IO.PUT_LINE( "TA1 - io_write - INVALID_NUMBER" ); - - TIME := ( 2000, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 1999, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 2100, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 2099, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - TIME := ( 1991, 12, 31, 23, 59, 59, 0 ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_set - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - clock_get - ", - TIME, - " - SUCCESSFUL" - ); - TEXT_IO.NEW_LINE; - - end SCREEN_13; - ---PAGE --- --- SCREEN_14 --- - - procedure SCREEN_14 - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TIMER_CREATE( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TIMER_CREATE WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - INVALID_NAME" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - 1 - SUCCESSFUL" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.JUNK_ID, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.TOO_MANY, - "TIMER_CREATE FOR TOO MANY" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_create - 2 - TOO_MANY" ); - - RTEMS.TIMER_DELETE( 100, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_delete - local INVALID_ID" ); - - RTEMS.TIMER_DELETE( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_DELETE WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_delete - global INVALID_ID" ); - - RTEMS.TIMER_IDENT( 0, SPTEST.JUNK_ID, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NAME, - "TIMER_IDENT WITH ILLEGAL NAME" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_ident - INVALID_NAME" ); - - RTEMS.TIMER_CANCEL( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_CANCEL WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - INVALID_ID" ); - - RTEMS.TIMER_RESET( 16#10100#, STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_RESET WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_reset - INVALID_ID" ); - - RTEMS.TIMER_RESET( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_DEFINED, - "TIMER_RESET BEFORE INITIATED" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_reset - NOT_DEFINED" ); - - RTEMS.TIMER_FIRE_AFTER( - 16#10100#, - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_FIRE_AFTER WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_after - INVALID_ID" ); - - TIME := ( 1994, 12, 31, 1, 0, 0, 0 ); - RTEMS.TIMER_FIRE_WHEN( - 16#10100#, - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_ID, - "TIMER_FIRE_WHEN WITH ILLEGAL ID" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_when - INVALID_ID" ); - - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 0, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "TIMER_FIRE_AFTER WITH 0 TICKS" - ); - TEXT_IO.PUT_LINE( "TA1 - timer_fire_after - INVALID_NUMBER" ); - - TIME := ( 1987, 2, 5, 8, 30, 45, 0 ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TIMER_FIRE_WHEN WITH ILLEGAL TIME" - ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - timer_fire_when - ", - TIME, - " - INVALID_CLOCK" - ); - TEXT_IO.NEW_LINE; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET SUCCESSFUL" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TIME := ( 1990, 2, 5, 8, 30, 45, 0 ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.DELAYED_SUBPROGRAM'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_CLOCK, - "TIMER_FIRE_WHEN BEFORE CURRENT TIME" - ); - TEST_SUPPORT.PRINT_TIME( - "TA1 - timer_fire_when - ", - TIME, - " - before INVALID_CLOCK" - ); - TEXT_IO.NEW_LINE; - - end SCREEN_14; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - SPTEST.SCREEN_1; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 2 ); - - SPTEST.SCREEN_2; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 3 ); - - SPTEST.SCREEN_3; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 4 ); - - SPTEST.SCREEN_4; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 5 ); - - SPTEST.SCREEN_5; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 6 ); - - SPTEST.SCREEN_6; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 7 ); - - SPTEST.SCREEN_7; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 8 ); - - SPTEST.SCREEN_8; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 9 ); - - SPTEST.SCREEN_9; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 10 ); - - SPTEST.SCREEN_10; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 11 ); - - SPTEST.SCREEN_11; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 12 ); - - SPTEST.SCREEN_12; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 13 ); - - SPTEST.SCREEN_13; - TEST_SUPPORT.PAUSE_AND_SCREEN_NUMBER( 14 ); - - SPTEST.SCREEN_14; - - TEXT_IO.PUT_LINE( "*** END OF TEST 9 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - sem 1 - WAIT FOREVER" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN WAITING TO BE DELETED" - ); - TEXT_IO.PUT_LINE( - "TA2 - semaphore_obtain - woke up with OBJECT_WAS_DELETED" - ); - - TEXT_IO.PUT_LINE( - "TA2 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - Q 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "MESSAGE_QUEUE_RECEIVE WAITING TO BE DELETED" - ); - TEXT_IO.PUT( "TA3 - message_queue_receive - woke up " ); - TEXT_IO.PUT_LINE( "with OBJECT_WAS_DELETED" ); - - TEXT_IO.PUT_LINE( - "TA3 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CANCEL( - SPTEST.PERIOD_ID( 1 ), - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "RATE_MONOTONIC_CANCEL NOT THE OWNER" - ); - TEXT_IO.PUT_LINE( - "TA4 - rate_monotonic_cancel - NOT_OWNER_OF_RESOURCE" - ); - - RTEMS.RATE_MONOTONIC_PERIOD( - SPTEST.PERIOD_ID( 1 ), - 5, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.NOT_OWNER_OF_RESOURCE, - "RATE_MONOTONIC_PERIOD NOT THE OWNER" - ); - TEXT_IO.PUT_LINE( - "TA4 - rate_monotonic_period - NOT_OWNER_OF_RESOURCE" - ); - - TEXT_IO.PUT_LINE( - "TA4 - task_delete - delete self - SUCCESSFUL" - ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - - end TASK_4; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp09/sptest.ads b/c/src/ada-tests/sptests/sp09/sptest.ads deleted file mode 100644 index 526b30be67..0000000000 --- a/c/src/ada-tests/sptests/sp09/sptest.ads +++ /dev/null @@ -1,402 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with System.Storage_Elements; - -package SPTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 11 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS semaphores created --- by this test. --- - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message queues --- created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions created --- by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS ports created --- by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS periods created --- by this test. --- - - PERIOD_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PERIOD_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- This variable is used as the output ID on directives which return --- an ID but are invoked in a manner which returns a non-SUCCESSFUL --- status code. --- - - JUNK_ID : RTEMS.ID; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for PARTITION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following area defines a memory area to be used as the --- memory space for a partition which starts at an invalid address. --- - - PARTITION_BAD_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000006#); - - PARTITION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for PARTITION_BAD_AREA use at PARTITION_BAD_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a region and constants used to define the regions --- starting area and length. --- - - REGION_GOOD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) - of RTEMS.UNSIGNED32; - for REGION_GOOD_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - REGION_START_OFFSET : constant RTEMS.UNSIGNED32 := 1024; - REGION_LENGTH : constant RTEMS.UNSIGNED32 := 512; - --- --- The following area defines a memory area to be used as the --- memory space for a region which starts at an invalid address. --- - - REGION_BAD_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000006#); - - REGION_BAD_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for REGION_BAD_AREA use at REGION_BAD_AREA_ADDRESS; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_SUBPROGRAM --- --- DESCRIPTION: --- --- This subprogram is scheduled as a timer service routine. --- It performs no actions if it fires. --- - - procedure DELAYED_SUBPROGRAM ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests numerous error conditions. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SERVICE_ROUTINE --- --- DESCRIPTION: --- --- This subprogram serves as a dummy ISR which is installed at an --- illegal vector number. --- - - procedure SERVICE_ROUTINE ( - IGNORED : in RTEMS.VECTOR_NUMBER - ); - --- --- SCREEN_1 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_1; - --- --- SCREEN_2 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_2; - --- --- SCREEN_3 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_3; - --- --- SCREEN_4 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_4; - --- --- SCREEN_5 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_5; - --- --- SCREEN_6 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_6; - --- --- SCREEN_7 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_7; - --- --- SCREEN_8 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_8; - --- --- SCREEN_9 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_9; - --- --- SCREEN_10 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_10; - --- --- SCREEN_11 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_11; - --- --- SCREEN_12 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_12; - --- --- SCREEN_13 --- --- DESCRIPTION: --- --- This subprogram processes the a single output screen of this test. --- - - procedure SCREEN_13; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp11/config.h b/c/src/ada-tests/sptests/sp11/config.h deleted file mode 100644 index 89529d5b9f..0000000000 --- a/c/src/ada-tests/sptests/sp11/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 6 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp11/sp11.adb b/c/src/ada-tests/sptests/sp11/sp11.adb deleted file mode 100644 index 1720830ded..0000000000 --- a/c/src/ada-tests/sptests/sp11/sp11.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP11 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP11 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP11; - diff --git a/c/src/ada-tests/sptests/sp11/sp11.scn b/c/src/ada-tests/sptests/sp11/sp11.scn deleted file mode 100644 index a23db839bc..0000000000 --- a/c/src/ada-tests/sptests/sp11/sp11.scn +++ /dev/null @@ -1,74 +0,0 @@ -*** TEST 11 *** -TA1 - event_send - send EVENT_16 to TA2 -TA1 - event_receive - waiting forever on EVENT_14 and EVENT_15 -TA2 - event_receive - waiting forever on EVENT_16 -TA2 - EVENT_16 received - eventout => 16#10000# -TA2 - event_send - send EVENT_14 and EVENT_15 to TA1 -TA2 - event_receive - waiting forever on EVENT_17 or EVENT_18 - EVENT_ANY -TA1 - EVENT_14 and EVENT_15 received - eventout => 16#C000# -TA1 - event_send - send EVENT_18 to TA2 -TA1 - event_receive - waiting with 10 second timeout on EVENT_14 -TA2 - EVENT_17 or EVENT_18 received - eventout => 16#40000# -TA2 - event_send - send EVENT_14 to TA1 -TA2 - clock_set - 8:15: 0 2/12/1988 -TA2 - event_send - sending EVENT_10 to self after 5 seconds -TA2 - event_receive - waiting forever on EVENT_10 -TA1 - EVENT_14 received - eventout => 16#4000# -TA1 - event_send - send EVENT_19 to TA2 -TA1 - clock_get - 8:15: 0 2/12/1988 - -TA1 - event_send - send EVENT_18 to self after 5 seconds -TA1 - event_receive - waiting forever on EVENT_18 -TA2 - EVENT_10 received - eventout => 16#400# -TA2 - clock_get - 8:15: 5 02/12/1988 -TA2 - event_receive - PENDING_EVENTS -TA2 - eventout => 16#80000# -TA2 - event_receive - EVENT_19 - NO_WAIT -TA2 - EVENT_19 received - eventout => 16#80000# -TA2 - task_delete - deletes self -TA1 - EVENT_18 received - eventout => 16#40000# -TA1 - clock_get - 8:15: 5 2/12/1988 -TA1 - event_send - send EVENT_3 to self -TA1 - event_receive - EVENT_3 or EVENT_22 - NO_WAIT and EVENT_ANY -TA1 - EVENT_3 received - eventout => 16#8# -TA1 - event_send - send EVENT_4 to self -TA1 - event_receive - waiting forever on EVENT_4 or EVENT_5 - EVENT_ANY -TA1 - EVENT_4 received - eventout => 16#10# - -TA1 - event_send - send EVENT_18 to self after 5 seconds -TA1 - timer_cancel - cancelling timer for event EVENT_18 -TA1 - event_send - send EVENT_8 to self after 60 seconds -TA1 - event_send - send EVENT_9 to self after 60 seconds -TA1 - event_send - send EVENT_10 to self after 60 seconds -TA1 - timer_cancel - cancelling timer for event EVENT_8 -TA1 - clock_set - 8:15: 0 2/12/1988 -TA1 - event_send - send EVENT_1 every second -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 1 2/12/1988 -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 2 2/12/1988 -TA1 - EVENT_1 received - eventout => 16#2# - at 8:15: 3 2/12/1988 -TA1 - timer_cancel - cancelling timer for event EVENT_1 - -TA1 - event_send - send EVENT_11 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 2 days -TA1 - timer_cancel - cancelling EVENT_11 to self in 1 day -TA1 - timer_cancel - cancelling EVENT_11 to self in 2 days -TA1 - event_send - resending EVENT_11 to self in 2 days -TA1 - clock_set - 8:15: 3 2/15/1988 -TA1 - event_receive - waiting forever on EVENT_11 -TA1 - EVENT_11 received - eventout => 16#800# - -TA1 - event_send/event_receive combination -TA1 - clock_set - 8:15: 0 2/12/1988 -TA1 - event_receive all outstanding events -TA1 - event_send - send EVENT_10 to self in 1 day -TA1 - event_send - send EVENT_11 to self in 2 days -TA1 - clock_set - 7:15: 0 2/12/1988 -TA1 - set time backwards -TA1 - no events received -TA1 - clock_set - 7:15: 0 2/14/1988 -TA1 - set time forwards (leave a timer) -TA1 - EVENT_10 received -TA1 - event_send - send EVENT_11 to self in 100 ticks -TA1 - event_send - send EVENT_11 to self in 200 ticks -*** END OF TEST 11 *** diff --git a/c/src/ada-tests/sptests/sp11/sptest.adb b/c/src/ada-tests/sptests/sp11/sptest.adb deleted file mode 100644 index 8ec174abe2..0000000000 --- a/c/src/ada-tests/sptests/sp11/sptest.adb +++ /dev/null @@ -1,900 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 11 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 11 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - SPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - SPTEST.TIMER_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'M', '3', ' ' ); - SPTEST.TIMER_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'M', '4', ' ' ); - SPTEST.TIMER_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'M', '5', ' ' ); - SPTEST.TIMER_NAME( 6 ) := RTEMS.BUILD_NAME( 'T', 'M', '6', ' ' ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 2 ), - SPTEST.TIMER_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM2" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 3 ), - SPTEST.TIMER_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM3" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 4 ), - SPTEST.TIMER_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM4" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 5 ), - SPTEST.TIMER_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM5" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 6 ), - SPTEST.TIMER_ID( 6 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM6" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENTOUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - INDEX : RTEMS.UNSIGNED32; - begin - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_16 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 16" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_14 and EVENT_15" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_14 + RTEMS.EVENT_15, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 14 and 15" ); - TEXT_IO.PUT( "TA1 - EVENT_14 and EVENT_15 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_18 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_18, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 18" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting with 10 second timeout on EVENT_14" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_14, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 14" ); - TEXT_IO.PUT( "TA1 - EVENT_14 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_19 to TA2" ); - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_19, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 19" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_18 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_18_TO_SELF_5_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 5 seconds" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_18" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_18, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 18" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA1 - EVENT_18 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_3 to self" ); - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 3" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_receive - EVENT_3 or EVENT_22 - NO_WAIT and EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_3 + RTEMS.EVENT_22, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 3 and 22" ); - TEXT_IO.PUT( "TA1 - EVENT_3 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - event_send - send EVENT_4 to self" ); - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_4, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 4" ); - - TEXT_IO.PUT_LINE( -"TA1 - event_receive - waiting forever on EVENT_4 or EVENT_5 - EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_4 + RTEMS.EVENT_5, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 4 and 5" ); - TEXT_IO.PUT( "TA1 - EVENT_4 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_18 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 5 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_18_TO_SELF_5_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 5 seconds" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_18" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_8 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_8_TO_SELF_60_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_9 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 2 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_9_TO_SELF_60_SECONDS'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_10 to self after 60 seconds" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 3 ), - 60 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 60 secs" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_8" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_1 every second" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.TA1_SEND_1_TO_SELF_EVERY_SECOND'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 1 SECOND" ); - - INDEX := 0; - - loop - - exit when INDEX = 3; - - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_1, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 1" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA1 - EVENT_1 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEST_SUPPORT.PRINT_TIME( " - at ", TIME, "" ); - TEXT_IO.NEW_LINE; - - if INDEX < 2 then - RTEMS.TIMER_RESET( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 TIMER RESET" ); - end if; - - INDEX := INDEX + 1; - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling timer for event EVENT_1" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEST_SUPPORT.PAUSE; - - TIME.DAY := 13; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - - TIME.HOUR := 7; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 2 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - TIME.HOUR := 8; - - TIME.DAY := 14; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 3 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling EVENT_11 to self in 1 day" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - timer_cancel - cancelling EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_CANCEL( SPTEST.TIMER_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - resending EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 3 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TIME.DAY := 15; - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - TEXT_IO.PUT_LINE( - "TA1 - event_receive - waiting forever on EVENT_11" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_11, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 11" ); - TEXT_IO.PUT( "TA1 - EVENT_11 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PAUSE; - --- The following code tests the case of deleting a timer ??? - - TEXT_IO.PUT_LINE( "TA1 - event_send/event_receive combination" ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 10, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 10 ticks" ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_11, - RTEMS.DEFAULT_OPTIONS, - 11, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - TIME.DAY := 13; - TEXT_IO.PUT_LINE( - "TA1 - event_receive all outstanding events" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE all events" - ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_10 to self in 1 day" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 1 ), - TIME, - SPTEST.TA1_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 1 day" ); - - TIME.DAY := 14; - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 2 days" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 2 ), - TIME, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 2 days" ); - - TIME := ( 1988, 2, 12, 7, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "TA1 - set time backwards" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - if EVENTOUT >= RTEMS.EVENT_0 then - TEXT_IO.PUT( "ERROR - " ); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.PUT_LINE( " events received" ); - else - TEXT_IO.PUT_LINE( "TA1 - no events received" ); - end if; - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.UNSATISFIED, - "EVENT_RECEIVE all events" - ); - - TIME := ( 1988, 2, 14, 7, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - TEXT_IO.PUT_LINE( "TA1 - set time forwards (leave a timer)" ); - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_SET" ); - - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT + RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE all events" ); - if EVENTOUT = RTEMS.EVENT_10 then - TEXT_IO.PUT_LINE( "TA1 - EVENT_10 received" ); - else - TEXT_IO.PUT( "ERROR - " ); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.PUT_LINE( " events received" ); - end if; - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 100 ticks" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - 100, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 100 ticks" ); - - TEXT_IO.PUT_LINE( - "TA1 - event_send - send EVENT_11 to self in 200 ticks" - ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 2 ), - 100, - SPTEST.TA1_SEND_11_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER 200 ticks" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 11 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENTOUT : RTEMS.EVENT_SET; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_AFTER( 1 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_16" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 16" ); - TEXT_IO.PUT( "TA2 - EVENT_16 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_send - send EVENT_14 and EVENT_15 to TA1" - ); - RTEMS.EVENT_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.EVENT_14 + RTEMS.EVENT_15, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 14 and 15" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_17 or EVENT_18 - EVENT_ANY" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_17 + RTEMS.EVENT_18, - RTEMS.EVENT_ANY, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 17 and 18" ); - TEXT_IO.PUT( "TA2 - EVENT_17 or EVENT_18 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_send - send EVENT_14 to TA1" - ); - RTEMS.EVENT_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.EVENT_14, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 14" ); - - TIME := ( 1988, 2, 12, 8, 15, 0, 0 ); - - TEST_SUPPORT.PRINT_TIME( "TA2 - clock_set - ", TIME, "" ); - TEXT_IO.NEW_LINE; - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA2 CLOCK_SET" ); - - TIME.SECOND := TIME.SECOND + 5; - TEXT_IO.PUT_LINE( - "TA2 - event_send - sending EVENT_10 to self after 5 seconds" - ); - RTEMS.TIMER_FIRE_WHEN( - SPTEST.TIMER_ID( 5 ), - TIME, - SPTEST.TA2_SEND_10_TO_SELF'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN 5 SECONDS" ); - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - waiting forever on EVENT_10" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_10, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TA1 CLOCK_GET" ); - - TEXT_IO.PUT( "TA2 - EVENT_10 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEST_SUPPORT.PRINT_TIME( "TA1 - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - event_receive - PENDING_EVENTS" ); - RTEMS.EVENT_RECEIVE( - RTEMS.PENDING_EVENTS, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - TEXT_IO.PUT( "TA2 - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - event_receive - EVENT_19 - NO_WAIT" - ); - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_19, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENTOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_RECEIVE of 10" ); - TEXT_IO.PUT( "TA2 - EVENT_19 received - eventout => "); - UNSIGNED32_IO.PUT( EVENTOUT, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - task_delete - deletes self" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE of TA2" ); - - end TASK_2; - ---PAGE --- --- TA1_SEND_18_TO_SELF_5_SECONDS --- - - procedure TA1_SEND_18_TO_SELF_5_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_18, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 18" ); - - end TA1_SEND_18_TO_SELF_5_SECONDS; - ---PAGE --- --- TA1_SEND_8_TO_SELF_60_SECONDS --- - - procedure TA1_SEND_8_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_8, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 8" ); - - end TA1_SEND_8_TO_SELF_60_SECONDS; - ---PAGE --- --- TA1_SEND_9_TO_SELF_60_SECONDS --- - - procedure TA1_SEND_9_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_9, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 9" ); - - end TA1_SEND_9_TO_SELF_60_SECONDS; - ---PAGE --- --- TA1_SEND_10_TO_SELF --- - - procedure TA1_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 10" ); - - end TA1_SEND_10_TO_SELF; - ---PAGE --- --- TA1_SEND_1_TO_SELF_EVERY_SECOND --- - - procedure TA1_SEND_1_TO_SELF_EVERY_SECOND ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 1" ); - - end TA1_SEND_1_TO_SELF_EVERY_SECOND; - ---PAGE --- --- TA1_SEND_11_TO_SELF --- - - procedure TA1_SEND_11_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 1 ), RTEMS.EVENT_11, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 11" ); - - end TA1_SEND_11_TO_SELF; - ---PAGE --- --- TA2_SEND_10_TO_SELF --- - - procedure TA2_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_SEND( SPTEST.TASK_ID( 2 ), RTEMS.EVENT_10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "EVENT_SEND of 10" ); - - end TA2_SEND_10_TO_SELF; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp11/sptest.ads b/c/src/ada-tests/sptests/sp11/sptest.ads deleted file mode 100644 index c5527218f0..0000000000 --- a/c/src/ada-tests/sptests/sp11/sptest.ads +++ /dev/null @@ -1,178 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.NAME; - --- --- TA1_SEND_18_TO_SELF_5_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 5 seconds --- and to send EVENT_18 to TASK_1. --- - - procedure TA1_SEND_18_TO_SELF_5_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_8_TO_SELF_60_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_8 to TASK_1. --- - - procedure TA1_SEND_8_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_9_TO_SELF_5_SECONDS --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_9 to TASK_1. --- - - procedure TA1_SEND_9_TO_SELF_60_SECONDS ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_10_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 60 seconds --- and to send EVENT_10 to TASK_1. --- - - procedure TA1_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_1_TO_SELF_EVERY_SECOND --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer every second --- and to send EVENT_1 to TASK_1 until the timer is cancelled. --- - - procedure TA1_SEND_1_TO_SELF_EVERY_SECOND ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA1_SEND_11_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer at a --- specific time of day and to send EVENT_11 to TASK_1. --- - - procedure TA1_SEND_11_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TA2_SEND_10_TO_SELF --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired by a timer after 5 seconds --- and to send EVENT_10 to TASK_2. --- - - procedure TA2_SEND_10_TO_SELF ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Event and Timer Managers. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Event and Timer Managers. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp12/config.h b/c/src/ada-tests/sptests/sp12/config.h deleted file mode 100644 index 7feac09c9b..0000000000 --- a/c/src/ada-tests/sptests/sp12/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_SEMAPHORES 10 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp12/sp12.adb b/c/src/ada-tests/sptests/sp12/sp12.adb deleted file mode 100644 index a2edd48d5d..0000000000 --- a/c/src/ada-tests/sptests/sp12/sp12.adb +++ /dev/null @@ -1,58 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP12 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP12 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP12; - diff --git a/c/src/ada-tests/sptests/sp12/sp12.scn b/c/src/ada-tests/sptests/sp12/sp12.scn deleted file mode 100644 index eb0c71f372..0000000000 --- a/c/src/ada-tests/sptests/sp12/sp12.scn +++ /dev/null @@ -1,78 +0,0 @@ -*** TEST 12 *** -INIT - Forward priority queue test -PRI1 - semaphore_obtain - wait forever on SM2 -PRI2 - semaphore_obtain - wait forever on SM2 -PRI3 - semaphore_obtain - wait forever on SM2 -PRI4 - semaphore_obtain - wait forever on SM2 -PRI5 - semaphore_obtain - wait forever on SM2 -INIT - Backward priority queue test -PRI5 - semaphore_obtain - wait forever on SM2 -PRI4 - semaphore_obtain - wait forever on SM2 -PRI3 - semaphore_obtain - wait forever on SM2 -PRI2 - semaphore_obtain - wait forever on SM2 -PRI1 - semaphore_obtain - wait forever on SM2 - -INIT - Binary Semaphore and Priority Inheritance Test -INIT - semaphore_create - allocated binary semaphore -INIT - semaphore_release - allocated binary semaphore -INIT - semaphore_delete - allocated binary semaphore -PRI5 - semaphore_obtain - wait forever on SM2 -PRI5 - task_suspend - until all priority tasks blocked -PDRV - priority of PRI5 is 67 -PRI4 - semaphore_obtain - wait forever on SM2 -PDRV - change priority of PRI5 from 67 to 68 -PDRV - priority of PRI5 is 67 -PRI3 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 67 -PRI2 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 66 -PRI1 - semaphore_obtain - wait forever on SM2 -PDRV - priority of PRI5 is 65 -PDRV - task_resume - PRI5 -PRI5 - task_delete - all tasks waiting on SM2 -PRI5 - semaphore_obtain - nested -PRI5 - semaphore_release - nested -PRI5 - semaphore_release - restore priority -PRI5 - priority of PRI5 is 68 - -TA1 - semaphore_ident - smid => 16#10001# -TA1 - semaphore_obtain - wait forever on SM2 -TA1 - got SM2 -TA1 - semaphore_obtain - wait forever on SM3 -TA1 - got SM3 -TA1 - semaphore_obtain - get SM1 - NO_WAIT -TA1 - got SM1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - semaphore_obtain - wait forever on SM1 -TA3 - semaphore_obtain - wait forever on SM2 - -TA1 - semaphore_release - release SM1 -TA1 - semaphore_obtain - waiting for SM1 with 10 second timeout -TA2 - got SM1 -TA2 - semaphore_release - release SM1 -TA2 - task_set_priority - make self highest priority task -TA2 - semaphore_obtain - wait forever on SM2 -TA1 - got SM1 -TA1 - semaphore_release - release SM2 -TA2 - got SM2 -TA2 - semaphore_release - release SM2 -TA2 - task_delete - delete self -TA1 - task_wake_after - sleep 5 seconds -TA3 - got SM2 -TA3 - semaphore_release - release SM2 -TA3 - semaphore_obtain - wait forever on SM3 - -TA1 - task_delete - delete TA3 -TA1 - task_wake_after - sleep 5 seconds -TA4 - semaphore_obtain - wait forever on SM1 -TA5 - semaphore_obtain - wait forever on SM1 -TA1 - task_delete - delete TA4 -TA1 - semaphore_release - release SM1 -TA1 - task_wake_after - sleep 5 seconds -TA5 - got SM1 -TA5 - semaphore_obtain - wait forever on SM1 -TA1 - semaphore_delete - delete SM1 -TA1 - semaphore_delete - delete SM3 -TA1 - task_delete - delete self -TA5 - SM1 deleted by TA1 -*** END OF TEST 12 *** diff --git a/c/src/ada-tests/sptests/sp12/sptest.adb b/c/src/ada-tests/sptests/sp12/sptest.adb deleted file mode 100644 index e302dacc76..0000000000 --- a/c/src/ada-tests/sptests/sp12/sptest.adb +++ /dev/null @@ -1,812 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 12 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 12 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - SPTEST.PRIORITY_TASK_NAME( 1 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '1' ); - SPTEST.PRIORITY_TASK_NAME( 2 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '2' ); - SPTEST.PRIORITY_TASK_NAME( 3 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '3' ); - SPTEST.PRIORITY_TASK_NAME( 4 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '4' ); - SPTEST.PRIORITY_TASK_NAME( 5 ) := - RTEMS.BUILD_NAME( 'P', 'R', 'I', '5' ); - - SPTEST.SEMAPHORE_NAME( 1 ) := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - SPTEST.SEMAPHORE_NAME( 2 ) := RTEMS.BUILD_NAME( 'S', 'M', '2', ' ' ); - SPTEST.SEMAPHORE_NAME( 3 ) := RTEMS.BUILD_NAME( 'S', 'M', '3', ' ' ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 1 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 3 ), - 1, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM3" ); - - TEXT_IO.PUT_LINE( "INIT - Forward priority queue test" ); - SPTEST.PRIORITY_TEST_DRIVER( 0 ); - - TEXT_IO.PUT_LINE( "INIT - Backward priority queue test" ); - SPTEST.PRIORITY_TEST_DRIVER( 32 ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( - "INIT - Binary Semaphore and Priority Inheritance Test" - ); - - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_create - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.BINARY_SEMAPHORE + RTEMS.PRIORITY + RTEMS.INHERIT_PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_release - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE OF SM2" ); - - TEXT_IO.PUT_LINE( - "INIT - semaphore_delete - allocated binary semaphore" - ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 1, - RTEMS.BINARY_SEMAPHORE + RTEMS.PRIORITY + RTEMS.INHERIT_PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - SPTEST.PRIORITY_TEST_DRIVER( 64 ); - -TEST_SUPPORT.PAUSE; - - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM2" ); - - RTEMS.SEMAPHORE_CREATE( - SPTEST.SEMAPHORE_NAME( 2 ), - 0, - RTEMS.PRIORITY, - RTEMS.NO_PRIORITY, - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM2" ); - - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE OF SM2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PRIORITY_TEST_DRIVER --- - - procedure PRIORITY_TEST_DRIVER ( - PRIORITY_BASE : in RTEMS.UNSIGNED32 - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. 5 - loop - - case INDEX is - when 1 | 2 | 3 => - SPTEST.TASK_PRIORITY( INDEX ) := - PRIORITY_BASE + RTEMS.TASK_PRIORITY( INDEX ); - when others => - SPTEST.TASK_PRIORITY( INDEX ) := PRIORITY_BASE + 3; - end case; - - RTEMS.TASK_CREATE( - SPTEST.PRIORITY_TASK_NAME( INDEX ), - SPTEST.TASK_PRIORITY( INDEX ), - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PRIORITY_TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - end loop; - - if PRIORITY_BASE = 0 then - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.PRIORITY_TASK_ID( INDEX ), - SPTEST.PRIORITY_TASK'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - else - - for INDEX in reverse 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.PRIORITY_TASK_ID( INDEX ), - SPTEST.PRIORITY_TASK'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER LOOP" ); - - if PRIORITY_BASE = 64 then - if INDEX = 4 then - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - PRIORITY_BASE + 4, - PREVIOUS_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PDRV - change priority of PRI5 from " ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY ); - TEXT_IO.PUT( " to " ); - UNSIGNED32_IO.PUT( PRIORITY_BASE + 4 ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PDRV TASK_SET_PRIORITY" - ); - end if; - - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - RTEMS.CURRENT_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PDRV - priority of PRI5 is " ); - UNSIGNED32_IO.PUT( PREVIOUS_PRIORITY ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PDRV TASK_SET_PRIORITY" - ); - end if; - - end loop; - - end if; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER AFTER LOOP" ); - - if PRIORITY_BASE = 0 then - for INDEX in 1 .. 5 - loop - - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SEMAPHORE_RELEASE LOOP" - ); - - end loop; - end if; - - if PRIORITY_BASE = 64 then - - TEXT_IO.PUT_LINE( "PDRV - task_resume - PRI5" ); - RTEMS.TASK_RESUME( SPTEST.PRIORITY_TASK_ID( 5 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_AFTER SO PRI5 can run" - ); - - RTEMS.TASK_DELETE( SPTEST.PRIORITY_TASK_ID( 5 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF PRI5" ); - else - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_DELETE( - SPTEST.PRIORITY_TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - - end loop; - end if; - - - end PRIORITY_TEST_DRIVER; - ---PAGE --- --- PRIORITY_TASK --- - - procedure PRIORITY_TASK ( - ITS_INDEX : in RTEMS.TASK_ARGUMENT - ) is - TIMEOUT : RTEMS.INTERVAL; - ITS_PRIORITY : RTEMS.TASK_PRIORITY; - CURRENT_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - ITS_PRIORITY := SPTEST.TASK_PRIORITY( INTEGER( ITS_INDEX ) ); - - if ITS_PRIORITY < 3 then - TIMEOUT := 5 * TEST_SUPPORT.TICKS_PER_SECOND; - else - TIMEOUT := RTEMS.NO_TIMEOUT; - end if; - - TEST_SUPPORT.PUT_NAME( PRIORITY_TASK_NAME( INTEGER(ITS_INDEX) ), FALSE ); - TEXT_IO.PUT_LINE( " - semaphore_obtain - wait forever on SM2" ); - - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN OF SM2" ); - - if ITS_PRIORITY < 64 then - TEXT_IO.PUT( "PRI" ); - UNSIGNED32_IO.PUT( ITS_INDEX ); - TEXT_IO.PUT( " - WHY AM I HERE? (priority = " ); - UNSIGNED32_IO.PUT( ITS_PRIORITY ); - TEXT_IO.PUT_LINE( " )" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - if ITS_INDEX = 5 then - TEXT_IO.PUT_LINE( - "PRI5 - task_suspend - until all priority tasks blocked" - ); - end if; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - TEXT_IO.PUT_LINE( "PRI5 - task_delete - all tasks waiting on SM2" ); - for INDEX in 1 .. 4 - loop - - RTEMS.TASK_DELETE( SPTEST.PRIORITY_TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - - end loop; - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_obtain - nested" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN NESTED" ); - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_release - nested" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE NESTED" ); - - TEXT_IO.PUT_LINE( "PRI5 - semaphore_release - restore priority" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE" ); - - RTEMS.TASK_SET_PRIORITY( - SPTEST.PRIORITY_TASK_ID( 5 ), - RTEMS.CURRENT_PRIORITY, - CURRENT_PRIORITY, - STATUS - ); - TEXT_IO.PUT( "PRI5 - priority of PRI5 is " ); - UNSIGNED32_IO.PUT( CURRENT_PRIORITY ); - TEXT_IO.NEW_LINE; - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "PRI5 TASK_SET_PRIORITY CURRENT" - ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end PRIORITY_TASK; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SMID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_IDENT( - SPTEST.SEMAPHORE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - SMID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_IDENT OF SM1" ); - TEXT_IO.PUT( "TA1 - semaphore_ident - smid => " ); - UNSIGNED32_IO.PUT( SMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - wait forever on SM3" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 3 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_obtain - get SM1 - NO_WAIT" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( - "TA1 - semaphore_obtain - waiting for SM1 with 10 second timeout" - ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA3" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 5 ), - SPTEST.TASK_5'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA4" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 4 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_delete - delete SM1" ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM1" ); - - TEXT_IO.PUT_LINE( "TA1 - semaphore_delete - delete SM3" ); - RTEMS.SEMAPHORE_DELETE( SPTEST.SEMAPHORE_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_DELETE OF SM3" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA1" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - begin - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA2 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_release - release SM1" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM1" ); - - TEXT_IO.PUT_LINE( - "TA2 - task_set_priority - make self highest priority task" - ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - 3, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY ON TA2" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA2 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA3 - semaphore_obtain - wait forever on SM2" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 2 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM2" ); - TEXT_IO.PUT_LINE( "TA3 - got SM2" ); - - TEXT_IO.PUT_LINE( "TA3 - semaphore_release - release SM2" ); - RTEMS.SEMAPHORE_RELEASE( - SPTEST.SEMAPHORE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_RELEASE ON SM2" ); - - TEXT_IO.PUT_LINE( "TA3 - semaphore_obtain - wait forever on SM3" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 3 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM3" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA4 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - end TASK_4; - ---PAGE --- --- TASK_5 --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA5 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_OBTAIN ON SM1" ); - - TEXT_IO.PUT_LINE( "TA5 - got SM1" ); - - TEXT_IO.PUT_LINE( "TA5 - semaphore_obtain - wait forever on SM1" ); - RTEMS.SEMAPHORE_OBTAIN( - SPTEST.SEMAPHORE_ID( 1 ), - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.OBJECT_WAS_DELETED, - "SEMAPHORE_OBTAIN ON SM1" - ); - TEXT_IO.PUT_LINE( "TA5 - SM1 deleted by TA1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 12 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_5; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp12/sptest.ads b/c/src/ada-tests/sptests/sp12/sptest.ads deleted file mode 100644 index 8d75953069..0000000000 --- a/c/src/ada-tests/sptests/sp12/sptest.ads +++ /dev/null @@ -1,142 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME; - - PRIORITY_TASK_ID : array ( 1 .. 5 ) of RTEMS.ID; - PRIORITY_TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME; - TASK_PRIORITY : array ( 1 .. 5 ) of RTEMS.TASK_PRIORITY; - - SEMAPHORE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - SEMAPHORE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PRIORITY_TEST_DRIVER --- --- DESCRIPTION: --- --- This subprogram creates and starts RTEMS tasks of different priority --- so that those tasks may exercise the priority blocking algorithm. --- - - procedure PRIORITY_TEST_DRIVER ( - PRIORITY_BASE : in RTEMS.UNSIGNED32 - ); - --- --- PRIORITY_TASK --- --- DESCRIPTION: --- --- Copies of this RTEMS are executed at different priorities and each --- instantiation blocks on a semaphore with priority blocking. This --- is done to exercise the priority blocking algorithms. --- - - procedure PRIORITY_TASK ( - ITS_INDEX : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_5 --- --- DESCRIPTION: --- --- This RTEMS task tests the Semaphore Manager. --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp13/config.h b/c/src/ada-tests/sptests/sp13/config.h deleted file mode 100644 index 7a1e3fa026..0000000000 --- a/c/src/ada-tests/sptests/sp13/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 10 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp13/sp13.adb b/c/src/ada-tests/sptests/sp13/sp13.adb deleted file mode 100644 index 3d19379ccd..0000000000 --- a/c/src/ada-tests/sptests/sp13/sp13.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP13 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP13 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP13; - diff --git a/c/src/ada-tests/sptests/sp13/sp13.scn b/c/src/ada-tests/sptests/sp13/sp13.scn deleted file mode 100644 index ced19af55b..0000000000 --- a/c/src/ada-tests/sptests/sp13/sp13.scn +++ /dev/null @@ -1,66 +0,0 @@ -*** TEST 13 *** -TA1 - message_queue_ident - qid => 16#10001# -TA1 - message_queue_send - BUFFER 1 TO Q 1 -TA1 - message_queue_send - BUFFER 2 TO Q 1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - message_queue_receive - receive from queue 1 - NO_WAIT -TA2 - buffer received: BUFFER 1 TO Q 1 -TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER -TA2 - buffer received: BUFFER 2 TO Q 1 -TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER -TA3 - message_queue_receive - receive from queue 2 - WAIT FOREVER -TA1 - message_queue_send - BUFFER 3 TO Q 1 -TA1 - task_wake_after - sleep 5 seconds -TA2 - buffer received: BUFFER 3 TO Q 1 -TA2 - task_set_priority - make self highest priority task -TA2 - message_queue_receive - receive from queue 2 - WAIT FOREVER - -TA1 - message_queue_send - BUFFER 1 TO Q 2 -TA2 - buffer received: BUFFER 1 TO Q 2 -TA2 - message_queue_send - BUFFER 2 TO Q 2 -TA2 - message_queue_receive - receive from queue 1 - 10 second timeout -TA1 - message_queue_receive - receive from queue 1 - 10 second timeout -TA3 - buffer received: BUFFER 2 TO Q 2 -TA3 - message_queue_broadcast - BUFFER 3 TO Q 1 -TA2 - buffer received: BUFFER 3 TO Q 1 -TA2 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA3 - number of tasks awakened = 2 -TA3 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 1 -TA1 - task_delete - delete TA2 -TA1 - message_queue_send - BUFFER 1 TO Q 3 -TA1 - task_wake_after - sleep 5 seconds -TA3 - buffer received: BUFFER 1 TO Q 3 -TA3 - task_delete - delete self - -TA1 - message_queue_send - BUFFER 2 TO Q 3 -TA1 - message_queue_send - BUFFER 3 TO Q 3 -TA1 - message_queue_send - BUFFER 4 TO Q 3 -TA1 - message_queue_urgent - BUFFER 5 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 5 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 2 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 3 -TA1 - message_queue_receive - receive from queue 3 - WAIT FOREVER -TA1 - buffer received: BUFFER 4 TO Q 3 -TA1 - message_queue_urgent - BUFFER 3 TO Q 2 -TA1 - message_queue_receive - receive from queue 2 - WAIT FOREVER -TA1 - buffer received: BUFFER 3 TO Q 2 - -TA1 - message_queue_delete - delete queue 1 -TA1 - message_queue_urgent - BUFFER 3 TO Q 2 -TA1 - message_queue_delete - delete queue 2 -TA1 - message_queue_flush - empty Q 3 -TA1 - 0 messages were flushed from Q 3 -TA1 - message_queue_send - BUFFER 1 TO Q 3 -TA1 - message_queue_send - BUFFER 2 TO Q 3 -TA1 - message_queue_send - BUFFER 3 TO Q 3 -TA1 - message_queue_flush - Q 3 -TA1 - 3 messages were flushed from Q 3 -TA1 - message_queue_send - until all message buffers consumed -TA1 - message_queue_send - all message buffers consumed -TA1 - message_queue_flush - Q 3 -TA1 - 100 messages were flushed from Q 3 -*** END OF TEST 13 *** diff --git a/c/src/ada-tests/sptests/sp13/sptest.adb b/c/src/ada-tests/sptests/sp13/sptest.adb deleted file mode 100644 index 9190f77e83..0000000000 --- a/c/src/ada-tests/sptests/sp13/sptest.adb +++ /dev/null @@ -1,723 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 13 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 13 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - SPTEST.QUEUE_NAME( 1 ) := RTEMS.BUILD_NAME( 'Q', '1', ' ', ' ' ); - SPTEST.QUEUE_NAME( 2 ) := RTEMS.BUILD_NAME( 'Q', '2', ' ', ' ' ); - SPTEST.QUEUE_NAME( 3 ) := RTEMS.BUILD_NAME( 'Q', '3', ' ', ' ' ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 1 ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q1" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 2 ), - 10, - 16, - RTEMS.PRIORITY, - SPTEST.QUEUE_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q2" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - SPTEST.QUEUE_NAME( 3 ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.QUEUE_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "QUEUE_CREATE OF Q3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- FILL_BUFFER --- - --- --- Depends on tricks to make the copy work. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out SPTEST.BUFFER - ) is - begin - - BUFFER.FIELD1 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST ), - SOURCE( SOURCE'FIRST + 1 ), - SOURCE( SOURCE'FIRST + 2 ), - SOURCE( SOURCE'FIRST + 3 ) - ); - - BUFFER.FIELD2 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 4 ), - SOURCE( SOURCE'FIRST + 5 ), - SOURCE( SOURCE'FIRST + 6 ), - SOURCE( SOURCE'FIRST + 7 ) - ); - - BUFFER.FIELD3 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 8 ), - SOURCE( SOURCE'FIRST + 9 ), - SOURCE( SOURCE'FIRST + 10 ), - SOURCE( SOURCE'FIRST + 11 ) - ); - - BUFFER.FIELD4 := RTEMS.BUILD_NAME( - SOURCE( SOURCE'FIRST + 12 ), - SOURCE( SOURCE'FIRST + 13 ), - SOURCE( SOURCE'FIRST + 14 ), - SOURCE( SOURCE'FIRST + 15 ) - ); - - end FILL_BUFFER; - ---PAGE --- --- PUT_BUFFER --- - --- --- Depends on tricks to make the output work. --- - - procedure PUT_BUFFER ( - BUFFER : in SPTEST.BUFFER - ) is - begin - - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD1, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD2, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD3, FALSE ); - TEST_SUPPORT.PUT_NAME( BUFFER.FIELD4, FALSE ); - - end PUT_BUFFER; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - QID : RTEMS.ID; - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - TIMES : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_IDENT( - SPTEST.QUEUE_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - QID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_IDENT" ); - TEXT_IO.PUT( "TA1 - message_queue_ident - qid => " ); - UNSIGNED32_IO.PUT( QID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 1 - " - ); - TEXT_IO.PUT_LINE( "10 second timeout" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA2" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 5 seconds" ); - RTEMS.TASK_WAKE_AFTER( 5 * TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 4 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 4 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 5 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 5 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - for TIMES in 1 .. 4 - loop - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 3 - " - ); - TEXT_IO.PUT_LINE( "WAIT FOREVER" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - end loop; - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 3 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT( - "TA1 - message_queue_receive - receive from queue 2 - " - ); - TEXT_IO.PUT_LINE( "WAIT FOREVER" ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA1 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - message_queue_delete - delete queue 1" ); - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_urgent - BUFFER 3 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_URGENT( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_URGENT" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_delete - delete queue 2" ); - RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_DELETE" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - empty Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - SPTEST.FILL_BUFFER( "BUFFER 1 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 1 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 2 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 3 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA1 - message_queue_send - BUFFER 3 TO Q 3" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - until all message buffers consumed" - ); - loop - - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - 16, - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TOO_MANY ); - - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - end loop; - - TEXT_IO.PUT_LINE( - "TA1 - message_queue_send - all message buffers consumed" - ); - - TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" ); - RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_FLUSH" ); - TEXT_IO.PUT( "TA1 - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages were flushed from Q 3" ); - - TEXT_IO.PUT( "TA1 - ERROR - " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.PUT_LINE( " messages flushed" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - NO_WAIT" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - task_set_priority - make self highest priority task" - ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - 3, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 2 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 2 TO Q 2 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA2 - message_queue_send - BUFFER 2 TO Q 2" ); - RTEMS.MESSAGE_QUEUE_SEND( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 1 - 10 second timeout" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA2 - message_queue_receive - receive from queue 3 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA2 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : SPTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - receive from queue 2 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 2 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA3 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - SPTEST.FILL_BUFFER( "BUFFER 3 TO Q 1 ", BUFFER ); - TEXT_IO.PUT_LINE( "TA3 - message_queue_broadcast - BUFFER 3 TO Q 1" ); - RTEMS.MESSAGE_QUEUE_BROADCAST( - SPTEST.QUEUE_ID( 1 ), - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_BROADCAST" ); - TEXT_IO.PUT( "TA3 - number of tasks awakened = " ); - UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( - "TA3 - message_queue_receive - receive from queue 3 - WAIT FOREVER" - ); - RTEMS.MESSAGE_QUEUE_RECEIVE( - SPTEST.QUEUE_ID( 3 ), - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); - TEXT_IO.PUT( "TA3 - buffer received: " ); - SPTEST.PUT_BUFFER( BUFFER ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA3 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp13/sptest.ads b/c/src/ada-tests/sptests/sp13/sptest.ads deleted file mode 100644 index cf53004c3d..0000000000 --- a/c/src/ada-tests/sptests/sp13/sptest.ads +++ /dev/null @@ -1,132 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.NAME; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.NAME; - FIELD3 : RTEMS.NAME; - FIELD4 : RTEMS.NAME; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS message --- queues created by this test. --- - - QUEUE_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - QUEUE_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FILL_BUFFER --- --- DESCRIPTION: --- --- This subprogram takes the SOURCE input string and places --- up to the first sixteen characters of that string into --- the message BUFFER. --- - - procedure FILL_BUFFER ( - SOURCE : in STRING; - BUFFER : out SPTEST.BUFFER - ); - --- --- PUT_BUFFER --- --- DESCRIPTION: --- --- This subprogram prints the specified message BUFFER. --- - - procedure PUT_BUFFER ( - BUFFER : in SPTEST.BUFFER - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Message Queue Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp14/config.h b/c/src/ada-tests/sptests/sp14/config.h deleted file mode 100644 index ed43b85e09..0000000000 --- a/c/src/ada-tests/sptests/sp14/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp14/sp14.adb b/c/src/ada-tests/sptests/sp14/sp14.adb deleted file mode 100644 index 5f6d0819c0..0000000000 --- a/c/src/ada-tests/sptests/sp14/sp14.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP14 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP14 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP14; - diff --git a/c/src/ada-tests/sptests/sp14/sp14.scn b/c/src/ada-tests/sptests/sp14/sp14.scn deleted file mode 100644 index 5f2cfd70c7..0000000000 --- a/c/src/ada-tests/sptests/sp14/sp14.scn +++ /dev/null @@ -1,33 +0,0 @@ -*** TEST 14 *** -TA1 - signal_catch - INTERRUPT_LEVEL( 3 ) -TA1 - signal_send - SIGNAL_16 to self -ASR - ENTRY - signal => 16#10000# -ASR - EXIT - signal => 16#10000# -TA1 - signal_send - SIGNAL_0 to self -ASR - ENTRY - signal => 16#1# -ASR - task_wake_after - yield processor -TA2 - signal_send - SIGNAL_17 to TA1 -TA2 - task_wake_after - yield processor -ASR - ENTRY - signal => 16#20000# -ASR - EXIT - signal => 16#20000# -ASR - EXIT - signal => 16#1# -TA1 - signal_catch - NO_ASR - -TA1 - signal_send - SIGNAL_1 to self -ASR - ENTRY - signal => 16#2# -ASR - task_wake_after - yield processor -TA2 - signal_send - SIGNAL_18 and SIGNAL_19 to TA1 -TA2 - task_wake_after - yield processor -ASR - EXIT - signal => 16#2# -ASR - ENTRY - signal => 16#C0000# -ASR - EXIT - signal => 16#C0000# -TA1 - task_mode - disable ASRs -TA1 - sending signal to SELF from timer -TA1 - waiting for signal to arrive -TA1 - timer routine got the correct arguments -TA1 - task_mode - enable ASRs -ASR - ENTRY - signal => 16#8# -ASR - EXIT - signal => 16#8# -TA1 - signal_catch - ASR ADDRESS of NULL -TA1 - task_delete - delete self -*** END OF TEST 14 *** diff --git a/c/src/ada-tests/sptests/sp14/sptest.adb b/c/src/ada-tests/sptests/sp14/sptest.adb deleted file mode 100644 index d52d0dff15..0000000000 --- a/c/src/ada-tests/sptests/sp14/sptest.adb +++ /dev/null @@ -1,330 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 14 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with ADDRESS_IO; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; -with INTERFACES; use INTERFACES; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 14 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - RTEMS.MINIMUM_STACK_SIZE * 2, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- SIGNAL_3_TO_TASK_1 --- - - procedure SIGNAL_3_TO_TASK_1 ( - ID : in RTEMS.ID; - POINTER : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SIGNAL_SEND( SPTEST.TASK_ID( 1 ), RTEMS.SIGNAL_3, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND of 3" ); - - SPTEST.TIMER_GOT_THIS_ID := ID; - SPTEST.TIMER_GOT_THIS_POINTER := POINTER; - - SPTEST.SIGNAL_SENT := TRUE; - - end SIGNAL_3_TO_TASK_1; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - INTERRUPT_LEVEL( 3 )" ); - RTEMS.SIGNAL_CATCH( - SPTEST.PROCESS_ASR'ACCESS, - RTEMS.INTERRUPT_LEVEL( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH INTERRUPT(3)" ); - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_16 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_16, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_16 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_0 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_0 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - NO_ASR" ); - RTEMS.SIGNAL_CATCH(SPTEST.PROCESS_ASR'ACCESS, RTEMS.NO_ASR, STATUS); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH - NO_ASR" ); - - TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT_LINE( "TA1 - signal_send - SIGNAL_1 to self" ); - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_1 to SELF" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_mode - disable ASRs" ); - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - SPTEST.TIMER_GOT_THIS_ID := 0; - SPTEST.TIMER_GOT_THIS_POINTER := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT_LINE( "TA1 - sending signal to SELF from timer" ); - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( 1 ), - TEST_SUPPORT.TICKS_PER_SECOND / 2, - SPTEST.SIGNAL_3_TO_TASK_1'ACCESS, - SPTEST.TASK_1'ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - waiting for signal to arrive" ); - - SPTEST.SIGNAL_SENT := FALSE; - SPTEST.ASR_FIRED := FALSE; - - loop - exit when SPTEST.SIGNAL_SENT = TRUE; - end loop; - - if SPTEST.TIMER_GOT_THIS_ID = SPTEST.TIMER_ID( 1 ) and then - RTEMS.ARE_EQUAL(SPTEST.TIMER_GOT_THIS_POINTER, - SPTEST.TASK_1'ADDRESS) then - - TEXT_IO.PUT_LINE( "TA1 - timer routine got the correct arguments" ); - - else - - TEXT_IO.PUT( "TA1 - timer got (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_GOT_THIS_ID ); - TEXT_IO.PUT( "," ); - ADDRESS_IO.PUT( SPTEST.TIMER_GOT_THIS_POINTER ); - TEXT_IO.PUT( ") instead of (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ) ); - TEXT_IO.PUT( "," ); - ADDRESS_IO.PUT( SPTEST.TASK_1'ADDRESS ); - TEXT_IO.PUT_LINE( ")!!!!" ); - - end if; - - TEXT_IO.PUT_LINE( "TA1 - task_mode - enable ASRs" ); - RTEMS.TASK_MODE( - RTEMS.ASR, - RTEMS.ASR_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - TEXT_IO.PUT_LINE( "TA1 - signal_catch - ASR ADDRESS of NULL" ); - RTEMS.SIGNAL_CATCH( NULL, RTEMS.DEFAULT_MODES, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_CATCH - NULL ADDRESS" - ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA2 - signal_send - SIGNAL_17 to TA1" ); - RTEMS.SIGNAL_SEND( SPTEST.TASK_ID( 1 ), RTEMS.SIGNAL_17, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_17 to TA1" - ); - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( - "TA2 - signal_send - SIGNAL_18 and SIGNAL_19 to TA1" - ); - RTEMS.SIGNAL_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.SIGNAL_18 + RTEMS.SIGNAL_19, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "SIGNAL_SEND - SIGNAL_18 and SIGNAL_19 to TA1" - ); - - TEXT_IO.PUT_LINE( "TA2 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 14 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_2; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - THE_SIGNAL_SET : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "ASR - ENTRY - signal => " ); - UNSIGNED32_IO.PUT( THE_SIGNAL_SET, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - if THE_SIGNAL_SET = RTEMS.SIGNAL_16 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_17 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_18 + RTEMS.SIGNAL_19 then - NULL; - - elsif THE_SIGNAL_SET = RTEMS.SIGNAL_0 or else - THE_SIGNAL_SET = RTEMS.SIGNAL_1 then - TEXT_IO.PUT_LINE( "ASR - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "TASK_WAKE_AFTER YIELD" - ); - - elsif THE_SIGNAL_SET = RTEMS.SIGNAL_3 then - - SPTEST.ASR_FIRED := TRUE; - - end if; - - TEXT_IO.PUT( "ASR - EXIT - signal => " ); - UNSIGNED32_IO.PUT( THE_SIGNAL_SET, BASE => 16, WIDTH => 8 ); - TEXT_IO.NEW_LINE; - - end PROCESS_ASR; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp14/sptest.ads b/c/src/ada-tests/sptests/sp14/sptest.ads deleted file mode 100644 index d44d9d1b9b..0000000000 --- a/c/src/ada-tests/sptests/sp14/sptest.ads +++ /dev/null @@ -1,131 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- SIGNAL_SENT is set to TRUE to indicate that a signal set has --- been sent from an ISR to the executing task. --- - - SIGNAL_SENT : BOOLEAN; - pragma volatile( SIGNAL_SENT ); - --- --- These hold the arguments passed to the timer service routine. --- - - TIMER_GOT_THIS_ID : RTEMS.ID; - pragma volatile( TIMER_GOT_THIS_ID ); - - TIMER_GOT_THIS_POINTER : RTEMS.ADDRESS; - pragma volatile( TIMER_GOT_THIS_POINTER ); - --- --- ASR_FIRED is set to TRUE to indicate that the ASR has executed --- and was passed the correct signal set. --- - - ASR_FIRED : BOOLEAN; - pragma volatile( ASR_FIRED ); - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- SIGNAL_3_TO_TASK_1 --- --- DESCRIPTION: --- --- This subprogram sends signal 3 to TASK_1. --- - - procedure SIGNAL_3_TO_TASK_1 ( - ID : in RTEMS.ID; - POINTER : in RTEMS.ADDRESS - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is an ASR for TASK_1. --- - - procedure PROCESS_ASR ( - THE_SIGNAL_SET : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Signal Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Signal Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp15/config.h b/c/src/ada-tests/sptests/sp15/config.h deleted file mode 100644 index 8325035a0e..0000000000 --- a/c/src/ada-tests/sptests/sp15/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PARTITIONS 2 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp15/sp15.adb b/c/src/ada-tests/sptests/sp15/sp15.adb deleted file mode 100644 index a848d60d0b..0000000000 --- a/c/src/ada-tests/sptests/sp15/sp15.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP15 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP15 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP15; - diff --git a/c/src/ada-tests/sptests/sp15/sp15.scn b/c/src/ada-tests/sptests/sp15/sp15.scn deleted file mode 100644 index a0aa0e8149..0000000000 --- a/c/src/ada-tests/sptests/sp15/sp15.scn +++ /dev/null @@ -1,16 +0,0 @@ -*** TEST 15 *** -INIT - partition_create - partition 1 -INIT - partition_create - partition 2 -TA1 - partition_ident - partition 1 id = 16#10001# -TA1 - partition_ident - partition 2 id = 16#10002# -TA1 - partition_get_buffer - get buffer 1 from partition 1 - 16#0# -TA1 - partition_get_buffer - get buffer 2 from partition 1 - 16#200# -TA1 - partition_get_buffer - get buffer 1 from partition 2 - 16#0# -TA1 - partition_get_buffer - get buffer 2 from partition 2 - 16#80# -TA1 - partition_return_buffer - return buffer 1 to partition 1 - 16#0# -TA1 - partition_return_buffer - return buffer 2 to partition 1 - 16#200# -TA1 - partition_return_buffer - return buffer 1 to partition 2 - 16#0# -TA1 - partition_return_buffer - return buffer 2 to partition 2 - 16#80# -TA1 - partition_delete - delete partition 1 -TA1 - partition_delete - delete partition 2 -*** END OF TEST 15 *** diff --git a/c/src/ada-tests/sptests/sp15/sptest.adb b/c/src/ada-tests/sptests/sp15/sptest.adb deleted file mode 100644 index b4835c5210..0000000000 --- a/c/src/ada-tests/sptests/sp15/sptest.adb +++ /dev/null @@ -1,284 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 15 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 15 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - SPTEST.PARTITION_NAME( 1 ) := RTEMS.BUILD_NAME( 'P', 'T', '1', ' ' ); - SPTEST.PARTITION_NAME( 2 ) := RTEMS.BUILD_NAME( 'P', 'T', '2', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 4, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - TEXT_IO.PUT_LINE( "INIT - partition_create - partition 1" ); - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 1 ), - AREA_1'ADDRESS, - 4096, - 512, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE OF PT1" ); - - TEXT_IO.PUT_LINE( "INIT - partition_create - partition 2" ); - RTEMS.PARTITION_CREATE( - SPTEST.PARTITION_NAME( 2 ), - AREA_2'ADDRESS, - 274, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.PARTITION_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE OF PT2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_2 --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_2'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_2; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PTID_1 : RTEMS.ID; - PTID_2 : RTEMS.ID; - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - BUFFER_ADDRESS_4 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA1 - partition_ident - partition 1 id = " ); - RTEMS.PARTITION_IDENT( - SPTEST.PARTITION_NAME( 1 ), - RTEMS.SEARCH_ALL_NODES, - PTID_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_IDENT OF PT1" ); - UNSIGNED32_IO.PUT( PTID_1, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - partition_ident - partition 2 id = " ); - RTEMS.PARTITION_IDENT( - SPTEST.PARTITION_NAME( 2 ), - RTEMS.SEARCH_ALL_NODES, - PTID_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_IDENT OF PT2" ); - UNSIGNED32_IO.PUT( PTID_2, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 1 from partition 1 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 2 from partition 1 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 1 from partition 2 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_get_buffer - get buffer 2 from partition 2 - " - ); - RTEMS.PARTITION_GET_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 1 to partition 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 2 to partition 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( BUFFER_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 1 ), - BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 1 to partition 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT( - "TA1 - partition_return_buffer - return buffer 2 to partition 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( BUFFER_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - RTEMS.PARTITION_RETURN_BUFFER( - SPTEST.PARTITION_ID( 2 ), - BUFFER_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - TEXT_IO.PUT_LINE( "TA1 - partition_delete - delete partition 1" ); - RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE OF SELF" ); - - TEXT_IO.PUT_LINE( "TA1 - partition_delete - delete partition 2" ); - RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_DELETE OF SELF" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 15 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp15/sptest.ads b/c/src/ada-tests/sptests/sp15/sptest.ads deleted file mode 100644 index ea22067451..0000000000 --- a/c/src/ada-tests/sptests/sp15/sptest.ads +++ /dev/null @@ -1,118 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 15 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS partitions created --- by this test. --- - - PARTITION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - PARTITION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays define the memory areas used for the partitions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 273 ) of RTEMS.UNSIGNED8; - for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subpgram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_2 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_2. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Partition Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp16/config.h b/c/src/ada-tests/sptests/sp16/config.h deleted file mode 100644 index af594bd808..0000000000 --- a/c/src/ada-tests/sptests/sp16/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_REGIONS 4 -#define CONFIGURE_TICKS_PER_TIMESLICE 100 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp16/sp16.adb b/c/src/ada-tests/sptests/sp16/sp16.adb deleted file mode 100644 index cbdc6008ac..0000000000 --- a/c/src/ada-tests/sptests/sp16/sp16.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP16 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP16 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP16; - diff --git a/c/src/ada-tests/sptests/sp16/sp16.scn b/c/src/ada-tests/sptests/sp16/sp16.scn deleted file mode 100644 index 4706729d3d..0000000000 --- a/c/src/ada-tests/sptests/sp16/sp16.scn +++ /dev/null @@ -1,48 +0,0 @@ -*** TEST 16 *** -TA1 - region_ident - rnid => 16#10001# -TA1 - region_get_segment - wait on 100 byte segment from region 2 -TA1 - got segment from region 2 - 16#F78# -TA1 - region_get_segment - wait on 3K segment from region 3 -TA1 - got segment from region 3 - 16#3F8# -TA1 - region_get_segment - get 3080 byte segment from region 1 - NO_WAIT -TA1 - got segment from region 1 - 16#378# -TA1 - task_wake_after - yield processor -TA2 - region_get_segment - wait on 2K segment from region 1 -TA3 - region_get_segment - wait on 3968 byte segment from region 2 - -TA1 - region_return_segment - return segment to region 1 - 16#378# -TA1 - region_get_segment - wait 10 seconds for 3K segment from region 1 -TA2 - got segment from region 1 - 16#7F8# -TA2 - region_return_segment - return segment to region 1 - 16#7F8# -TA2 - task_set_priority - make self highest priority task -TA2 - region_get_segment - wait on 3968 byte segment from region 2 -TA1 - got segment from region 1 - 16#3F8# -TA1 - region_return_segment - return segment to region 2 - 16#F78# -TA2 - got segment from region 2 - 16#8# -TA2 - region_return_segment - return segment to region 2 - 16#8# -TA2 - task_delete - delete self -TA1 - task_wake_after - yield processor -TA3 - got segment from region 2 - 16#8# -TA3 - region_get_segment - wait on 2K segment from region 3 -TA1 - task_delete - delete TA3 - -TA1 - task_wake_after - yield processor -TA4 - region_get_segment - wait on 1.5K segment from region 1 -TA5 - region_get_segment - wait on 1.5K segment from region 1 -TA1 - region_return_segment - return segment to region 1 - 16#3F8# -TA1 - task_wake_after - yield processor -TA4 - got and returned 16#9F8# -TA5 - got and returned 16#3F0# -TA1 - region_get_segment - wait 10 seconds for 3K segment from region 1 -TA1 - got segment from region 1 - 16#3F8# -TA1 - task_wake_after - sleep 1 second -TA4 - region_get_segment - wait on 3K segment from region 1 -TA5 - region_get_segment - wait on 3K segment from region 1 -TA1 - task_delete - delete TA4 -TA1 - region_return_segment - return segment to region 1 - 16#3F8# -TA1 - task_wake_after - yield processor -TA5 - got segment from region 1 - 16#3F8# -TA5 - region_return_segment - return segment to region 1 - 16#3F8# -TA5 - task_delete - delete self -TA1 - region_delete - delete region 1 -*** END OF TEST 16 *** diff --git a/c/src/ada-tests/sptests/sp16/sptest.adb b/c/src/ada-tests/sptests/sp16/sptest.adb deleted file mode 100644 index cfec98d82c..0000000000 --- a/c/src/ada-tests/sptests/sp16/sptest.adb +++ /dev/null @@ -1,686 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 16 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 16 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 3 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA3" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 3 ), - SPTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA3" ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - SPTEST.REGION_NAME( 2 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - SPTEST.REGION_NAME( 3 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.AREA_1'ADDRESS, - 4096, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN1" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 2 ), - SPTEST.AREA_2'ADDRESS, - 4096, - 128, - RTEMS.PRIORITY, - SPTEST.REGION_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN2" ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 3 ), - SPTEST.AREA_3'ADDRESS, - 4096, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN3" ); - - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_2 --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_2'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_2; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_3 --- - - procedure PUT_ADDRESS_FROM_AREA_3 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_3'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_3; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RNID : RTEMS.ID; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_4 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_IDENT( SPTEST.REGION_NAME( 1 ), RNID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_IDENT OF RN1" ); - TEXT_IO.PUT( "TA1 - region_ident - rnid => " ); - UNSIGNED32_IO.PUT( RNID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "100 byte segment from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 100, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "3K segment from region 3" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 3 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 3 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_3( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - get 3080 byte segment " ); - TEXT_IO.PUT_LINE( "from region 1 - NO_WAIT" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3080, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait 10 seconds for 3K " ); - TEXT_IO.PUT_LINE( "segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 2 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA3" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA3" ); - -TEST_SUPPORT.PAUSE; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 4 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 4 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA4" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 5 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 5 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA5" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 4 ), - SPTEST.TASK_4'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 5 ), - SPTEST.TASK_5'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA5" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA1 - region_get_segment - wait 10 seconds for 3K " ); - TEXT_IO.PUT_LINE( "segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - 10 * TEST_SUPPORT.TICKS_PER_SECOND, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - sleep 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_delete - delete TA4" ); - RTEMS.TASK_DELETE( SPTEST.TASK_ID( 4 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA4" ); - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yield processor" ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - region_delete - delete region 1" ); - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_DELETE OF RN1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 16 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA2 - region_get_segment - wait on 2K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA2 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA2 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA2 - task_set_priority - make self " ); - TEXT_IO.PUT_LINE( "highest priority task" ); - RTEMS.TASK_SET_PRIORITY( - RTEMS.SELF, - SPTEST.BASE_PRIORITY - 1, - PREVIOUS_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TEXT_IO.PUT( - "TA2 - region_get_segment - wait on 3968 byte segment " - ); - TEXT_IO.PUT_LINE( "from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 3968, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA2 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( - "TA2 - region_return_segment - return segment to region 2 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_2 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 2 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA2 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA2" ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA3 - region_get_segment - wait on 3968 byte segment " ); - TEXT_IO.PUT_LINE( "from region 2" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 2 ), - 3968, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA3 - got segment from region 2 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_2( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA3 - region_get_segment - wait on 2K segment " ); - TEXT_IO.PUT_LINE( "from region 3" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 3 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - end TASK_3; - ---PAGE --- --- TASK_4 --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA4 - region_get_segment - wait on 1.5K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1536, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( "TA4 - got and returned " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA4 - region_get_segment - wait on 3K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - end TASK_4; - ---PAGE --- --- TASK_5 --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT( "TA5 - region_get_segment - wait on 1.5K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1536, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( "TA5 - got and returned " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TEXT_IO.PUT( "TA5 - region_get_segment - wait on 3K segment " ); - TEXT_IO.PUT_LINE( "from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 3072, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA5 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.PUT( - "TA5 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA5 - task_delete - delete self" ); - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF TA5" ); - - end TASK_5; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp16/sptest.ads b/c/src/ada-tests/sptests/sp16/sptest.ads deleted file mode 100644 index a9a8df0881..0000000000 --- a/c/src/ada-tests/sptests/sp16/sptest.ads +++ /dev/null @@ -1,195 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 16 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 5 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following constant defines the priority of most of the --- RTEMS tasks in this test. This allows one of the tasks to --- easily set itself to a higher priority than the rest. --- - - BASE_PRIORITY : constant RTEMS.TASK_PRIORITY := 140; - --- --- These arrays define the memory areas used for the regions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_2 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_2'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - - AREA_3 : array ( RTEMS.UNSIGNED32 range 0 .. 4095 ) of RTEMS.UNSIGNED8; - for AREA_3'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_2 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_2. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_2 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_2 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- PUT_ADDRESS_FROM_AREA_3 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_3. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_3 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_3 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_4 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_4 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_5 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp17/config.h b/c/src/ada-tests/sptests/sp17/config.h deleted file mode 100644 index 1e70e8d7b2..0000000000 --- a/c/src/ada-tests/sptests/sp17/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(25) -#define CONFIGURE_TICKS_PER_TIMESLICE 1000 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp17/sp17.adb b/c/src/ada-tests/sptests/sp17/sp17.adb deleted file mode 100644 index 1a0a317af7..0000000000 --- a/c/src/ada-tests/sptests/sp17/sp17.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP17 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP17 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP17; - diff --git a/c/src/ada-tests/sptests/sp17/sp17.scn b/c/src/ada-tests/sptests/sp17/sp17.scn deleted file mode 100644 index 887284d877..0000000000 --- a/c/src/ada-tests/sptests/sp17/sp17.scn +++ /dev/null @@ -1,8 +0,0 @@ -*** TEST 17 *** -TA2 - Suspending self -TA1 - signal_catch: initializing signal catcher -TA1 - Sending signal to self -TA2 - signal_return preempted correctly -TA1 - TA2 correctly preempted me -TA1 - Got Back!!! -*** END OF TEST 17 *** diff --git a/c/src/ada-tests/sptests/sp17/sptest.adb b/c/src/ada-tests/sptests/sp17/sptest.adb deleted file mode 100644 index b1bbc26b3d..0000000000 --- a/c/src/ada-tests/sptests/sp17/sptest.adb +++ /dev/null @@ -1,173 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 17 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 17 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - - SPTEST.TASK_2_PREEMPTED := FALSE; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 2, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 2 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA2" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 2 ), - SPTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR --- - - procedure PROCESS_ASR ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 2 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "ASR - TASK_RESUME OF TA2" ); - - end PROCESS_ASR; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "TA1 - signal_catch: initializing signal catcher" ); - RTEMS.SIGNAL_CATCH( - SPTEST.PROCESS_ASR'ACCESS, - RTEMS.NO_ASR + RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - TEXT_IO.PUT_LINE( "TA1 - Sending signal to self" ); - RTEMS.SIGNAL_SEND( - SPTEST.TASK_ID( 1 ), - RTEMS.SIGNAL_16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_SEND" ); - - if SPTEST.TASK_2_PREEMPTED = TRUE then - TEXT_IO.PUT_LINE( "TA1 - TA2 correctly preempted me" ); - end if; - - TEXT_IO.PUT_LINE( "TA1 - Got Back!!!" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 17 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - SPTEST.TASK_2_PREEMPTED := FALSE; - - TEXT_IO.PUT_LINE( "TA2 - Suspending self" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - TEXT_IO.PUT_LINE( "TA2 - signal_return preempted correctly" ); - - SPTEST.TASK_2_PREEMPTED := TRUE; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND OF TA2" ); - - end TASK_2; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp17/sptest.ads b/c/src/ada-tests/sptests/sp17/sptest.ads deleted file mode 100644 index e6dc2040d5..0000000000 --- a/c/src/ada-tests/sptests/sp17/sptest.ads +++ /dev/null @@ -1,93 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 17 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following is set to TRUE by TASK_2 when it preempts TASK_1. --- - - TASK_2_PREEMPTED : STANDARD.BOOLEAN; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR --- --- DESCRIPTION: --- --- This subprogram is the ASR for TASK_1. --- - - procedure PROCESS_ASR ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests that when the transfer from the task --- to the ASR (and vice-versa) is performed, that the new mode --- is taken into account. If this occurs, then TASK_2 will be --- able to preempt upon completion of the ASR of TASK_1. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is designed to preempt TASK_1. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp19/README b/c/src/ada-tests/sptests/sp19/README deleted file mode 100644 index 07d60c5bc4..0000000000 --- a/c/src/ada-tests/sptests/sp19/README +++ /dev/null @@ -1,23 +0,0 @@ -# -# $Id$ -# - -This is a "problem" test in Ada versus the C equivalent. In C, -we used macros to : - - + declare a LOT of local integer and floating point variables - + load them with values - + check them at certain times - + to avoid floating point operations on CPUs w/o hardware support - -The macros are not equivalent to subprograms doing the same thing. -We are trying to insure that the register set is fully utilized and -checking that it survives context switches. If the routines are -subprograms, then calling conventions and scoping rules apply. Thus -the variables do not exist throughout the entire life of the task -as in the C test. - -It seems to point out that although the conditional compilation -and macro capabilities of C are often abused, they do provide -capabilities which are difficult if not impossible to mimic entirely -with subprograms. diff --git a/c/src/ada-tests/sptests/sp19/config.h b/c/src/ada-tests/sptests/sp19/config.h deleted file mode 100644 index bfb614cd4e..0000000000 --- a/c/src/ada-tests/sptests/sp19/config.h +++ /dev/null @@ -1,33 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp19/sp19.adb b/c/src/ada-tests/sptests/sp19/sp19.adb deleted file mode 100644 index 61a5107332..0000000000 --- a/c/src/ada-tests/sptests/sp19/sp19.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP19 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP19 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.FLOATING_POINT, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP19; - diff --git a/c/src/ada-tests/sptests/sp19/sp19.scn b/c/src/ada-tests/sptests/sp19/sp19.scn deleted file mode 100644 index 8b7feadb37..0000000000 --- a/c/src/ada-tests/sptests/sp19/sp19.scn +++ /dev/null @@ -1,56 +0,0 @@ -*** TEST 19 *** -FP1 - integer base = ( 16#6000#) -FP1 - float base = ( 6.00060E+03) -FP1 - integer base = ( 16#6000#) -FP1 - float base = ( 6.00060E+03) -TA1 - integer base = ( 16#1000#) -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - integer base = ( 16#2000#) -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - integer base = ( 16#3000#) -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA4 - integer base = ( 16#4000#) -TA4 - float base = ( 4.00040E+03) -TA4 - clock_get - 9: 0: 0 12/31/1988 -TA5 - integer base = ( 16#5000#) -TA5 - float base = ( 5.00050E+03) -TA5 - clock_get - 9: 0: 0 12/31/1988 -TA4 - clock_get - 9: 0: 1 12/31/1988 -TA5 - clock_get - 9: 0: 1 12/31/1988 -TA4 - clock_get - 9: 0: 2 12/31/1988 -TA5 - clock_get - 9: 0: 2 12/31/1988 -TA4 - clock_get - 9: 0: 3 12/31/1988 -TA5 - clock_get - 9: 0: 3 12/31/1988 -TA4 - clock_get - 9: 0: 4 12/31/1988 -TA5 - clock_get - 9: 0: 4 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA4 - clock_get - 9: 0: 5 12/31/1988 -TA5 - clock_get - 9: 0: 5 12/31/1988 -TA4 - clock_get - 9: 0: 6 12/31/1988 -TA5 - clock_get - 9: 0: 6 12/31/1988 -TA4 - clock_get - 9: 0: 7 12/31/1988 -TA5 - clock_get - 9: 0: 7 12/31/1988 -TA4 - clock_get - 9: 0: 8 12/31/1988 -TA5 - clock_get - 9: 0: 8 12/31/1988 -TA4 - clock_get - 9: 0: 9 12/31/1988 -TA5 - clock_get - 9: 0: 9 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA4 - clock_get - 9: 0:10 12/31/1988 -TA5 - clock_get - 9: 0:10 12/31/1988 -TA4 - clock_get - 9: 0:11 12/31/1988 -TA5 - clock_get - 9: 0:11 12/31/1988 -TA4 - clock_get - 9: 0:12 12/31/1988 -TA5 - clock_get - 9: 0:12 12/31/1988 -TA4 - clock_get - 9: 0:13 12/31/1988 -TA5 - clock_get - 9: 0:13 12/31/1988 -TA4 - clock_get - 9: 0:14 12/31/1988 -TA5 - clock_get - 9: 0:14 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA5 - clock_get - 9: 0:15 12/31/1988 -TA4 - clock_get - 9: 0:15 12/31/1988 -TA4 - task_delete - self -TA5 - task_delete - TA3 -*** END OF TEST 19 *** - diff --git a/c/src/ada-tests/sptests/sp19/sptest.ads b/c/src/ada-tests/sptests/sp19/sptest.ads deleted file mode 100644 index 92d65ffc3d..0000000000 --- a/c/src/ada-tests/sptests/sp19/sptest.ads +++ /dev/null @@ -1,102 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 19 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 6 ) of RTEMS.NAME; - --- --- This array contains the floating point factors used by the --- floating point tasks in this test. --- - - FP_FACTORS : array ( RTEMS.UNSIGNED32 range 0 .. 9 ) of FLOAT; - --- --- This array contains the integer factors used by the --- integer tasks in this test. --- - - INTEGER_FACTORS : array ( RTEMS.UNSIGNED32 range 0 .. 9 ) of - RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FIRST_FP_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the restart and deletion of floating point tasks. --- - - procedure FIRST_FP_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FP_TASK --- --- DESCRIPTION: --- --- This RTEMS task tests the basic capabilities of a floating point --- task. --- - - procedure FP_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task provides a non-floating point task to test --- that an application can utilize a mixture of floating point --- and non-floating point tasks. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp20/config.h b/c/src/ada-tests/sptests/sp20/config.h deleted file mode 100644 index d8e351ae1f..0000000000 --- a/c/src/ada-tests/sptests/sp20/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PERIODS 10 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp20/sp20.adb b/c/src/ada-tests/sptests/sp20/sp20.adb deleted file mode 100644 index 0bb685dc1d..0000000000 --- a/c/src/ada-tests/sptests/sp20/sp20.adb +++ /dev/null @@ -1,56 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP20 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP20 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 10, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP20; - diff --git a/c/src/ada-tests/sptests/sp20/sp20.scn b/c/src/ada-tests/sptests/sp20/sp20.scn deleted file mode 100644 index ec21e4bdf2..0000000000 --- a/c/src/ada-tests/sptests/sp20/sp20.scn +++ /dev/null @@ -1,27 +0,0 @@ -*** TEST 20 *** -TA1 - rate_monotonic_create id = 16#10001# -TA1 - rate_monotonic_ident id = 16#10001# -TA1 - (16#10001#) period 2 -TA2 - rate_monotonic_create id = 16#10002# -TA2 - rate_monotonic_ident id = 16#10002# -TA2 - (16#10002#) period 2 -TA3 - rate_monotonic_create id = 16#10003# -TA3 - rate_monotonic_ident id = 16#10003# -TA3 - (16#10003#) period 2 -TA4 - rate_monotonic_create id = 16#10004# -TA4 - rate_monotonic_ident id = 16#10004# -TA4 - (16#10004#) period 2 -TA5 - rate_monotonic_create id = 16#10005# -TA5 - rate_monotonic_ident id = 16#10005# -TA5 - (16#10005#) period 100 -TA5 - PERIODS CHECK OK (1) -TA5 - PERIODS CHECK OK (2) -TA5 - PERIODS CHECK OK (3) -TA5 - PERIODS CHECK OK (4) -TA5 - PERIODS CHECK OK (5) -TA5 - PERIODS CHECK OK (6) -TA5 - PERIODS CHECK OK (7) -TA5 - PERIODS CHECK OK (8) -TA5 - PERIODS CHECK OK (9) -TA5 - PERIODS CHECK OK (10) -*** END OF TEST 20 *** diff --git a/c/src/ada-tests/sptests/sp20/sptest.adb b/c/src/ada-tests/sptests/sp20/sptest.adb deleted file mode 100644 index c12bef23c0..0000000000 --- a/c/src/ada-tests/sptests/sp20/sptest.adb +++ /dev/null @@ -1,280 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 20 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 20 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - SPTEST.TASK_NAME( 4 ) := RTEMS.BUILD_NAME( 'T', 'A', '4', ' ' ); - SPTEST.TASK_NAME( 5 ) := RTEMS.BUILD_NAME( 'T', 'A', '5', ' ' ); - - for INDEX in 1 .. 5 - loop - - SPTEST.COUNT( INDEX ) := 0; - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( INDEX ), - SPTEST.PRIORITIES( INDEX ), - 4096, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - end loop; - - for INDEX in 1 .. 5 - loop - - RTEMS.TASK_START( - SPTEST.TASK_ID( INDEX ), - SPTEST.TASK_1_THROUGH_5'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1_THROUGH_5 --- - - procedure TASK_1_THROUGH_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RMID : RTEMS.ID; - TEST_RMID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - PASS : RTEMS.UNSIGNED32; - FAILED : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( ARGUMENT, RMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( "- rate_monotonic_create id = " ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.RATE_MONOTONIC_IDENT( ARGUMENT, TEST_RMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_IDENT" ); - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( "- rate_monotonic_ident id = " ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - if TEST_RMID /= RMID then - TEXT_IO.PUT_LINE( "RMID's DO NOT MATCH!!!" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( SPTEST.TASK_NAME( INTEGER( ARGUMENT ) ), FALSE ); - TEXT_IO.PUT( " - (" ); - UNSIGNED32_IO.PUT( RMID, WIDTH => 1, BASE => 16 ); - TEXT_IO.PUT( ") period " ); - UNSIGNED32_IO.PUT( - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - WIDTH => 1, - BASE => 10 - ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_WAKE_AFTER( 2, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - case ARGUMENT is - when 1 .. 4 => - loop - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD" - ); - - SPTEST.COUNT( INTEGER( ARGUMENT ) ) := - SPTEST.COUNT( INTEGER( ARGUMENT ) ) + 1; - - end loop; - - when 5 => - - PASS := 0; - FAILED := 0; - - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 1 OF TA5" - ); - - SPTEST.GET_ALL_COUNTERS; - - loop - - RTEMS.RATE_MONOTONIC_PERIOD( - RMID, - SPTEST.PERIODS( INTEGER( ARGUMENT ) ), - STATUS - ); - - TEST_SUPPORT.DIRECTIVE_FAILED( - STATUS, - "RATE_MONOTONIC_PERIOD 2 OF TA5" - ); - - SPTEST.GET_ALL_COUNTERS; - - for INDEX in 1 .. 4 - loop - - if SPTEST.TEMPORARY_COUNT( INDEX ) /= - SPTEST.ITERATIONS( INDEX ) then - - TEXT_IO.PUT( "FAIL -- " ); - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( INDEX ), - FALSE - ); - TEXT_IO.PUT( "ACTUAL=" ); - UNSIGNED32_IO.PUT( - SPTEST.TEMPORARY_COUNT( INDEX ), - WIDTH => 3, - BASE => 10 - ); - TEXT_IO.PUT( " EXPECTED=" ); - UNSIGNED32_IO.PUT( - SPTEST.ITERATIONS( INDEX ), - WIDTH => 3, - BASE => 10 - ); - TEXT_IO.NEW_LINE; - - FAILED := FAILED + 1; - - end if; - - end loop; - - if FAILED = 5 then - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - PASS := PASS + 1; - TEXT_IO.PUT( "TA5 - PERIODS CHECK OK (" ); - UNSIGNED32_IO.PUT( PASS, WIDTH => 1, BASE => 10 ); - TEXT_IO.PUT_LINE( ")" ); - - if PASS = 10 then - TEXT_IO.PUT_LINE( "*** END OF TEST 20 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - end loop; - - when others => - NULL; - - end case; - - end TASK_1_THROUGH_5; - ---PAGE --- --- GET_ALL_COUNTERS --- - - procedure GET_ALL_COUNTERS - is - PREVIOUS_MODE : RTEMS.MODE; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE TO NO_PREEMPT" ); - - SPTEST.TEMPORARY_COUNT := SPTEST.COUNT; - - for INDEX in 1 .. 5 - loop - - SPTEST.COUNT( INDEX ) := 0; - - end loop; - - RTEMS.TASK_MODE( - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE TO PREEMPT" ); - - end GET_ALL_COUNTERS; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp20/sptest.ads b/c/src/ada-tests/sptests/sp20/sptest.ads deleted file mode 100644 index bfc62ad772..0000000000 --- a/c/src/ada-tests/sptests/sp20/sptest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 20 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( 1 .. 5 ) of RTEMS.ID; - TASK_NAME : array ( 1 .. 5 ) of RTEMS.NAME; - --- --- These arrays contain the parameters which define the execution --- characteristics and periods of each instantiation of the --- copies of the RTEMS task TASKS_1_THROUGH_5. --- - - PERIODS : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 2, 2, 2, 2, 100 ); - - ITERATIONS : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 50, 50, 50, 50, 1 ); - - PRIORITIES : constant array ( 1 .. 5 ) - of RTEMS.UNSIGNED32 := ( 1, 1, 3, 4, 5 ); - --- --- The following type defines the array used to manage the --- execution counts of each task's period. --- - - type COUNT_ARRAY is array ( 1 .. 5 ) of RTEMS.UNSIGNED32; - --- --- These arrays contains the number of periods successfully completed --- by each of the tasks. At each of its periods, the fifth task --- will copy the contents of the COUNT array to TEMPORARY_COUNT, --- and clear the COUNT array. The copy is performed to insure --- that no periods fire while it is verifying the correctness --- of the test's execution. --- - - COUNT : SPTEST.COUNT_ARRAY; - TEMPORARY_COUNT : SPTEST.COUNT_ARRAY; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1_THROUGH_5 --- --- DESCRIPTION: --- --- These RTEMS tasks test the Rate Monotonic Manager. --- - - procedure TASK_1_THROUGH_5 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- GET_ALL_COUNTERS --- --- DESCRIPTION: --- --- This subprogram atomically copies the contents of COUNTER to --- TEMPORARY_COUNTER. --- - - procedure GET_ALL_COUNTERS; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp21/config.h b/c/src/ada-tests/sptests/sp21/config.h deleted file mode 100644 index 94ca99691d..0000000000 --- a/c/src/ada-tests/sptests/sp21/config.h +++ /dev/null @@ -1,34 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER -#define CONFIGURE_TEST_NEEDS_STUB_DRIVER - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp21/sp21.adb b/c/src/ada-tests/sptests/sp21/sp21.adb deleted file mode 100644 index 6084211195..0000000000 --- a/c/src/ada-tests/sptests/sp21/sp21.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP21 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP21 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP21; - diff --git a/c/src/ada-tests/sptests/sp21/sp21.scn b/c/src/ada-tests/sptests/sp21/sp21.scn deleted file mode 100644 index 86dd4922b4..0000000000 --- a/c/src/ada-tests/sptests/sp21/sp21.scn +++ /dev/null @@ -1,19 +0,0 @@ -*** TEST 21 *** ------ TESTING THE NULL DRIVER CHECKS ----- -TA1 - io_initialize - NULL DRIVER SUCCESSFUL -TA1 - io_open - NULL DRIVER SUCCESSFUL -TA1 - io_close - NULL DRIVER SUCCESSFUL -TA1 - io_read - NULL DRIVER SUCCESSFUL -TA1 - io_write - NULL DRIVER SUCCESSFUL -TA1 - io_control - NULL DRIVER SUCCESSFUL ------ TESTING THE I/O MANAGER DIRECTIVES ----- -TA1 - io_initialize - STUB DRIVER SUCCESSFUL -TA1 - io_open - STUB DRIVER SUCCESSFUL -TA1 - io_close - STUB DRIVER SUCCESSFUL -TA1 - io_read - STUB DRIVER SUCCESSFUL -TA1 - io_write - STUB DRIVER SUCCESSFUL -TA1 - io_control - STUB DRIVER SUCCESSFUL ------ RETURNING INVALID MAJOR NUMBER ----- -TA1 - io_initialize - INVALID_NUMBER -TA1 - io_open - INVALID_NUMBER -*** END OF TEST 21 *** diff --git a/c/src/ada-tests/sptests/sp21/sptest.adb b/c/src/ada-tests/sptests/sp21/sptest.adb deleted file mode 100644 index 8ec76a7cf0..0000000000 --- a/c/src/ada-tests/sptests/sp21/sptest.adb +++ /dev/null @@ -1,270 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 21 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 21 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RETURN_VALUE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "----- TESTING THE NULL DRIVER CHECKS -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_OPEN( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CLOSE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_close - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_READ( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" ); - TEXT_IO.PUT_LINE( - "TA1 - io_read - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_WRITE( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_write - NULL DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CONTROL( - SPTEST.NO_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - NULL DRIVER SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( "----- TESTING THE I/O MANAGER DIRECTIVES -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_INITIALIZE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_OPEN( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_OPEN" ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CLOSE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CLOSE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_close - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_READ( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_READ" ); - TEXT_IO.PUT_LINE( - "TA1 - io_read - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_WRITE( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_WRITE" ); - TEXT_IO.PUT_LINE( - "TA1 - io_write - STUB DRIVER SUCCESSFUL" - ); - - RTEMS.IO_CONTROL( - SPTEST.STUB_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "IO_CONTROL" ); - TEXT_IO.PUT_LINE( - "TA1 - io_control - STUB DRIVER SUCCESSFUL" - ); - - TEXT_IO.PUT_LINE( "----- RETURNING INVALID MAJOR NUMBER -----" ); - - RTEMS.IO_INITIALIZE( - SPTEST.INVALID_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_INITIALIZE" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_initialize - INVALID_NUMBER" - ); - - RTEMS.IO_OPEN( - SPTEST.INVALID_DRIVER_MAJOR, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( - STATUS, - RTEMS.INVALID_NUMBER, - "IO_OPEN" - ); - TEXT_IO.PUT_LINE( - "TA1 - io_open - INVALID_NUMBER" - ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 21 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp21/sptest.ads b/c/src/ada-tests/sptests/sp21/sptest.ads deleted file mode 100644 index 04a8ad9c4f..0000000000 --- a/c/src/ada-tests/sptests/sp21/sptest.ads +++ /dev/null @@ -1,69 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 21 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following constants define the device major numbers --- utilized by this test. --- - - NO_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 3; - INVALID_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 5; - STUB_DRIVER_MAJOR : constant RTEMS.DEVICE_MAJOR_NUMBER := 2; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Input Output Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp22/config.h b/c/src/ada-tests/sptests/sp22/config.h deleted file mode 100644 index 09a09692a8..0000000000 --- a/c/src/ada-tests/sptests/sp22/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 2 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp22/sp22.adb b/c/src/ada-tests/sptests/sp22/sp22.adb deleted file mode 100644 index 06cb14a01f..0000000000 --- a/c/src/ada-tests/sptests/sp22/sp22.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP22 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP22 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP22; - diff --git a/c/src/ada-tests/sptests/sp22/sp22.scn b/c/src/ada-tests/sptests/sp22/sp22.scn deleted file mode 100644 index 8422e73141..0000000000 --- a/c/src/ada-tests/sptests/sp22/sp22.scn +++ /dev/null @@ -1,29 +0,0 @@ -*** TEST 22 *** -INIT - timer_create - creating timer 1 -INIT - timer 1 has id (16#10001#) -TA1 - timer_ident - identing timer 1 -TA1 - timer 1 has id (16#10001#) -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA1 - timer_after - timer 1 in 3 seconds -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0: 3 12/31/1988 -TA1 - timer_after - timer 1 in 3 seconds -TA1 - task_wake_after - 1 second -TA1 - clock_get - 9: 0: 4 12/31/1988 -TA1 - timer_reset - timer 1 -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0: 7 12/31/1988 - -TA1 - timer_after - timer 1 in 3 seconds -TA1 - timer_cancel - timer 1 -TA1 - clock_get - 9: 0: 7 12/31/1988 -TA1 - timer_when - timer 1 in 3 seconds -TA1 - task_suspend( SELF ) -TA1 - clock_get - 9: 0:10 12/31/1988 -TA1 - timer_when - timer 1 in 3 seconds -TA1 - task_wake_after - 1 second -TA1 - clock_get - 9: 0:11 12/31/1988 -TA1 - timer_cancel - timer 1 -TA1 - task_wake_after - YIELD (only task at priority) -TA1 - timer_delete - timer 1 -*** END OF TEST 22 *** diff --git a/c/src/ada-tests/sptests/sp22/sptest.adb b/c/src/ada-tests/sptests/sp22/sptest.adb deleted file mode 100644 index 830dbf9693..0000000000 --- a/c/src/ada-tests/sptests/sp22/sptest.adb +++ /dev/null @@ -1,299 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 22 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 22 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - TEXT_IO.PUT_LINE( "INIT - timer_create - creating timer 1" ); - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( 1 ), - SPTEST.TIMER_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE OF TM1" ); - TEXT_IO.PUT( "INIT - timer 1 has id (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ), WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- DELAYED_RESUME --- - - procedure DELAYED_RESUME ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_RESUME( SPTEST.TASK_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME OF SELF" ); - - end DELAYED_RESUME; - ---PAGE --- --- PRINT_TIME --- - - procedure PRINT_TIME - is - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( 1 ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( "- clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - end PRINT_TIME; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TMID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - --- GET ID - - TEXT_IO.PUT_LINE( "TA1 - timer_ident - identing timer 1" ); - RTEMS.TIMER_IDENT( SPTEST.TIMER_NAME( 1 ), TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_IDENT OF TM1" ); - TEXT_IO.PUT( "TA1 - timer 1 has id (" ); - UNSIGNED32_IO.PUT( SPTEST.TIMER_ID( 1 ), WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - --- AFTER WHICH IS ALLOWED TO FIRE - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - --- AFTER WHICH IS RESET AND ALLOWED TO FIRE - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_reset - timer 1" ); - RTEMS.TIMER_RESET( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_RESET" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - -TEST_SUPPORT.PAUSE; - --- --- Reset the time since we do not know how long the user waited --- before pressing at the pause. This insures that the --- actual output matches the screen. --- - - TIME := ( 1988, 12, 31, 9, 0, 7, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - --- after which is canceled - - TEXT_IO.PUT_LINE( "TA1 - timer_after - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_AFTER( - TMID, - 3 * TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - timer 1" ); - RTEMS.TIMER_CANCEL( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - --- when which is allowed to fire - - SPTEST.PRINT_TIME; - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TIME.SECOND := TIME.SECOND + 3; - - TEXT_IO.PUT_LINE( "TA1 - timer_when - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_WHEN( - TMID, - TIME, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN" ); - - TEXT_IO.PUT_LINE( "TA1 - task_suspend( SELF )" ); - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - SPTEST.PRINT_TIME; - --- when which is canceled - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - TIME.SECOND := TIME.SECOND + 3; - - TEXT_IO.PUT_LINE( "TA1 - timer_when - timer 1 in 3 seconds" ); - RTEMS.TIMER_FIRE_WHEN( - TMID, - TIME, - SPTEST.DELAYED_RESUME'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_WHEN" ); - - TEXT_IO.PUT_LINE( "TA1 - task_wake_after - 1 second" ); - RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - SPTEST.PRINT_TIME; - - TEXT_IO.PUT_LINE( "TA1 - timer_cancel - timer 1" ); - RTEMS.TIMER_CANCEL( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - --- delete - - TEXT_IO.PUT_LINE( - "TA1 - task_wake_after - YIELD (only task at priority)" - ); - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER YIELD" ); - - TEXT_IO.PUT_LINE( "TA1 - timer_delete - timer 1" ); - RTEMS.TIMER_DELETE( TMID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 22 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp22/sptest.ads b/c/src/ada-tests/sptests/sp22/sptest.ads deleted file mode 100644 index 9401ce1cc0..0000000000 --- a/c/src/ada-tests/sptests/sp22/sptest.ads +++ /dev/null @@ -1,92 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 22 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TIMER_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- DELAYED_RESUME --- --- DESCRIPTION: --- --- This subprogram is scheduled to be fired as a timer service --- routine. When fired this subprogram resumes TASK_1. --- - - procedure DELAYED_RESUME ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- PRINT_TIME --- --- DESCRIPTION: --- --- This subprogram prints the name of TASK_1 and the current TIME of day. --- - - procedure PRINT_TIME; - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Timer Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp23/config.h b/c/src/ada-tests/sptests/sp23/config.h deleted file mode 100644 index 5e60e5c235..0000000000 --- a/c/src/ada-tests/sptests/sp23/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_PORTS 1 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp23/sp23.adb b/c/src/ada-tests/sptests/sp23/sp23.adb deleted file mode 100644 index ff3d5c0c4c..0000000000 --- a/c/src/ada-tests/sptests/sp23/sp23.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP23 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP23 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP23; - diff --git a/c/src/ada-tests/sptests/sp23/sp23.scn b/c/src/ada-tests/sptests/sp23/sp23.scn deleted file mode 100644 index 1a3af24ac7..0000000000 --- a/c/src/ada-tests/sptests/sp23/sp23.scn +++ /dev/null @@ -1,9 +0,0 @@ -*** TEST 23 *** -INIT - port_create - DP1 - internal = 16#1000# external = 16#2000# -TA1 - port_ident - 16#10001# -TA1 - port_external_to_internal - external: 16#200E# => internal: 16#100E# -TA1 - port_internal_to_external - internal: 16#100E# => external: 16#200E# -TA1 - port_external_to_internal - external: 16#300E# => internal: 16#300E# -TA1 - port_internal_to_external - internal: 16#50E# => external: 16#50E# -TA1 - port_delete - DP1 -*** END OF TEST 23 *** diff --git a/c/src/ada-tests/sptests/sp23/sptest.adb b/c/src/ada-tests/sptests/sp23/sptest.adb deleted file mode 100644 index 0ff783a197..0000000000 --- a/c/src/ada-tests/sptests/sp23/sptest.adb +++ /dev/null @@ -1,179 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 23 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with ADDRESS_IO; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INTERNAL_AREA : RTEMS.ADDRESS; - EXTERNAL_AREA : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 23 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - SPTEST.PORT_NAME( 1 ) := RTEMS.BUILD_NAME( 'D', 'P', '1', ' ' ); - - INTERNAL_AREA := SPTEST.INTERNAL_PORT_AREA( 0 )'ADDRESS; - EXTERNAL_AREA := SPTEST.EXTERNAL_PORT_AREA( 0 )'ADDRESS; - RTEMS.PORT_CREATE( - SPTEST.PORT_NAME( 1 ), - INTERNAL_AREA, - EXTERNAL_AREA, - SPTEST.INTERNAL_PORT_AREA'LENGTH, - SPTEST.PORT_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_CREATE OF DP1" ); - TEXT_IO.PUT( "INIT - port_create - DP1 - internal = " ); - ADDRESS_IO.PUT( INTERNAL_AREA, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " external = " ); - ADDRESS_IO.PUT( EXTERNAL_AREA, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - DPID : RTEMS.ID; - TO_BE_CONVERTED : RTEMS.ADDRESS; - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.PORT_IDENT( SPTEST.PORT_NAME( 1 ), DPID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_IDENT" ); - TEXT_IO.PUT( "TA1 - port_ident - " ); - UNSIGNED32_IO.PUT( DPID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.EXTERNAL_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_EXTERNAL_TO_INTERNAL" ); - TEXT_IO.PUT( "TA1 - port_external_to_internal - external: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => internal: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.INTERNAL_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_INTERNAL_TO_EXTERNAL" ); - TEXT_IO.PUT( "TA1 - port_internal_to_external - internal: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => external: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.ABOVE_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_EXTERNAL_TO_INTERNAL" ); - TEXT_IO.PUT( "TA1 - port_external_to_internal - external: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => internal: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TO_BE_CONVERTED := SPTEST.BELOW_PORT_AREA( 16#E# )'ADDRESS; - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - SPTEST.PORT_ID( 1 ), - TO_BE_CONVERTED, - CONVERTED, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_INTERNAL_TO_EXTERNAL" ); - TEXT_IO.PUT( "TA1 - port_internal_to_external - internal: " ); - ADDRESS_IO.PUT( TO_BE_CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.PUT( " => external: " ); - ADDRESS_IO.PUT( CONVERTED, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "TA1 - port_delete - DP1" ); - RTEMS.PORT_DELETE( SPTEST.PORT_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_DELETE" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 23 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp23/sptest.ads b/c/src/ada-tests/sptests/sp23/sptest.ads deleted file mode 100644 index 9c72b05568..0000000000 --- a/c/src/ada-tests/sptests/sp23/sptest.ads +++ /dev/null @@ -1,118 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 23 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with System.Storage_Elements; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS ports created --- by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.ID; - PORT_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 1 ) of RTEMS.NAME; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used for --- addresses which are below the address space of the port. --- - - BELOW_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00000500#); - - BELOW_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for BELOW_PORT_AREA use at BELOW_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used for --- addresses which are above the address space of the port. --- - - ABOVE_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00003000#); - - ABOVE_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for ABOVE_PORT_AREA use at ABOVE_PORT_AREA_ADDRESS; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Dual Ported Memory Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp24/config.h b/c/src/ada-tests/sptests/sp24/config.h deleted file mode 100644 index ae1c63c601..0000000000 --- a/c/src/ada-tests/sptests/sp24/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_TIMERS 3 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp24/sp24.adb b/c/src/ada-tests/sptests/sp24/sp24.adb deleted file mode 100644 index d060a5308e..0000000000 --- a/c/src/ada-tests/sptests/sp24/sp24.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP24 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP24 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP24; - diff --git a/c/src/ada-tests/sptests/sp24/sp24.scn b/c/src/ada-tests/sptests/sp24/sp24.scn deleted file mode 100644 index 374ef9540b..0000000000 --- a/c/src/ada-tests/sptests/sp24/sp24.scn +++ /dev/null @@ -1,17 +0,0 @@ -*** TEST 24 *** -TA1 - clock_get - 9: 0: 0 12/31/1988 -TA2 - clock_get - 9: 0: 0 12/31/1988 -TA3 - clock_get - 9: 0: 0 12/31/1988 -TA1 - clock_get - 9: 0: 5 12/31/1988 -TA2 - clock_get - 9: 0:10 12/31/1988 -TA1 - clock_get - 9: 0:10 12/31/1988 -TA3 - clock_get - 9: 0:15 12/31/1988 -TA1 - clock_get - 9: 0:15 12/31/1988 -TA2 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:20 12/31/1988 -TA1 - clock_get - 9: 0:25 12/31/1988 -TA3 - clock_get - 9: 0:30 12/31/1988 -TA1 - clock_get - 9: 0:30 12/31/1988 -TA2 - clock_get - 9: 0:30 12/31/1988 -*** END OF TEST 24 *** - diff --git a/c/src/ada-tests/sptests/sp24/sptest.adb b/c/src/ada-tests/sptests/sp24/sptest.adb deleted file mode 100644 index b94a27eadb..0000000000 --- a/c/src/ada-tests/sptests/sp24/sptest.adb +++ /dev/null @@ -1,171 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 24 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TIME : RTEMS.TIME_OF_DAY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 24 ***" ); - - TIME := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TIME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - SPTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - SPTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - SPTEST.TIMER_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'M', '1', ' ' ); - SPTEST.TIMER_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'M', '2', ' ' ); - SPTEST.TIMER_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'M', '3', ' ' ); - - for INDEX in 1 .. 3 - loop - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( INDEX ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TIMER_CREATE( - SPTEST.TIMER_NAME( INDEX ), - SPTEST.TIMER_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE LOOP" ); - - end loop; - - for INDEX in 1 .. 3 - loop - - RTEMS.TASK_START( - SPTEST.TASK_ID( INDEX ), - SPTEST.TASK_1_THROUGH_3'ACCESS, - RTEMS.TASK_ARGUMENT( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- RESUME_TASK --- - - procedure RESUME_TASK ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - TASK_TO_RESUME : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TASK_TO_RESUME := SPTEST.TASK_ID(INTEGER( RTEMS.GET_INDEX( TIMER_ID ) )); - RTEMS.TASK_RESUME( TASK_TO_RESUME, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - end RESUME_TASK; - ---PAGE --- --- TASK_1_THROUGH_3 --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TID : RTEMS.ID; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_IDENT( RTEMS.SELF, RTEMS.SEARCH_ALL_NODES, TID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_IDENT OF SELF" ); - - loop - - RTEMS.TIMER_FIRE_AFTER( - SPTEST.TIMER_ID( INTEGER( ARGUMENT ) ), - TEST_SUPPORT.TASK_NUMBER( TID ) * 5 * - TEST_SUPPORT.TICKS_PER_SECOND, - SPTEST.RESUME_TASK'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_GET" ); - - if TIME.SECOND >= 35 then - TEXT_IO.PUT_LINE( "*** END OF TEST 24 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - end if; - - TEST_SUPPORT.PUT_NAME( - SPTEST.TASK_NAME( INTEGER( TEST_SUPPORT.TASK_NUMBER( TID ) ) ), - FALSE - ); - - TEST_SUPPORT.PRINT_TIME( " - clock_get - ", TIME, "" ); - TEXT_IO.NEW_LINE; - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - end loop; - - end TASK_1_THROUGH_3; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp24/sptest.ads b/c/src/ada-tests/sptests/sp24/sptest.ads deleted file mode 100644 index f664be5bd8..0000000000 --- a/c/src/ada-tests/sptests/sp24/sptest.ads +++ /dev/null @@ -1,82 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 24 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( 1 .. 3 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS timers created --- by this test. --- - - TIMER_ID : array ( 1 .. 3 ) of RTEMS.ID; - TIMER_NAME : array ( 1 .. 3 ) of RTEMS.NAME; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- RESUME_TASK --- --- DESCRIPTION: --- --- This subprogram is scheduled as a timer service routine. When --- it fires it resumes the task which is mapped to this timer. --- - - procedure RESUME_TASK ( - TIMER_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- TASK_1_THROUGH_3 --- --- DESCRIPTION: --- --- This RTEMS task tests the Timer Manager. --- - - procedure TASK_1_THROUGH_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp25/config.h b/c/src/ada-tests/sptests/sp25/config.h deleted file mode 100644 index 5d162bd899..0000000000 --- a/c/src/ada-tests/sptests/sp25/config.h +++ /dev/null @@ -1,35 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - -#define CONFIGURE_MAXIMUM_REGIONS 1 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/sptests/sp25/sp25.adb b/c/src/ada-tests/sptests/sp25/sp25.adb deleted file mode 100644 index 58e45b339d..0000000000 --- a/c/src/ada-tests/sptests/sp25/sp25.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SP25 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SP25 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SP25; - diff --git a/c/src/ada-tests/sptests/sp25/sp25.scn b/c/src/ada-tests/sptests/sp25/sp25.scn deleted file mode 100644 index 0b0fbcf102..0000000000 --- a/c/src/ada-tests/sptests/sp25/sp25.scn +++ /dev/null @@ -1,29 +0,0 @@ -*** TEST 25 *** -TA1 - region_ident - rnid => 16#10001# -TA1 - region_get_segment - wait on 64 byte segment from region 1 -TA1 - got segment from region 1 - 16#F9B8# -TA1 - region_get_segment - wait on 128 byte segment from region 1 -TA1 - got segment from region 1 - 16#F930# -TA1 - region_get_segment - wait on 256 byte segment from region 1 -TA1 - got segment from region 1 - 16#F828# -TA1 - region_get_segment - wait on 512 byte segment from region 1 -TA1 - got segment from region 1 - 16#F620# -TA1 - region_get_segment - wait on 1024 byte segment from region 1 -TA1 - got segment from region 1 - 16#F218# -TA1 - region_get_segment - wait on 2048 byte segment from region 1 -TA1 - got segment from region 1 - 16#EA10# -TA1 - region_get_segment - wait on 4096 byte segment from region 1 -TA1 - got segment from region 1 - 16#DA08# -TA1 - region_get_segment - wait on 8192 byte segment from region 1 -TA1 - got segment from region 1 - 16#BA00# - -TA1 - region_return_segment - return segment to region 1 - 16#F828# -TA1 - region_return_segment - return segment to region 1 - 16#F620# -TA1 - region_return_segment - return segment to region 1 - 16#F9B8# -TA1 - region_return_segment - return segment to region 1 - 16#F930# -TA1 - region_return_segment - return segment to region 1 - 16#DA08# -TA1 - region_return_segment - return segment to region 1 - 16#EA10# -TA1 - region_return_segment - return segment to region 1 - 16#BA00# -TA1 - region_return_segment - return segment to region 1 - 16#F218# -TA1 - region_delete - walks heap if debug enabled -*** END OF TEST 25 *** diff --git a/c/src/ada-tests/sptests/sp25/sptest.adb b/c/src/ada-tests/sptests/sp25/sptest.adb deleted file mode 100644 index a9aace5212..0000000000 --- a/c/src/ada-tests/sptests/sp25/sptest.adb +++ /dev/null @@ -1,367 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 25 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST 25 ***" ); - - SPTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - SPTEST.TASK_NAME( 1 ), - SPTEST.BASE_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - SPTEST.TASK_ID( 1 ), - SPTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - SPTEST.REGION_NAME( 1 ) := RTEMS.BUILD_NAME( 'R', 'N', '1', ' ' ); - - RTEMS.REGION_CREATE( - SPTEST.REGION_NAME( 1 ), - SPTEST.AREA_1'ADDRESS, - 64000, - 32, - RTEMS.DEFAULT_ATTRIBUTES, - SPTEST.REGION_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE OF RN1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PUT_ADDRESS_FROM_AREA_1 --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ) is - - begin - - UNSIGNED32_IO.PUT( - RTEMS.SUBTRACT( TO_BE_PRINTED, SPTEST.AREA_1'ADDRESS ), - WIDTH => 8, - BASE => 16 - ); - - end PUT_ADDRESS_FROM_AREA_1; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - RNID : RTEMS.ID; - SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_4 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_5 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_6 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_7 : RTEMS.ADDRESS; - SEGMENT_ADDRESS_8 : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.REGION_IDENT( SPTEST.REGION_NAME( 1 ), RNID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_IDENT OF RN1" ); - TEXT_IO.PUT( "TA1 - region_ident - rnid => " ); - UNSIGNED32_IO.PUT( RNID, WIDTH => 8, BASE => 16 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "64 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 64, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "128 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 128, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "256 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 256, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "512 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 512, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "1024 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_5, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_5 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "2048 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_6, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_6 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "4096 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 4096, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_7, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_7 ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "TA1 - region_get_segment - wait on " ); - TEXT_IO.PUT_LINE( "8192 byte segment from region 1" ); - RTEMS.REGION_GET_SEGMENT( - SPTEST.REGION_ID( 1 ), - 8192, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - SEGMENT_ADDRESS_8, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - TEXT_IO.PUT( "TA1 - got segment from region 1 - " ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_8 ); - TEXT_IO.NEW_LINE; - -TEST_SUPPORT.PAUSE; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_3 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_3 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_4 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_4, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_4 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_1 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_1 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_2 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_2 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_7 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_7, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_7 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_6 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_6, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_6 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_8 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_8, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_8 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT( - "TA1 - region_return_segment - return segment to region 1 - " - ); - SPTEST.PUT_ADDRESS_FROM_AREA_1( SEGMENT_ADDRESS_5 ); - RTEMS.REGION_RETURN_SEGMENT( - SPTEST.REGION_ID( 1 ), - SEGMENT_ADDRESS_5, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - TEXT_IO.NEW_LINE; - SEGMENT_ADDRESS_5 := RTEMS.NULL_ADDRESS; - - TEXT_IO.PUT_LINE( - "TA1 - region_delete - walks heap if debug enabled" - ); - RTEMS.REGION_DELETE( SPTEST.REGION_ID( 1 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_DELETE OF RN1" ); - - TEXT_IO.PUT_LINE( "*** END OF TEST 25 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end SPTEST; diff --git a/c/src/ada-tests/sptests/sp25/sptest.ads b/c/src/ada-tests/sptests/sp25/sptest.ads deleted file mode 100644 index 516421526f..0000000000 --- a/c/src/ada-tests/sptests/sp25/sptest.ads +++ /dev/null @@ -1,103 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 25 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- These arrays contain the IDs and NAMEs of all RTEMS regions created --- by this test. --- - - REGION_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - REGION_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.NAME; - --- --- The following constant defines the priority of most of the --- RTEMS tasks in this test. This allows one of the tasks to --- easily set itself to a higher priority than the rest. --- - - BASE_PRIORITY : constant RTEMS.TASK_PRIORITY := 140; - --- --- These arrays define the memory areas used for the regions in --- this test. --- - - AREA_1 : array ( RTEMS.UNSIGNED32 range 0 .. 64000 ) of RTEMS.UNSIGNED8; - for AREA_1'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_ADDRESS_FROM_AREA_1 --- --- DESCRIPTION: --- --- This subprogram prints the offset of the address TO_BE_PRINTED --- from the first byte of AREA_1. --- --- NOTE: --- --- This subprogram is used because the actual address of AREA_1 --- varies based upon the size of the executable, the target board, --- and the target processor. --- - - procedure PUT_ADDRESS_FROM_AREA_1 ( - TO_BE_PRINTED : in RTEMS.ADDRESS - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task tests the Region Manager. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end SPTEST; diff --git a/c/src/ada-tests/sptests/spsize/spsize.adb b/c/src/ada-tests/sptests/spsize/spsize.adb deleted file mode 100644 index e6da47f2ba..0000000000 --- a/c/src/ada-tests/sptests/spsize/spsize.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test SPsize of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SPTEST; -with TEST_SUPPORT; - -procedure SPsize is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - SPTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end SPsize; - diff --git a/c/src/ada-tests/sptests/spsize/sptest.adb b/c/src/ada-tests/sptests/spsize/sptest.adb deleted file mode 100644 index 1080728f8f..0000000000 --- a/c/src/ada-tests/sptests/spsize/sptest.adb +++ /dev/null @@ -1,199 +0,0 @@ --- --- SPTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with UNSIGNED32_IO; - -package body SPTEST is - - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TEST SIZE ***" ); - - SPTEST.PUT_SIZE( - "Tasks", - TRUE, - "maximum_tasks", - RTEMS_TEST_SUPPORT.PER_TASK - ); - - SPTEST.PUT_SIZE( - "Timers", - TRUE, - "maximum_timers", - RTEMS_TEST_SUPPORT.PER_TIMER - ); - - SPTEST.PUT_SIZE( - "Semaphores", - TRUE, - "maximum_semaphores", - RTEMS_TEST_SUPPORT.PER_SEMAPHORE - ); - - SPTEST.PUT_SIZE( - "Message Queues", - TRUE, - "maximum_message_queues", - RTEMS_TEST_SUPPORT.PER_MESSAGE_QUEUE - ); - - SPTEST.PUT_SIZE( - "Messages", - TRUE, - "maximum_messages", - RTEMS_TEST_SUPPORT.PER_MESSAGE - ); - - SPTEST.PUT_SIZE( - "Regions", - TRUE, - "maximum_regions", - RTEMS_TEST_SUPPORT.PER_REGION - ); - - SPTEST.PUT_SIZE( - "Partitions", - TRUE, - "maximum_paritions", - RTEMS_TEST_SUPPORT.PER_PARTITION - ); - - SPTEST.PUT_SIZE( - "Ports", - TRUE, - "maximum_ports", - RTEMS_TEST_SUPPORT.PER_PORT - ); - - SPTEST.PUT_SIZE( - "Periods", - TRUE, - "maximum_periods", - RTEMS_TEST_SUPPORT.PER_PERIOD - ); - - SPTEST.PUT_SIZE( - "Extensions", - TRUE, - "maximum_extensions", - RTEMS_TEST_SUPPORT.PER_EXTENSION - ); - - SPTEST.PUT_SIZE( - "Device Drivers", - TRUE, - "number_of_device_drivers", - RTEMS_TEST_SUPPORT.PER_DRIVER - ); - - SPTEST.PUT_SIZE( - "System Requirements", - FALSE, - REQUIREMENT => RTEMS_TEST_SUPPORT.SYSTEM_REQUIREMENTS - ); - - SPTEST.PUT_SIZE( - "Floating Point Tasks", - TRUE, - "FP attributes", - RTEMS_TEST_SUPPORT.PER_FP_TASK - ); - - TEXT_IO.PUT_LINE( "User's Tasks' Stacks - " ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT_LINE( "Interrupt Stacks - " ); - TEXT_IO.NEW_LINE; - - SPTEST.PUT_SIZE( - "Global object tables", - TRUE, - "maximum_nodes", - RTEMS_TEST_SUPPORT.PER_NODE - ); - - SPTEST.PUT_SIZE( - "Global objects", - TRUE, - "maximum_global_objects", - RTEMS_TEST_SUPPORT.PER_GLOBAL_OBJECT - ); - - SPTEST.PUT_SIZE( - "Proxies", - TRUE, - "maximum_proxies", - RTEMS_TEST_SUPPORT.PER_PROXY - ); - - TEXT_IO.PUT_LINE( "*** END OF TEST SIZE ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end INIT; - ---PAGE --- --- PUT_SIZE --- - - procedure PUT_SIZE ( - DESCRIPTION : in STRING; - HAS_FIELD_NAME : in BOOLEAN; - FIELD_NAME : in STRING := ""; - REQUIREMENT : in RTEMS.UNSIGNED32 := 0 - ) is - SPACES : constant STRING := " "; - begin - - -- 21 is length of longest description (task's stacks) - - TEXT_IO.PUT( DESCRIPTION ); - TEXT_IO.PUT( SPACES( 1 .. 21 - DESCRIPTION'LENGTH ) ); - TEXT_IO.PUT( " - " ); - if HAS_FIELD_NAME = TRUE then - TEXT_IO.PUT( FIELD_NAME ); - TEXT_IO.PUT( " * " ); - end if; - UNSIGNED32_IO.PUT( REQUIREMENT ); - TEXT_IO.NEW_LINE; - - end PUT_SIZE; - - -end SPTEST; diff --git a/c/src/ada-tests/sptests/spsize/sptest.ads b/c/src/ada-tests/sptests/spsize/sptest.ads deleted file mode 100644 index 312c7e9ead..0000000000 --- a/c/src/ada-tests/sptests/spsize/sptest.ads +++ /dev/null @@ -1,56 +0,0 @@ --- --- SPTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package SPTEST is - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PUT_SIZE --- --- DESCRIPTION: --- --- This procedure outputs the size information about the specified --- object in a standard format. --- - - procedure PUT_SIZE ( - DESCRIPTION : in STRING; - HAS_FIELD_NAME : in BOOLEAN; - FIELD_NAME : in STRING := ""; - REQUIREMENT : in RTEMS.UNSIGNED32 := 0 - ); - -end SPTEST; diff --git a/c/src/ada-tests/support/address_io.adb b/c/src/ada-tests/support/address_io.adb deleted file mode 100644 index 9e87ef3ed9..0000000000 --- a/c/src/ada-tests/support/address_io.adb +++ /dev/null @@ -1,47 +0,0 @@ --- --- Address_IO / Specification --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type System.Address. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with System; -with System.Storage_Elements; -with Text_IO; - -package body Address_IO is - - procedure Put ( - Item : in System.Address; - Width : in Natural := 8; - Base : in Natural := 16 - ) is - package Integer_IO is new TEXT_IO.Integer_IO( Integer ); - begin - - Integer_IO.Put( - Integer( System.Storage_Elements.To_Integer( Item ) ), - Width, - Base - ); - - end Put; - -end Address_IO; - diff --git a/c/src/ada-tests/support/address_io.ads b/c/src/ada-tests/support/address_io.ads deleted file mode 100644 index 3f832b70e0..0000000000 --- a/c/src/ada-tests/support/address_io.ads +++ /dev/null @@ -1,35 +0,0 @@ --- --- ADDRESS_IO / SPECIFICATION --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type System.Address. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with System; - -package Address_IO is - - procedure Put ( - Item : in System.Address; - Width : in Natural := 8; - Base : in Natural := 16 - ); - -end Address_IO; - diff --git a/c/src/ada-tests/support/float_io.ads b/c/src/ada-tests/support/float_io.ads deleted file mode 100644 index 532dc6c447..0000000000 --- a/c/src/ada-tests/support/float_io.ads +++ /dev/null @@ -1,27 +0,0 @@ --- --- Float_IO / Specification --- --- Description: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type Float. --- --- Dependencies: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Text_IO; - -package Float_IO is new Text_IO.Float_IO( Float ); - diff --git a/c/src/ada-tests/support/fp.inc b/c/src/ada-tests/support/fp.inc deleted file mode 100644 index 4fde6b16c1..0000000000 --- a/c/src/ada-tests/support/fp.inc +++ /dev/null @@ -1,154 +0,0 @@ --- --- fp.inc --- --- Macros to produce a large number of LOCAL floating point variables. This --- preprocessing is necessary to insure that the variables are --- scoped properly and to avoid duplicating hundreds of lines --- of code. --- --- --- DEFICIENCIES: --- --- 1. This currently does not address whether or not the CPU --- actually has hardware floating point. It just does the work. --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ - --- --- private definitions for macro use --- - --- macro usage EPSILON() -define(`EPSILON',`0.0005') - --- macro usage FP_CHECK_ONE( value, base, factor ) -define(`FP_CHECK_ONE',` - if ( $1 - ( $2 + $3 ) ) > EPSILON or else ( $1 - ( $2 + $3 ) ) < - EPSILON then - UNSIGNED32_IO.PUT( TASK_INDEX ); - TEXT_IO.PUT( ": $1 wrong -- (" ); - FLOAT_IO.PUT( $1 ); - TEXT_IO.PUT( " not " ); - FLOAT_IO.PUT( $2 + $3 ); - TEXT_IO.PUT_LINE( ")" ); - end if -' -) - --- macro usage FP_DECLARE -define(`FP_DECLARE', ` - FP01 : FLOAT := 1.0; - FP02 : FLOAT := 2.0; - FP03 : FLOAT := 3.0; - FP04 : FLOAT := 4.0; - FP05 : FLOAT := 5.0; - FP06 : FLOAT := 6.0; - FP07 : FLOAT := 7.0; - FP08 : FLOAT := 8.0; - FP09 : FLOAT := 9.0; - FP10 : FLOAT := 10.0; - FP11 : FLOAT := 11.0; - FP12 : FLOAT := 12.0; - FP13 : FLOAT := 13.0; - FP14 : FLOAT := 14.0; - FP15 : FLOAT := 15.0; - FP16 : FLOAT := 16.0; - FP17 : FLOAT := 17.0; - FP18 : FLOAT := 18.0; - FP19 : FLOAT := 19.0; - FP20 : FLOAT := 20.0; - FP21 : FLOAT := 21.0; - FP22 : FLOAT := 22.0; - FP23 : FLOAT := 23.0; - FP24 : FLOAT := 24.0; - FP25 : FLOAT := 25.0; - FP26 : FLOAT := 26.0; - FP27 : FLOAT := 27.0; - FP28 : FLOAT := 28.0; - FP29 : FLOAT := 29.0; - FP30 : FLOAT := 30.0; - FP31 : FLOAT := 31.0; - FP32 : FLOAT := 32.0 -' -) - - --- macro usage FP_LOAD( factor ) -define(`FP_LOAD',` - FP01 := FP01 + $1; - FP02 := FP02 + $1; - FP03 := FP03 + $1; - FP04 := FP04 + $1; - FP05 := FP05 + $1; - FP06 := FP06 + $1; - FP07 := FP07 + $1; - FP08 := FP08 + $1; - FP09 := FP09 + $1; - FP10 := FP10 + $1; - FP11 := FP11 + $1; - FP12 := FP12 + $1; - FP13 := FP13 + $1; - FP14 := FP14 + $1; - FP15 := FP15 + $1; - FP16 := FP16 + $1; - FP17 := FP17 + $1; - FP18 := FP18 + $1; - FP19 := FP19 + $1; - FP20 := FP20 + $1; - FP21 := FP21 + $1; - FP22 := FP22 + $1; - FP23 := FP23 + $1; - FP24 := FP24 + $1; - FP25 := FP25 + $1; - FP26 := FP26 + $1; - FP27 := FP27 + $1; - FP28 := FP28 + $1; - FP29 := FP29 + $1; - FP30 := FP30 + $1; - FP31 := FP31 + $1; - FP32 := FP32 + $1 -') - --- macro usage FP_CHECK( factor ) -define(`FP_CHECK',` - FP_CHECK_ONE( FP01, 1.0, $1 ); - FP_CHECK_ONE( FP02, 2.0, $1 ); - FP_CHECK_ONE( FP03, 3.0, $1 ); - FP_CHECK_ONE( FP04, 4.0, $1 ); - FP_CHECK_ONE( FP05, 5.0, $1 ); - FP_CHECK_ONE( FP06, 6.0, $1 ); - FP_CHECK_ONE( FP07, 7.0, $1 ); - FP_CHECK_ONE( FP08, 8.0, $1 ); - FP_CHECK_ONE( FP09, 9.0, $1 ); - FP_CHECK_ONE( FP10, 10.0, $1 ); - FP_CHECK_ONE( FP11, 11.0, $1 ); - FP_CHECK_ONE( FP12, 12.0, $1 ); - FP_CHECK_ONE( FP13, 13.0, $1 ); - FP_CHECK_ONE( FP14, 14.0, $1 ); - FP_CHECK_ONE( FP15, 15.0, $1 ); - FP_CHECK_ONE( FP16, 16.0, $1 ); - FP_CHECK_ONE( FP17, 17.0, $1 ); - FP_CHECK_ONE( FP18, 18.0, $1 ); - FP_CHECK_ONE( FP19, 19.0, $1 ); - FP_CHECK_ONE( FP20, 20.0, $1 ); - FP_CHECK_ONE( FP21, 21.0, $1 ); - FP_CHECK_ONE( FP22, 22.0, $1 ); - FP_CHECK_ONE( FP23, 23.0, $1 ); - FP_CHECK_ONE( FP24, 24.0, $1 ); - FP_CHECK_ONE( FP25, 25.0, $1 ); - FP_CHECK_ONE( FP26, 26.0, $1 ); - FP_CHECK_ONE( FP27, 27.0, $1 ); - FP_CHECK_ONE( FP28, 28.0, $1 ); - FP_CHECK_ONE( FP29, 29.0, $1 ); - FP_CHECK_ONE( FP30, 30.0, $1 ); - FP_CHECK_ONE( FP31, 31.0, $1 ); - FP_CHECK_ONE( FP32, 32.0, $1 ) -' -) diff --git a/c/src/ada-tests/support/init.c b/c/src/ada-tests/support/init.c deleted file mode 100644 index de686055de..0000000000 --- a/c/src/ada-tests/support/init.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994. - * On-Line Applications Research Corporation (OAR). - * All rights assigned to U.S. Government, 1994. - * - * This material may be reproduced by or for the U.S. Government pursuant - * to the copyright license under the clause at DFARS 252.227-7013. This - * notice must appear in all copies of this file and its derivatives. - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include - -void *POSIX_Init( - void *argument -) -{ - extern int gnat_main ( int argc, char **argv, char **envp ); - - (void) gnat_main ( 0, 0, 0 ); - - exit( 0 ); -} - -/* - * Only for sp04 - */ - -rtems_id tcb_to_id( - Thread_Control *tcb -) -{ - return tcb->Object.id; -} - -#define CONFIGURE_INIT -#include "config.h" diff --git a/c/src/ada-tests/support/integer.inc b/c/src/ada-tests/support/integer.inc deleted file mode 100644 index b7be26e8b6..0000000000 --- a/c/src/ada-tests/support/integer.inc +++ /dev/null @@ -1,145 +0,0 @@ --- --- integer.inc --- --- Macros to produce a large number of LOCAL integer variables. This --- preprocessing is necessary to insure that the variables are --- scoped properly and to avoid duplicating hundreds of lines --- of code. --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ - --- --- private definitions for macro use --- - --- macro usage INTEGER_CHECK_ONE( value, base, factor ) -define(`INTEGER_CHECK_ONE',` - if $1 /= ($2 + $3) then - UNSIGNED32_IO.PUT( TASK_INDEX ); - TEXT_IO.PUT( ": $1 wrong -- (" ); - UNSIGNED32_IO.PUT( $1, BASE => 16); - TEXT_IO.PUT( " not " ); - UNSIGNED32_IO.PUT( $2, BASE => 16 ); - TEXT_IO.PUT_LINE( ")" ); - end if -' -) - --- macro usage INTEGER_DECLARE -define(`INTEGER_DECLARE', ` - INT01 : RTEMS.UNSIGNED32 := 1; - INT02 : RTEMS.UNSIGNED32 := 2; - INT03 : RTEMS.UNSIGNED32 := 3; - INT04 : RTEMS.UNSIGNED32 := 4; - INT05 : RTEMS.UNSIGNED32 := 5; - INT06 : RTEMS.UNSIGNED32 := 6; - INT07 : RTEMS.UNSIGNED32 := 7; - INT08 : RTEMS.UNSIGNED32 := 8; - INT09 : RTEMS.UNSIGNED32 := 9; - INT10 : RTEMS.UNSIGNED32 := 10; - INT11 : RTEMS.UNSIGNED32 := 11; - INT12 : RTEMS.UNSIGNED32 := 12; - INT13 : RTEMS.UNSIGNED32 := 13; - INT14 : RTEMS.UNSIGNED32 := 14; - INT15 : RTEMS.UNSIGNED32 := 15; - INT16 : RTEMS.UNSIGNED32 := 16; - INT17 : RTEMS.UNSIGNED32 := 17; - INT18 : RTEMS.UNSIGNED32 := 18; - INT19 : RTEMS.UNSIGNED32 := 19; - INT20 : RTEMS.UNSIGNED32 := 20; - INT21 : RTEMS.UNSIGNED32 := 21; - INT22 : RTEMS.UNSIGNED32 := 22; - INT23 : RTEMS.UNSIGNED32 := 23; - INT24 : RTEMS.UNSIGNED32 := 24; - INT25 : RTEMS.UNSIGNED32 := 25; - INT26 : RTEMS.UNSIGNED32 := 26; - INT27 : RTEMS.UNSIGNED32 := 27; - INT28 : RTEMS.UNSIGNED32 := 28; - INT29 : RTEMS.UNSIGNED32 := 29; - INT30 : RTEMS.UNSIGNED32 := 30; - INT31 : RTEMS.UNSIGNED32 := 31; - INT32 : RTEMS.UNSIGNED32 := 32 -' -) - - --- macro usage INTEGER_LOAD( factor ) -define(`INTEGER_LOAD',` - INT01 := INT01 + $1; - INT02 := INT02 + $1; - INT03 := INT03 + $1; - INT04 := INT04 + $1; - INT05 := INT05 + $1; - INT06 := INT06 + $1; - INT07 := INT07 + $1; - INT08 := INT08 + $1; - INT09 := INT09 + $1; - INT10 := INT10 + $1; - INT11 := INT11 + $1; - INT12 := INT12 + $1; - INT13 := INT13 + $1; - INT14 := INT14 + $1; - INT15 := INT15 + $1; - INT16 := INT16 + $1; - INT17 := INT17 + $1; - INT18 := INT18 + $1; - INT19 := INT19 + $1; - INT20 := INT20 + $1; - INT21 := INT21 + $1; - INT22 := INT22 + $1; - INT23 := INT23 + $1; - INT24 := INT24 + $1; - INT25 := INT25 + $1; - INT26 := INT26 + $1; - INT27 := INT27 + $1; - INT28 := INT28 + $1; - INT29 := INT29 + $1; - INT30 := INT30 + $1; - INT31 := INT31 + $1; - INT32 := INT32 + $1 -') - --- macro usage INTEGER_CHECK( factor ) -define(`INTEGER_CHECK',` - INTEGER_CHECK_ONE( INT01, 1, $1 ); - INTEGER_CHECK_ONE( INT02, 2, $1 ); - INTEGER_CHECK_ONE( INT03, 3, $1 ); - INTEGER_CHECK_ONE( INT04, 4, $1 ); - INTEGER_CHECK_ONE( INT05, 5, $1 ); - INTEGER_CHECK_ONE( INT06, 6, $1 ); - INTEGER_CHECK_ONE( INT07, 7, $1 ); - INTEGER_CHECK_ONE( INT08, 8, $1 ); - INTEGER_CHECK_ONE( INT09, 9, $1 ); - INTEGER_CHECK_ONE( INT10, 10, $1 ); - INTEGER_CHECK_ONE( INT11, 11, $1 ); - INTEGER_CHECK_ONE( INT12, 12, $1 ); - INTEGER_CHECK_ONE( INT13, 13, $1 ); - INTEGER_CHECK_ONE( INT14, 14, $1 ); - INTEGER_CHECK_ONE( INT15, 15, $1 ); - INTEGER_CHECK_ONE( INT16, 16, $1 ); - INTEGER_CHECK_ONE( INT17, 17, $1 ); - INTEGER_CHECK_ONE( INT18, 18, $1 ); - INTEGER_CHECK_ONE( INT19, 19, $1 ); - INTEGER_CHECK_ONE( INT20, 20, $1 ); - INTEGER_CHECK_ONE( INT21, 21, $1 ); - INTEGER_CHECK_ONE( INT22, 22, $1 ); - INTEGER_CHECK_ONE( INT23, 23, $1 ); - INTEGER_CHECK_ONE( INT24, 24, $1 ); - INTEGER_CHECK_ONE( INT25, 25, $1 ); - INTEGER_CHECK_ONE( INT26, 26, $1 ); - INTEGER_CHECK_ONE( INT27, 27, $1 ); - INTEGER_CHECK_ONE( INT28, 28, $1 ); - INTEGER_CHECK_ONE( INT29, 29, $1 ); - INTEGER_CHECK_ONE( INT30, 30, $1 ); - INTEGER_CHECK_ONE( INT31, 31, $1 ); - INTEGER_CHECK_ONE( INT32, 32, $1 ) -' -) diff --git a/c/src/ada-tests/support/rtems_calling_overhead.ads b/c/src/ada-tests/support/rtems_calling_overhead.ads deleted file mode 100644 index 31bea79ef0..0000000000 --- a/c/src/ada-tests/support/rtems_calling_overhead.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- RTEMS_CALLING_OVERHEAD / SPECIFICATION --- --- DESCRIPTION: --- --- This package contains the invocation overhead for each --- of the RTEMS directives on the MC68020 Timing Platform. --- This time is then subtracted from the execution time --- of each directive as measured by the Timing Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package RTEMS_CALLING_OVERHEAD is - - INITIALIZE_EXECUTIVE : constant RTEMS.UNSIGNED32 := 0; - SHUTDOWN_EXECUTIVE : constant RTEMS.UNSIGNED32 := 0; - TASK_CREATE : constant RTEMS.UNSIGNED32 := 0; - TASK_IDENT : constant RTEMS.UNSIGNED32 := 0; - TASK_START : constant RTEMS.UNSIGNED32 := 0; - TASK_RESTART : constant RTEMS.UNSIGNED32 := 0; - TASK_DELETE : constant RTEMS.UNSIGNED32 := 0; - TASK_SUSPEND : constant RTEMS.UNSIGNED32 := 0; - TASK_RESUME : constant RTEMS.UNSIGNED32 := 0; - TASK_SET_PRIORITY : constant RTEMS.UNSIGNED32 := 0; - TASK_MODE : constant RTEMS.UNSIGNED32 := 0; - TASK_GET_NOTE : constant RTEMS.UNSIGNED32 := 0; - TASK_SET_NOTE : constant RTEMS.UNSIGNED32 := 0; - TASK_WAKE_WHEN : constant RTEMS.UNSIGNED32 := 0; - TASK_WAKE_AFTER : constant RTEMS.UNSIGNED32 := 0; - INTERRUPT_CATCH : constant RTEMS.UNSIGNED32 := 0; - CLOCK_GET : constant RTEMS.UNSIGNED32 := 0; - CLOCK_SET : constant RTEMS.UNSIGNED32 := 0; - CLOCK_TICK : constant RTEMS.UNSIGNED32 := 0; - - TIMER_CREATE : constant RTEMS.UNSIGNED32 := 0; - TIMER_DELETE : constant RTEMS.UNSIGNED32 := 0; - TIMER_IDENT : constant RTEMS.UNSIGNED32 := 0; - TIMER_FIRE_AFTER : constant RTEMS.UNSIGNED32 := 0; - TIMER_FIRE_WHEN : constant RTEMS.UNSIGNED32 := 0; - TIMER_RESET : constant RTEMS.UNSIGNED32 := 0; - TIMER_CANCEL : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_CREATE : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_DELETE : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_IDENT : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_OBTAIN : constant RTEMS.UNSIGNED32 := 0; - SEMAPHORE_RELEASE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_CREATE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_IDENT : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_DELETE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_SEND : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_URGENT : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_BROADCAST : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_RECEIVE : constant RTEMS.UNSIGNED32 := 0; - MESSAGE_QUEUE_FLUSH : constant RTEMS.UNSIGNED32 := 0; - - EVENT_SEND : constant RTEMS.UNSIGNED32 := 0; - EVENT_RECEIVE : constant RTEMS.UNSIGNED32 := 0; - SIGNAL_CATCH : constant RTEMS.UNSIGNED32 := 0; - SIGNAL_SEND : constant RTEMS.UNSIGNED32 := 0; - PARTITION_CREATE : constant RTEMS.UNSIGNED32 := 0; - PARTITION_IDENT : constant RTEMS.UNSIGNED32 := 0; - PARTITION_DELETE : constant RTEMS.UNSIGNED32 := 0; - PARTITION_GET_BUFFER : constant RTEMS.UNSIGNED32 := 0; - PARTITION_RETURN_BUFFER : constant RTEMS.UNSIGNED32 := 0; - REGION_CREATE : constant RTEMS.UNSIGNED32 := 0; - REGION_IDENT : constant RTEMS.UNSIGNED32 := 0; - REGION_DELETE : constant RTEMS.UNSIGNED32 := 0; - REGION_GET_SEGMENT : constant RTEMS.UNSIGNED32 := 0; - REGION_RETURN_SEGMENT : constant RTEMS.UNSIGNED32 := 0; - PORT_CREATE : constant RTEMS.UNSIGNED32 := 0; - PORT_IDENT : constant RTEMS.UNSIGNED32 := 0; - PORT_DELETE : constant RTEMS.UNSIGNED32 := 0; - PORT_EXTERNAL_TO_INTERNAL : constant RTEMS.UNSIGNED32 := 0; - PORT_INTERNAL_TO_EXTERNAL : constant RTEMS.UNSIGNED32 := 0; - - IO_INITIALIZE : constant RTEMS.UNSIGNED32 := 0; - IO_OPEN : constant RTEMS.UNSIGNED32 := 0; - IO_CLOSE : constant RTEMS.UNSIGNED32 := 0; - IO_READ : constant RTEMS.UNSIGNED32 := 0; - IO_WRITE : constant RTEMS.UNSIGNED32 := 0; - IO_CONTROL : constant RTEMS.UNSIGNED32 := 0; - FATAL_ERROR_OCCURRED : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_CREATE : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_IDENT : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_DELETE : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_CANCEL : constant RTEMS.UNSIGNED32 := 0; - RATE_MONOTONIC_PERIOD : constant RTEMS.UNSIGNED32 := 0; - MULTIPROCESSING_ANNOUNCE : constant RTEMS.UNSIGNED32 := 0; - -end RTEMS_CALLING_OVERHEAD; diff --git a/c/src/ada-tests/support/status_io.ads b/c/src/ada-tests/support/status_io.ads deleted file mode 100644 index af56ff1a6a..0000000000 --- a/c/src/ada-tests/support/status_io.ads +++ /dev/null @@ -1,28 +0,0 @@ --- --- Status_IO / Specification --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type Status.CODES. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with Text_IO; - -package Status_IO is new Text_IO.Enumeration_IO( RTEMS.Status_Codes ); - diff --git a/c/src/ada-tests/support/test_support.adb b/c/src/ada-tests/support/test_support.adb deleted file mode 100644 index 379f0dfdae..0000000000 --- a/c/src/ada-tests/support/test_support.adb +++ /dev/null @@ -1,236 +0,0 @@ --- --- Test_Support / Specification --- --- DESCRIPTION: --- --- This package provides routines which aid the Test Suites --- and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with Unsigned32_IO; -with Status_IO; -with Text_IO; - -package body Test_Support is - ---PAGE --- --- Fatal_Directive_Status --- - - procedure Fatal_Directive_Status ( - Status : in RTEMS.Status_Codes; - Desired : in RTEMS.Status_Codes; - Message : in String - ) is - begin - - if not RTEMS.Are_Statuses_Equal( Status, Desired ) then - - Text_IO.Put( Message ); - Text_IO.Put( " FAILED -- expected " ); - Status_IO.Put( Desired ); - Text_IO.Put( " got " ); - Status_IO.Put( Status ); - Text_IO.New_Line; - - RTEMS.Fatal_Error_Occurred( RTEMS.Status_Codes'Pos( Status ) ); - - end if; - - end Fatal_Directive_Status; - ---PAGE --- --- Directive_Failed --- - - procedure Directive_Failed ( - Status : in RTEMS.Status_Codes; - Message : in String - ) is - begin - - Test_Support.Fatal_Directive_Status( - Status, - RTEMS.Successful, - Message - ); - - end Directive_Failed; - ---PAGE --- --- Print_Time --- - - procedure Print_Time ( - Prefix : in String; - Time_Buffer : in RTEMS.Time_Of_Day; - Suffix : in String - ) is - begin - - Text_IO.Put( Prefix ); - Unsigned32_IO.Put( Time_Buffer.Hour, Width=>2 ); - Text_IO.Put( ":" ); - Unsigned32_IO.Put( Time_Buffer.Minute, Width=>2 ); - Text_IO.Put( ":" ); - Unsigned32_IO.Put( Time_Buffer.Second, Width=>2 ); - Text_IO.Put( " " ); - Unsigned32_IO.Put( Time_Buffer.Month, Width=>2 ); - Text_IO.Put( "/" ); - Unsigned32_IO.Put( Time_Buffer.Day, Width=>2 ); - Text_IO.Put( "/" ); - Unsigned32_IO.Put( Time_Buffer.Year, Width=>2 ); - Text_IO.Put( Suffix ); - - end Print_Time; - ---PAGE --- --- Put_Dot --- - - procedure Put_Dot ( - Buffer : in String - ) is - begin - Text_IO.Put( Buffer ); - Text_IO.FLUSH; - end Put_Dot; - ---PAGE --- --- Pause --- - - procedure Pause is - Ignored_String : String( 1 .. 80 ); - Ignored_Last : Natural; - - begin - - -- - -- Really should be a "put" followed by a "flush." - -- - Text_IO.Put_Line( " " ); - -- Text_IO.Get_Line( Ignored_String, Ignored_Last ); - - -- exception - - -- when Text_IO.End_Error => - -- -- ignore this error. It happens when redirecting input from /dev/null - -- return; - - end Pause; - ---PAGE --- --- Pause_And_Screen_Number --- - - procedure Pause_And_Screen_Number ( - SCREEN : in RTEMS.Unsigned32 - ) is - Ignored_String : String( 1 .. 80 ); - Ignored_Last : Natural; - begin - - -- - -- Really should be a "put" followed by a "flush." - -- - Text_IO.Put( "2 ); - Text_IO.Put_Line( "> " ); - -- Text_IO.Get_Line( Ignored_String, Ignored_Last ); - - -- exception - - -- when Text_IO.End_Error => - -- -- ignore this error. It happens when redirecting input from /dev/null - -- return; - - end Pause_And_Screen_Number; - ---PAGE --- --- Put_Name --- - - procedure Put_Name ( - Name : in RTEMS.Name; - New_Line : in Boolean - ) is - C1 : Character; - C2 : Character; - C3 : Character; - C4 : Character; - begin - - RTEMS.Name_To_Characters( Name, C1, C2, C3, C4 ); - - Text_IO.Put( C1 ); - Text_IO.Put( C2 ); - Text_IO.Put( C3 ); - Text_IO.Put( C4 ); - - if New_Line = True then - Text_IO.New_Line; - end if; - - end Put_Name; - ---PAGE --- --- Task_Number --- - - function Task_Number ( - TID : in RTEMS.ID - ) return RTEMS.Unsigned32 is - begin - - return RTEMS.Get_Index( TID ) - 1 - - RTEMS.Configuration.RTEMS_API_Configuration.Number_Of_Initialization_Tasks; - - end Task_Number; - ---PAGE --- --- Do_Nothing --- - - procedure Do_Nothing is - begin - NULL; - end Do_Nothing; - - ---PAGE --- --- Milliseconds_Per_Tick --- - - function Milliseconds_Per_Tick - return RTEMS.Unsigned32 is - begin - return RTEMS.Configuration.Microseconds_Per_Tick / 1000; - end Milliseconds_Per_Tick; -end Test_Support; diff --git a/c/src/ada-tests/support/test_support.ads b/c/src/ada-tests/support/test_support.ads deleted file mode 100644 index 4a40da4322..0000000000 --- a/c/src/ada-tests/support/test_support.ads +++ /dev/null @@ -1,173 +0,0 @@ --- --- Test_Support / SPECIFICATION --- --- DESCRIPTION: --- --- This package provides routines which aid the Test Suites --- and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Interfaces; use Interfaces; -with RTEMS; -with Text_IO; - -package Test_Support is - --- --- Fatal_Directive_Status --- --- DESCRIPTION: --- --- This subprogram checks if Status is equal to Desired. If so, it --- returns immediately. Otherwise, it prints the Message along with --- the Status and Desired status and invokes the Fatal_Error_Occurred --- directive. --- - - procedure Fatal_Directive_Status ( - Status : in RTEMS.Status_Codes; - Desired : in RTEMS.Status_Codes; - Message : in STRING - ); - pragma Inline ( Fatal_Directive_Status ); - --- Directive_Failed --- --- DESCRIPTION: --- --- This subprogram checks if Status is equal to Successful. If so, it --- returns immediately. Otherwise, it prints the Message along with --- the Status and Desired status and invokes the Fatal_Error_Occurred --- - - procedure Directive_Failed ( - Status : in RTEMS.Status_Codes; - Message : in STRING - ); - pragma Inline ( Directive_Failed ); - --- --- Print_Time --- --- DESCRIPTION: --- --- This subprogram prints the Prefix string, following by the --- time of day in Time_Buffer, followed by the Suffix. --- - - procedure Print_Time ( - Prefix : in STRING; - Time_Buffer : in RTEMS.Time_Of_Day; - Suffix : in STRING - ); - pragma Inline ( Print_Time ); - --- --- Put_Dot --- --- DESCRIPTION: --- --- This subprogram prints a single character without a carriage return. --- - - procedure Put_Dot ( - Buffer : in STRING - ); - pragma Inline ( Put_Dot ); - --- --- Pause --- --- DESCRIPTION: --- --- This subprogram is used to pause screen output in the Test Suites --- until the user presses carriage return. --- - - procedure Pause; - --- --- Pause_And_Screen_Number --- --- DESCRIPTION: --- --- This subprogram is used to pause screen output and print the current --- number in the Test Suites until the user presses carriage return. --- - - procedure Pause_And_Screen_Number ( - SCREEN : in RTEMS.Unsigned32 - ); - --- --- Put_Name --- --- DESCRIPTION: --- --- This subprogram prints the RTEMS object Name. If New_Line is TRUE, --- then a carriage return is printed after the Name. --- - - procedure Put_Name ( - Name : in RTEMS.Name; - New_Line : in Boolean - ); - --- --- Task_Number --- --- DESCRIPTION: --- --- This function returns the task index which the test should use --- for TID. --- - - function Task_Number ( - TID : in RTEMS.ID - ) return RTEMS.Unsigned32; - pragma Inline ( Task_Number ); - --- --- Do_Nothing --- --- DESCRIPTION: --- --- This procedure is called when a test wishes to use a delay --- loop and insure that the compiler does not optimize it away. --- - - procedure Do_Nothing; - --- --- Ticks_Per_Second is the number of RTEMS clock ticks which --- occur each second. --- - - Ticks_Per_Second : RTEMS.Interval; - pragma Import (C, Ticks_Per_Second, "_TOD_Ticks_per_second"); - --- --- Milliseconds_Per_Tick is the number of milliseconds which --- occur between each RTEMS clock tick. --- - - function Milliseconds_Per_Tick - return RTEMS.Unsigned32; - -private - -end Test_Support; diff --git a/c/src/ada-tests/support/time_test_support.adb b/c/src/ada-tests/support/time_test_support.adb deleted file mode 100644 index 5eba15fa58..0000000000 --- a/c/src/ada-tests/support/time_test_support.adb +++ /dev/null @@ -1,77 +0,0 @@ --- --- TIME_TEST_SUPPORT / SPECIFICATION --- --- DESCRIPTION: --- --- This package provides routines which aid the individual tests in --- the Timing Test Suite and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with TEXT_IO; -with UNSIGNED32_IO; - -package body TIME_TEST_SUPPORT is - ---PAGE --- --- PUT_TIME --- - - procedure PUT_TIME ( - MESSAGE : in STRING; - TOTAL_TIME : in RTEMS.UNSIGNED32; - ITERATIONS : in RTEMS.UNSIGNED32; - LOOP_OVERHEAD : in RTEMS.UNSIGNED32; - CALLING_OVERHEAD : in RTEMS.UNSIGNED32 - ) is - PER_ITERATION : RTEMS.UNSIGNED32; - begin - - PER_ITERATION := (TOTAL_TIME - LOOP_OVERHEAD) / ITERATIONS; - PER_ITERATION := PER_ITERATION - CALLING_OVERHEAD; - - if PER_ITERATION = 0 then - - TEXT_IO.PUT( "TOTAL_TIME " ); - UNSIGNED32_IO.PUT( TOTAL_TIME ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "ITERATIONS " ); - UNSIGNED32_IO.PUT( ITERATIONS ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "LOOP_OVERHEAD " ); - UNSIGNED32_IO.PUT( LOOP_OVERHEAD ); - TEXT_IO.NEW_LINE; - - TEXT_IO.PUT( "CALLING_OVERHEAD " ); - UNSIGNED32_IO.PUT( CALLING_OVERHEAD ); - TEXT_IO.NEW_LINE; - - end if; - - TEXT_IO.PUT( MESSAGE ); - TEXT_IO.PUT( " " ); - UNSIGNED32_IO.PUT( PER_ITERATION ); - TEXT_IO.NEW_LINE; - TEXT_IO.FLUSH; - - end PUT_TIME; - -end TIME_TEST_SUPPORT; diff --git a/c/src/ada-tests/support/time_test_support.ads b/c/src/ada-tests/support/time_test_support.ads deleted file mode 100644 index 6dbacaf69d..0000000000 --- a/c/src/ada-tests/support/time_test_support.ads +++ /dev/null @@ -1,54 +0,0 @@ --- --- TIME_TEST_SUPPORT / SPECIFICATION --- --- DESCRIPTION: --- --- This package provides routines which aid the individual tests in --- the Timing Test Suite and simplify their design and operation. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package TIME_TEST_SUPPORT is - --- --- The following constants define the number of times a directive --- will be performed in the Timing Suite. --- - - OPERATION_COUNT : constant RTEMS.UNSIGNED32 := 100; - ITERATION_COUNT : constant RTEMS.UNSIGNED32 := 100; - --- --- PUT_TIME --- --- DESCRIPTION: --- --- This subprogram prints the MESSAGE followed by the length of --- time which each individual operation took. All times are --- in microseconds. --- - - procedure PUT_TIME ( - MESSAGE : in STRING; - TOTAL_TIME : in RTEMS.UNSIGNED32; - ITERATIONS : in RTEMS.UNSIGNED32; - LOOP_OVERHEAD : in RTEMS.UNSIGNED32; - CALLING_OVERHEAD : in RTEMS.UNSIGNED32 - ); - -end TIME_TEST_SUPPORT; diff --git a/c/src/ada-tests/support/timer_driver.adb b/c/src/ada-tests/support/timer_driver.adb deleted file mode 100644 index caa2374759..0000000000 --- a/c/src/ada-tests/support/timer_driver.adb +++ /dev/null @@ -1,45 +0,0 @@ --- --- Timer_Driver / Body --- --- Description: --- --- This package is the body for the Timer Driver. --- --- Dependencies: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package body Timer_Driver is - ---PAGE --- --- Set_Find_Average_Overhead --- --- - - procedure Set_Find_Average_Overhead ( - Find_Flag : in Standard.Boolean - ) is - procedure Set_Find_Average_Overhead_base ( - Find_Flag : in RTEMS.Boolean - ); - pragma Import (C, Set_Find_Average_Overhead_base, - "Set_find_average_overhead"); - begin - Set_Find_Average_Overhead_base (RTEMS.From_Ada_Boolean (Find_Flag)); - end Set_Find_Average_Overhead; - -end Timer_Driver; diff --git a/c/src/ada-tests/support/timer_driver.ads b/c/src/ada-tests/support/timer_driver.ads deleted file mode 100644 index bd7c4891b7..0000000000 --- a/c/src/ada-tests/support/timer_driver.ads +++ /dev/null @@ -1,81 +0,0 @@ --- --- Timer_Driver / Specification --- --- Description: --- --- This package is the specification for the Timer Driver. --- --- Dependencies: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package Timer_Driver is - --- --- Initialize --- --- Description: --- --- This subprogram initializes the hardware timer to start it. --- - - procedure Initialize; - pragma Import (C, Initialize, "Timer_initialize"); - --- --- Read_Timer --- --- Description: --- --- This subprogram stops the timer, calculates the length of time --- in microseconds since the timer was started, and returns that --- value. --- - - function Read_Timer - return RTEMS.Unsigned32; - pragma Import (C, Read_Timer, "Read_timer"); - --- --- Empty_Function --- --- Description: --- --- This subprogram is an empty subprogram. It is used to --- insure that a loop will be included in the final executable --- so that loop overhead can be subtracted from the directive --- times reported. --- - - procedure Empty_Function; - pragma Import (C, Empty_Function, "Empty_function"); - --- --- Set_Find_Average_Overhead --- --- Description: --- --- This subprogram sets the Find_Average_Overhead flag to the --- the value passed. --- - - procedure Set_Find_Average_Overhead ( - Find_Flag : in Standard.Boolean - ); - -private - -end Timer_Driver; diff --git a/c/src/ada-tests/support/unsigned32_io.ads b/c/src/ada-tests/support/unsigned32_io.ads deleted file mode 100644 index 4e207461c4..0000000000 --- a/c/src/ada-tests/support/unsigned32_io.ads +++ /dev/null @@ -1,28 +0,0 @@ --- --- Unsigned32_IO / Specification --- --- DESCRIPTION: --- --- This package instantiates the IO routines necessary to --- perform IO on data of the type RTEMS.Unsigned32. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with Text_IO; - -package Unsigned32_IO is new Text_IO.Modular_IO( RTEMS.Unsigned32 ); - diff --git a/c/src/ada-tests/tmtests/tm01/config.h b/c/src/ada-tests/tmtests/tm01/config.h deleted file mode 100644 index be54f54955..0000000000 --- a/c/src/ada-tests/tmtests/tm01/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm01/tm01.adb b/c/src/ada-tests/tmtests/tm01/tm01.adb deleted file mode 100644 index 34671d1495..0000000000 --- a/c/src/ada-tests/tmtests/tm01/tm01.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM01 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM01 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM01; - diff --git a/c/src/ada-tests/tmtests/tm01/tmtest.adb b/c/src/ada-tests/tmtests/tm01/tmtest.adb deleted file mode 100644 index ba9ab5dee1..0000000000 --- a/c/src/ada-tests/tmtests/tm01/tmtest.adb +++ /dev/null @@ -1,276 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 1 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 1 ***" ); - - TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - TMTEST.TASK_NAME( 2 ) := RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ); - TMTEST.TASK_NAME( 3 ) := RTEMS.BUILD_NAME( 'T', 'A', '3', ' ' ); - - RTEMS.TASK_CREATE( - TMTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - SEMAPHORE_OBTAIN_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_RELEASE_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_OBTAIN_NO_WAIT_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_OBTAIN_LOOP_TIME : RTEMS.UNSIGNED32; - SEMAPHORE_RELEASE_LOOP_TIME : RTEMS.UNSIGNED32; - INDEX : RTEMS.UNSIGNED32; - ITERATIONS : RTEMS.UNSIGNED32; - NAME : RTEMS.NAME; - SMID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - NAME := RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ); - - SEMAPHORE_OBTAIN_TIME := 0; - SEMAPHORE_RELEASE_TIME := 0; - SEMAPHORE_OBTAIN_NO_WAIT_TIME := 0; - SEMAPHORE_OBTAIN_LOOP_TIME := 0; - SEMAPHORE_RELEASE_LOOP_TIME := 0; - --- Time one invocation of SEMAPHORE_CREATE - - TIMER_DRIVER.INITIALIZE; - - RTEMS.SEMAPHORE_CREATE( - NAME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SMID, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_CREATE - ); - --- Time one invocation of SEMAPHORE_DELETE - - TIMER_DRIVER.INITIALIZE; - - RTEMS.SEMAPHORE_DELETE( SMID, STATUS ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_DELETE - ); - --- Create semaphore for repeated operations. - - RTEMS.SEMAPHORE_CREATE( - NAME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - SMID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - --- Perform repeated SEMAPHORE OBTAIN's and RELEASE's - - for ITERATIONS in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_OBTAIN_LOOP_TIME := SEMAPHORE_OBTAIN_LOOP_TIME + - TMTEST.END_TIME; - SEMAPHORE_RELEASE_LOOP_TIME := SEMAPHORE_RELEASE_LOOP_TIME + - TMTEST.END_TIME; - - -- Semaphore_obtain (available loop) - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_OBTAIN( - SMID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_OBTAIN_TIME := SEMAPHORE_OBTAIN_TIME + TMTEST.END_TIME; - - -- Semaphore_release - - TIMER_DRIVER.INITIALIZE; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_RELEASE( SMID, STATUS ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_RELEASE_TIME := SEMAPHORE_RELEASE_TIME + - TMTEST.END_TIME; - - -- Semaphore_p (NO_WAIT) - - TIMER_DRIVER.INITIALIZE; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_OBTAIN( - SMID, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_OBTAIN_NO_WAIT_TIME := - SEMAPHORE_OBTAIN_NO_WAIT_TIME + TMTEST.END_TIME; - - -- Semaphore_v - - TIMER_DRIVER.INITIALIZE; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.SEMAPHORE_RELEASE( SMID, STATUS ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - SEMAPHORE_RELEASE_TIME := SEMAPHORE_RELEASE_TIME + - TMTEST.END_TIME; - - end loop; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN (semaphore available)", - SEMAPHORE_OBTAIN_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.OPERATION_COUNT, - SEMAPHORE_OBTAIN_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_OBTAIN - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN (NO_WAIT)", - SEMAPHORE_OBTAIN_NO_WAIT_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.OPERATION_COUNT, - SEMAPHORE_OBTAIN_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_OBTAIN - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE (no task waiting)", - SEMAPHORE_RELEASE_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.OPERATION_COUNT * 2, - SEMAPHORE_RELEASE_LOOP_TIME * 2, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_RELEASE - ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm01/tmtest.ads b/c/src/ada-tests/tmtests/tm01/tmtest.ads deleted file mode 100644 index 3c8b449675..0000000000 --- a/c/src/ada-tests/tmtests/tm01/tmtest.ads +++ /dev/null @@ -1,68 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 1 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task performs the all of the timing operations in this test. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm02/config.h b/c/src/ada-tests/tmtests/tm02/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm02/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm02/tm02.adb b/c/src/ada-tests/tmtests/tm02/tm02.adb deleted file mode 100644 index ee13a6ddf7..0000000000 --- a/c/src/ada-tests/tmtests/tm02/tm02.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM02 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM02 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM02; - diff --git a/c/src/ada-tests/tmtests/tm02/tmtest.adb b/c/src/ada-tests/tmtests/tm02/tmtest.adb deleted file mode 100644 index 606661c956..0000000000 --- a/c/src/ada-tests/tmtests/tm02/tmtest.adb +++ /dev/null @@ -1,209 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 2 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 2 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT is - PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - HIGH_ID : RTEMS.ID; - LOW_ID : RTEMS.ID; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 5; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - HIGH_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF HIGH TASK" ); - - PRIORITY := PRIORITY + 1; - - RTEMS.TASK_START( - HIGH_ID, - TMTEST.HIGH_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF HIGH TASK" ); - - for INDEX in 2 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE MIDDLE" ); - - PRIORITY := PRIORITY + 1; - - RTEMS.TASK_START( - TASK_ID, - TMTEST.MIDDLE_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START MIDDLE" ); - - end loop; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - LOW_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF LOW TASK" ); - - RTEMS.TASK_START( LOW_ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF LOW TASK" ); - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_OBTAIN - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm02/tmtest.ads b/c/src/ada-tests/tmtests/tm02/tmtest.ads deleted file mode 100644 index 49e5df7c16..0000000000 --- a/c/src/ada-tests/tmtests/tm02/tmtest.ads +++ /dev/null @@ -1,103 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 2 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task starts the timer and performs a blocking --- SEMAPHORE_OBTAIN. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS task start the timer and performs a blocking --- SEMAPHORE_OBTAIN. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time for --- a blocking SEMAPHORE_OBTAIN. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm03/config.h b/c/src/ada-tests/tmtests/tm03/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm03/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm03/tm03.adb b/c/src/ada-tests/tmtests/tm03/tm03.adb deleted file mode 100644 index 13787b3d97..0000000000 --- a/c/src/ada-tests/tmtests/tm03/tm03.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM03 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM03 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM03; - diff --git a/c/src/ada-tests/tmtests/tm03/tmtest.adb b/c/src/ada-tests/tmtests/tm03/tmtest.adb deleted file mode 100644 index 192248bbcc..0000000000 --- a/c/src/ada-tests/tmtests/tm03/tmtest.adb +++ /dev/null @@ -1,194 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 3 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 3 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ), - 252, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TEST_INIT" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_INIT'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TEST_INIT" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - for INDEX in 2 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE MIDDLE" ); - - PRIORITY := PRIORITY - 1; - - RTEMS.TASK_START( TASK_ID, TMTEST.MIDDLE_TASKS'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START MIDDLE" ); - - end loop; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF HIGH TASK" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.HIGH_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF HIGH TASK" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SEMAPHORE_RELEASE( TMTEST.SEMAPHORE_ID, STATUS ); - - end TEST_INIT; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - RTEMS.SEMAPHORE_RELEASE( TMTEST.SEMAPHORE_ID, STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_RELEASE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm03/tmtest.ads b/c/src/ada-tests/tmtests/tm03/tmtest.ads deleted file mode 100644 index 0090300559..0000000000 --- a/c/src/ada-tests/tmtests/tm03/tmtest.ads +++ /dev/null @@ -1,95 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 3 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. After completion --- of test initialization, the timer is started and a preemptive --- SEMAPHORE_RELEASE is performed. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- This RTEMS task performs a blocking SEMAPHORE_OBTAIN. Once --- is obtains the semaphore unit and executes again, it performs --- a preemptive SEMAPHORE_RELEASE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- timer for a preemptive SEMAPHORE_RELEASE. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm04/config.h b/c/src/ada-tests/tmtests/tm04/config.h deleted file mode 100644 index e58f7c9923..0000000000 --- a/c/src/ada-tests/tmtests/tm04/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm04/tm04.adb b/c/src/ada-tests/tmtests/tm04/tm04.adb deleted file mode 100644 index 2207f55dc1..0000000000 --- a/c/src/ada-tests/tmtests/tm04/tm04.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM04 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM04 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM04; - diff --git a/c/src/ada-tests/tmtests/tm04/tmtest.adb b/c/src/ada-tests/tmtests/tm04/tmtest.adb deleted file mode 100644 index bef30afc6f..0000000000 --- a/c/src/ada-tests/tmtests/tm04/tmtest.adb +++ /dev/null @@ -1,501 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 4 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 4 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_COUNT := TIME_TEST_SUPPORT.OPERATION_COUNT; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 10, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.LOW_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - end TEST_INIT; - ---PAGE --- --- HIGHEST_TASK --- - - procedure HIGHEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - if ARGUMENT = 1 then - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (blocked, preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 254, OLD_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - elsif ARGUMENT = 2 then - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (ready, preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - - else - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end if; - - end HIGHEST_TASK; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - NAME : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_RESTART( TMTEST.HIGHEST_ID, 1, STATUS ); - -- preempted by Higher_task - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_RESTART( TMTEST.HIGHEST_ID, 2, STATUS ); - -- preempted by Higher_task - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.SEMAPHORE_RELEASE( TMTEST.SEMAPHORE_ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_RELEASE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE" ); - end loop; - - NAME := RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_CREATE( - NAME, - 10, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.LOW_TASKS'ACCESS, - 0, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_START", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_START - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE LOOP" ); - end loop; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_CREATE( - NAME, - 250, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.RESTART_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - RTEMS.TASK_SUSPEND( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND LOOP" ); - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESTART( TMTEST.TASK_ID( INDEX ), 0, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (suspended)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SUSPEND( TMTEST.TASK_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND LOOP" ); - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE (suspended)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_CREATE( - NAME, - 250, - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.RESTART_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESTART( TMTEST.TASK_ID( INDEX ), 1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (ready)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID( INDEX ), - 5, - OLD_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY LOOP" ); - end loop; - - -- yield processor -- tasks block - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESTART( TMTEST.TASK_ID( INDEX ), 1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART (blocked, no preempt)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - -- yield processor -- tasks block - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE (blocked)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASKS --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT - 1; - - if TMTEST.TASK_COUNT = 0 then - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', ' ', ' ' ), - 5, - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HI" ); - - RTEMS.TASK_START( - ID, - TMTEST.HIGH_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HI" ); - - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 3, - 2048, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.HIGHEST_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HIGH" ); - - RTEMS.TASK_START( - TMTEST.HIGHEST_ID, - TMTEST.HIGHEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HIGH" ); - - - end if; - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - - end LOW_TASKS; - ---PAGE --- --- RESTART_TASK --- - - procedure RESTART_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - PRIORITY : RTEMS.TASK_PRIORITY; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - if ARGUMENT = 1 then - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - STATUS - ); - end if; - - end RESTART_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm04/tmtest.ads b/c/src/ada-tests/tmtests/tm04/tmtest.ads deleted file mode 100644 index b4b29555df..0000000000 --- a/c/src/ada-tests/tmtests/tm04/tmtest.ads +++ /dev/null @@ -1,161 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 4 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable contains the id of the highest priority task --- in the system. --- - - HIGHEST_ID : RTEMS.ID; - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following is used to perform the same operation --- on a group of tasks. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGHEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is created by one of the LOW_TASKS. The --- first time it executes, it performs a blocking SEMAPHORE_OBTAIN --- which transfers control of the processor to HIGH_TASK. --- The first time HIGHEST_TASK is restarted, it stops the --- timer and reports the execution time for a TASK_RESTART --- for a blocked task which preempts the caller. The second --- time HIGHEST_TASK is restarted, it stops the timer and reports --- the execution time for a TASK_RESTART for a ready task which --- has its original priority restored and preempts the caller. --- - - procedure HIGHEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is created by one of the LOW_TASKS. This --- task restarts HIGHEST_TASK twice. HIGHEST_TASK is blocked the --- first time and preempts this task when restarted. HIGHEST_TASK --- is ready the second time but has lowered its priority. When --- restarted for the second time, HIGHEST_TASK will have its --- original priority restored and preempt this task. --- Once control of the processor is returned to this task after --- HIGHEST_TASK deletes itself, the following execution times --- are measured and reported. --- --- + readying SEMAPHORE_RELEASE --- + TASK_CREATE --- + TASK_START --- + TASK_RESTART of a suspended task --- + TASK_DELETE of a suspended task --- + TASK_RESTART of a ready task --- + TASK_RESTART of a blocked task which does not cause a preempt --- + TASK_DELETE of a blocked task --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASKS --- --- DESCRIPTION: --- --- The last of these RTEMS tasks to execute creates HIGH_TASK --- and HIGHEST_TASK. All of these tasks perform a blocking --- SEMAPHORE_OBTAIN. --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- RESTART_TASK --- --- DESCRIPTION: --- --- This RTEMS task --- - - procedure RESTART_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm05/config.h b/c/src/ada-tests/tmtests/tm05/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm05/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm05/tm05.adb b/c/src/ada-tests/tmtests/tm05/tm05.adb deleted file mode 100644 index 535717a052..0000000000 --- a/c/src/ada-tests/tmtests/tm05/tm05.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM05 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM05 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM05; - diff --git a/c/src/ada-tests/tmtests/tm05/tmtest.adb b/c/src/ada-tests/tmtests/tm05/tmtest.adb deleted file mode 100644 index 438988615a..0000000000 --- a/c/src/ada-tests/tmtests/tm05/tmtest.adb +++ /dev/null @@ -1,174 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 5 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 5 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = 0 then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TMTEST.TASK_ID( INDEX ), TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESUME causing preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESUME - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - TMTEST.TASK_INDEX := TMTEST.TASK_INDEX + 1; - RTEMS.TASK_RESUME( TMTEST.TASK_ID( TMTEST.TASK_INDEX ), STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SUSPEND self", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_SUSPEND - ); - - TMTEST.TASK_INDEX := 1; - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_RESUME( TMTEST.TASK_ID( TMTEST.TASK_INDEX ), STATUS ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm05/tmtest.ads b/c/src/ada-tests/tmtests/tm05/tmtest.ads deleted file mode 100644 index 2bb9b28c8d..0000000000 --- a/c/src/ada-tests/tmtests/tm05/tmtest.ads +++ /dev/null @@ -1,113 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 5 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - - TASK_INDEX : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It starts the timer and performs a TASK_SUSPEND on SELF. --- When this task executes again, it stops the timer and --- reports the execution time for a preemptive TASK_RESUME. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a TASK_SUSPEND on SELF. When each --- task executes again, it performs preemptive TASK_RESUME on --- a higher priority task. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. --- When this task executes, it stops the timer and reports the --- execution time for a blocking TASK_SUSPEND. After this, --- it starts the timer and performs a TASK_RESUME on a --- higher priority task. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm06/config.h b/c/src/ada-tests/tmtests/tm06/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm06/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm06/tm06.adb b/c/src/ada-tests/tmtests/tm06/tm06.adb deleted file mode 100644 index c3f0e3ea1b..0000000000 --- a/c/src/ada-tests/tmtests/tm06/tm06.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM06 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM06 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM06; - diff --git a/c/src/ada-tests/tmtests/tm06/tmtest.adb b/c/src/ada-tests/tmtests/tm06/tmtest.adb deleted file mode 100644 index e8d471cd87..0000000000 --- a/c/src/ada-tests/tmtests/tm06/tmtest.adb +++ /dev/null @@ -1,210 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 6 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 6 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_RESTARTED := TIME_TEST_SUPPORT.OPERATION_COUNT; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - end TEST_INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - if TMTEST.TASK_RESTARTED = TIME_TEST_SUPPORT.OPERATION_COUNT then - TIMER_DRIVER.INITIALIZE; - end if; - - TMTEST.TASK_RESTARTED := TMTEST.TASK_RESTARTED - 1; - - if TMTEST.TASK_RESTARTED /= 0 then - RTEMS.TASK_RESTART( RTEMS.SELF, 0, STATUS ); - end if; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART self", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 254, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.NULL_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SUSPEND( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SUSPEND no preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SUSPEND - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_RESUME( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESUME no preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_RESUME - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_DELETE( TMTEST.TASK_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE others", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- NULL_TASK --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - NULL; - - end NULL_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm06/tmtest.ads b/c/src/ada-tests/tmtests/tm06/tmtest.ads deleted file mode 100644 index bbeed402cf..0000000000 --- a/c/src/ada-tests/tmtests/tm06/tmtest.ads +++ /dev/null @@ -1,104 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 6 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable is used to determine which restart of TASK_1 will start --- timer and which will stop the timer and report the execution time. --- - - TASK_RESTARTED : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_RESTART of SELF --- + TASK_SUSPEND of another task with no context switch --- + TASK_RESUME with no preemption --- + TASK_DELETE of another task --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- NULL_TASK --- --- DESCRIPTION: --- --- This RTEMS task has no operations. It is used to have --- tasks to perform directives upon. --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm07/config.h b/c/src/ada-tests/tmtests/tm07/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm07/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm07/tm07.adb b/c/src/ada-tests/tmtests/tm07/tm07.adb deleted file mode 100644 index dc39b07f1e..0000000000 --- a/c/src/ada-tests/tmtests/tm07/tm07.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM07 of the Single Processor Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM07 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM07; - diff --git a/c/src/ada-tests/tmtests/tm07/tmtest.adb b/c/src/ada-tests/tmtests/tm07/tmtest.adb deleted file mode 100644 index 12a2402626..0000000000 --- a/c/src/ada-tests/tmtests/tm07/tmtest.adb +++ /dev/null @@ -1,179 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 7 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 7 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = 0 then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TMTEST.TASK_ID( INDEX ), TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - if ARGUMENT > 0 then - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART suspended/preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_RESTART - ); - else - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - end if; - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_INDEX := TMTEST.TASK_INDEX + 1; - - if ARGUMENT > 0 then - RTEMS.TASK_RESTART( - TMTEST.TASK_ID( TMTEST.TASK_INDEX ), - 16#7FFFFFFF#, - STATUS - ); - else - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - end if; - - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_INDEX := 1; - TIMER_DRIVER.INITIALIZE; - - RTEMS.TASK_RESTART( - TMTEST.TASK_ID( TMTEST.TASK_INDEX ), - 16#7FFFFFFF#, - STATUS - ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm07/tmtest.ads b/c/src/ada-tests/tmtests/tm07/tmtest.ads deleted file mode 100644 index 1e97840005..0000000000 --- a/c/src/ada-tests/tmtests/tm07/tmtest.ads +++ /dev/null @@ -1,111 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 7 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with TIME_TEST_SUPPORT; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - - TASK_INDEX : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- The first time it executes it suspends itself. When restarted --- it stops the timer and reports the time for a TASK_RESTART --- of a suspended task which results in a preemption. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks suspend themselves the first time they execute. --- When restarted they perform a TASK_RESTART of a suspended --- higher priority task which results in a preemption. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. --- When it executes it starts the timer and restarts a higher --- priority task which immediately preempts this task. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm08/config.h b/c/src/ada-tests/tmtests/tm08/config.h deleted file mode 100644 index 588ff58466..0000000000 --- a/c/src/ada-tests/tmtests/tm08/config.h +++ /dev/null @@ -1,38 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_MAXIMUM_SEMAPHORES 101 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm08/tm08.adb b/c/src/ada-tests/tmtests/tm08/tm08.adb deleted file mode 100644 index 03b6a77bb8..0000000000 --- a/c/src/ada-tests/tmtests/tm08/tm08.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM08 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM08 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM08; - diff --git a/c/src/ada-tests/tmtests/tm08/tmtest.adb b/c/src/ada-tests/tmtests/tm08/tmtest.adb deleted file mode 100644 index 971c7be472..0000000000 --- a/c/src/ada-tests/tmtests/tm08/tmtest.adb +++ /dev/null @@ -1,341 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 8 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 8 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_CREATE( - 1, - 128, - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_CREATE( - 1, - 254, - 1024, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_TASK1'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - end TEST_INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - OLD_PRIORITY : RTEMS.TASK_PRIORITY; - OLD_MODE : RTEMS.MODE; - OLD_NOTE : RTEMS.NOTEPAD_INDEX; - TIME : RTEMS.TIME_OF_DAY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID, - RTEMS.CURRENT_PRIORITY, - OLD_PRIORITY, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY current priority", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SET_PRIORITY - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID, - 253, - OLD_PRIORITY, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY no preempt", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SET_PRIORITY - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_MODE( - RTEMS.CURRENT_MODE, - RTEMS.CURRENT_MODE, - OLD_MODE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (current)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 1 ), - RTEMS.INTERRUPT_MASK, - OLD_MODE, - STATUS - ); - RTEMS.TASK_MODE( - RTEMS.INTERRUPT_LEVEL( 0 ), - RTEMS.INTERRUPT_MASK, - OLD_MODE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (no reschedule)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * 2, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_MODE( - RTEMS.NO_ASR, - RTEMS.ASR_MASK, - OLD_MODE, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (reschedule)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - OLD_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID, - 1, - OLD_PRIORITY, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_MODE( -- preempted by TEST_TASK1 - RTEMS.PREEMPT, - RTEMS.PREEMPT_MASK, - OLD_MODE, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_SET_NOTE( - TMTEST.TASK_ID, - 8, - 10, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_NOTE ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_SET_NOTE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_GET_NOTE( - TMTEST.TASK_ID, - 8, - OLD_NOTE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_GET_NOTE ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_GET_NOTE - ); - - TIME := (1988, 1, 1, 0, 0, 0, 0 ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.CLOCK_SET( - TIME, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_SET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.CLOCK_SET - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_GET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.CLOCK_GET - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - ---PAGE --- --- TEST_TASK1 --- - - procedure TEST_TASK1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE (preemptive) ", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.TASK_MODE - ); - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end TEST_TASK1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm08/tmtest.ads b/c/src/ada-tests/tmtests/tm08/tmtest.ads deleted file mode 100644 index 0eccb2a452..0000000000 --- a/c/src/ada-tests/tmtests/tm08/tmtest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 8 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - - TASK_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_SET_PRIORITY to obtain the current priority --- + TASK_SET_PRIORITY which does not require a context switch --- + TASK_MODE to obtain the current mode --- + TASK_MODE which does not require a reschedule --- + TASK_MODE which does require a reschedule --- + TASK_MODE which causes a preemption *** TEST_TASK1 executes --- + TASK_SET_NOTE --- + TASK_GET_NOTE --- + CLOCK_SET --- + CLOCK_GET --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK2 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_MODE which results in a preemption --- - - procedure TEST_TASK1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm09/config.h b/c/src/ada-tests/tmtests/tm09/config.h deleted file mode 100644 index b0a10b776c..0000000000 --- a/c/src/ada-tests/tmtests/tm09/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm09/tm09.adb b/c/src/ada-tests/tmtests/tm09/tm09.adb deleted file mode 100644 index add60e1e84..0000000000 --- a/c/src/ada-tests/tmtests/tm09/tm09.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM09 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM09 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM09; - diff --git a/c/src/ada-tests/tmtests/tm09/tmtest.adb b/c/src/ada-tests/tmtests/tm09/tmtest.adb deleted file mode 100644 index 0dd7d9d798..0000000000 --- a/c/src/ada-tests/tmtests/tm09/tmtest.adb +++ /dev/null @@ -1,302 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 9 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 9 ***" ); - - RTEMS.TASK_CREATE( - 1, - 128, - 4096, - RTEMS.DEFAULT_OPTIONS, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( TASK_ID, TMTEST.TEST_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_CREATE( - 1, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_CREATE - ); - - TMTEST.QUEUE_TEST; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_DELETE( - TMTEST.QUEUE_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - ---PAGE --- --- QUEUE_TEST --- - - procedure QUEUE_TEST - is - SEND_LOOP_TIME : RTEMS.UNSIGNED32; - URGENT_LOOP_TIME : RTEMS.UNSIGNED32; - RECEIVE_LOOP_TIME : RTEMS.UNSIGNED32; - SEND_TIME : RTEMS.UNSIGNED32; - URGENT_TIME : RTEMS.UNSIGNED32; - RECEIVE_TIME : RTEMS.UNSIGNED32; - EMPTY_FLUSH_TIME : RTEMS.UNSIGNED32; - FLUSH_TIME : RTEMS.UNSIGNED32; - FLUSH_COUNT : RTEMS.UNSIGNED32; - EMPTY_FLUSH_COUNT : RTEMS.UNSIGNED32; - INDEX : RTEMS.UNSIGNED32; - ITERATIONS : RTEMS.UNSIGNED32; - LOOP_COUNT : RTEMS.UNSIGNED32; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - SEND_LOOP_TIME := 0; - URGENT_LOOP_TIME := 0; - RECEIVE_LOOP_TIME := 0; - SEND_TIME := 0; - URGENT_TIME := 0; - RECEIVE_TIME := 0; - EMPTY_FLUSH_TIME := 0; - FLUSH_TIME := 0; - FLUSH_COUNT := 0; - EMPTY_FLUSH_COUNT := 0; - - BUFFER_POINTER := BUFFER'ADDRESS; - - for ITERATIONS in 1 .. TIME_TEST_SUPPORT.ITERATION_COUNT - loop - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - SEND_LOOP_TIME := SEND_LOOP_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - URGENT_LOOP_TIME := URGENT_LOOP_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - RECEIVE_LOOP_TIME := RECEIVE_LOOP_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - end loop; - SEND_TIME := SEND_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - RECEIVE_TIME := RECEIVE_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - end loop; - URGENT_TIME := URGENT_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - RECEIVE_TIME := RECEIVE_TIME + TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_FLUSH( - TMTEST.QUEUE_ID, - EMPTY_FLUSH_COUNT, - STATUS - ); - EMPTY_FLUSH_TIME := EMPTY_FLUSH_TIME + TIMER_DRIVER.READ_TIMER; - - -- send one message to flush - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_FLUSH( - TMTEST.QUEUE_ID, - FLUSH_COUNT, - STATUS - ); - FLUSH_TIME := FLUSH_TIME + TIMER_DRIVER.READ_TIMER; - - end loop; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND (no tasks waiting)", - SEND_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.ITERATION_COUNT, - SEND_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_SEND - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT (no tasks waiting)", - URGENT_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.ITERATION_COUNT, - URGENT_LOOP_TIME, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_URGENT - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE (messages available)", - RECEIVE_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT * - TIME_TEST_SUPPORT.ITERATION_COUNT * 2, - RECEIVE_LOOP_TIME * 2, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_RECEIVE - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_FLUSH (empty queue)", - EMPTY_FLUSH_TIME, - TIME_TEST_SUPPORT.ITERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_FLUSH - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_FLUSH (messages flushed)", - FLUSH_TIME, - TIME_TEST_SUPPORT.ITERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_FLUSH - ); - - end QUEUE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm09/tmtest.ads b/c/src/ada-tests/tmtests/tm09/tmtest.ads deleted file mode 100644 index d1a4f3eac1..0000000000 --- a/c/src/ada-tests/tmtests/tm09/tmtest.ads +++ /dev/null @@ -1,100 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 9 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + MESSAGE_QUEUE_CREATE --- + MESSAGE_QUEUE_DELETE --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- QUEUE_TEST --- --- DESCRIPTION: --- --- This subprogram is responsible for measuring and reporting the --- following directive execution times: --- --- + MESSAGE_QUEUE_SEND with no tasks waiting --- + MESSAGE_QUEUE_URGENT with no tasks waiting --- + MESSAGE_QUEUE_RECEIVE with messages available --- + MESSAGE_QUEUE_FLUSH with an empty message queue --- + MESSAGE_QUEUE_FLUSH with messages flushed --- - - procedure QUEUE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm10/config.h b/c/src/ada-tests/tmtests/tm10/config.h deleted file mode 100644 index a3748d64ce..0000000000 --- a/c/src/ada-tests/tmtests/tm10/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 110 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm10/tm10.adb b/c/src/ada-tests/tmtests/tm10/tm10.adb deleted file mode 100644 index 79f725dc0b..0000000000 --- a/c/src/ada-tests/tmtests/tm10/tm10.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM10 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM10 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM10; - diff --git a/c/src/ada-tests/tmtests/tm10/tmtest.adb b/c/src/ada-tests/tmtests/tm10/tmtest.adb deleted file mode 100644 index 99e776f311..0000000000 --- a/c/src/ada-tests/tmtests/tm10/tmtest.adb +++ /dev/null @@ -1,225 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 10 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 10 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - OVERHEAD : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - PRIORITY := 5; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY + 1; - - if INDEX = 0 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.MESSAGE_QUEUE_CREATE( - 1, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE (NO_WAIT)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_RECEIVE - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_RECEIVE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm10/tmtest.ads b/c/src/ada-tests/tmtests/tm10/tmtest.ads deleted file mode 100644 index 9268fa8bac..0000000000 --- a/c/src/ada-tests/tmtests/tm10/tmtest.ads +++ /dev/null @@ -1,117 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 10 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. After initialization --- has been completed, the NO_WAIT case for MESSAGE_QUEUE_RECEIVE --- is timed and reported. --- - - procedure TEST_INIT; - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It starts the timer and performs a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time --- of a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm11/config.h b/c/src/ada-tests/tmtests/tm11/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm11/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm11/tm11.adb b/c/src/ada-tests/tmtests/tm11/tm11.adb deleted file mode 100644 index d88dae9fa4..0000000000 --- a/c/src/ada-tests/tmtests/tm11/tm11.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM11 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM11 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM11; - diff --git a/c/src/ada-tests/tmtests/tm11/tmtest.adb b/c/src/ada-tests/tmtests/tm11/tmtest.adb deleted file mode 100644 index 5cba54d365..0000000000 --- a/c/src/ada-tests/tmtests/tm11/tmtest.adb +++ /dev/null @@ -1,219 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 11 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 11 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - --- As each task is started, it preempts this task and performs a blocking --- MESSAGE_QUEUE_RECEIVE. Upon completion of this loop all created tasks --- are blocked. - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end MIDDLE_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm11/tmtest.ads b/c/src/ada-tests/tmtests/tm11/tmtest.ads deleted file mode 100644 index 82b9ba2fbe..0000000000 --- a/c/src/ada-tests/tmtests/tm11/tmtest.ads +++ /dev/null @@ -1,114 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 11 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. As each application --- task is created and started, it will preempt this task and --- perform a blocking MESSAGE_QUEUE_RECEIVE. Once all of the --- initialization is completed, the timer is started and the first --- preemptive MESSAGE_QUEUE_SEND is executed. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It performs a blocking blocking MESSAGE_QUEUE_RECEIVE. It is --- the last test task created and started. Thus it is the last --- task to be enqueued waiting for a message and the last task --- to receive the message. Once it receives the message, it --- stops the timer and reports the execution time for a --- preemptive MESSAGE_QUEUE_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- As each of these RTEMS tasks is created and started, it preempts --- the initialization task and perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm12/config.h b/c/src/ada-tests/tmtests/tm12/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm12/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm12/tm12.adb b/c/src/ada-tests/tmtests/tm12/tm12.adb deleted file mode 100644 index aa19b74a5c..0000000000 --- a/c/src/ada-tests/tmtests/tm12/tm12.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM12 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM12 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM12; - diff --git a/c/src/ada-tests/tmtests/tm12/tmtest.adb b/c/src/ada-tests/tmtests/tm12/tmtest.adb deleted file mode 100644 index eb25d84829..0000000000 --- a/c/src/ada-tests/tmtests/tm12/tmtest.adb +++ /dev/null @@ -1,212 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 12 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 12 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.LOW_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.MESSAGE_QUEUE_SEND( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); --XXX - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_RECEIVE" ); --XXX - - end LOW_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm12/tmtest.ads b/c/src/ada-tests/tmtests/tm12/tmtest.ads deleted file mode 100644 index b18df42719..0000000000 --- a/c/src/ada-tests/tmtests/tm12/tmtest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 12 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. It --- only executes after all of the LOW_TASKS have blocked. It then --- times a readying MESSAGE_QUEUE_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm13/config.h b/c/src/ada-tests/tmtests/tm13/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm13/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm13/tm13.adb b/c/src/ada-tests/tmtests/tm13/tm13.adb deleted file mode 100644 index 79f3aabf2b..0000000000 --- a/c/src/ada-tests/tmtests/tm13/tm13.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM13 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM13 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM13; - diff --git a/c/src/ada-tests/tmtests/tm13/tmtest.adb b/c/src/ada-tests/tmtests/tm13/tmtest.adb deleted file mode 100644 index 2a657d9515..0000000000 --- a/c/src/ada-tests/tmtests/tm13/tmtest.adb +++ /dev/null @@ -1,217 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 13 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 13 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - --- As each task is started, it preempts this task and performs a blocking --- MESSAGE_QUEUE_RECEIVE. Upon completion of this loop all created tasks --- are blocked. - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_URGENT - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end MIDDLE_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm13/tmtest.ads b/c/src/ada-tests/tmtests/tm13/tmtest.ads deleted file mode 100644 index 2ecf4a3a96..0000000000 --- a/c/src/ada-tests/tmtests/tm13/tmtest.ads +++ /dev/null @@ -1,114 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 13 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. As each application --- task is created and started, it will preempt this task and --- perform a blocking MESSAGE_QUEUE_RECEIVE. Once all of the --- initialization is completed, the timer is started and the first --- preemptive MESSAGE_QUEUE_URGENT is executed. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority task in the system. --- It performs a blocking blocking MESSAGE_QUEUE_RECEIVE. It is --- the last test task created and started. Thus it is the last --- task to be enqueued waiting for a message and the last task --- to receive the message. Once it receives the message, it --- stops the timer and reports the execution time for a --- preemptive MESSAGE_QUEUE_URGENT. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- As each of these RTEMS tasks is created and started, it preempts --- the initialization task and perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm14/config.h b/c/src/ada-tests/tmtests/tm14/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm14/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm14/tm14.adb b/c/src/ada-tests/tmtests/tm14/tm14.adb deleted file mode 100644 index c155fcd29d..0000000000 --- a/c/src/ada-tests/tmtests/tm14/tm14.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM14 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM14 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM14; - diff --git a/c/src/ada-tests/tmtests/tm14/tmtest.adb b/c/src/ada-tests/tmtests/tm14/tmtest.adb deleted file mode 100644 index 69eeb368eb..0000000000 --- a/c/src/ada-tests/tmtests/tm14/tmtest.adb +++ /dev/null @@ -1,216 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 14 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 14 ***" ); - - RTEMS.TASK_CREATE( - 1, - 251, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - PRIORITY : RTEMS.TASK_PRIORITY; - TASK_ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_OPTIONS, - TMTEST.QUEUE_ID, - STATUS - ); - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - 1 - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - PRIORITY := PRIORITY - 1; - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT - 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.LOW_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TASK_ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.MESSAGE_QUEUE_URGENT( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - 16, - STATUS - ); - - end loop; - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_URGENT - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASKS --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - end LOW_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm14/tmtest.ads b/c/src/ada-tests/tmtests/tm14/tmtest.ads deleted file mode 100644 index e08a167fcb..0000000000 --- a/c/src/ada-tests/tmtests/tm14/tmtest.ads +++ /dev/null @@ -1,105 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 14 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the lowest priority task in the system. It --- only executes after all of the LOW_TASKS have blocked. It then --- times a readying MESSAGE_QUEUE_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking MESSAGE_QUEUE_RECEIVE. --- - - procedure LOW_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm15/config.h b/c/src/ada-tests/tmtests/tm15/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm15/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm15/tm15.adb b/c/src/ada-tests/tmtests/tm15/tm15.adb deleted file mode 100644 index ede6d05307..0000000000 --- a/c/src/ada-tests/tmtests/tm15/tm15.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM15 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM15 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM15; - diff --git a/c/src/ada-tests/tmtests/tm15/tmtest.adb b/c/src/ada-tests/tmtests/tm15/tmtest.adb deleted file mode 100644 index c1ed0dc9c2..0000000000 --- a/c/src/ada-tests/tmtests/tm15/tmtest.adb +++ /dev/null @@ -1,276 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 15 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 15 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - ID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TIME_SET := FALSE; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 10, - 1024, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOW" ); - - RTEMS.TASK_START( ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOW" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 5, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TMTEST.HIGH_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_RECEIVE( - RTEMS.PENDING_EVENTS, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (current)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_RECEIVE( - RTEMS.ALL_EVENTS, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (NO_WAIT)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - end TEST_INIT; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - EVENT_OUT : RTEMS.EVENT_SET; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_SEND( RTEMS.SELF, RTEMS.EVENT_16, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND (returns to caller)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_SEND - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE (available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.EVENT_RECEIVE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.EVENT_SEND( - TMTEST.TASK_ID( INDEX ), - RTEMS.EVENT_16, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND (readying)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.EVENT_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - ---PAGE --- --- HIGH_TASKS --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - if TMTEST.TIME_SET = FALSE then - TMTEST.TIME_SET := TRUE; - TIMER_DRIVER.INITIALIZE; - end if; - - RTEMS.EVENT_RECEIVE( - 16#7FFFFFFF#, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - - end HIGH_TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm15/tmtest.ads b/c/src/ada-tests/tmtests/tm15/tmtest.ads deleted file mode 100644 index 9ccc3d6558..0000000000 --- a/c/src/ada-tests/tmtests/tm15/tmtest.ads +++ /dev/null @@ -1,109 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 15 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. - TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable is set to TRUE if the timer has been initialized --- and is currently timing an operation. --- - - TIME_SET : Standard.BOOLEAN; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. Once initialization --- has been completed, the following operations are timed and reported: --- --- + event_receive of currently PENDING_EVENTS --- + event_receive NO_WAIT case --- - - procedure TEST_INIT; - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time --- of a blocking EVENT_RECEIVE. After this the following --- operations are timed and the execution time is reported: --- --- + EVENT_SEND which does not ready a task --- + EVENT_RECEIVE with the event condition available --- + EVENT_SEND which readies a task --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks executive a blocking EVENT_RECEIVE after --- initialization is complete. The first of these tasks to --- execute starts the timer. --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm16/config.h b/c/src/ada-tests/tmtests/tm16/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm16/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm16/tm16.adb b/c/src/ada-tests/tmtests/tm16/tm16.adb deleted file mode 100644 index 91acf3fe15..0000000000 --- a/c/src/ada-tests/tmtests/tm16/tm16.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM16 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM16 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM16; - diff --git a/c/src/ada-tests/tmtests/tm16/tmtest.adb b/c/src/ada-tests/tmtests/tm16/tmtest.adb deleted file mode 100644 index 57dcdd482d..0000000000 --- a/c/src/ada-tests/tmtests/tm16/tmtest.adb +++ /dev/null @@ -1,197 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 16 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 16 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'E', 'S', 'T' ), - 251, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TEST INIT" ); - - RTEMS.TASK_START( - ID, - TMTEST.TEST_INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TEST INIT" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - TASK_ENTRY : RTEMS.TASK_ENTRY; - STATUS : RTEMS.STATUS_CODES; - begin - - PRIORITY := 250; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( - TMTEST.TASK_ID( INDEX ), - TASK_ENTRY, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - PRIORITY := PRIORITY - 1; - - end loop; - - TMTEST.TASK_COUNT := 0; - - TIMER_DRIVER.INITIALIZE; -- starts the timer - - RTEMS.EVENT_SEND( -- preempts task - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - RTEMS.EVENT_16, - STATUS - ); - - end TEST_INIT; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( -- task blocks - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - RTEMS.EVENT_SEND( -- preempts task - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - RTEMS.EVENT_16, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EVENT_OUT : RTEMS.EVENT_SET; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.EVENT_RECEIVE( -- task blocks - RTEMS.EVENT_16, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - EVENT_OUT, - STATUS - ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.EVENT_SEND - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end HIGH_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm16/tmtest.ads b/c/src/ada-tests/tmtests/tm16/tmtest.ads deleted file mode 100644 index 44b7feabd2..0000000000 --- a/c/src/ada-tests/tmtests/tm16/tmtest.ads +++ /dev/null @@ -1,111 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 16 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This variable is used to index through the TASK_ID array --- so that events can be send to the next task. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. Once initialization --- has been completed, this task sets the TASK_COUNT to 0 and --- starts the timer before performing a preemptive EVENT_SEND. --- - - procedure TEST_INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is highest priority task in the system. --- Its first action is to perform a blocking EVENT_RECEIVE. --- It is the last task to have its event set sent to it. Thus it --- is the last task to be awakened by a preemptive EVENT_SEND. --- After it preempts the last MIDDLE_TASKS, it stops the timer --- and reports the execution time of preemptive EVENT_SEND. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking EVENT_RECEIVE. When --- readied, each task will increment the TASK_COUNT and --- perform a preemptive EVENT_SEND. TASK_COUNT is used to --- index the TASK_ID array in such a way that incrementing --- TASK_COUNT makes it index the ID of the next task to --- send events to. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm17/config.h b/c/src/ada-tests/tmtests/tm17/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm17/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm17/tm17.adb b/c/src/ada-tests/tmtests/tm17/tm17.adb deleted file mode 100644 index 263352447b..0000000000 --- a/c/src/ada-tests/tmtests/tm17/tm17.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM17 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM17 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM17; - diff --git a/c/src/ada-tests/tmtests/tm17/tmtest.adb b/c/src/ada-tests/tmtests/tm17/tmtest.adb deleted file mode 100644 index 1b36ab0cbf..0000000000 --- a/c/src/ada-tests/tmtests/tm17/tmtest.adb +++ /dev/null @@ -1,160 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 17 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ENTRY : RTEMS.TASK_ENTRY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 17 ***" ); - - TMTEST.TASK_PRIORITY := 254; - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - TMTEST.TASK_PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LAST_TASK'ACCESS; - elsif INDEX = 0 then - TASK_ENTRY := TMTEST.FIRST_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( TMTEST.TASK_ID( INDEX ), TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - TMTEST.TASK_COUNT := 1; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- FIRST_TASK --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - - TMTEST.TASK_PRIORITY := TMTEST.TASK_PRIORITY - 1; - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - TMTEST.TASK_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - - end FIRST_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_PRIORITY := TMTEST.TASK_PRIORITY - 1; - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - RTEMS.TASK_SET_PRIORITY( - TMTEST.TASK_ID( TMTEST.TASK_COUNT ), - TMTEST.TASK_PRIORITY, - PREVIOUS_PRIORITY, - STATUS - ); - - end MIDDLE_TASKS; - ---PAGE --- --- LAST_TASK --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY (preemptive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_SET_PRIORITY - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LAST_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm17/tmtest.ads b/c/src/ada-tests/tmtests/tm17/tmtest.ads deleted file mode 100644 index e63a76fc62..0000000000 --- a/c/src/ada-tests/tmtests/tm17/tmtest.ads +++ /dev/null @@ -1,109 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 17 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.NAME; - --- --- These variables are used to index the TASK_ID array and change --- the priority of each successive task such that the TASK_SET_PRIORITY --- results in a preemption. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - TASK_PRIORITY : RTEMS.TASK_PRIORITY; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FIRST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the first task to execute in the system. It --- starts the timer and updates the TASK_COUNT and TASK_PRIORITY --- variables so that a preemptive TASK_SET_PRIORITY can be performed. --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASK --- --- DESCRIPTION: --- --- These RTEMS tasks update the TASK_COUNT and TASK_PRIORITY variables --- so that a preemptive TASK_SET_PRIORITY can be performed. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LAST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the last task to execute in the system. It --- stops the timer and reports the execution time of a preemptive --- TASK_SET_PRIORITY. --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm18/config.h b/c/src/ada-tests/tmtests/tm18/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm18/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm18/tm18.adb b/c/src/ada-tests/tmtests/tm18/tm18.adb deleted file mode 100644 index 207c78261e..0000000000 --- a/c/src/ada-tests/tmtests/tm18/tm18.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM18 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM18 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM18; - diff --git a/c/src/ada-tests/tmtests/tm18/tmtest.adb b/c/src/ada-tests/tmtests/tm18/tmtest.adb deleted file mode 100644 index 2603ed0c77..0000000000 --- a/c/src/ada-tests/tmtests/tm18/tmtest.adb +++ /dev/null @@ -1,154 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 18 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 18 ***" ); - - TMTEST.TEST_INIT; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_INIT --- - - procedure TEST_INIT - is - ID : RTEMS.ID; - TASK_ENTRY : RTEMS.TASK_ENTRY; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - - if INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LAST_TASK'ACCESS; - elsif INDEX = 0 then - TASK_ENTRY := TMTEST.FIRST_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - end TEST_INIT; - ---PAGE --- --- FIRST_TASK --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - - end FIRST_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- LAST_TASK --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE (self)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LAST_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm18/tmtest.ads b/c/src/ada-tests/tmtests/tm18/tmtest.ads deleted file mode 100644 index 4fe81c9fcb..0000000000 --- a/c/src/ada-tests/tmtests/tm18/tmtest.ads +++ /dev/null @@ -1,97 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 18 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_INIT --- --- DESCRIPTION: --- --- This subprogram performs test initialization. --- - - procedure TEST_INIT; - --- --- FIRST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the first task to execute. It starts the --- timer and performs a TASK_DELETE on itself. --- - - procedure FIRST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASK --- --- DESCRIPTION: --- --- These RTEMS tasks perform a TASK_DELETE on themselves. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LAST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the last task to execute. It stops the --- timer and reports the execution time of a TASK_DELETE SELF. --- - - procedure LAST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm19/config.h b/c/src/ada-tests/tmtests/tm19/config.h deleted file mode 100644 index b82372ca0f..0000000000 --- a/c/src/ada-tests/tmtests/tm19/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm19/tm19.adb b/c/src/ada-tests/tmtests/tm19/tm19.adb deleted file mode 100644 index 6e62411a10..0000000000 --- a/c/src/ada-tests/tmtests/tm19/tm19.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM19 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM19 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM19; - diff --git a/c/src/ada-tests/tmtests/tm19/tmtest.adb b/c/src/ada-tests/tmtests/tm19/tmtest.adb deleted file mode 100644 index 1beb25e26b..0000000000 --- a/c/src/ada-tests/tmtests/tm19/tmtest.adb +++ /dev/null @@ -1,287 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 19 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 19 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 127, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK2" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 2 ), - TMTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK2" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 126, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 3 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK3" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 3 ), - TMTEST.TASK_3'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK3" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- PROCESS_ASR_FOR_PASS_1 --- - - procedure PROCESS_ASR_FOR_PASS_1 ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_SEND (self)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SIGNAL_SEND - ); - - TEXT_IO.PUT_LINE( "SIGNAL_ENTER (preemptive) na" ); - - TIMER_DRIVER.INITIALIZE; - - end PROCESS_ASR_FOR_PASS_1; - ---PAGE --- --- PROCESS_ASR_FOR_PASS_2 --- - - procedure PROCESS_ASR_FOR_PASS_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.PUT_LINE( "SIGNAL_ENTER (preemptive) na" ); - - RTEMS.TASK_RESUME( TMTEST.TASK_ID( 3 ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_RESUME" ); - - TIMER_DRIVER.INITIALIZE; - - end PROCESS_ASR_FOR_PASS_2; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_CATCH( - TMTEST.PROCESS_ASR_FOR_PASS_1'ACCESS, - RTEMS.DEFAULT_MODES, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_CATCH", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SIGNAL_CATCH - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_SEND( TMTEST.TASK_ID( 2 ), RTEMS.SIGNAL_1, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_SEND (non-preemptive)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.SIGNAL_SEND - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - - -- end time is done in ASR - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_RETURN (non-preemptive)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS.SIGNAL_CATCH( - TMTEST.PROCESS_ASR_FOR_PASS_2'ACCESS, - RTEMS.NO_PREEMPT, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.SIGNAL_SEND( RTEMS.SELF, RTEMS.SIGNAL_1, STATUS ); - - end TASK_1; - ---PAGE --- --- PROCESS_ASR_FOR_TASK_2 --- - - procedure PROCESS_ASR_FOR_TASK_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - NULL; - - end PROCESS_ASR_FOR_TASK_2; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SIGNAL_CATCH( - TMTEST.PROCESS_ASR_FOR_TASK_2'ACCESS, - RTEMS.DEFAULT_MODES, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SIGNAL_CATCH" ); - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - end TASK_2; - ---PAGE --- --- TASK_3 --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_RETURN (preemptive)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_3; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm19/tmtest.ads b/c/src/ada-tests/tmtests/tm19/tmtest.ads deleted file mode 100644 index 2ac34a75fb..0000000000 --- a/c/src/ada-tests/tmtests/tm19/tmtest.ads +++ /dev/null @@ -1,144 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 19 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR_FOR_PASS_1 --- --- DESCRIPTION: --- --- This subprogram is the ASR used to measure and report the --- execution time of a SIGNAL_SEND to SELF. Before it exits --- it starts the timer so that the execution time required to --- exit from an ASR back to the same task can be measured. --- - - procedure PROCESS_ASR_FOR_PASS_1 ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- PROCESS_ASR_FOR_PASS_2 --- --- DESCRIPTION: --- --- This subprogram is the ASR which sets up for a preemptive --- return from an ASR. Before it exits it starts the timer --- so that the execution time required to exit from an ASR --- and transfer control to the another task can be measured. --- - - procedure PROCESS_ASR_FOR_PASS_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following execution times: --- --- + SIGNAL_CATCH --- + non-preemptive SIGNAL_SEND --- + non-preemptive return from an ASR --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PROCESS_ASR_FOR_TASK_2 --- --- DESCRIPTION: --- --- This subprogram is the ASR for TASK_2. It performs no actions. --- - - procedure PROCESS_ASR_FOR_TASK_2 ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is used as the recipient of a SIGNAL_SEND. --- After establishing an ASR, it suspends itself to insure --- that it does not execute again. --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_3 --- --- DESCRIPTION: --- --- This RTEMS task is used as the recipient of a preemptive --- SIGNAL_SEND. This task suspends itself and is resumed by --- an ASR for TASK_1. Once the task executes, it stops the --- timer and reports the execution time for a preemptive --- return from an ASR. --- - - procedure TASK_3 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm20/config.h b/c/src/ada-tests/tmtests/tm20/config.h deleted file mode 100644 index 83d86e9b8c..0000000000 --- a/c/src/ada-tests/tmtests/tm20/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_PARTITIONS 1 -#define CONFIGURE_MAXIMUM_REGIONS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm20/tm20.adb b/c/src/ada-tests/tmtests/tm20/tm20.adb deleted file mode 100644 index 4462a79bb9..0000000000 --- a/c/src/ada-tests/tmtests/tm20/tm20.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM20 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM20 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM20; - diff --git a/c/src/ada-tests/tmtests/tm20/tmtest.adb b/c/src/ada-tests/tmtests/tm20/tmtest.adb deleted file mode 100644 index 6b17059e35..0000000000 --- a/c/src/ada-tests/tmtests/tm20/tmtest.adb +++ /dev/null @@ -1,588 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 20 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 20 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', '1' ), - 128, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', '2' ), - 129, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TASK2" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 2 ), - TMTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TASK2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER_COUNT : RTEMS.UNSIGNED32; - INDEX : RTEMS.UNSIGNED32; - PREVIOUS_MODE : RTEMS.MODE; - PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY; - RETURN_VALUE : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.PARTITION_NAME := RTEMS.BUILD_NAME( 'P', 'A', 'R', 'T' ); - - TIMER_DRIVER.INITIALIZE; - - RTEMS.PARTITION_CREATE( - TMTEST.PARTITION_NAME, - TMTEST.PARTITION_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.PARTITION_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_CREATE - ); - - TMTEST.REGION_NAME := RTEMS.BUILD_NAME( 'R', 'E', 'G', 'N' ); - - TIMER_DRIVER.INITIALIZE; - - RTEMS.REGION_CREATE( - TMTEST.REGION_NAME, - TMTEST.REGION_AREA'ADDRESS, - 2048, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.REGION_ID, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_GET_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_GET_BUFFER (available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_GET_BUFFER - ); - - BUFFER_COUNT := 0; - loop - - RTEMS.PARTITION_GET_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESSES( BUFFER_COUNT ), - STATUS - ); - - exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.UNSATISFIED ); - - BUFFER_COUNT := BUFFER_COUNT + 1; - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_GET_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_GET_BUFFER (not available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_GET_BUFFER - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_RETURN_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_RETURN_BUFFER", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_RETURN_BUFFER - ); - - for INDEX in 0 .. BUFFER_COUNT - 1 - loop - - RTEMS.PARTITION_RETURN_BUFFER( - TMTEST.PARTITION_ID, - TMTEST.BUFFER_ADDRESSES( INDEX ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_RETURN_BUFFER" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - RTEMS.PARTITION_DELETE( TMTEST.PARTITION_ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.PARTITION_DELETE - ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_3, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT (available)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_GET_SEGMENT - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 1998, - RTEMS.NO_WAIT, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_4, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT (NO_WAIT)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_GET_SEGMENT - ); - - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_3, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT (no tasks waiting)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_RETURN_SEGMENT - ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_GET_SEGMENT" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 1998, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - - -- execute TASK_2 - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT (preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_RETURN_SEGMENT - ); - - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_RETURN_SEGMENT" ); - - RTEMS.TASK_MODE( - RTEMS.NO_PREEMPT, - RTEMS.PREEMPT_MASK, - PREVIOUS_MODE, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_MODE" ); - - RTEMS.TASK_SET_PRIORITY( RTEMS.SELF, 254, PREVIOUS_PRIORITY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SET_PRIORITY" ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 400, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - - RTEMS.REGION_GET_SEGMENT( - TMTEST.REGION_ID, - 1998, - RTEMS.DEFAULT_OPTIONS, - RTEMS.NO_TIMEOUT, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - - -- execute TASK_2 - - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_2, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_DELETE( TMTEST.REGION_ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_DELETE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_DELETE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_INITIALIZE( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_INITIALIZE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_INITIALIZE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_OPEN( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_OPEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_OPEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_CLOSE( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CLOSE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_CLOSE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_READ( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_READ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_READ - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_WRITE( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_WRITE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_WRITE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.IO_CONTROL( - 1, - 0, - RTEMS.NULL_ADDRESS, - RETURN_VALUE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CONTROL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.IO_CONTROL - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT (blocking)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_GET_SEGMENT - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - - -- preempt back to TASK_1 - - TIMER_DRIVER.INITIALIZE; - RTEMS.REGION_RETURN_SEGMENT( - TMTEST.REGION_ID, - TMTEST.BUFFER_ADDRESS_1, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT (ready -- return)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.REGION_RETURN_SEGMENT - ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end TASK_2; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm20/tmtest.ads b/c/src/ada-tests/tmtests/tm20/tmtest.ads deleted file mode 100644 index cf1dfeaaa1..0000000000 --- a/c/src/ada-tests/tmtests/tm20/tmtest.ads +++ /dev/null @@ -1,151 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 20 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- These following are the ID and NAME of the RTEMS partition created --- by this test. --- - - PARTITION_ID : RTEMS.ID; - PARTITION_NAME : RTEMS.NAME; - --- --- These following are the ID and NAME of the RTEMS region created --- by this test. --- - - REGION_ID : RTEMS.ID; - REGION_NAME : RTEMS.NAME; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following area defines a memory area to be used as the --- memory space for a region. --- - - REGION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - - for REGION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- The following are the buffers allocated from the region. --- - - BUFFER_ADDRESS_1 : RTEMS.ADDRESS; - BUFFER_ADDRESS_2 : RTEMS.ADDRESS; - BUFFER_ADDRESS_3 : RTEMS.ADDRESS; - BUFFER_ADDRESS_4 : RTEMS.ADDRESS; - - BUFFER_ADDRESSES : array ( RTEMS.UNSIGNED32 - range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ADDRESS; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following execution times: --- --- + PARTITION_CREATE --- + REGION_CREATE --- + PARTITION_GET_BUFFER with a buffer available --- + PARTITION_GET_BUFFER with no buffers available --- + PARTITION_RETURN_BUFFER --- + PARTITION_DELETE --- + REGION_GET_SEGMENT with a segment available --- + REGION_GET_SEGMENT with the NO_WAIT option --- + REGION_RETURN_SEGMENT with no tasks waiting for memory --- + REGION_RETURN_SEGMENT preemptive --- + REGION_DELETE --- + IO_INITIALIZE --- + IO_OPEN --- + IO_CLOSE --- + IO_READ --- + IO_WRITE --- + IO_CONTROL --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following execution times: --- --- + blocking REGION_GET_SEGMENT --- + REGION_RETURN_SEGMENT which readies a task --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm21/config.h b/c/src/ada-tests/tmtests/tm21/config.h deleted file mode 100644 index 43d589d0f0..0000000000 --- a/c/src/ada-tests/tmtests/tm21/config.h +++ /dev/null @@ -1,43 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 102 -#define CONFIGURE_MAXIMUM_TIMERS 100 -#define CONFIGURE_MAXIMUM_SEMAPHORES 100 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 100 -#define CONFIGURE_MAXIMUM_PARTITIONS 100 -#define CONFIGURE_MAXIMUM_REGIONS 100 -#define CONFIGURE_MAXIMUM_PORTS 100 -#define CONFIGURE_MAXIMUM_PERIODS 100 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm21/tm21.adb b/c/src/ada-tests/tmtests/tm21/tm21.adb deleted file mode 100644 index 05958d5ad5..0000000000 --- a/c/src/ada-tests/tmtests/tm21/tm21.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM21 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM21 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM21; - diff --git a/c/src/ada-tests/tmtests/tm21/tmtest.adb b/c/src/ada-tests/tmtests/tm21/tmtest.adb deleted file mode 100644 index 51ea93cc8b..0000000000 --- a/c/src/ada-tests/tmtests/tm21/tmtest.adb +++ /dev/null @@ -1,302 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 21 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 21 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 250, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE TASK_1" ); - - RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START TASK1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - INDEX, - 254, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - INDEX, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - RTEMS.SEMAPHORE_CREATE( - INDEX, - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - RTEMS.REGION_CREATE( - INDEX, - TMTEST.REGION_AREA'ADDRESS, - 2048, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" ); - - RTEMS.PARTITION_CREATE( - INDEX, - TMTEST.PARTITION_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); - - RTEMS.PORT_CREATE( - INDEX, - TMTEST.INTERNAL_PORT_AREA'ADDRESS, - TMTEST.EXTERNAL_PORT_AREA'ADDRESS, - 16#FF#, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PORT_CREATE" ); - - RTEMS.TIMER_CREATE( INDEX, ID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.RATE_MONOTONIC_CREATE( INDEX, ID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_IDENT( INDEX, RTEMS.SEARCH_ALL_NODES, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_IDENT( - INDEX, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.SEMAPHORE_IDENT( - INDEX, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.SEMAPHORE_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PARTITION_IDENT( - INDEX, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PARTITION_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.REGION_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.REGION_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TIMER_IDENT - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.RATE_MONOTONIC_IDENT( INDEX, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_IDENT - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm21/tmtest.ads b/c/src/ada-tests/tmtests/tm21/tmtest.ads deleted file mode 100644 index 36d687256f..0000000000 --- a/c/src/ada-tests/tmtests/tm21/tmtest.ads +++ /dev/null @@ -1,122 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 21 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with TIMER_DRIVER; -with System.Storage_Elements; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- memory space for a partition. --- - - PARTITION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - for PARTITION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- These following are the ID and NAME of the RTEMS region created --- by this test. --- - - REGION_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 2047 ) - of RTEMS.UNSIGNED8; - for REGION_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + TASK_IDENT --- + MESSAGE_QUEUE_IDENT --- + SEMAPHORE_IDENT --- + PARTITION_IDENT --- + REGION_IDENT --- + PORT_IDENT --- + TIMER_IDENT --- + RATE_MONOTONIC_IDENT --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm22/config.h b/c/src/ada-tests/tmtests/tm22/config.h deleted file mode 100644 index a9d518d83e..0000000000 --- a/c/src/ada-tests/tmtests/tm22/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 103 -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm22/tm22.adb b/c/src/ada-tests/tmtests/tm22/tm22.adb deleted file mode 100644 index 037168ddcf..0000000000 --- a/c/src/ada-tests/tmtests/tm22/tm22.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM22 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM22 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM22; - diff --git a/c/src/ada-tests/tmtests/tm22/tmtest.adb b/c/src/ada-tests/tmtests/tm22/tmtest.adb deleted file mode 100644 index d1a2c3cf29..0000000000 --- a/c/src/ada-tests/tmtests/tm22/tmtest.adb +++ /dev/null @@ -1,256 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 22 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 22 ***" ); - - RTEMS.MESSAGE_QUEUE_CREATE( - RTEMS.BUILD_NAME( 'M', 'Q', '1', ' ' ), - 100, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.MESSAGE_QUEUE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_CREATE" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 10, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOW" ); - - RTEMS.TASK_START( ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOW" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'P', 'R', 'M', 'T' ), - 11, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE PREEMPT" ); - - RTEMS.TASK_START( ID, TMTEST.PREEMPT_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START PREEMPT" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_BROADCAST( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST (readying)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_BROADCAST - ); - - RTEMS.TASK_SUSPEND( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_SUSPEND" ); - - end HIGH_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 5, - 2048, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HIGH" ); - - RTEMS.TASK_START( ID, TMTEST.HIGH_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HIGH" ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.MESSAGE_QUEUE_BROADCAST( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST (no waiting tasks)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_BROADCAST - ); - - RTEMS.MESSAGE_QUEUE_RECEIVE( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - RTEMS.DEFAULT_MODES, - RTEMS.NO_TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - - -- should go to PREEMPT_TASK here - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST (preempt)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.MESSAGE_QUEUE_BROADCAST - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - COUNT : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - BUFFER_POINTER := BUFFER'ADDRESS; - - TIMER_DRIVER.INITIALIZE; - RTEMS.MESSAGE_QUEUE_BROADCAST( - TMTEST.MESSAGE_QUEUE_ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - - -- should be preempted by LOW_TASK - - end PREEMPT_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm22/tmtest.ads b/c/src/ada-tests/tmtests/tm22/tmtest.ads deleted file mode 100644 index 43270fcf65..0000000000 --- a/c/src/ada-tests/tmtests/tm22/tmtest.ads +++ /dev/null @@ -1,119 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 22 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- The following is the ID of the message queue used for timing operations. --- - - MESSAGE_QUEUE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is created by LOW_TASK and executes after --- LOW_TASK has performed a blocking MESSAGE_QUEUE_RECEIVE. --- This task then executes and performs a readying --- MESSAGE_QUEUE_BROADCAST and reports its execution time. --- Finally, the task suspends itself so LOW_TASK can continue --- execution. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task performs a blocking MESSAGE_QUEUE_RECEIVE --- so that when HIGH_TASK performs a MESSAGE_QUEUE_BROADCAST, --- there will be a task to be readied. Following this, the --- execution time for a MESSAGE_QUEUE_BROADCAST to a message --- queue with no waiting tasks is measured and reported. --- Then this task performs another blocking MESSAGE_QUEUE_RECEIVE --- so that when PREEMPT_TASK performs a MESSAGE_QUEUE_BROADCAST, --- PREEMPT_TASK will be preempted by this task. After control --- of the processor is transferred back to this task by the --- preemption, the timer is stopped and the execution time of --- a preemptive MESSAGE_QUEUE_BROADCAST is reported. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- PREEMPT_TASK --- --- DESCRIPTION: --- --- This RTEMS task starts the timer and performs a preemptive --- MESSAGE_QUEUE_BROADCAST. --- - - procedure PREEMPT_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm23/config.h b/c/src/ada-tests/tmtests/tm23/config.h deleted file mode 100644 index 5e53478121..0000000000 --- a/c/src/ada-tests/tmtests/tm23/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm23/tm23.adb b/c/src/ada-tests/tmtests/tm23/tm23.adb deleted file mode 100644 index b6855a86e1..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tm23.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM23 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM23 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM23; - diff --git a/c/src/ada-tests/tmtests/tm23/tmtest.adb b/c/src/ada-tests/tmtests/tm23/tmtest.adb deleted file mode 100644 index bb9dabe3be..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tmtest.adb +++ /dev/null @@ -1,399 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 23 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - OVERHEAD : RTEMS.UNSIGNED32; - TASK_PRIORITY : RTEMS.TASK_PRIORITY; - INDEX : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - TASK_ENTRY : RTEMS.TASK_ENTRY; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 23 ***" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TASK_PRIORITY := 5; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - TASK_PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASK_START( ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - TASK_PRIORITY := TASK_PRIORITY + 1; - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- NULL_DELAY --- - - procedure NULL_DELAY ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end NULL_DELAY; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.TASK_PRIORITY; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CREATE( - INDEX, - TMTEST.TIMER_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_AFTER - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_AFTER - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_RESET( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_RESET - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_RESET( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_RESET - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - - TMTEST.TIME_OF_DAY := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK_SET( TMTEST.TIME_OF_DAY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TMTEST.TIME_OF_DAY.YEAR := 1989; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_WHEN( - TMTEST.TIMER_ID( INDEX ), - TMTEST.TIME_OF_DAY, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_WHEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_FIRE_WHEN( - TMTEST.TIMER_ID( INDEX ), - TMTEST.TIME_OF_DAY, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_WHEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_DELETE( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_CREATE( INDEX, TMTEST.TIMER_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TIMER_FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.TIMER_CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER_DELETE( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_DELETE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASK_WAKE_WHEN( TMTEST.TIME_OF_DAY, STATUS ); - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASK_WAKE_WHEN( TMTEST.TIME_OF_DAY, STATUS ); - - end MIDDLE_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_WHEN - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm23/tmtest.ads b/c/src/ada-tests/tmtests/tm23/tmtest.ads deleted file mode 100644 index 9f713ae073..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tmtest.ads +++ /dev/null @@ -1,130 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 23 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with TIME_TEST_SUPPORT; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS timers created by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This data item contains a time of day used by all of the --- "WHEN" directives timed in this test. --- - - TIME_OF_DAY : RTEMS.TIME_OF_DAY; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- NULL_DELAY --- --- DESCRIPTION: --- --- This subprogram is a timer service routine. It performs --- no actions. --- - - procedure NULL_DELAY ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following directive execution times: --- --- + TIMER_CREATE --- + TIMER_FIRE_AFTER with an inactive timer --- + TIMER_FIRE_AFTER with an active timer --- + TIMER_CANCEL of an active timer --- + TIMER_CANCEL of an inactive timer --- + TIMER_RESET of an active timer --- + TIMER_RESET of an inactive timer --- + TIMER_FIRE_WHEN of an inactive timer --- + TIMER_FIRE_WHEN of an active timer --- + TIMER_DELETE of an active timer --- + TIMER_DELETE of an inactive timer --- --- After measuring and reporting the above times, this task starts --- the timer and executes the TASK_WAKE_WHEN directive. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks executes the TASK_WAKE_WHEN directive. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time for --- the TASK_WAKE_WHEN directive. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm24/config.h b/c/src/ada-tests/tmtests/tm24/config.h deleted file mode 100644 index 7e7793cf15..0000000000 --- a/c/src/ada-tests/tmtests/tm24/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm24/tm24.adb b/c/src/ada-tests/tmtests/tm24/tm24.adb deleted file mode 100644 index 03873ba82c..0000000000 --- a/c/src/ada-tests/tmtests/tm24/tm24.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM24 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM24 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM24; - diff --git a/c/src/ada-tests/tmtests/tm24/tmtest.adb b/c/src/ada-tests/tmtests/tm24/tmtest.adb deleted file mode 100644 index e8af0ca6ea..0000000000 --- a/c/src/ada-tests/tmtests/tm24/tmtest.adb +++ /dev/null @@ -1,165 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 24 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 24 ***" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.OVERHEAD := TIMER_DRIVER.READ_TIMER; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 10, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE HIGH" ); - - RTEMS.TASK_START( ID, TMTEST.HIGH_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START HIGH" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'R', 'E', 'S', 'T' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( ID, TMTEST.TASKS'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_AFTER (no context switch)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - TMTEST.OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_AFTER - ); - - TMTEST.TASK_COUNT := 0; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end HIGH_TASK; - ---PAGE --- --- TASKS --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - if TMTEST.TASK_COUNT = 1 then - - TIMER_DRIVER.INITIALIZE; - - elsif TMTEST.TASK_COUNT = TIME_TEST_SUPPORT.OPERATION_COUNT then - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_AFTER (context switch)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - TMTEST.OVERHEAD, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_AFTER - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end if; - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - - end TASKS; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm24/tmtest.ads b/c/src/ada-tests/tmtests/tm24/tmtest.ads deleted file mode 100644 index df90eddb91..0000000000 --- a/c/src/ada-tests/tmtests/tm24/tmtest.ads +++ /dev/null @@ -1,99 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 24 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- This variable is used to determine which task should --- start the timer and which task should stop the timer --- and report the execution time. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- This variable contains the execution time required of the --- loop used to execute the directive. --- - - OVERHEAD : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- execution time for an invocation of TASK_WAKE_AFTER which --- attempts to yield but does not result in a context switch. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks are responsible for measuring and reporting the --- execution time for an invocation of TASK_WAKE_AFTER which --- attempts to yield but does result in a context switch. --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm25/config.h b/c/src/ada-tests/tmtests/tm25/config.h deleted file mode 100644 index e58f7c9923..0000000000 --- a/c/src/ada-tests/tmtests/tm25/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm25/tm25.adb b/c/src/ada-tests/tmtests/tm25/tm25.adb deleted file mode 100644 index c3099ab193..0000000000 --- a/c/src/ada-tests/tmtests/tm25/tm25.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM25 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM25 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM25; - diff --git a/c/src/ada-tests/tmtests/tm25/tmtest.adb b/c/src/ada-tests/tmtests/tm25/tmtest.adb deleted file mode 100644 index 080129028e..0000000000 --- a/c/src/ada-tests/tmtests/tm25/tmtest.adb +++ /dev/null @@ -1,157 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 25 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 25 ***" ); - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'M', '1', ' ' ), - 0, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE OF SM1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOW" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.LOW_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOW" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.HIGH_TASKS'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- HIGH_TASKS --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.SEMAPHORE_OBTAIN( - TMTEST.SEMAPHORE_ID, - RTEMS.DEFAULT_OPTIONS, - RTEMS.INTERVAL'LAST, - STATUS - ); - - end HIGH_TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.CLOCK_TICK( STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_TICK", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.CLOCK_TICK - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm25/tmtest.ads b/c/src/ada-tests/tmtests/tm25/tmtest.ads deleted file mode 100644 index 069e7e17ee..0000000000 --- a/c/src/ada-tests/tmtests/tm25/tmtest.ads +++ /dev/null @@ -1,80 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 25 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks perform a blocking SEMAPHORE_OBTAIN which --- has an optional timeout. --- - - procedure HIGH_TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the execution time for the CLOCK_TICK directive. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm26/README b/c/src/ada-tests/tmtests/tm26/README deleted file mode 100644 index c54eb82024..0000000000 --- a/c/src/ada-tests/tmtests/tm26/README +++ /dev/null @@ -1,6 +0,0 @@ -# -# $Id$ -# - -This test requires interfacing to internal RTEMS routines and -is probably not worth the effort to convert. diff --git a/c/src/ada-tests/tmtests/tm26/config.h b/c/src/ada-tests/tmtests/tm26/config.h deleted file mode 100644 index e58f7c9923..0000000000 --- a/c/src/ada-tests/tmtests/tm26/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm26/tm26.adb b/c/src/ada-tests/tmtests/tm26/tm26.adb deleted file mode 100644 index 8d4db0a3ed..0000000000 --- a/c/src/ada-tests/tmtests/tm26/tm26.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM26 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM26 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM26; - diff --git a/c/src/ada-tests/tmtests/tm26/tmtest.adp b/c/src/ada-tests/tmtests/tm26/tmtest.adp deleted file mode 100644 index ddf0c39f7a..0000000000 --- a/c/src/ada-tests/tmtests/tm26/tmtest.adp +++ /dev/null @@ -1,650 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 26 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS_CALLING_OVERHEAD; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -include(../../support/fp.inc) - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 26 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'F', 'P', '1', ' ' ), - 201, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.FLOATING_POINT, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF FP1" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.FLOATING_POINT_TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF FP1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'F', 'P', '2', ' ' ), - 202, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.FLOATING_POINT, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF FP2" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.FLOATING_POINT_TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF FP2" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 200, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF LOW" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.LOW_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF LOW" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'M', 'I', 'D', ' ' ), - 128, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF MIDDLE" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.MIDDLE_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF MIDDLE" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'H', 'I', 'G', 'H' ), - 5, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF HIGH" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.HIGH_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF HIGH" ); - - RTEMS.SEMAPHORE_CREATE( - RTEMS.BUILD_NAME( 'S', 'E', 'M', '1' ), - TIME_TEST_SUPPORT.OPERATION_COUNT, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.SEMAPHORE_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "SEMAPHORE_CREATE" ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'N', 'U', 'L', 'L' ), - 254, - 512, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TASK_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( - TASK_ID, - TMTEST.NULL_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- NULL_TASK --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - NULL; - - end NULL_TASK; - ---PAGE --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_ENABLE_DISPATCH; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_ENABLE_DISPATCH", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING, - RTEMS.SUSPENDED - ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_SET_STATE", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - -- FORCE CONTEXT SWITCH - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := TRUE; - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_DISPATCH; -- dispatches MIDDLE_TASK - - end HIGH_TASK; - ---PAGE --- --- MIDDLE_TASK --- - - procedure MIDDLE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_DISPATCH (NO FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING, - RTEMS.SUSPENDED - ); - - TMTEST.MIDDLE_TCB := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 200 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - TMTEST.MIDDLE_TCB.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - end MIDDLE_TASK; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EXECUTING : RTEMS.TCB_POINTER; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (NO FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 201 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - end LOW_TASK; - ---PAGE --- --- FLOATING_POINT_TASK_1 --- - - procedure FLOATING_POINT_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EXECUTING : RTEMS.TCB_POINTER; - FP_DECLARE; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (restore 1st FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 202 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_SAVE_FP( EXECUTING.FP_CONTEXT'ADDRESS ); - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - -- switch to FLOATING_POINT_TASK_2 - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (used->init FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - FP_LOAD( 1.0 ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 202 ).FIRST - ) - ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_SAVE_FP( EXECUTING.FP_CONTEXT'ADDRESS ); - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - -- switch to FLOATING_POINT_TASK_2 - - end FLOATING_POINT_TASK_1; - ---PAGE --- --- FLOATING_POINT_TASK_2 --- - - procedure FLOATING_POINT_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - EXECUTING : RTEMS.TCB_POINTER; - FP_DECLARE; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (init->init FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - EXECUTING := RTEMS_TEST_SUPPORT.THREAD_EXECUTING; - - RTEMS_TEST_SUPPORT.THREAD_EXECUTING := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 201 ).FIRST - ) - ); - - FP_LOAD( 1.0 ); - - -- do NOT force context switch - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := FALSE; - - RTEMS_TEST_SUPPORT.THREAD_DISABLE_DISPATCH; - - TIMER_DRIVER.INITIALIZE; - - RTEMS_TEST_SUPPORT.CONTEXT_SAVE_FP( EXECUTING.FP_CONTEXT'ADDRESS ); - RTEMS_TEST_SUPPORT.CONTEXT_RESTORE_FP( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.FP_CONTEXT'ADDRESS - ); - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH( - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - EXECUTING.REGISTERS'ADDRESS - ), - RTEMS_TEST_SUPPORT.CONTEXT_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.THREAD_EXECUTING.REGISTERS'ADDRESS - ) - ); - - -- switch to FLOATING_POINT_TASK_1 - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CONTEXT_SWITCH (used->used FP)", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TMTEST.COMPLETE_TEST; - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end FLOATING_POINT_TASK_2; - ---PAGE --- --- COMPLETE_TEST --- - - procedure COMPLETE_TEST - is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - TASK_ID : RTEMS.ID; - LOCATION : RTEMS_TEST_SUPPORT.OBJECTS_LOCATIONS; - THE_SEMAPHORE : RTEMS.TCB_POINTER; - THE_THREAD : RTEMS.TCB_POINTER; - begin - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_RESUME( TMTEST.MIDDLE_TCB ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_RESUME", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - TMTEST.MIDDLE_TCB, - RTEMS.WAITING_FOR_MESSAGE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_UNBLOCK( TMTEST.MIDDLE_TCB ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_UNBLOCK", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_SET_STATE( - TMTEST.MIDDLE_TCB, - RTEMS.WAITING_FOR_MESSAGE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS_TEST_SUPPORT.THREAD_READY( TMTEST.MIDDLE_TCB ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_READY", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS_TEST_SUPPORT.THREAD_GET( - TASK_ID, - LOCATION, - THE_THREAD - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_GET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - 0 - ); - --- TIMER_DRIVER.INITIALIZE; --- for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT --- loop --- RTEMS_TEST_SUPPORT.SEMAPHORE_GET( --- TMTEST.SEMAPHORE_ID, --- LOCATION, --- THE_SEMAPHORE --- ); --- end loop; --- TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - --- TIME_TEST_SUPPORT.PUT_TIME( --- "SEMAPHORE_GET", --- TMTEST.END_TIME, --- TIME_TEST_SUPPORT.OPERATION_COUNT, --- 0, --- 0 --- ); - TEXT_IO.PUT_LINE( "SEMAPHORE_GET NOT IN ADA" ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS_TEST_SUPPORT.THREAD_GET( - 16#3#, - LOCATION, - THE_THREAD - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "THREAD_GET (invalid id)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - 0 - ); - - end COMPLETE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm26/tmtest.ads b/c/src/ada-tests/tmtests/tm26/tmtest.ads deleted file mode 100644 index 3f56e24010..0000000000 --- a/c/src/ada-tests/tmtests/tm26/tmtest.ads +++ /dev/null @@ -1,189 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 26 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This points to the RTEMS task control block for the MIDDLE_TASK. --- - - MIDDLE_TCB : RTEMS.TCB_POINTER; - --- --- The following is the ID of the semaphore used for timing operations. --- - - SEMAPHORE_ID : RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- NULL_TASK --- --- DESCRIPTION: --- --- This RTEMS task has a NULL body and is only included to --- allow TASK_START to be invoked without impacting another --- task. --- - - procedure NULL_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is the highest priority test task and --- thus executes first. It is responsible for measuring --- and reporting the following times: --- --- + THREAD_DISABLE_DISPATCH --- + THREAD_ENABLE_DISPATCH --- + THREAD_SET_STATE --- --- After measuring and reporting the above times, this task --- starts the timer and forces dispatch to the MIDDLE_TASK. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- MIDDLE_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for THREAD_DISPATCH without any floating point context --- save and restore involved. Following this, it starts the --- timer and forces a CONTEXT_SWITCH to the LOW_TASK. --- - - procedure MIDDLE_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a raw CONTEXT_SWITCH without any floating point context --- save and restore involved. Following this, it starts the --- timer and performs a CONTEXT_RESTORE_FP for the FLOATING_POINT_TASK_1 --- and a CONTEXT_SWITCH to FLOATING_POINT_TASK_1. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FLOATING_POINT_TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a CONTEXT_SWITCH which restores the first floating --- point context. Following this, it starts the --- timer and performs a CONTEXT_SAVE_FP and CONTEXT_RESTORE_FP --- and a CONTEXT_SWITCH to FLOATING_POINT_TASK_2. Once --- control is returned to this task FLOATING_POINT_TASK_2, the --- timer is stopped and the execution time for CONTEXT_SWITCH --- from a used to an initialized floating point context is reported. --- Following this, it starts the timer and performs a --- CONTEXT_SAVE_FP and CONTEXT_RESTORE_FP and a CONTEXT_SWITCH --- to FLOATING_POINT_TASK_2. --- - - procedure FLOATING_POINT_TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- FLOATING_POINT_TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a CONTEXT_SWITCH which switches from one freshly --- initialized floating point context to another freshly --- initialized floating point context. Following this, it --- "dirties" its floating point context and starts the --- timer. After this it performs a CONTEXT_SAVE_FP and --- CONTEXT_RESTORE_FP and a CONTEXT_SWITCH to FLOATING_POINT_TASK_1. --- Once control is returned to this task FLOATING_POINT_TASK_2, the --- timer is stopped and the execution time for CONTEXT_SWITCH --- from one used floating point context to another used floating --- point context is reported. After this, this task invokes --- the COMPLETE_TEST subprogram to measure and report --- the remaining execution times measured by this test. --- - - procedure FLOATING_POINT_TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- COMPLETE_TEST --- --- DESCRIPTION: --- --- This subprogram is responsible for measuring and reporting the --- following execution times: --- --- + THREAD_RESUME --- + THREAD_UNBLOCK --- + THREAD_READY --- + THREAD_GET with a valid id --- + THREAD_GET with an invalid id --- - - procedure COMPLETE_TEST; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm27/README b/c/src/ada-tests/tmtests/tm27/README deleted file mode 100644 index 7fa8ba0b23..0000000000 --- a/c/src/ada-tests/tmtests/tm27/README +++ /dev/null @@ -1,8 +0,0 @@ -# -# $Id$ -# - -This test requires interfacing to BSP provided macros which aid in -installing an ISR. It may or may not be worth the effort to convert. -Primarily this would require a C file which provided real bodies -to invoke for these macros. diff --git a/c/src/ada-tests/tmtests/tm27/config.h b/c/src/ada-tests/tmtests/tm27/config.h deleted file mode 100644 index 7e7793cf15..0000000000 --- a/c/src/ada-tests/tmtests/tm27/config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm27/tm27.adb b/c/src/ada-tests/tmtests/tm27/tm27.adb deleted file mode 100644 index 7a8e1ca9f3..0000000000 --- a/c/src/ada-tests/tmtests/tm27/tm27.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM27 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM27 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM27; - diff --git a/c/src/ada-tests/tmtests/tm27/tmtest.adb b/c/src/ada-tests/tmtests/tm27/tmtest.adb deleted file mode 100644 index 12761659be..0000000000 --- a/c/src/ada-tests/tmtests/tm27/tmtest.adb +++ /dev/null @@ -1,268 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 27 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERRUPT_TIME_TEST_SUPPORT; -with INTERFACES; use INTERFACES; -with RTEMS_CALLING_OVERHEAD; -with RTEMS; -with RTEMS_TEST_SUPPORT; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 27 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE TASK_1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START TASK_1" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'A', '2', ' ' ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 2 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE TASK_2" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 2 ), - TMTEST.TASK_2'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START TASK_2" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - RTEMS_TEST_SUPPORT.THREAD_DISPATCH_DISABLE_LEVEL := 1; - - TMTEST.INTERRUPT_NEST := 1; - - INTERRUPT_TIME_TEST_SUPPORT.INSTALL_HANDLER( - TMTEST.ISR_HANDLER'ADDRESS - ); - - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to ISR_HANDLER - - TMTEST.INTERRUPT_RETURN_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_ENTER (nested interrupt)", - TMTEST.INTERRUPT_ENTER_NESTED_TIME, - 1, - 0, - 0 - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_RETURN (nested interrupt)", - TMTEST.INTERRUPT_RETURN_NESTED_TIME, - 1, - 0, - 0 - ); - - TMTEST.INTERRUPT_NEST := 0; - - RTEMS_TEST_SUPPORT.THREAD_DISPATCH_DISABLE_LEVEL := 0; - - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to ISR_HANDLER - - TMTEST.INTERRUPT_RETURN_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_ENTER (no preempt)", - TMTEST.INTERRUPT_ENTER_TIME, - 1, - 0, - 0 - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_RETURN (no preempt)", - TMTEST.INTERRUPT_RETURN_TIME, - 1, - 0, - 0 - ); - - RTEMS_TEST_SUPPORT.THREAD_DISPATCH_DISABLE_LEVEL := 0; - - RTEMS_TEST_SUPPORT.THREAD_HEIR := - RTEMS_TEST_SUPPORT.THREAD_TO_CONTROL_POINTER( - RTEMS_TEST_SUPPORT.CHAIN_NODE_POINTER_TO_ADDRESS( - RTEMS_TEST_SUPPORT.THREAD_READY_CHAIN( 254 ).LAST - ) - ); - - RTEMS_TEST_SUPPORT.CONTEXT_SWITCH_NECESSARY := TRUE; - - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to ISR_HANDLER - - end TASK_1; - ---PAGE --- --- TASK_2 --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - begin - - TMTEST.INTERRUPT_RETURN_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_ENTER (preempt)", - TMTEST.INTERRUPT_ENTER_TIME, - 1, - 0, - 0 - ); - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_RETURN (preempt)", - TMTEST.INTERRUPT_RETURN_TIME, - 1, - 0, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_2; - ---PAGE --- --- ISR_HANDLER --- - --- --- The ISR_HANDLER and ISR_HANDLER_INNER subprograms are structured --- so that there will be as little entry overhead as possible included --- in the interrupt entry time. --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ) is - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TMTEST.ISR_HANDLER_INNER; - - end ISR_HANDLER; - --- --- ISR_HANDLER_INNER --- - - procedure ISR_HANDLER_INNER - is - begin - - -- enable tracing here is necessary - - INTERRUPT_TIME_TEST_SUPPORT.CLEAR_INTERRUPT; - - case TMTEST.INTERRUPT_NEST is - when 0 => - TMTEST.INTERRUPT_ENTER_TIME := TMTEST.END_TIME; - - when 1 => - TMTEST.INTERRUPT_ENTER_TIME := TMTEST.END_TIME; - TMTEST.INTERRUPT_NEST := 2; - TIMER_DRIVER.INITIALIZE; - INTERRUPT_TIME_TEST_SUPPORT.CAUSE_INTERRUPT; - -- goes to a nested copy of ISR_HANDLER - - TMTEST.INTERRUPT_RETURN_NESTED_TIME := TIMER_DRIVER.READ_TIMER; - - when 2 => - TMTEST.INTERRUPT_ENTER_NESTED_TIME := TMTEST.END_TIME; - - when others => - NULL; - - end case; - - -- Start the timer so interrupt return times can be measured - - TIMER_DRIVER.INITIALIZE; - - end ISR_HANDLER_INNER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm27/tmtest.ads b/c/src/ada-tests/tmtests/tm27/tmtest.ads deleted file mode 100644 index ef7848c822..0000000000 --- a/c/src/ada-tests/tmtests/tm27/tmtest.ads +++ /dev/null @@ -1,131 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 27 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 2 ) of RTEMS.ID; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following variable indicates which interrupt case is --- currently being timed. --- - - INTERRUPT_NEST : RTEMS.UNSIGNED32; - --- --- The following variables are set to the appropriate execution --- times by the ISR. This is done so the times will be available --- to be printed by a task. --- - - INTERRUPT_ENTER_TIME : RTEMS.UNSIGNED32; - INTERRUPT_RETURN_TIME : RTEMS.UNSIGNED32; - - INTERRUPT_ENTER_NESTED_TIME : RTEMS.UNSIGNED32; - INTERRUPT_RETURN_NESTED_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task reports the following execution times: --- --- + interrupt entry overhead for a nested interrupt --- + interrupt exit overhead for a nested interrupt --- + interrupt entry overhead when no preemption occurs --- + interrupt exit overhead when no preemption occurs --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_2 --- --- DESCRIPTION: --- --- This RTEMS task reports the following execution times: --- --- + interrupt entry overhead when preemption occurs --- + interrupt exit overhead when preemption occurs --- - - procedure TASK_2 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- ISR_HANDLER --- --- DESCRIPTION: --- --- This subprogram is the test ISR. It simply stops the --- timer and save the execution time for ISR_HANDLER_INNER. --- This is done to minimize the subroutine linkage overhead --- for this routine. --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ); - --- --- ISR_HANDLER_INNER --- --- DESCRIPTION: --- --- This subprogram is responsible for storing the execution --- time for the case currently being timed. --- - - procedure ISR_HANDLER_INNER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm28/config.h b/c/src/ada-tests/tmtests/tm28/config.h deleted file mode 100644 index 0c238dfbaf..0000000000 --- a/c/src/ada-tests/tmtests/tm28/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_PORTS 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm28/tm28.adb b/c/src/ada-tests/tmtests/tm28/tm28.adb deleted file mode 100644 index e76d166e7a..0000000000 --- a/c/src/ada-tests/tmtests/tm28/tm28.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM28 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM28 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM28; - diff --git a/c/src/ada-tests/tmtests/tm28/tmtest.adb b/c/src/ada-tests/tmtests/tm28/tmtest.adb deleted file mode 100644 index 7505635c06..0000000000 --- a/c/src/ada-tests/tmtests/tm28/tmtest.adb +++ /dev/null @@ -1,176 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 28 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - TASK_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 28 ***" ); - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'E', 'S', 'T' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TEST_TASK'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TEST_TASK --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - NAME : RTEMS.NAME; - OVERHEAD : RTEMS.UNSIGNED32; - CONVERTED : RTEMS.ADDRESS; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - NAME := RTEMS.BUILD_NAME( 'P', 'O', 'R', 'T' ); - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_CREATE( - NAME, - TMTEST.INTERNAL_PORT_AREA'ADDRESS, - TMTEST.EXTERNAL_PORT_AREA'ADDRESS, - 16#FF#, - TMTEST.PORT_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_EXTERNAL_TO_INTERNAL( - TMTEST.PORT_ID( 1 ), - TMTEST.EXTERNAL_PORT_AREA( 16#F# )'ADDRESS, - CONVERTED, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_EXTERNAL_TO_INTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_EXTERNAL_TO_INTERNAL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_INTERNAL_TO_EXTERNAL( - TMTEST.PORT_ID( 1 ), - TMTEST.INTERNAL_PORT_AREA( 16#F# )'ADDRESS, - CONVERTED, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_INTERNAL_TO_EXTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_INTERNAL_TO_EXTERNAL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.PORT_DELETE( TMTEST.PORT_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.PORT_DELETE - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TEST_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm28/tmtest.ads b/c/src/ada-tests/tmtests/tm28/tmtest.ads deleted file mode 100644 index 5bf220d453..0000000000 --- a/c/src/ada-tests/tmtests/tm28/tmtest.ads +++ /dev/null @@ -1,106 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 28 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with SYSTEM; -with TIME_TEST_SUPPORT; -with TIMER_DRIVER; -with RTEMS; -with System.Storage_Elements; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS tasks created by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - --- --- This array contains the IDs of all RTEMS ports created by this test. --- - - PORT_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting the --- following directive execution times: --- --- + PORT_CREATE --- + PORT_EXTERNAL_TO_INTERNAL --- + PORT_INTERNAL_TO_EXTERNAL --- + PORT_DELETE --- - - procedure TEST_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm29/config.h b/c/src/ada-tests/tmtests/tm29/config.h deleted file mode 100644 index d22b4a61cb..0000000000 --- a/c/src/ada-tests/tmtests/tm29/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_PERIODS 111 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm29/tm29.adb b/c/src/ada-tests/tmtests/tm29/tm29.adb deleted file mode 100644 index 7834403d2b..0000000000 --- a/c/src/ada-tests/tmtests/tm29/tm29.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM29 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM29 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM29; - diff --git a/c/src/ada-tests/tmtests/tm29/tmtest.adb b/c/src/ada-tests/tmtests/tm29/tmtest.adb deleted file mode 100644 index e1f1af77dd..0000000000 --- a/c/src/ada-tests/tmtests/tm29/tmtest.adb +++ /dev/null @@ -1,234 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 29 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with INTERFACES; use INTERFACES; -with RTEMS; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 29 ***" ); - - TMTEST.PERIOD_NAME := RTEMS.BUILD_NAME( 'P', 'R', 'D', ' ' ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_CREATE( TMTEST.PERIOD_NAME, ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CREATE", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_PERIOD( ID, 10, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD (initial)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_PERIOD - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_PERIOD( ID, RTEMS.PERIOD_STATUS, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD (STATUS)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_PERIOD - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_CANCEL( ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CANCEL", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_DELETE (cancelled)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_DELETE - ); - - RTEMS.RATE_MONOTONIC_CREATE( TMTEST.PERIOD_NAME, ID, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CREATE" ); - - RTEMS.RATE_MONOTONIC_PERIOD( ID, 10, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_PERIOD" ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS ); - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_DELETE (active)", - TMTEST.END_TIME, - 1, - 0, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'T', 'E', 'S', 'T' ), - 128, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( ID, TMTEST.TASKS'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - end loop; - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'L', 'O', 'W', ' ' ), - 200, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - RTEMS.TASK_START( ID, TMTEST.LOW_TASK'ACCESS, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - TMTEST.TASK_COUNT := 0; - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASKS --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - ID : RTEMS.NAME; - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.RATE_MONOTONIC_CREATE( TMTEST.PERIOD_NAME, ID, STATUS ); - RTEMS.RATE_MONOTONIC_PERIOD( ID, 10, STATUS ); - - -- Give up the processor to allow all tasks to actually - -- create and start their period timer before the benchmark - -- timer driver is initialized. - - RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); - - TMTEST.TASK_COUNT := TMTEST.TASK_COUNT + 1; - - if TMTEST.TASK_COUNT = 1 then - TIMER_DRIVER.INITIALIZE; - end if; - - RTEMS.RATE_MONOTONIC_PERIOD( ID, 100, STATUS ); - - end TASKS; - ---PAGE --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD (blocking)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.RATE_MONOTONIC_PERIOD - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm29/tmtest.ads b/c/src/ada-tests/tmtests/tm29/tmtest.ads deleted file mode 100644 index e60ded1e11..0000000000 --- a/c/src/ada-tests/tmtests/tm29/tmtest.ads +++ /dev/null @@ -1,96 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 29 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- The following is the name used for all periods created by this test. --- - - PERIOD_NAME : RTEMS.NAME; - --- --- The following is used to allow all tasks to create and start --- their period timers before the timer is started for timing --- the blocking case of RATE_MONOTONIC_PERIOD. --- - - TASK_COUNT : RTEMS.UNSIGNED32; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. It also measures and --- reports the following directive execution times: --- --- + RATE_MONOTONIC_CREATE --- + RATE_MONOTONIC_PERIOD the initial time --- + RATE_MONOTONIC_PERIOD for a period's status --- + RATE_MONOTONIC_CANCEL --- + RATE_MONOTONIC_DELETE of a cancelled period --- + RATE_MONOTONIC_DELETE of an active period --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- The first of these RTEMS tasks starts the timer. All of these --- tasks execute a blocking RATE_MONOTONIC_PERIOD. --- - - procedure TASKS ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TEST_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution --- time for a blocking RATE_MONOTONIC_PERIOD. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmck/config.h b/c/src/ada-tests/tmtests/tmck/config.h deleted file mode 100644 index be54f54955..0000000000 --- a/c/src/ada-tests/tmtests/tmck/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tmck/tmck.adb b/c/src/ada-tests/tmtests/tmck/tmck.adb deleted file mode 100644 index 4f05735bca..0000000000 --- a/c/src/ada-tests/tmtests/tmck/tmck.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TMCK of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TMCK is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TMCK; - diff --git a/c/src/ada-tests/tmtests/tmck/tmtest.adb b/c/src/ada-tests/tmtests/tmck/tmtest.adb deleted file mode 100644 index 254a462bcc..0000000000 --- a/c/src/ada-tests/tmtests/tmck/tmtest.adb +++ /dev/null @@ -1,220 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Timer Check Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST CHECK ***" ); - - TIMER_DRIVER.SET_FIND_AVERAGE_OVERHEAD( TRUE ); - - TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - TMTEST.TASK_NAME( 1 ), - 1, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TASK_1 --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - INDEX : RTEMS.UNSIGNED32; - begin - - TMTEST.CHECK_READ_TIMER; - -TEST_SUPPORT.PAUSE; - - TIMER_DRIVER.INITIALIZE; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "NULL timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 1000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (1000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 10000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (10000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 50000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (50000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 0 .. 100000 - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - TIME_TEST_SUPPORT.PUT_TIME( - "LOOP (100000) timer stopped at", - TMTEST.END_TIME, - 1, - 0, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - ---PAGE --- --- CHECK_READ_TIMER --- - - procedure CHECK_READ_TIMER - is - INDEX : RTEMS.UNSIGNED32; - TIME : RTEMS.UNSIGNED32; - begin - - for INDEX in TMTEST.DISTRIBUTION'FIRST .. TMTEST.DISTRIBUTION'LAST - loop - TMTEST.DISTRIBUTION( INDEX ) := 0; - end loop; - - for INDEX in 1 .. TMTEST.OPERATION_COUNT - loop - - loop - TIMER_DRIVER.INITIALIZE; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - exit when - TMTEST.END_TIME <= RTEMS.UNSIGNED32( TMTEST.DISTRIBUTION'LAST ); - - TEXT_IO.PUT( "TOO LONG (" ); - UNSIGNED32_IO.PUT( TMTEST.END_TIME ); - TEXT_IO.PUT_LINE( ")!!!" ); - end loop; - - TMTEST.DISTRIBUTION( TMTEST.END_TIME ) := - TMTEST.DISTRIBUTION( TMTEST.END_TIME ) + 1; - - end loop; - - TEXT_IO.PUT_LINE( - "Units may not be in microseconds for this test!!!" - ); - - TIME := 0; - - for INDEX in TMTEST.DISTRIBUTION'FIRST .. TMTEST.DISTRIBUTION'LAST - loop - if TMTEST.DISTRIBUTION( INDEX ) /= 0 then - TIME := TIME + (TMTEST.DISTRIBUTION( INDEX ) * INDEX); - UNSIGNED32_IO.PUT( INDEX ); - TEXT_IO.PUT( " " ); - UNSIGNED32_IO.PUT( TMTEST.DISTRIBUTION( INDEX ) ); - TEXT_IO.NEW_LINE; - end if; - end loop; - - TEXT_IO.PUT( "Total time = " ); - UNSIGNED32_IO.PUT( TIME ); - TEXT_IO.NEW_LINE; - - end CHECK_READ_TIMER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmck/tmtest.ads b/c/src/ada-tests/tmtests/tmck/tmtest.ads deleted file mode 100644 index 8f82d786a2..0000000000 --- a/c/src/ada-tests/tmtests/tmck/tmtest.ads +++ /dev/null @@ -1,97 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Timer Check Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with TIMER_DRIVER; -with RTEMS; - -package TMTEST is - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following defines the number of iterations of each timed --- operation to perform. --- - - OPERATION_COUNT : constant RTEMS.UNSIGNED32 := 100000; - --- --- The following array is used to determine how many times --- each time between 0 and 1000 microseconds was returned --- when simply starting and stopping the timer. - - DISTRIBUTION : array ( RTEMS.UNSIGNED32 range 0 .. 10000 ) of RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task invokes CHECK_READ_TIMER before demonstrating --- that increasing the order of magnitude of the number of loop --- iterations performed has a corresponding impact on the time --- reported by the timer driver. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- CHECK_READ_TIMER --- --- DESCRIPTION: --- --- This subprogram is used to determine the overhead associated --- with starting and stopping the timer. It is also useful --- for determining if unexpected times will be reported. --- - - procedure CHECK_READ_TIMER; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmoverhd/README b/c/src/ada-tests/tmtests/tmoverhd/README deleted file mode 100644 index d5624c4270..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/README +++ /dev/null @@ -1,9 +0,0 @@ -# -# $Id$ -# - -This test is of marginal usefulness in testing the bindings. It -shows how much overhead is required to call the Ada binding -routine but does not give any indication of how much overhead the -binding itself adds. This information can be inferred by subtracting -the C times from Ada times on the same target processor. diff --git a/c/src/ada-tests/tmtests/tmoverhd/config.h b/c/src/ada-tests/tmtests/tmoverhd/config.h deleted file mode 100644 index be54f54955..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/config.h +++ /dev/null @@ -1,37 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 2 -#define CONFIGURE_MAXIMUM_SEMAPHORES 1 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 20 -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 10 - -#include - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb b/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb deleted file mode 100644 index e6a3519e99..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.adb +++ /dev/null @@ -1,877 +0,0 @@ --- --- DUMMY_RTEMS / SPECIFICATION --- --- DESCRIPTION: --- --- This package contains implementation of stub routines --- which are used to time the invocation overhead incurred --- with an Ada application program invokes each RTEMS directive. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package body DUMMY_RTEMS is - --- Initialization Manager - - procedure INITIALIZE_EXECUTIVE ( - CONFIGURATION_TABLE : in RTEMS.CONFIGURATION_TABLE_POINTER; - CPU_TABLE : in RTEMS.CPU_TABLE_POINTER - ) is - begin - - NULL; - - end INITIALIZE_EXECUTIVE; - - procedure SHUTDOWN_EXECUTIVE ( - RESULT : in RTEMS.UNSIGNED32 - ) is - begin - - NULL; - - end SHUTDOWN_EXECUTIVE; - --- Task Manager - - procedure TASK_CREATE ( - NAME : in RTEMS.NAME; - INITIAL_PRIORITY : in RTEMS.TASK_PRIORITY; - STACK_SIZE : in RTEMS.UNSIGNED32; - INITIAL_MODES : in RTEMS.MODE; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_CREATE; - - procedure TASK_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_IDENT; - - procedure TASK_START ( - ID : in RTEMS.ID; - ENTRY_POINT : in RTEMS.TASK_ENTRY; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_START; - - procedure TASK_RESTART ( - ID : in RTEMS.ID; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_RESTART; - - procedure TASK_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_DELETE; - - procedure TASK_SUSPEND ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_SUSPEND; - - procedure TASK_RESUME ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_RESUME; - - procedure TASK_SET_PRIORITY ( - ID : in RTEMS.ID; - NEW_PRIORITY : in RTEMS.TASK_PRIORITY; - OLD_PRIORITY : out RTEMS.TASK_PRIORITY; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_SET_PRIORITY; - - procedure TASK_MODE ( - MODE_SET : in RTEMS.MODE; - MASK : in RTEMS.MODE; - PREVIOUS_MODE_SET : out RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_MODE; - - procedure TASK_GET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_GET_NOTE; - - procedure TASK_SET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_SET_NOTE; - - procedure TASK_WAKE_WHEN ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_WAKE_WHEN; - - procedure TASK_WAKE_AFTER ( - TICKS : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TASK_WAKE_AFTER; - --- Interrupt Manager - - procedure INTERRUPT_CATCH ( - NEW_ISR_HANDLER : in RTEMS.ADDRESS; - VECTOR : in RTEMS.VECTOR_NUMBER; - OLD_ISR_HANDLER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end INTERRUPT_CATCH; - --- Clock Manager - - procedure CLOCK_GET ( - OPTION : in RTEMS.CLOCK_GET_OPTIONS; - TIME_BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end CLOCK_GET; - - procedure CLOCK_SET ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end CLOCK_SET; - - procedure CLOCK_TICK ( - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end CLOCK_TICK; - --- Timer Manager - - procedure TIMER_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_CREATE; - - procedure TIMER_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_DELETE; - - procedure TIMER_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_IDENT; - - procedure TIMER_FIRE_AFTER ( - ID : in RTEMS.ID; - TICKS : in RTEMS.INTERVAL; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_FIRE_AFTER; - - procedure TIMER_FIRE_WHEN ( - ID : in RTEMS.ID; - WALL_TIME : in RTEMS.TIME_OF_DAY; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_FIRE_WHEN; - - procedure TIMER_RESET ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_RESET; - - procedure TIMER_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end TIMER_CANCEL; - --- Semaphore Manager - - procedure SEMAPHORE_CREATE ( - NAME : in RTEMS.NAME; - COUNT : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - PRIORITY_CEILING : in RTEMS.TASK_PRIORITY; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_CREATE; - - procedure SEMAPHORE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_DELETE; - - procedure SEMAPHORE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_IDENT; - - procedure SEMAPHORE_OBTAIN ( - ID : in RTEMS.ID; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_OBTAIN; - - procedure SEMAPHORE_RELEASE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SEMAPHORE_RELEASE; - --- Message Queue Manager - - procedure MESSAGE_QUEUE_CREATE ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_CREATE; - - procedure MESSAGE_QUEUE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_IDENT; - - procedure MESSAGE_QUEUE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_DELETE; - - procedure MESSAGE_QUEUE_SEND ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - Size : in RTEMS.Unsigned32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_SEND; - - procedure MESSAGE_QUEUE_URGENT ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - Size : in RTEMS.Unsigned32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_URGENT; - - procedure MESSAGE_QUEUE_BROADCAST ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - Size : in RTEMS.Unsigned32; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_BROADCAST; - - procedure MESSAGE_QUEUE_RECEIVE ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - Size : out RTEMS.Unsigned32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_RECEIVE; - - procedure MESSAGE_QUEUE_FLUSH ( - ID : in RTEMS.ID; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end MESSAGE_QUEUE_FLUSH; - --- Event Manager - - procedure EVENT_SEND ( - ID : in RTEMS.ID; - EVENT_IN : in RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end EVENT_SEND; - - procedure EVENT_RECEIVE ( - EVENT_IN : in RTEMS.EVENT_SET; - OPTION_SET : in RTEMS.OPTION; - TICKS : in RTEMS.INTERVAL; - EVENT_OUT : out RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end EVENT_RECEIVE; - --- Signal Manager - - procedure SIGNAL_CATCH ( - ASR_HANDLER : in RTEMS.ASR_HANDLER; - MODE_SET : in RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SIGNAL_CATCH; - - procedure SIGNAL_SEND ( - ID : in RTEMS.ID; - SIGNAL_SET : in RTEMS.SIGNAL_SET; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end SIGNAL_SEND; - --- Partition Manager - - procedure PARTITION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - BUFFER_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_CREATE; - - procedure PARTITION_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_IDENT; - - procedure PARTITION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_DELETE; - - procedure PARTITION_GET_BUFFER ( - ID : in RTEMS.ID; - BUFFER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_GET_BUFFER; - - procedure PARTITION_RETURN_BUFFER ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PARTITION_RETURN_BUFFER; - --- Region Manager - - procedure REGION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - PAGE_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_CREATE; - - procedure REGION_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_IDENT; - - procedure REGION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_DELETE; - - procedure REGION_GET_SEGMENT ( - ID : in RTEMS.ID; - SIZE : in RTEMS.UNSIGNED32; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - SEGMENT : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_GET_SEGMENT; - - procedure REGION_RETURN_SEGMENT ( - ID : in RTEMS.ID; - SEGMENT : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end REGION_RETURN_SEGMENT; - --- Dual Ported Memory Manager - - procedure PORT_CREATE ( - NAME : in RTEMS.NAME; - INTERNAL_START : in RTEMS.ADDRESS; - EXTERNAL_START : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_CREATE; - - procedure PORT_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_IDENT; - - procedure PORT_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_DELETE; - - procedure PORT_EXTERNAL_TO_INTERNAL ( - ID : in RTEMS.ID; - EXTERNAL : in RTEMS.ADDRESS; - INTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_EXTERNAL_TO_INTERNAL; - - procedure PORT_INTERNAL_TO_EXTERNAL ( - ID : in RTEMS.ID; - INTERNAL : in RTEMS.ADDRESS; - EXTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end PORT_INTERNAL_TO_EXTERNAL; - --- Input/Output Manager - - procedure IO_INITIALIZE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_INITIALIZE; - - procedure IO_OPEN ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_OPEN; - - procedure IO_CLOSE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_CLOSE; - - procedure IO_READ ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_READ; - - procedure IO_WRITE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_WRITE; - - procedure IO_CONTROL ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end IO_CONTROL; - --- Fatal Error Manager - - procedure FATAL_ERROR_OCCURRED ( - THE_ERROR : in RTEMS.UNSIGNED32 - ) is - begin - - NULL; - - end FATAL_ERROR_OCCURRED; - --- Rate Monotonic Manager - - procedure RATE_MONOTONIC_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_CREATE; - - procedure RATE_MONOTONIC_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_IDENT; - - procedure RATE_MONOTONIC_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_DELETE; - - procedure RATE_MONOTONIC_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_CANCEL; - - procedure RATE_MONOTONIC_PERIOD ( - ID : in RTEMS.ID; - LENGTH : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ) is - begin - - RESULT := RTEMS.SUCCESSFUL; - - end RATE_MONOTONIC_PERIOD; - --- Multiprocessing Manager - - procedure MULTIPROCESSING_ANNOUNCE - is - begin - - NULL; - - end MULTIPROCESSING_ANNOUNCE; - -end DUMMY_RTEMS; diff --git a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads b/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads deleted file mode 100644 index ccad73c0ef..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/dummy_rtems.ads +++ /dev/null @@ -1,521 +0,0 @@ --- --- DUMMY_RTEMS / SPECIFICATION --- --- DESCRIPTION: --- --- This package contains specifications for stub routines --- which are used to time the invocation overhead incurred --- with an Ada application program invokes each RTEMS directive. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; - -package DUMMY_RTEMS is - --- Initialization Manager - - procedure INITIALIZE_EXECUTIVE ( - CONFIGURATION_TABLE : in RTEMS.CONFIGURATION_TABLE_POINTER; - CPU_TABLE : in RTEMS.CPU_TABLE_POINTER - ); - - procedure SHUTDOWN_EXECUTIVE ( - RESULT : in RTEMS.UNSIGNED32 - ); - --- Task Manager - - procedure TASK_CREATE ( - NAME : in RTEMS.NAME; - INITIAL_PRIORITY : in RTEMS.TASK_PRIORITY; - STACK_SIZE : in RTEMS.UNSIGNED32; - INITIAL_MODES : in RTEMS.MODE; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_START ( - ID : in RTEMS.ID; - ENTRY_POINT : in RTEMS.TASK_ENTRY; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_RESTART ( - ID : in RTEMS.ID; - ARGUMENT : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_SUSPEND ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_RESUME ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_SET_PRIORITY ( - ID : in RTEMS.ID; - NEW_PRIORITY : in RTEMS.TASK_PRIORITY; - OLD_PRIORITY : out RTEMS.TASK_PRIORITY; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_MODE ( - MODE_SET : in RTEMS.MODE; - MASK : in RTEMS.MODE; - PREVIOUS_MODE_SET : out RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_GET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_SET_NOTE ( - ID : in RTEMS.ID; - NOTEPAD : in RTEMS.NOTEPAD_INDEX; - NOTE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_WAKE_WHEN ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TASK_WAKE_AFTER ( - TICKS : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ); - --- Interrupt Manager - - procedure INTERRUPT_CATCH ( - NEW_ISR_HANDLER : in RTEMS.ADDRESS; - VECTOR : in RTEMS.VECTOR_NUMBER; - OLD_ISR_HANDLER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Clock Manager - - procedure CLOCK_GET ( - OPTION : in RTEMS.CLOCK_GET_OPTIONS; - TIME_BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure CLOCK_SET ( - TIME_BUFFER : in RTEMS.TIME_OF_DAY; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure CLOCK_TICK ( - RESULT : out RTEMS.STATUS_CODES - ); - --- Timer Manager - - procedure TIMER_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_FIRE_AFTER ( - ID : in RTEMS.ID; - TICKS : in RTEMS.INTERVAL; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_FIRE_WHEN ( - ID : in RTEMS.ID; - WALL_TIME : in RTEMS.TIME_OF_DAY; - ROUTINE : in RTEMS.TIMER_SERVICE_ROUTINE; - USER_DATA : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_RESET ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure TIMER_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - --- Semaphore Manager - - procedure SEMAPHORE_CREATE ( - NAME : in RTEMS.NAME; - COUNT : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - PRIORITY_CEILING : in RTEMS.TASK_PRIORITY; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_OBTAIN ( - ID : in RTEMS.ID; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SEMAPHORE_RELEASE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - --- Message Queue Manager - - procedure MESSAGE_QUEUE_CREATE ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure MESSAGE_QUEUE_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_SEND ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - SIZE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_URGENT ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - SIZE : in RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_BROADCAST ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - SIZE : in RTEMS.UNSIGNED32; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_RECEIVE ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - SIZE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure MESSAGE_QUEUE_FLUSH ( - ID : in RTEMS.ID; - COUNT : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - --- Event Manager - - procedure EVENT_SEND ( - ID : in RTEMS.ID; - EVENT_IN : in RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure EVENT_RECEIVE ( - EVENT_IN : in RTEMS.EVENT_SET; - OPTION_SET : in RTEMS.OPTION; - TICKS : in RTEMS.INTERVAL; - EVENT_OUT : out RTEMS.EVENT_SET; - RESULT : out RTEMS.STATUS_CODES - ); - --- Signal Manager - - procedure SIGNAL_CATCH ( - ASR_HANDLER : in RTEMS.ASR_HANDLER; - MODE_SET : in RTEMS.MODE; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure SIGNAL_SEND ( - ID : in RTEMS.ID; - SIGNAL_SET : in RTEMS.SIGNAL_SET; - RESULT : out RTEMS.STATUS_CODES - ); - --- Partition Manager - - procedure PARTITION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - BUFFER_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_IDENT ( - NAME : in RTEMS.NAME; - NODE : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_GET_BUFFER ( - ID : in RTEMS.ID; - BUFFER : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PARTITION_RETURN_BUFFER ( - ID : in RTEMS.ID; - BUFFER : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Region Manager - - procedure REGION_CREATE ( - NAME : in RTEMS.NAME; - STARTING_ADDRESS : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - PAGE_SIZE : in RTEMS.UNSIGNED32; - ATTRIBUTE_SET : in RTEMS.ATTRIBUTE; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_GET_SEGMENT ( - ID : in RTEMS.ID; - SIZE : in RTEMS.UNSIGNED32; - OPTION_SET : in RTEMS.OPTION; - TIMEOUT : in RTEMS.INTERVAL; - SEGMENT : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure REGION_RETURN_SEGMENT ( - ID : in RTEMS.ID; - SEGMENT : in RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Dual Ported Memory Manager - - procedure PORT_CREATE ( - NAME : in RTEMS.NAME; - INTERNAL_START : in RTEMS.ADDRESS; - EXTERNAL_START : in RTEMS.ADDRESS; - LENGTH : in RTEMS.UNSIGNED32; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_EXTERNAL_TO_INTERNAL ( - ID : in RTEMS.ID; - EXTERNAL : in RTEMS.ADDRESS; - INTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure PORT_INTERNAL_TO_EXTERNAL ( - ID : in RTEMS.ID; - INTERNAL : in RTEMS.ADDRESS; - EXTERNAL : out RTEMS.ADDRESS; - RESULT : out RTEMS.STATUS_CODES - ); - --- Input/Output Manager - - procedure IO_INITIALIZE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_OPEN ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_CLOSE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_READ ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_WRITE ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure IO_CONTROL ( - MAJOR : in RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : in RTEMS.DEVICE_MINOR_NUMBER; - ARGUMENT : in RTEMS.ADDRESS; - RETURN_VALUE : out RTEMS.UNSIGNED32; - RESULT : out RTEMS.STATUS_CODES - ); - --- Fatal Error Manager - - procedure FATAL_ERROR_OCCURRED ( - THE_ERROR : in RTEMS.UNSIGNED32 - ); - --- Rate Monotonic Manager - - procedure RATE_MONOTONIC_CREATE ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_IDENT ( - NAME : in RTEMS.NAME; - ID : out RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_DELETE ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_CANCEL ( - ID : in RTEMS.ID; - RESULT : out RTEMS.STATUS_CODES - ); - - procedure RATE_MONOTONIC_PERIOD ( - ID : in RTEMS.ID; - LENGTH : in RTEMS.INTERVAL; - RESULT : out RTEMS.STATUS_CODES - ); - --- Multiprocessing Manager - - procedure MULTIPROCESSING_ANNOUNCE; - -end DUMMY_RTEMS; diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb b/c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb deleted file mode 100644 index 50066a949c..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/tmoverhd.adb +++ /dev/null @@ -1,57 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TMOVERHD of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with TMTEST; -with TEST_SUPPORT; - -procedure TMOVERHD is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASK_CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASK_START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TMOVERHD; - diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb b/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb deleted file mode 100644 index 2faf4bb226..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/tmtest.adb +++ /dev/null @@ -1,1564 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Calling Overhead Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with DUMMY_RTEMS; -with INTERFACES; use INTERFACES; -with RTEMS; -with TEST_SUPPORT; -with TEXT_IO; -with TIME_TEST_SUPPORT; -with UNSIGNED32_IO; - -package body TMTEST is - ---PAGE --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST OVERHEAD ***" ); - - TIMER_DRIVER.SET_FIND_AVERAGE_OVERHEAD( TRUE ); - - TMTEST.TASK_NAME( 1 ) := RTEMS.BUILD_NAME( 'T', 'A', '1', ' ' ); - - RTEMS.TASK_CREATE( - TMTEST.TASK_NAME( 1 ), - 254, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - TMTEST.TASK_ID( 1 ), - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF TA1" ); - - RTEMS.TASK_START( - TMTEST.TASK_ID( 1 ), - TMTEST.TASK_1'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA1" ); - - RTEMS.TASK_DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - ---PAGE --- --- TIMER_HANDLER --- - - procedure TIMER_HANDLER ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end TIMER_HANDLER; - ---PAGE --- --- ISR_HANDLER --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ) is - begin - - NULL; - - end ISR_HANDLER; - ---PAGE --- --- ASR_HANDLER --- - - procedure ASR_HANDLER ( - SIGNALS : in RTEMS.SIGNAL_SET - ) is - begin - - NULL; - - end ASR_HANDLER; - ---PAGE --- --- TASK_1 --- - - CPU_TABLE : aliased RTEMS.CPU_TABLE; - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ) is - NAME : RTEMS.NAME; - INDEX : RTEMS.UNSIGNED32; - OVERHEAD : RTEMS.UNSIGNED32; - ID : RTEMS.ID; - IN_PRIORITY : RTEMS.TASK_PRIORITY; - OUT_PRIORITY : RTEMS.TASK_PRIORITY; - IN_MODE : RTEMS.MODE; - MASK : RTEMS.MODE; - OUT_MODE : RTEMS.MODE; - NOTE : RTEMS.UNSIGNED32; - TIME : RTEMS.TIME_OF_DAY; - TIMEOUT : RTEMS.INTERVAL; - SIGNALS : RTEMS.SIGNAL_SET; - ADDRESS_1 : RTEMS.ADDRESS; - EVENTS : RTEMS.SIGNAL_SET; - BUFFER : TMTEST.BUFFER; - BUFFER_POINTER : RTEMS.ADDRESS; - MESSAGE_SIZE : RTEMS.UNSIGNED32; - COUNT : RTEMS.UNSIGNED32; - MAJOR : RTEMS.DEVICE_MAJOR_NUMBER; - MINOR : RTEMS.DEVICE_MINOR_NUMBER; - IO_RESULT : RTEMS.UNSIGNED32; - ERROR : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - NAME := RTEMS.BUILD_NAME( 'N', 'A', 'M', 'E' ); - - BUFFER_POINTER := BUFFER'ADDRESS; - --- INITIALIZE_EXECUTIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.INITIALIZE_EXECUTIVE( - RTEMS.CONFIGURATION, - CPU_TABLE'ACCESS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INITIALIZE_EXECUTIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SHUTDOWN_EXECUTIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SHUTDOWN_EXECUTIVE( ERROR ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SHUTDOWN_EXECUTIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_CREATE( - NAME, - IN_PRIORITY, - 2048, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_START - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_START( ID, TMTEST.TASK_1'ACCESS, 0, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_START", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_RESTART - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_RESTART( ID, 0, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESTART", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_SUSPEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_SUSPEND( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SUSPEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_RESUME - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_RESUME( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_RESUME", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_SET_PRIORITY - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_SET_PRIORITY( - ID, - IN_PRIORITY, - OUT_PRIORITY, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_PRIORITY", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_MODE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_MODE( - IN_MODE, - MASK, - OUT_MODE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_MODE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_GET_NOTE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_GET_NOTE( ID, 1, NOTE, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_GET_NOTE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_SET_NOTE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_SET_NOTE( ID, 1, NOTE, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_SET_NOTE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_WAKE_WHEN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_WAKE_WHEN( TIME, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TASK_WAKE_AFTER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TASK_WAKE_AFTER( TIMEOUT, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_AFTER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- INTERRUPT_CATCH - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.INTERRUPT_CATCH( - TMTEST.ISR_HANDLER'ADDRESS, - RTEMS.VECTOR_NUMBER'FIRST, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "INTERRUPT_CATCH", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- CLOCK_GET - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.CLOCK_GET( RTEMS.CLOCK_GET_TOD, TIME'ADDRESS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_GET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- CLOCK_SET - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.CLOCK_SET( TIME, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_SET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- CLOCK_TICK - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.CLOCK_TICK( STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "CLOCK_TICK", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - -TEST_SUPPORT.PAUSE; - --- TIMER_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_CREATE( NAME, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_IDENT( - NAME, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_FIRE_AFTER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_FIRE_AFTER( - ID, - TIMEOUT, - TMTEST.TIMER_HANDLER'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_FIRE_WHEN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_FIRE_WHEN( - ID, - TIME, - TMTEST.TIMER_HANDLER'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_RESET - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_RESET( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- TIMER_CANCEL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.TIMER_CANCEL( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_CREATE( - NAME, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - RTEMS.NO_PRIORITY, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_OBTAIN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_OBTAIN( - ID, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_OBTAIN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SEMAPHORE_RELEASE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SEMAPHORE_RELEASE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SEMAPHORE_RELEASE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_CREATE( - NAME, - 128, - 16, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_SEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_SEND( ID, BUFFER_POINTER, 16, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_SEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_URGENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_URGENT( ID, BUFFER_POINTER, 16, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_URGENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_BROADCAST - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_BROADCAST( - ID, - BUFFER_POINTER, - 16, - COUNT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_BROADCAST", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_RECEIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_RECEIVE( - ID, - BUFFER_POINTER, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - MESSAGE_SIZE, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_RECEIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MESSAGE_QUEUE_FLUSH - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MESSAGE_QUEUE_FLUSH( ID, COUNT, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MESSAGE_QUEUE_FLUSH", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - -TEST_SUPPORT.PAUSE; - --- EVENT_SEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.EVENT_SEND( ID, EVENTS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_SEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- EVENT_RECEIVE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.EVENT_RECEIVE( - RTEMS.EVENT_16, - EVENTS, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "EVENT_RECEIVE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SIGNAL_CATCH - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SIGNAL_CATCH( - TMTEST.ASR_HANDLER'ACCESS, - RTEMS.DEFAULT_MODES, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_CATCH", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- SIGNAL_SEND - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.SIGNAL_SEND( ID, SIGNALS, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "SIGNAL_SEND", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_CREATE( - NAME, - TMTEST.MEMORY_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_IDENT( - NAME, - RTEMS.SEARCH_ALL_NODES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_GET_BUFFER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_GET_BUFFER( ID, ADDRESS_1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_GET_BUFFER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PARTITION_RETURN_BUFFER - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PARTITION_RETURN_BUFFER( ID, ADDRESS_1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PARTITION_RETURN_BUFFER", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_CREATE( - NAME, - TMTEST.MEMORY_AREA'ADDRESS, - 2048, - 128, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_IDENT( - NAME, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_GET_SEGMENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_GET_SEGMENT( - ID, - 243, - RTEMS.DEFAULT_OPTIONS, - TIMEOUT, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_GET_SEGMENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- REGION_RETURN_SEGMENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.REGION_RETURN_SEGMENT( ID, ADDRESS_1, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "REGION_RETURN_SEGMENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_CREATE( - NAME, - TMTEST.INTERNAL_PORT_AREA'ADDRESS, - TMTEST.EXTERNAL_PORT_AREA'ADDRESS, - TMTEST.INTERNAL_PORT_AREA'LENGTH, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_IDENT( NAME, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_EXTERNAL_TO_INTERNAL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_EXTERNAL_TO_INTERNAL( - ID, - TMTEST.EXTERNAL_PORT_AREA( 7 )'ADDRESS, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_EXTERNAL_TO_INTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- PORT_INTERNAL_TO_EXTERNAL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.PORT_INTERNAL_TO_EXTERNAL( - ID, - TMTEST.INTERNAL_PORT_AREA( 7 )'ADDRESS, - ADDRESS_1, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "PORT_INTERNAL_TO_EXTERNAL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - -TEST_SUPPORT.PAUSE; - --- IO_INITIALIZE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_INITIALIZE( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_INITIALIZE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_OPEN - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_OPEN( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_OPEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_CLOSE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_CLOSE( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CLOSE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_READ - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_READ( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_READ", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_WRITE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_WRITE( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_WRITE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- IO_CONTROL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.IO_CONTROL( - MAJOR, - MINOR, - ADDRESS_1, - IO_RESULT, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "IO_CONTROL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- FATAL_ERROR_OCCURRED - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.FATAL_ERROR_OCCURRED( ERROR ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "FATAL_ERROR_OCCURRED", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_CREATE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_CREATE( NAME, ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_IDENT - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_IDENT( - NAME, - ID, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_IDENT", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_DELETE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_DELETE( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_DELETE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_CANCEL - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_CANCEL( ID, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_CANCEL", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- RATE_MONOTONIC_PERIOD - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.RATE_MONOTONIC_PERIOD( ID, TIMEOUT, STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "RATE_MONOTONIC_PERIOD", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - --- MULTIPROCESSING_ANNOUNCE - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - DUMMY_RTEMS.MULTIPROCESSING_ANNOUNCE; - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "MULTIPROCESSING_ANNOUNCE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - 0 - ); - - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end TASK_1; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads b/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads deleted file mode 100644 index 52b4da559d..0000000000 --- a/c/src/ada-tests/tmtests/tmoverhd/tmtest.ads +++ /dev/null @@ -1,155 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Calling Overhead Test of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-1997. --- On-Line Applications Research Corporation (OAR). --- Copyright assigned to U.S. Government, 1994. --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with RTEMS; -with SYSTEM; -with TIMER_DRIVER; -with System.Storage_Elements; - -package TMTEST is - --- --- Buffer Record similar to that used by RTEMS 3.2.1. Using this --- avoids changes to the test. --- - - type BUFFER is - record - FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH - FIELD2 : RTEMS.UNSIGNED32; - FIELD3 : RTEMS.UNSIGNED32; - FIELD4 : RTEMS.UNSIGNED32; - end record; - --- --- These arrays contain the IDs and NAMEs of all RTEMS tasks created --- by this test. --- - - TASK_ID : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.ID; - TASK_NAME : array ( RTEMS.UNSIGNED32 range 1 .. 3 ) of RTEMS.NAME; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- The following area defines a memory area to be used as the --- internal address space of the port. --- - - INTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00001000#); - - INTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for INTERNAL_PORT_AREA use at INTERNAL_PORT_AREA_ADDRESS; - --- --- The following area defines a memory area to be used as the --- external address space of the port. --- - - EXTERNAL_PORT_AREA_ADDRESS : constant System.Address := - System.Storage_Elements.To_Address(16#00002000#); - - EXTERNAL_PORT_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) - of RTEMS.UNSIGNED8; - for EXTERNAL_PORT_AREA use at EXTERNAL_PORT_AREA_ADDRESS; - - --- --- The following area defines a memory area to be used as the --- memory space for a partition and later for a region. --- - - MEMORY_AREA : array ( RTEMS.UNSIGNED32 range 0 .. 255 ) of RTEMS.UNSIGNED8; - for MEMORY_AREA'ALIGNMENT use RTEMS.STRUCTURE_ALIGNMENT; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - --- --- TIMER_HANDLER --- --- DESCRIPTION: --- --- This subprogram is a timer service routine. --- - - procedure TIMER_HANDLER ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - --- --- ISR_HANDLER --- --- DESCRIPTION: --- --- This subprogram is an interrupt service routine. --- - - procedure ISR_HANDLER ( - VECTOR : in RTEMS.VECTOR_NUMBER - ); - --- --- ASR_HANDLER --- --- DESCRIPTION: --- --- This subprogram is an asynchronous signal routine. --- - - procedure ASR_HANDLER ( - SIGNALS : in RTEMS.SIGNAL_SET - ); - --- --- TASK_1 --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and --- reporting the calling overhead for all RTEMS --- directives. --- - - procedure TASK_1 ( - ARGUMENT : in RTEMS.TASK_ARGUMENT - ); - -end TMTEST; diff --git a/c/src/ada/rtems.adb b/c/src/ada/rtems.adb deleted file mode 100644 index 9bd7432be1..0000000000 --- a/c/src/ada/rtems.adb +++ /dev/null @@ -1,2035 +0,0 @@ --- --- RTEMS / Body --- DESCRIPTION: --- --- This package provides the interface to the RTEMS API. --- --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1997. --- On-Line Applications Research Corporation (OAR). --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with Ada; -with Ada.Unchecked_Conversion; -with System; -with Interfaces; use Interfaces; -with Interfaces.C; - -package body RTEMS is - - -- - -- Utility Functions - -- - - function From_Ada_Boolean ( - Ada_Boolean : Standard.Boolean - ) return RTEMS.Boolean is - begin - - if Ada_Boolean = Standard.True then - return RTEMS.True; - end if; - - return RTEMS.False; - - end From_Ada_Boolean; - - function To_Ada_Boolean ( - RTEMS_Boolean : RTEMS.Boolean - ) return Standard.Boolean is - begin - - if RTEMS_Boolean = RTEMS.True then - return Standard.True; - end if; - - return Standard.False; - - end To_Ada_Boolean; - - function Milliseconds_To_Microseconds ( - Milliseconds : RTEMS.Unsigned32 - ) return RTEMS.Unsigned32 is - begin - - return Milliseconds * 1000; - - end Milliseconds_To_Microseconds; - - function Microseconds_To_Ticks ( - Microseconds : RTEMS.Unsigned32 - ) return RTEMS.Interval is - Microseconds_Per_Tick : RTEMS.Interval; - pragma Import (C, Microseconds_Per_Tick, "_TOD_Microseconds_per_tick"); - begin - - return Microseconds / Microseconds_Per_Tick; - - end Microseconds_To_Ticks; - - function Milliseconds_To_Ticks ( - Milliseconds : RTEMS.Unsigned32 - ) return RTEMS.Interval is - begin - - return Microseconds_To_Ticks(Milliseconds_To_Microseconds(Milliseconds)); - - end Milliseconds_To_Ticks; - - function Build_Name ( - C1 : in Character; - C2 : in Character; - C3 : in Character; - C4 : in Character - ) return RTEMS.Name is - C1_Value : RTEMS.Unsigned32; - C2_Value : RTEMS.Unsigned32; - C3_Value : RTEMS.Unsigned32; - C4_Value : RTEMS.Unsigned32; - begin - - C1_Value := Character'Pos( C1 ); - C2_Value := Character'Pos( C2 ); - C3_Value := Character'Pos( C3 ); - C4_Value := Character'Pos( C4 ); - - return Interfaces.Shift_Left( C1_Value, 24 ) or - Interfaces.Shift_Left( C2_Value, 16 ) or - Interfaces.Shift_Left( C3_Value, 8 ) or - C4_Value; - - end Build_Name; - - procedure Name_To_Characters ( - Name : in RTEMS.Name; - C1 : out Character; - C2 : out Character; - C3 : out Character; - C4 : out Character - ) is - C1_Value : RTEMS.Unsigned32; - C2_Value : RTEMS.Unsigned32; - C3_Value : RTEMS.Unsigned32; - C4_Value : RTEMS.Unsigned32; - begin - - C1_Value := Interfaces.Shift_Right( Name, 24 ); - C2_Value := Interfaces.Shift_Right( Name, 16 ); - C3_Value := Interfaces.Shift_Right( Name, 8 ); - C4_Value := Name; - - C1_Value := C1_Value and 16#00FF#; - C2_Value := C2_Value and 16#00FF#; - C3_Value := C3_Value and 16#00FF#; - C4_Value := C4_Value and 16#00FF#; - - C1 := Character'Val( C1_Value ); - C2 := Character'Val( C2_Value ); - C3 := Character'Val( C3_Value ); - C4 := Character'Val( C4_Value ); - - end Name_To_Characters; - - function Get_Node ( - ID : in RTEMS.ID - ) return RTEMS.Unsigned32 is - begin - - -- May not be right - return Interfaces.Shift_Right( ID, 16 ); - - end Get_Node; - - function Get_Index ( - ID : in RTEMS.ID - ) return RTEMS.Unsigned32 is - begin - - -- May not be right - return ID and 16#FFFF#; - - end Get_Index; - - - function Are_Statuses_Equal ( - Status : in RTEMS.Status_Codes; - Desired : in RTEMS.Status_Codes - ) return Standard.Boolean is - begin - - if Status = Desired then - return Standard.True; - end if; - - return Standard.False; - - end Are_Statuses_Equal; - - function Is_Status_Successful ( - Status : in RTEMS.Status_Codes - ) return Standard.Boolean is - begin - - if Status = RTEMS.Successful then - return Standard.True; - end if; - - return Standard.False; - - end Is_Status_Successful; - - function Subtract ( - Left : in RTEMS.Address; - Right : in RTEMS.Address - ) return RTEMS.Unsigned32 is - function To_Unsigned32 is - new Ada.Unchecked_Conversion (System.Address, RTEMS.Unsigned32); - - begin - return To_Unsigned32(Left) - To_Unsigned32(Right); - end Subtract; - - function Are_Equal ( - Left : in RTEMS.Address; - Right : in RTEMS.Address - ) return Standard.Boolean is - function To_Unsigned32 is - new Ada.Unchecked_Conversion (System.Address, RTEMS.Unsigned32); - - begin - return (To_Unsigned32(Left) = To_Unsigned32(Right)); - end Are_Equal; - - - -- - -- - -- RTEMS API - -- - - -- - -- Initialization Manager - -- - - procedure Initialize_Executive ( - Configuration_Table : in RTEMS.Configuration_Table_Pointer; - CPU_Table : in RTEMS.CPU_Table_Pointer - ) is - procedure Initialize_Executive_Base ( - Configuration_Table : in RTEMS.Configuration_Table_Pointer; - CPU_Table : in RTEMS.CPU_Table_Pointer - ); - pragma Import (C, Initialize_Executive_Base, - "rtems_initialize_executive"); - - begin - - Initialize_Executive_Base (Configuration_Table, CPU_Table); - - end Initialize_Executive; - - procedure Initialize_Executive_Early ( - Configuration_Table : in RTEMS.Configuration_Table_Pointer; - CPU_Table : in RTEMS.CPU_Table_Pointer; - Level : out RTEMS.ISR_Level - ) is - function Initialize_Executive_Early_Base ( - Configuration_Table : in RTEMS.Configuration_Table_Pointer; - CPU_Table : in RTEMS.CPU_Table_Pointer - ) return RTEMS.ISR_Level; - pragma Import (C, Initialize_Executive_Early_Base, - "rtems_initialize_executive_early"); - - begin - - Level := Initialize_Executive_Early_Base (Configuration_Table, CPU_Table); - - end Initialize_Executive_Early; - - procedure Initialize_Executive_Late ( - BSP_Level : in RTEMS.ISR_Level - ) is - procedure Initialize_Executive_Late_Base ( - Level : in RTEMS.ISR_Level - ); - pragma Import (C, Initialize_Executive_Late_Base, - "rtems_initialize_executive_late"); - - begin - - Initialize_Executive_Late_Base (BSP_Level); - - end Initialize_Executive_Late; - - procedure Shutdown_Executive ( - Result : in RTEMS.Unsigned32 - ) is - procedure Shutdown_Executive_Base; - pragma Import (C,Shutdown_Executive_Base,"rtems_shutdown_executive"); - begin - - Shutdown_Executive_Base; - - end Shutdown_Executive; - - - -- - -- Task Manager - -- - - procedure Task_Create ( - Name : in RTEMS.Name; - Initial_Priority : in RTEMS.Task_Priority; - Stack_Size : in RTEMS.Unsigned32; - Initial_Modes : in RTEMS.Mode; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Task_Create_Base ( - Name : RTEMS.Name; - Initial_Priority : RTEMS.Task_Priority; - Stack_Size : RTEMS.Unsigned32; - Initial_Modes : RTEMS.Mode; - Attribute_Set : RTEMS.Attribute; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Create_Base, "rtems_task_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - Result := Task_Create_Base ( - Name, - Initial_Priority, - Stack_Size, - Initial_Modes, - Attribute_Set, - ID_Base'Unchecked_Access - ); - ID := ID_Base; - end Task_Create; - - - procedure Task_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Node; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - - function Task_Ident_Base ( - Name : RTEMS.Name; - Node : RTEMS.Node; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Ident_Base, "rtems_task_ident"); - ID_Base : aliased RTEMS.ID := ID; - - begin - - Result := Task_Ident_Base ( - Name, - Node, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Task_Ident; - - procedure Task_Start ( - ID : in RTEMS.ID; - Entry_Point : in RTEMS.Task_Entry; - Argument : in RTEMS.Task_Argument; - Result : out RTEMS.Status_Codes - ) is - - function Task_Start_Base ( - ID : RTEMS.ID; - Entry_Point : RTEMS.Task_Entry; - Argument : RTEMS.Task_Argument - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Start_Base, "rtems_task_start"); - - begin - - Result := Task_Start_Base ( - ID, - Entry_Point, - Argument - ); - - end Task_Start; - - procedure Task_Restart ( - ID : in RTEMS.ID; - Argument : in RTEMS.Task_Argument; - Result : out RTEMS.Status_Codes - ) is - function Task_Restart_Base ( - ID : RTEMS.ID; - Argument : RTEMS.Task_Argument - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Restart_Base, "rtems_task_restart"); - begin - - Result := Task_Restart_Base ( - ID, - Argument - ); - - end Task_Restart; - - procedure Task_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Task_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Delete_Base, "rtems_task_delete"); - begin - - Result := Task_Delete_Base ( ID ); - - end Task_Delete; - - procedure Task_Suspend ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Task_Suspend_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Suspend_Base, "rtems_task_suspend"); - begin - - Result := Task_Suspend_Base ( ID ); - - end Task_Suspend; - - procedure Task_Resume ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Task_Resume_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Resume_Base, "rtems_task_resume"); - begin - - Result := Task_Resume_Base ( ID ); - - end Task_Resume; - - procedure Task_Set_Priority ( - ID : in RTEMS.ID; - New_Priority : in RTEMS.Task_Priority; - Old_Priority : out RTEMS.Task_Priority; - Result : out RTEMS.Status_Codes - ) is - function Task_Set_Priority_Base ( - ID : RTEMS.ID; - New_Priority : RTEMS.Task_Priority; - Old_Priority : access RTEMS.Task_Priority - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Set_Priority_Base, "rtems_task_set_priority"); - Old_Priority_Base : aliased RTEMS.Task_Priority := Old_Priority; - - begin - - Result := Task_Set_Priority_Base ( - ID, - New_Priority, - Old_Priority_Base'Unchecked_Access - ); - - Old_Priority := Old_Priority_Base; - - end Task_Set_Priority; - - procedure Task_Mode ( - Mode_Set : in RTEMS.Mode; - Mask : in RTEMS.Mode; - Previous_Mode_Set : out RTEMS.Mode; - Result : out RTEMS.Status_Codes - ) is - function Task_Mode_Base ( - Mode_Set : RTEMS.Mode; - Mask : RTEMS.Mode; - Previous_Mode_Set : access RTEMS.Mode - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Mode_Base, "rtems_task_mode"); - Previous_Mode_Set_Base : aliased RTEMS.Mode := Previous_Mode_Set; - begin - - Result := Task_Mode_Base ( - Mode_Set, - Mask, - Previous_Mode_Set_Base'Unchecked_Access - ); - - Previous_Mode_Set := Previous_Mode_Set_Base; - - end Task_Mode; - - procedure Task_Get_Note ( - ID : in RTEMS.ID; - Notepad : in RTEMS.Notepad_Index; - Note : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Task_Get_Note_Base ( - ID : RTEMS.ID; - Notepad : RTEMS.Notepad_Index; - Note : access RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Get_Note_Base, "rtems_task_get_note"); - Note_Base : aliased RTEMS.Unsigned32 := Note; - begin - - Result := Task_Get_Note_Base ( - ID, - Notepad, - Note_Base'Unchecked_Access - ); - - Note := NOTE_Base; - - end Task_Get_Note; - - procedure Task_Set_Note ( - ID : in RTEMS.ID; - Notepad : in RTEMS.Notepad_Index; - Note : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Task_Set_Note_Base ( - ID : RTEMS.ID; - Notepad : RTEMS.Notepad_Index; - Note : RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Set_Note_Base, "rtems_task_set_note"); - begin - - Result := Task_Set_Note_Base ( ID, Notepad, Note ); - - end Task_Set_Note; - - procedure Task_Wake_When ( - Time_Buffer : in RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ) is - function Task_Wake_When_Base ( - Time_Buffer : RTEMS.Time_Of_Day - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Wake_When_Base, "rtems_task_wake_when"); - begin - - Result := Task_Wake_When_Base ( Time_Buffer ); - - end Task_Wake_When; - - procedure Task_Wake_After ( - Ticks : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ) is - function Task_Wake_After_Base ( - Ticks : RTEMS.Interval - ) return RTEMS.Status_Codes; - pragma Import (C, Task_Wake_After_Base, "rtems_task_wake_after"); - begin - - Result := Task_Wake_After_Base ( Ticks ); - - end Task_Wake_After; - - -- - -- Interrupt Manager - -- - - procedure Interrupt_Catch ( - New_ISR_Handler : in RTEMS.Address; - Vector : in RTEMS.Vector_Number; - Old_ISR_Handler : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Interrupt_Catch_Base ( - New_ISR_Handler : RTEMS.Address; - Vector : RTEMS.Vector_Number; - Old_ISR_Handler : access RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Interrupt_Catch_Base, "rtems_interrupt_catch"); - Old_ISR_Handler_Base : aliased RTEMS.Address := Old_ISR_Handler; - begin - - Result := Interrupt_Catch_Base ( - New_ISR_Handler, - Vector, - OLD_ISR_HANDLER_Base'Unchecked_Access - ); - - Old_ISR_Handler := OLD_ISR_HANDLER_Base; - - end Interrupt_Catch; - - -- XXX - function Interrupt_Disable - return RTEMS.ISR_Level is - begin - return 0; - end Interrupt_Disable; - - procedure Interrupt_Enable ( - Level : in RTEMS.ISR_Level - ) is - begin - Null; - end Interrupt_Enable; - - procedure Interrupt_Flash ( - Level : in RTEMS.ISR_Level - ) is - begin - Null; - end Interrupt_Flash; - - function Interrupt_Is_In_Progress - return RTEMS.Boolean is - begin - return RTEMS.From_Ada_Boolean (Standard.True); - end Interrupt_Is_In_Progress; - - -- - -- Clock Manager - -- - - procedure Clock_Get ( - Option : in RTEMS.Clock_Get_Options; - Time_Buffer : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Clock_Get_base ( - Option : RTEMS.Clock_Get_Options; - Time_Buffer : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Clock_Get_base, "rtems_clock_get"); - begin - - Result := Clock_Get_base ( Option, Time_Buffer ); - - end Clock_Get; - - procedure Clock_Set ( - Time_Buffer : in RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ) is - function Clock_Set_base ( - Time_Buffer : RTEMS.Time_Of_Day - ) return RTEMS.Status_Codes; - pragma Import (C, Clock_Set_base, "rtems_clock_set"); - begin - - Result := Clock_Set_base ( Time_Buffer ); - - end Clock_Set; - - procedure Clock_Tick ( - Result : out RTEMS.Status_Codes - ) is - function Clock_Tick_Base return RTEMS.Status_Codes; - pragma Import (C, Clock_Tick_Base, "rtems_clock_tick"); - begin - - Result := Clock_Tick_Base; - - end Clock_Tick; - - -- - -- Extension Manager - -- - - procedure Extension_Create ( - Name : in RTEMS.Name; - Table : in RTEMS.Extensions_Table_Pointer; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Extension_Create_Base ( - Name : RTEMS.Name; - Table : RTEMS.Extensions_Table_Pointer; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Extension_Create_Base, "rtems_extension_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Extension_Create_Base ( - Name, - Table, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Extension_Create; - - procedure Extension_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Extension_Ident_Base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Extension_Ident_Base, "rtems_extension_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Extension_Ident_Base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Extension_Ident; - - procedure Extension_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Extension_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Extension_Delete_Base, "rtems_extension_delete"); - begin - - Result := Extension_Delete_Base ( ID ); - - end Extension_Delete; - - -- - -- Timer Manager - -- - - procedure Timer_Create ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Timer_Create_Base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Create_Base, "rtems_timer_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Timer_Create_Base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Timer_Create; - - procedure Timer_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Timer_Ident_Base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Ident_Base, "rtems_timer_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Timer_Ident_Base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Timer_Ident; - - procedure Timer_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Timer_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Delete_Base, "rtems_timer_delete"); - begin - - Result := Timer_Delete_Base ( ID ); - - end Timer_Delete; - - procedure Timer_Fire_After ( - ID : in RTEMS.ID; - Ticks : in RTEMS.Interval; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Timer_Fire_After_Base ( - ID : RTEMS.ID; - Ticks : RTEMS.Interval; - Routine : RTEMS.Timer_Service_Routine; - User_Data : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Fire_After_Base, "rtems_timer_fire_after"); - begin - - Result := Timer_Fire_After_Base ( - ID, - Ticks, - Routine, - User_Data - ); - - end Timer_Fire_After; - - procedure Timer_Fire_When ( - ID : in RTEMS.ID; - Wall_Time : in RTEMS.Time_Of_Day; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Timer_Fire_When ( - ID : RTEMS.ID; - Wall_Time : in RTEMS.Time_Of_Day; - Routine : RTEMS.Timer_Service_Routine; - User_Data : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Fire_When, "rtems_timer_fire_when"); - begin - - Result := Timer_Fire_When ( - ID, - Wall_Time, - Routine, - User_Data - ); - - end Timer_Fire_When; - - procedure Timer_Reset ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Timer_Reset_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Reset_Base, "rtems_timer_reset"); - begin - - Result := Timer_Reset_Base ( ID ); - - end Timer_Reset; - - procedure Timer_Cancel ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Timer_Cancel_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Timer_Cancel_Base, "rtems_timer_cancel"); - begin - - Result := Timer_Cancel_Base ( ID ); - - end Timer_Cancel; - - -- - -- Semaphore Manager - -- - - procedure Semaphore_Create ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - Priority_Ceiling : in RTEMS.Task_Priority; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Semaphore_Create_Base ( - Name : RTEMS.Name; - Count : RTEMS.Unsigned32; - Attribute_Set : RTEMS.Attribute; - Priority_Ceiling : RTEMS.Task_Priority; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Semaphore_Create_Base, "rtems_semaphore_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Semaphore_Create_Base ( - Name, - Count, - Attribute_Set, - Priority_Ceiling, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Semaphore_Create; - - procedure Semaphore_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Semaphore_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Semaphore_Delete_Base, "rtems_semaphore_delete"); - begin - - Result := Semaphore_Delete_Base ( ID ); - - end Semaphore_Delete; - - procedure Semaphore_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Semaphore_Ident_Base ( - Name : RTEMS.Name; - Node : RTEMS.Unsigned32; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Semaphore_Ident_Base, "rtems_semaphore_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Semaphore_Ident_Base ( - Name, - Node, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Semaphore_Ident; - - procedure Semaphore_Obtain ( - ID : in RTEMS.ID; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ) is - function Semaphore_Obtain_Base ( - ID : RTEMS.ID; - Option_Set : RTEMS.Option; - Timeout : RTEMS.Interval - ) return RTEMS.Status_Codes; - pragma Import (C, Semaphore_Obtain_Base, "rtems_semaphore_obtain"); - begin - - Result := Semaphore_Obtain_Base ( ID, Option_Set, Timeout ); - - end Semaphore_Obtain; - - procedure Semaphore_Release ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Semaphore_Release_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Semaphore_Release_Base, "rtems_semaphore_release"); - begin - - Result := Semaphore_Release_Base ( ID ); - - end Semaphore_Release; - - -- - -- Message Queue Manager - -- - - procedure Message_Queue_Create ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - -- XXX broken - function Message_Queue_Create_Base ( - Name : RTEMS.Name; - Count : RTEMS.Unsigned32; - Max_Message_Size : RTEMS.Unsigned32; - Attribute_Set : RTEMS.Attribute; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, - Message_Queue_Create_Base, "rtems_message_queue_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Message_Queue_Create_Base ( - Name, - Count, - Max_Message_Size, - Attribute_Set, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Message_Queue_Create; - - procedure Message_Queue_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Ident_Base ( - Name : RTEMS.Name; - Node : RTEMS.Unsigned32; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Ident_Base, "rtems_message_queue_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Message_Queue_Ident_Base ( - Name, - Node, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Message_Queue_Ident; - - procedure Message_Queue_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Delete_Base, - "rtems_message_queue_delete"); - begin - - Result := Message_Queue_Delete_Base ( ID ); - - end Message_Queue_Delete; - - procedure Message_Queue_Send ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Send_Base ( - ID : RTEMS.ID; - Buffer : RTEMS.Address; - Size : RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Send_Base, "rtems_message_queue_send"); - begin - - Result := Message_Queue_Send_Base ( ID, Buffer, Size ); - - end Message_Queue_Send; - - procedure Message_Queue_Urgent ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Urgent_Base ( - ID : RTEMS.ID; - Buffer : RTEMS.Address; - Size : RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Urgent_Base, - "rtems_message_queue_urgent"); - begin - - Result := Message_Queue_Urgent_Base ( ID, Buffer, Size ); - - end Message_Queue_Urgent; - - procedure Message_Queue_Broadcast ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Broadcast_Base ( - ID : RTEMS.ID; - Buffer : RTEMS.Address; - Size : RTEMS.Unsigned32; - Count : access RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Broadcast_Base, - "rtems_message_queue_broadcast"); - Count_Base : aliased RTEMS.Unsigned32 := Count; - begin - - Result := Message_Queue_Broadcast_Base ( - ID, - Buffer, - Size, - Count_Base'Unchecked_Access - ); - - Count := Count_Base; - - end Message_Queue_Broadcast; - - procedure Message_Queue_Receive ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Size : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Receive_Base ( - ID : RTEMS.ID; - Buffer : RTEMS.Address; - Size : access RTEMS.Unsigned32; - Option_Set : RTEMS.Option; - Timeout : RTEMS.Interval - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Receive_Base, - "rtems_message_queue_receive"); - Size_Base : aliased RTEMS.Unsigned32; - begin - - Result := Message_Queue_Receive_Base ( - ID, - Buffer, - Size_Base'Unchecked_Access, - Option_Set, - Timeout - ); - - Size := Size_Base; - - end Message_Queue_Receive; - - procedure Message_Queue_Flush ( - ID : in RTEMS.ID; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Message_Queue_Flush_Base ( - ID : RTEMS.ID; - Count : access RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Message_Queue_Flush_Base, "rtems_message_queue_flush"); - COUNT_Base : aliased RTEMS.Unsigned32 := Count; - begin - - Result := Message_Queue_Flush_Base ( - ID, - COUNT_Base'Unchecked_Access - ); - - Count := COUNT_Base; - - end Message_Queue_Flush; - - - -- - -- Event Manager - -- - - procedure Event_Send ( - ID : in RTEMS.ID; - Event_In : in RTEMS.Event_Set; - Result : out RTEMS.Status_Codes - ) is - function Event_Send_Base ( - ID : RTEMS.ID; - Event_In : RTEMS.Event_Set - ) return RTEMS.Status_Codes; - pragma Import (C, Event_Send_Base, "rtems_event_send"); - begin - - Result := Event_Send_Base ( - ID, - Event_In - ); - - end Event_Send; - - procedure Event_Receive ( - Event_In : in RTEMS.Event_Set; - Option_Set : in RTEMS.Option; - Ticks : in RTEMS.Interval; - Event_Out : out RTEMS.Event_Set; - Result : out RTEMS.Status_Codes - ) is - function Event_Receive_Base ( - Event_In : RTEMS.Event_Set; - Option_Set : RTEMS.Option; - Ticks : RTEMS.Interval; - Event_Out : access RTEMS.Event_Set - ) return RTEMS.Status_Codes; - pragma Import (C, Event_Receive_Base, "rtems_event_receive"); - Event_Out_Base : aliased RTEMS.Event_Set; -- := Event_Out; - begin - - Result := Event_Receive_Base ( - Event_In, - Option_Set, - Ticks, - Event_Out_Base'Access - ); - - Event_Out := Event_Out_Base; - - end Event_Receive; - - -- - -- Signal Manager - -- - - procedure Signal_Catch ( - ASR_Handler : in RTEMS.ASR_Handler; - Mode_Set : in RTEMS.Mode; - Result : out RTEMS.Status_Codes - ) is - function Signal_Catch_Base ( - ASR_Handler : RTEMS.ASR_Handler; - Mode_Set : RTEMS.Mode - ) return RTEMS.Status_Codes; - pragma Import (C, Signal_Catch_Base, "rtems_signal_catch"); - begin - - Result := Signal_Catch_Base ( ASR_Handler, Mode_Set ); - - end Signal_Catch; - - procedure Signal_Send ( - ID : in RTEMS.ID; - Signal_Set : in RTEMS.Signal_Set; - Result : out RTEMS.Status_Codes - ) is - function Signal_Send_Base ( - ID : RTEMS.ID; - Signal_Set : RTEMS.Signal_Set - ) return RTEMS.Status_Codes; - pragma Import (C, Signal_Send_Base, "rtems_signal_send"); - begin - - Result := Signal_Send_Base ( ID, Signal_Set ); - - end Signal_Send; - - - -- - -- Partition Manager - -- - - procedure Partition_Create ( - Name : in RTEMS.Name; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Buffer_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Partition_Create_Base ( - Name : RTEMS.Name; - Starting_Address : RTEMS.Address; - Length : RTEMS.Unsigned32; - Buffer_Size : RTEMS.Unsigned32; - Attribute_Set : RTEMS.Attribute; - ID : access RTEMS.Event_Set - ) return RTEMS.Status_Codes; - pragma Import (C, Partition_Create_Base, "rtems_partition_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Partition_Create_Base ( - Name, - Starting_Address, - Length, - Buffer_Size, - Attribute_Set, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Partition_Create; - - procedure Partition_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Partition_Ident_Base ( - Name : RTEMS.Name; - Node : RTEMS.Unsigned32; - ID : access RTEMS.Event_Set - ) return RTEMS.Status_Codes; - pragma Import (C, Partition_Ident_Base, "rtems_partition_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Partition_Ident_Base ( - Name, - Node, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Partition_Ident; - - procedure Partition_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Partition_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Partition_Delete_Base, "rtems_partition_delete"); - begin - - Result := Partition_Delete_Base ( ID ); - - end Partition_Delete; - - procedure Partition_Get_Buffer ( - ID : in RTEMS.ID; - Buffer : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Partition_Get_Buffer_Base ( - ID : RTEMS.ID; - Buffer : access RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Partition_Get_Buffer_Base, - "rtems_partition_get_buffer"); - Buffer_Base : aliased RTEMS.Address := Buffer; - begin - - Result := Partition_Get_Buffer_Base ( - ID, - Buffer_Base'Unchecked_Access - ); - - Buffer := Buffer_Base; - - end Partition_Get_Buffer; - - procedure Partition_Return_Buffer ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Partition_Return_Buffer_Base ( - ID : RTEMS.Name; - Buffer : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Partition_Return_Buffer_Base, - "rtems_partition_return_buffer"); - begin - - Result := Partition_Return_Buffer_Base ( ID, Buffer ); - - end Partition_Return_Buffer; - - -- - -- Region Manager - -- - - procedure Region_Create ( - Name : in RTEMS.Name; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Page_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Region_Create_Base ( - Name : RTEMS.Name; - Starting_Address : RTEMS.Address; - Length : RTEMS.Unsigned32; - Page_Size : RTEMS.Unsigned32; - Attribute_Set : RTEMS.Attribute; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Create_Base, "rtems_region_create"); - ID_Base : aliased RTEMS.ID := ID; - - begin - - Result := Region_Create_Base ( - Name, - Starting_Address, - Length, - Page_Size, - Attribute_Set, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Region_Create; - - procedure Region_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Region_Ident_Base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Ident_Base, "rtems_region_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Region_Ident_Base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Region_Ident; - - procedure Region_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Region_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Delete_Base, "rtems_region_delete"); - begin - - Result := Region_Delete_Base ( ID ); - - end Region_Delete; - - procedure Region_Extend ( - ID : in RTEMS.ID; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Region_Extend_Base ( - ID : RTEMS.ID; - Starting_Address : RTEMS.Address; - Length : RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Extend_Base, "rtems_region_extend"); - begin - - Result := Region_Extend_Base ( ID, Starting_Address, Length ); - - end Region_Extend; - - procedure Region_Get_Segment ( - ID : in RTEMS.ID; - Size : in RTEMS.Unsigned32; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Segment : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Region_Get_Segment_Base ( - ID : RTEMS.ID; - Size : RTEMS.Unsigned32; - Option_Set : RTEMS.Option; - Timeout : RTEMS.Interval; - Segment : access RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Get_Segment_Base, "rtems_region_get_segment"); - Segment_Base : aliased RTEMS.Address := Segment; - begin - - Result := Region_Get_Segment_Base ( - ID, - Size, - Option_Set, - Timeout, - Segment_Base'Unchecked_Access - ); - - Segment := SEGMENT_Base; - - end Region_Get_Segment; - - procedure Region_Get_Segment_Size ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Size : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function Region_Get_Segment_Size_Base ( - ID : RTEMS.ID; - Segment : RTEMS.Address; - Size : access RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Get_Segment_Size_Base, - "rtems_region_get_segment_size"); - Size_Base : aliased RTEMS.Unsigned32 := Size; - begin - - Result := Region_Get_Segment_Size_Base ( - ID, - Segment, - Size_Base'Unchecked_Access - ); - - Size := SIZE_Base; - - end Region_Get_Segment_Size; - - procedure Region_Return_Segment ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Region_Return_Segment_Base ( - ID : RTEMS.ID; - Segment : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Region_Return_Segment_Base, - "rtems_region_return_segment"); - begin - - Result := Region_Return_Segment_Base ( ID, Segment ); - - end Region_Return_Segment; - - - -- - -- Dual Ported Memory Manager - -- - - procedure Port_Create ( - Name : in RTEMS.Name; - Internal_Start : in RTEMS.Address; - External_Start : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Port_Create_Base ( - Name : RTEMS.Name; - Internal_Start : RTEMS.Address; - External_Start : RTEMS.Address; - Length : RTEMS.Unsigned32; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Port_Create_Base, "rtems_port_create"); - ID_Base : aliased RTEMS.ID := ID; - - begin - - Result := Port_Create_Base ( - Name, - Internal_Start, - External_Start, - Length, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Port_Create; - - procedure Port_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Port_Ident_Base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Port_Ident_Base, "rtems_port_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Port_Ident_Base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Port_Ident; - - procedure Port_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Port_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Port_Delete_Base, "rtems_port_delete"); - begin - - Result := Port_Delete_Base ( ID ); - - end Port_Delete; - - procedure Port_External_To_Internal ( - ID : in RTEMS.ID; - External : in RTEMS.Address; - Internal : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Port_External_To_Internal_Base ( - ID : RTEMS.ID; - External : RTEMS.Address; - Internal : access RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Port_External_To_Internal_Base, - "rtems_port_external_to_internal"); - Internal_Base : aliased RTEMS.Address := Internal; - begin - - Result := Port_External_To_Internal_Base ( - ID, - External, - Internal_Base'Unchecked_Access - ); - - Internal := INTERNAL_Base; - - end Port_External_To_Internal; - - procedure Port_Internal_To_External ( - ID : in RTEMS.ID; - Internal : in RTEMS.Address; - External : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function Port_Internal_To_External_Base ( - ID : RTEMS.ID; - Internal : RTEMS.Address; - External : access RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, Port_Internal_To_External_Base, - "rtems_port_internal_to_external"); - External_Base : aliased RTEMS.Address := External; - begin - - Result := Port_Internal_To_External_Base ( - ID, - Internal, - External_Base'Unchecked_Access - ); - - External := EXTERNAL_Base; - - end Port_Internal_To_External; - - -- - -- Input/Output Manager - -- - - procedure IO_Initialize ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Return_Value : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ) is - function IO_Initialize_Base ( - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - Argument : RTEMS.Address; - Return_Value : access RTEMS.Unsigned32 - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Initialize_Base, "rtems_io_initialize"); - Return_Value_Base : aliased RTEMS.Unsigned32 := Return_Value; - begin - - Result := IO_Initialize_Base ( - Major, - Minor, - Argument, - Return_Value_Base'Unchecked_Access - ); - - Return_Value := Return_Value_Base; - - end IO_Initialize; - - procedure IO_Register_Name ( - Name : in String; - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Result : out RTEMS.Status_Codes - ) is - function IO_Register_Name_Base ( - Name : Interfaces.C.Char_Array; - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Register_Name_Base, "rtems_io_register_name"); - begin - - Result := IO_Register_Name_Base ( - Interfaces.C.To_C (Name), - Major, - Minor - ); - - end IO_Register_Name; - - procedure IO_Lookup_Name ( - Name : in String; - Device_Info : out RTEMS.Driver_Name_t; - Result : out RTEMS.Status_Codes - ) is - function IO_Lookup_Name_Base ( - Name : Interfaces.C.Char_Array; - Device_Info : access RTEMS.Driver_Name_t - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name"); - - Device_Info_Base : aliased RTEMS.Driver_Name_t; - begin - - Result := IO_Lookup_Name_Base ( - Interfaces.C.To_C (Name), - Device_Info_Base'Unchecked_Access - ); - - Device_Info := Device_Info_Base; - - end IO_Lookup_Name; - - procedure IO_Open ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function IO_Open_Base ( - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - Argument : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Open_Base, "rtems_io_open"); - begin - - Result := IO_Open_Base (Major, Minor, Argument); - - end IO_Open; - - procedure IO_Close ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function IO_Close_Base ( - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - Argument : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Close_Base, "rtems_io_close"); - begin - - Result := IO_Close_Base (Major, Minor, Argument); - - end IO_Close; - - procedure IO_Read ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function IO_Read_Base ( - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - Argument : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Read_Base, "rtems_io_read"); - begin - - Result := IO_Read_Base (Major, Minor, Argument); - - end IO_Read; - - procedure IO_Write ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function IO_Write_Base ( - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - Argument : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Write_Base, "rtems_io_write"); - begin - - Result := IO_Write_Base (Major, Minor, Argument); - - end IO_Write; - - procedure IO_Control ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ) is - function IO_Control_Base ( - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - Argument : RTEMS.Address - ) return RTEMS.Status_Codes; - pragma Import (C, IO_Control_Base, "rtems_io_control"); - begin - - Result := IO_Control_Base (Major, Minor, Argument); - - end IO_Control; - - - -- - -- Fatal Error Manager - -- - - procedure Fatal_Error_Occurred ( - The_Error : in RTEMS.Unsigned32 - ) is - procedure Fatal_Error_Occurred_base ( - The_Error : RTEMS.Unsigned32 - ); - pragma Import (C, Fatal_Error_Occurred_Base, "rtems_fatal_error_occurred"); - begin - - Fatal_Error_Occurred_Base ( The_Error ); - - end Fatal_Error_Occurred; - -- - -- Rate Monotonic Manager - -- - - procedure Rate_Monotonic_Create ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Rate_Monotonic_Create_base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Rate_Monotonic_Create_base, "rtems_rate_monotonic_create"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Rate_Monotonic_Create_base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Rate_Monotonic_Create; - - procedure Rate_Monotonic_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Rate_Monotonic_Ident_Base ( - Name : RTEMS.Name; - ID : access RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Rate_Monotonic_Ident_Base, "rtems_rate_monotonic_ident"); - ID_Base : aliased RTEMS.ID := ID; - begin - - Result := Rate_Monotonic_Ident_Base ( - Name, - ID_Base'Unchecked_Access - ); - - ID := ID_Base; - - end Rate_Monotonic_Ident; - - procedure Rate_Monotonic_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Rate_Monotonic_Delete_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Rate_Monotonic_Delete_Base, - "rtems_rate_monotonic_delete"); - begin - - Result := Rate_Monotonic_Delete_base ( ID ); - - end Rate_Monotonic_Delete; - - procedure Rate_Monotonic_Cancel ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ) is - function Rate_Monotonic_Cancel_Base ( - ID : RTEMS.ID - ) return RTEMS.Status_Codes; - pragma Import (C, Rate_Monotonic_Cancel_Base, - "rtems_rate_monotonic_cancel"); - begin - - Result := Rate_Monotonic_Cancel_Base ( ID ); - - end Rate_Monotonic_Cancel; - - procedure Rate_Monotonic_Period ( - ID : in RTEMS.ID; - Length : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ) is - function Rate_Monotonic_Period_Base ( - ID : RTEMS.ID; - Length : RTEMS.Interval - ) return RTEMS.Status_Codes; - pragma Import (C, Rate_Monotonic_Period_Base, - "rtems_rate_monotonic_period"); - begin - - Result := Rate_Monotonic_Period_base ( ID, Length ); - - end Rate_Monotonic_Period; - - - procedure Rate_Monotonic_Get_Status ( - ID : in RTEMS.ID; - Status : out RTEMS.Rate_Monotonic_Period_Status; - Result : out RTEMS.Status_Codes - ) is - function Rate_Monotonic_Get_Status_Base ( - ID : RTEMS.ID; - Status : access RTEMS.Rate_Monotonic_Period_Status - ) return RTEMS.Status_Codes; - pragma Import (C, Rate_Monotonic_Get_Status_Base, - "rtems_rate_monotonic_get_status"); - - Status_Base : aliased RTEMS.Rate_Monotonic_Period_Status; - begin - - Result := Rate_Monotonic_Get_Status_Base ( - ID, - Status_Base'Unchecked_Access - ); - - Status := Status_Base; - - - end Rate_Monotonic_Get_Status; - - -- - -- Multiprocessing Manager - -- - - procedure Multiprocessing_Announce is - procedure Multiprocessing_Announce_Base; - pragma Import (C, Multiprocessing_Announce_Base, - "rtems_multiprocessing_announce"); - begin - - Multiprocessing_Announce_Base; - - end Multiprocessing_Announce; - - - -- - -- Debug Manager - -- - - procedure Debug_Enable ( - To_Be_Enabled : in RTEMS.Debug_Set - ) is - procedure Debug_Enable_Base ( - To_Be_Enabled : RTEMS.Debug_Set - ); - pragma Import (C, Debug_Enable_Base, "rtems_debug_enable"); - begin - - Debug_Enable_Base ( To_Be_Enabled ); - - end Debug_Enable; - - procedure Debug_Disable ( - To_Be_Disabled : in RTEMS.Debug_Set - ) is - procedure Debug_Disable_Base ( - To_Be_Disabled : RTEMS.Debug_Set - ); - pragma Import (C, Debug_Disable_Base, "rtems_debug_disable"); - begin - - Debug_Disable_Base ( To_Be_Disabled ); - - end Debug_Disable; - - function Debug_Is_Enabled ( - Level : in RTEMS.Debug_Set - ) return RTEMS.Boolean is - function Debug_Is_Enabled_Base ( - Level : RTEMS.Debug_Set - ) return RTEMS.Boolean; - pragma Import (C, Debug_Is_Enabled_Base, "_Debug_Is_enabled"); - begin - - return Debug_Is_Enabled_Base ( Level ); - - end Debug_Is_Enabled; - - -- HACK - -- function Configuration - -- return RTEMS.Configuration_Table_Pointer is - -- Configuration_base : RTEMS.Configuration_Table_Pointer; - -- pragma Import (C, Configuration_base, "_Configuration_Table"); - -- begin - -- return Configuration_Base; - -- end Configuration; - -end RTEMS; - diff --git a/c/src/ada/rtems.ads b/c/src/ada/rtems.ads deleted file mode 100644 index 508f24046f..0000000000 --- a/c/src/ada/rtems.ads +++ /dev/null @@ -1,1430 +0,0 @@ --- --- RTEMS / Specification --- --- DESCRIPTION: --- --- This package provides the interface to the RTEMS API. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1997. --- On-Line Applications Research Corporation (OAR). --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.OARcorp.com/rtems/license.html. --- --- $Id$ --- - -with System; -with System.Storage_Elements; use System.Storage_Elements; -with Interfaces; -with Interfaces.C; - -package RTEMS is - - Structure_Alignment : constant := 8; - - -- - -- RTEMS Base Types - -- - - subtype Unsigned8 is Interfaces.Unsigned_8; - subtype Unsigned16 is Interfaces.Unsigned_16; - subtype Unsigned32 is Interfaces.Unsigned_32; - - type Unsigned32_Pointer is access all RTEMS.Unsigned32; - type Unsigned16_Pointer is access all RTEMS.Unsigned16; - type Unsigned8_Pointer is access all RTEMS.Unsigned8; - - subtype Boolean is RTEMS.Unsigned32; - subtype Address is System.Address; - subtype Single is Interfaces.C.C_float; - subtype Double is Interfaces.C.Double; - - -- - -- The following define the size of each of the base types in - -- both bits and system units. - -- - - Unsigned8_Bits : constant := 7; - Unsigned16_Bits : constant := 15; - Unsigned32_Bits : constant := 31; - Boolean_Bits : constant := 31; - Address_Bits : constant := 31; - Single_Bits : constant := 31; - Double_Bits : constant := 63; - - Unsigned8_Units : constant := 1; - Unsigned16_Units : constant := 2; - Unsigned32_Units : constant := 4; - Boolean_Units : constant := 4; - Address_Units : constant := 4; - Single_Units : constant := 4; - Double_Units : constant := 8; - - Null_Address : constant RTEMS.Address := - System.Storage_Elements.To_Address(0); - - True : constant RTEMS.Boolean := 1; - False : constant RTEMS.Boolean := 0; - - -- More Types - -- - - subtype Name is RTEMS.Unsigned32; - subtype ID is RTEMS.Unsigned32; - subtype Interval is RTEMS.Unsigned32; - subtype Attribute is RTEMS.Unsigned32; - subtype Mode is RTEMS.Unsigned32; - subtype Option is RTEMS.Unsigned32; - subtype Task_Priority is RTEMS.Unsigned32; - subtype Notepad_Index is RTEMS.Unsigned32 range 0 .. 15; - - subtype Event_Set is RTEMS.Unsigned32; - subtype Signal_Set is RTEMS.Unsigned32; - subtype Debug_Set is RTEMS.Unsigned32; - subtype Device_Major_Number is RTEMS.Unsigned32; - subtype Device_Minor_Number is RTEMS.Unsigned32; - subtype Vector_Number is RTEMS.Unsigned32; - subtype ISR_Level is RTEMS.Unsigned32; - - subtype Node is RTEMS.Unsigned32; - - -- - -- Task Related Types - -- XXXX fix this - subtype Task_Argument is RTEMS.Unsigned32; - type Task_Argument_PTR is access all Task_Argument; - - -- XXXX fix this - subtype TCB is RTEMS.Unsigned32; - type TCB_Pointer is access all RTEMS.TCB; - - subtype Task_States is RTEMS.Unsigned32; - - type Task_Entry is access procedure ( - Argument : RTEMS.Unsigned32 - ); - - -- - -- Clock and Time of Day Types - -- - - type Time_Of_Day is - record - Year : RTEMS.Unsigned32; -- year, A.D. - Month : RTEMS.Unsigned32; -- month, 1 .. 12 - Day : RTEMS.Unsigned32; -- day, 1 .. 31 - Hour : RTEMS.Unsigned32; -- hour, 0 .. 23 - Minute : RTEMS.Unsigned32; -- minute, 0 .. 59 - Second : RTEMS.Unsigned32; -- second, 0 .. 59 - Ticks : RTEMS.Unsigned32; -- elapsed ticks between seconds - end record; - - type Clock_Time_Value is - record - Seconds : RTEMS.Unsigned32; - Microseconds : RTEMS.Unsigned32; - end record; - - type Clock_Get_Options is ( - Clock_Get_TOD, - Clock_Get_Seconds_Since_Epoch, - Clock_Get_Ticks_Since_Boot, - Clock_Get_Ticks_Per_Seconds, - Clock_Get_Time_Value - ); - - -- - -- Device Driver Entry Prototype - -- - - type Device_Driver_Entry is access function ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Major_Number; - Argument : in RTEMS.Unsigned32; - ID : in RTEMS.Unsigned32 - ) return RTEMS.Unsigned32; - - type Driver_Address_Table_Entry is - record - Initialization : RTEMS.Device_Driver_Entry; - Open : RTEMS.Device_Driver_Entry; - Close : RTEMS.Device_Driver_Entry; - Read : RTEMS.Device_Driver_Entry; - Write : RTEMS.Device_Driver_Entry; - Control : RTEMS.Device_Driver_Entry; - end record; - - type Driver_Address_Table is array ( RTEMS.Unsigned32 - range 1 .. RTEMS.Unsigned32'Last ) of RTEMS.Driver_Address_Table_Entry; - - type Driver_Address_Table_Pointer is access all Driver_Address_Table; - - type Driver_Name_t is - record - Device_Name : RTEMS.Address; - Device_Name_Length : RTEMS.Unsigned32; - Major : RTEMS.Device_Major_Number; - Minor : RTEMS.Device_Minor_Number; - - end record; - - -- - -- Ident Options - -- - - Search_All_Nodes : constant RTEMS.Node := 0; - - -- - -- Options - -- - - Default_Options : constant RTEMS.Option := 16#0000#; - - Wait : constant RTEMS.Option := 16#0000#; - No_Wait : constant RTEMS.Option := 16#0001#; - - Event_All : constant RTEMS.Option := 16#0000#; - Event_Any : constant RTEMS.Option := 16#0002#; - - -- - -- Mode constants - -- - - Default_Modes : constant RTEMS.Mode := 16#0000#; - - All_Mode_Masks : constant RTEMS.Mode := 16#0000_ffff#; - Current_Mode : constant RTEMS.Mode := 16#0000_0000#; - Preempt_Mask : constant RTEMS.Mode := 16#0000_0100#; - Timeslice_Mask : constant RTEMS.Mode := 16#0000_0200#; - ASR_Mask : constant RTEMS.Mode := 16#0000_0400#; - Interrupt_Mask : RTEMS.Mode; - Preempt : constant RTEMS.Mode := 16#0000_0000#; - No_Preempt : constant RTEMS.Mode := 16#0000_0100#; - No_Timeslice : constant RTEMS.Mode := 16#0000_0000#; - Timeslice : constant RTEMS.Mode := 16#0000_0200#; - ASR : constant RTEMS.Mode := 16#0000_0000#; - No_ASR : constant RTEMS.Mode := 16#0000_0400#; - - pragma Import (C, Interrupt_Mask, "rtems_interrupt_mask"); - - -- - -- Attribute constants - -- - - Default_Attributes : constant RTEMS.Attribute := 16#00000000#; - No_Floating_Point : constant RTEMS.Attribute := 16#00000000#; - Floating_Point : constant RTEMS.Attribute := 16#00000001#; - Local : constant RTEMS.Attribute := 16#00000000#; - Global : constant RTEMS.Attribute := 16#00000002#; - FIFO : constant RTEMS.Attribute := 16#00000000#; - Priority : constant RTEMS.Attribute := 16#00000004#; - Counting_Semaphore : constant RTEMS.Attribute := 16#00000000#; - Binary_Semaphore : constant RTEMS.Attribute := 16#00000010#; - No_Inherit_Priority : constant RTEMS.Attribute := 16#00000000#; - Inherit_Priority : constant RTEMS.Attribute := 16#00000020#; - No_Priority_Ceiling : constant RTEMS.Attribute := 16#00000000#; - Priority_Ceiling : constant RTEMS.Attribute := 16#00000040#; - - function Interrupt_Level ( - Level : in RTEMS.Unsigned32 - ) return RTEMS.Attribute; - pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute"); - - - Minimum_Stack_Size : RTEMS.Unsigned32; - pragma Import (C, Minimum_Stack_Size, "rtems_minimum_stack_size"); - - - -- - -- Notepad index constants - -- - - Notepad_0 : constant RTEMS.Unsigned32 := 0; - Notepad_1 : constant RTEMS.Unsigned32 := 1; - Notepad_2 : constant RTEMS.Unsigned32 := 2; - Notepad_3 : constant RTEMS.Unsigned32 := 3; - Notepad_4 : constant RTEMS.Unsigned32 := 4; - Notepad_5 : constant RTEMS.Unsigned32 := 5; - Notepad_6 : constant RTEMS.Unsigned32 := 6; - Notepad_7 : constant RTEMS.Unsigned32 := 7; - Notepad_8 : constant RTEMS.Unsigned32 := 8; - Notepad_9 : constant RTEMS.Unsigned32 := 9; - Notepad_10 : constant RTEMS.Unsigned32 := 10; - Notepad_11 : constant RTEMS.Unsigned32 := 11; - Notepad_12 : constant RTEMS.Unsigned32 := 12; - Notepad_13 : constant RTEMS.Unsigned32 := 13; - Notepad_14 : constant RTEMS.Unsigned32 := 14; - Notepad_15 : constant RTEMS.Unsigned32 := 15; - - -- - -- Miscellaneous - -- - - No_Timeout : constant RTEMS.Interval := 0; - Self : constant RTEMS.ID := 0; - Period_Status : constant RTEMS.Interval := 0; - Yield_Processor : constant RTEMS.Interval := 0; - Current_Priority : constant RTEMS.Task_Priority := 0; - No_Priority : constant RTEMS.Task_Priority := 0; - - - -- - -- Extension Callouts and Table - -- - - type Thread_Create_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer; - New_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Start_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer; - Started_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Restart_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer; - Restarted_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Delete_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer; - Deleted_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Switch_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer; - Heir_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Post_Switch_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Begin_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer - ); - - type Thread_Exitted_Extension is access procedure ( - Current_Task : in RTEMS.TCB_Pointer - ); - - type Fatal_Error_Extension is access procedure ( - Error : in RTEMS.Unsigned32 - ); - - type Extensions_Table is - record - Thread_Create : RTEMS.Thread_Create_Extension; - Thread_Start : RTEMS.Thread_Start_Extension; - Thread_Restart : RTEMS.Thread_Restart_Extension; - Thread_Delete : RTEMS.Thread_Delete_Extension; - Thread_Switch : RTEMS.Thread_Switch_Extension; - Thread_Post_Switch : RTEMS.Thread_Post_Switch_Extension; - Thread_Begin : RTEMS.Thread_Begin_Extension; - Thread_Exitted : RTEMS.Thread_Exitted_Extension; - Fatal : RTEMS.Fatal_Error_Extension; - end record; - - type Extensions_Table_Pointer is access all Extensions_Table; - - -- - -- The following type define a pointer to a watchdog/timer service routine. - -- - - type Timer_Service_Routine is access procedure ( - ID : in RTEMS.ID; - User_Data : in RTEMS.Address - ); - - -- - -- The following type define a pointer to a signal service routine. - -- - - type ASR_Handler is access procedure ( - Signals : in RTEMS.Signal_Set - ); - - -- - -- The following type defines the status information returned - -- about a period. - -- - - type Rate_Monotonic_Period_States is ( - Inactive, -- off chain, never initialized - Owner_Is_Blocking, -- on chain, owner is blocking on it - Active, -- on chain, running continuously - Expired_While_Blocking, -- on chain, expired while owner was was blocking - Expired -- off chain, will be reset by next - -- rtems_rate_monotonic_period - ); - - for Rate_Monotonic_Period_States'Size use 32; - - for Rate_Monotonic_Period_States use ( - Inactive => 0, - Owner_Is_Blocking => 1, - Active => 2, - Expired_While_Blocking => 3, - Expired => 4 - ); - - type Rate_Monotonic_Period_Status is - record - State : RTEMS.Rate_Monotonic_Period_States; - Ticks_Since_Last_Period : RTEMS.Unsigned32; - Ticks_Executed_Since_Last_Period : RTEMS.Unsigned32; - end record; - - -- - -- Method Completions Status Codes - -- - - type Status_Codes is ( - Successful, -- successful completion - Task_Exitted, -- returned from a task - MP_Not_Configured, -- multiprocessing not configured - Invalid_Name, -- invalid object name - Invalid_ID, -- invalid object id - Too_Many, -- too many - Timeout, -- timed out waiting - Object_Was_Deleted, -- object deleted while waiting - Invalid_Size, -- specified size was invalid - Invalid_Address, -- address specified is invalid - Invalid_Number, -- number was invalid - Not_Defined, -- item has not been initialized - Resource_In_Use, -- resources still outstanding - Unsatisfied, -- request not satisfied - Incorrect_State, -- task is in wrong state - Already_Suspended, -- task already in state - Illegal_On_Self, -- illegal on calling task - Illegal_On_Remote_Object, -- illegal for remote object - Called_From_ISR, -- called from wrong environment - Invalid_Priority, -- invalid task priority - Invalid_Clock, -- invalid date/time - Invalid_Node, -- invalid node id - Not_Configured, -- directive not configured - Not_Owner_Of_Resource, -- not owner of resource - Not_Implemented, -- directive not implemented - Internal_Error, -- RTEMS inconsistency detected - No_Memory, -- no memory left in heap - IO_Error, -- driver IO error - Proxy_Blocking -- internal multiprocessing only - ); - - for Status_Codes'Size use 32; - - for Status_Codes use ( - Successful => 0, - Task_Exitted => 1, - MP_Not_Configured => 2, - Invalid_Name => 3, - Invalid_ID => 4, - Too_Many => 5, - Timeout => 6, - Object_Was_Deleted => 7, - Invalid_Size => 8, - Invalid_Address => 9, - Invalid_NumbeR => 10, - Not_Defined => 11, - Resource_In_Use => 12, - Unsatisfied => 13, - Incorrect_State => 14, - Already_Suspended => 15, - Illegal_On_Self => 16, - Illegal_On_Remote_Object => 17, - Called_From_ISR => 18, - Invalid_Priority => 19, - Invalid_Clock => 20, - Invalid_Node => 21, - Not_Configured => 22, - Not_Owner_Of_Resource => 23, - Not_ImplementeD => 24, - Internal_Error => 25, - No_Memory => 26, - IO_Error => 27, - Proxy_Blocking => 28 - ); - - -- - -- RTEMS Events - -- - - Pending_Events : constant RTEMS.Event_Set := 16#0000_0000#; - All_Events : constant RTEMS.Event_Set := 16#FFFF_FFFF#; - Event_0 : constant RTEMS.Event_Set := 16#0000_0001#; - Event_1 : constant RTEMS.Event_Set := 16#0000_0002#; - Event_2 : constant RTEMS.Event_Set := 16#0000_0004#; - Event_3 : constant RTEMS.Event_Set := 16#0000_0008#; - Event_4 : constant RTEMS.Event_Set := 16#0000_0010#; - Event_5 : constant RTEMS.Event_Set := 16#0000_0020#; - Event_6 : constant RTEMS.Event_Set := 16#0000_0040#; - Event_7 : constant RTEMS.Event_Set := 16#0000_0080#; - Event_8 : constant RTEMS.Event_Set := 16#0000_0100#; - Event_9 : constant RTEMS.Event_Set := 16#0000_0200#; - Event_10 : constant RTEMS.Event_Set := 16#0000_0400#; - Event_11 : constant RTEMS.Event_Set := 16#0000_0800#; - Event_12 : constant RTEMS.Event_Set := 16#0000_1000#; - Event_13 : constant RTEMS.Event_Set := 16#0000_2000#; - Event_14 : constant RTEMS.Event_Set := 16#0000_4000#; - Event_15 : constant RTEMS.Event_Set := 16#0000_8000#; - Event_16 : constant RTEMS.Event_Set := 16#0001_0000#; - Event_17 : constant RTEMS.Event_Set := 16#0002_0000#; - Event_18 : constant RTEMS.Event_Set := 16#0004_0000#; - Event_19 : constant RTEMS.Event_Set := 16#0008_0000#; - Event_20 : constant RTEMS.Event_Set := 16#0010_0000#; - Event_21 : constant RTEMS.Event_Set := 16#0020_0000#; - Event_22 : constant RTEMS.Event_Set := 16#0040_0000#; - Event_23 : constant RTEMS.Event_Set := 16#0080_0000#; - Event_24 : constant RTEMS.Event_Set := 16#0100_0000#; - Event_25 : constant RTEMS.Event_Set := 16#0200_0000#; - Event_26 : constant RTEMS.Event_Set := 16#0400_0000#; - Event_27 : constant RTEMS.Event_Set := 16#0800_0000#; - Event_28 : constant RTEMS.Event_Set := 16#1000_0000#; - Event_29 : constant RTEMS.Event_Set := 16#2000_0000#; - Event_30 : constant RTEMS.Event_Set := 16#4000_0000#; - Event_31 : constant RTEMS.Event_Set := 16#8000_0000#; - - -- - -- RTEMS Signals - -- - - All_Signals : constant RTEMS.Signal_Set := 16#7FFFFFFF#; - Signal_0 : constant RTEMS.Signal_Set := 16#00000001#; - Signal_1 : constant RTEMS.Signal_Set := 16#00000002#; - Signal_2 : constant RTEMS.Signal_Set := 16#00000004#; - Signal_3 : constant RTEMS.Signal_Set := 16#00000008#; - Signal_4 : constant RTEMS.Signal_Set := 16#00000010#; - Signal_5 : constant RTEMS.Signal_Set := 16#00000020#; - Signal_6 : constant RTEMS.Signal_Set := 16#00000040#; - Signal_7 : constant RTEMS.Signal_Set := 16#00000080#; - Signal_8 : constant RTEMS.Signal_Set := 16#00000100#; - Signal_9 : constant RTEMS.Signal_Set := 16#00000200#; - Signal_10 : constant RTEMS.Signal_Set := 16#00000400#; - Signal_11 : constant RTEMS.Signal_Set := 16#00000800#; - Signal_12 : constant RTEMS.Signal_Set := 16#00001000#; - Signal_13 : constant RTEMS.Signal_Set := 16#00002000#; - Signal_14 : constant RTEMS.Signal_Set := 16#00004000#; - Signal_15 : constant RTEMS.Signal_Set := 16#00008000#; - Signal_16 : constant RTEMS.Signal_Set := 16#00010000#; - Signal_17 : constant RTEMS.Signal_Set := 16#00020000#; - Signal_18 : constant RTEMS.Signal_Set := 16#00040000#; - Signal_19 : constant RTEMS.Signal_Set := 16#00080000#; - Signal_20 : constant RTEMS.Signal_Set := 16#00100000#; - Signal_21 : constant RTEMS.Signal_Set := 16#00200000#; - Signal_22 : constant RTEMS.Signal_Set := 16#00400000#; - Signal_23 : constant RTEMS.Signal_Set := 16#00800000#; - Signal_24 : constant RTEMS.Signal_Set := 16#01000000#; - Signal_25 : constant RTEMS.Signal_Set := 16#02000000#; - Signal_26 : constant RTEMS.Signal_Set := 16#04000000#; - Signal_27 : constant RTEMS.Signal_Set := 16#08000000#; - Signal_28 : constant RTEMS.Signal_Set := 16#10000000#; - Signal_29 : constant RTEMS.Signal_Set := 16#20000000#; - Signal_30 : constant RTEMS.Signal_Set := 16#40000000#; - Signal_31 : constant RTEMS.Signal_Set := 16#80000000#; - - -- - -- RTEMS API Configuration Information - -- - - type Initialization_Tasks_Table_Entry is - record - Name : RTEMS.Name; -- task name - Stack_Size : RTEMS.Unsigned32; -- task stack size - Initial_Priority : RTEMS.Task_priority; -- task priority - Attribute_Set : RTEMS.Attribute; -- task attributes - Entry_Point : RTEMS.Task_Entry; -- task entry point - Mode_Set : RTEMS.Mode; -- task initial mode - Argument : RTEMS.Unsigned32; -- task argument - end record; - - type Initialization_Tasks_Table is array ( RTEMS.Unsigned32 range <> ) of - RTEMS.Initialization_Tasks_Table_Entry; - - type Initialization_Tasks_Table_Pointer is access all - Initialization_Tasks_Table; - - type API_Configuration_Table is - record - Maximum_Tasks : RTEMS.Unsigned32; - Maximum_Timers : RTEMS.Unsigned32; - Maximum_Semaphores : RTEMS.Unsigned32; - Maximum_Message_queues : RTEMS.Unsigned32; - Maximum_Partitions : RTEMS.Unsigned32; - Maximum_Regions : RTEMS.Unsigned32; - Maximum_Ports : RTEMS.Unsigned32; - Maximum_Periods : RTEMS.Unsigned32; - Number_Of_Initialization_Tasks : RTEMS.Unsigned32; - User_Initialization_Tasks_Table : - RTEMS.Initialization_Tasks_Table_Pointer; - end record; - - type API_Configuration_Table_Pointer is access all API_Configuration_Table; - - -- - -- RTEMS POSIX API Configuration Information - -- - - type POSIX_Thread_Entry is access procedure ( - Argument : in RTEMS.Address - ); - - type POSIX_Initialization_Threads_Table_Entry is - record - Thread_Entry : RTEMS.POSIX_Thread_Entry; - end record; - - type POSIX_Initialization_Threads_Table is array - ( RTEMS.Unsigned32 range <> ) of - RTEMS.POSIX_Initialization_Threads_Table_Entry; - - type POSIX_Initialization_Threads_Table_Pointer is access all - POSIX_Initialization_Threads_Table; - - type POSIX_API_Configuration_Table_Entry is - record - Maximum_Threads : Interfaces.C.Int; - Maximum_Mutexes : Interfaces.C.Int; - Maximum_Condition_Variables : Interfaces.C.Int; - Maximum_Keys : Interfaces.C.Int; - Maximum_Queued_Signals : Interfaces.C.Int; - Number_Of_Initialization_Tasks : Interfaces.C.Int; - User_Initialization_Tasks_Table : - RTEMS.POSIX_Initialization_Threads_Table_Pointer; - end record; - - type POSIX_API_Configuration_Table is array ( RTEMS.Unsigned32 range <> ) of - RTEMS.POSIX_API_Configuration_Table_Entry; - - type POSIX_API_Configuration_Table_Pointer is access all - RTEMS.POSIX_API_Configuration_Table; - - -- - -- MPCI Information include MPCI Configuration - -- - - type Configuration_Table_Pointer; - - type MP_Packet_Classes is ( - MP_PACKET_MPCI_INTERNAL, - MP_PACKET_TASKS, - MP_PACKET_MESSAGE_QUEUE, - MP_PACKET_SEMAPHORE, - MP_PACKET_PARTITION, - MP_PACKET_REGION, - MP_PACKET_EVENT, - MP_PACKET_SIGNAL - ); - - for MP_Packet_Classes use ( - MP_PACKET_MPCI_INTERNAL => 0, - MP_PACKET_TASKS => 1, - MP_PACKET_MESSAGE_QUEUE => 2, - MP_PACKET_SEMAPHORE => 3, - MP_PACKET_PARTITION => 4, - MP_PACKET_REGION => 5, - MP_PACKET_EVENT => 6, - MP_PACKET_SIGNAL => 7 - ); - - type Packet_Prefix is - record - The_Class : RTEMS.MP_Packet_Classes; - ID : RTEMS.ID; - Source_TID : RTEMS.ID; - Source_Priority : RTEMS.Task_Priority; - Return_Code : RTEMS.Unsigned32; - Length : RTEMS.Unsigned32; - To_Convert : RTEMS.Unsigned32; - Timeout : RTEMS.Interval; - end record; - - type Packet_Prefix_Pointer is access all Packet_Prefix; - - type MPCI_Initialization_Entry is access procedure ( - Configuration : in RTEMS.Configuration_Table_Pointer - ); - - type MPCI_Get_Packet_Entry is access procedure ( - Packet : access RTEMS.Packet_Prefix_Pointer - ); - - type MPCI_Return_Packet_Entry is access procedure ( - Packet : in RTEMS.Packet_Prefix_Pointer - ); - - type MPCI_Send_Entry is access procedure ( - Packet : in RTEMS.Packet_Prefix_Pointer - ); - - type MPCI_Receive_Entry is access procedure ( - Packet : access RTEMS.Packet_Prefix_Pointer - ); - - type MPCI_Table is - record - Default_Timeout : RTEMS.Unsigned32; -- in ticks - Maximum_Packet_Size : RTEMS.Unsigned32; - Initialization : RTEMS.MPCI_Initialization_Entry; - Get_Packet : RTEMS.MPCI_Get_Packet_Entry; - Return_Packet : RTEMS.MPCI_Return_Packet_Entry; - Send : RTEMS.MPCI_Send_Entry; - Receive : RTEMS.MPCI_Receive_Entry; - end record; - - type MPCI_Table_Pointer is access all MPCI_Table; - - -- - -- Configuration Information - -- - - type Multiprocessing_Table is - record - Node : RTEMS.Unsigned32; - Maximum_Nodes : RTEMS.Unsigned32; - Maximum_Global_Objects : RTEMS.Unsigned32; - Maximum_Proxies : RTEMS.Unsigned32; - User_MPCI_Table : RTEMS.MPCI_Table_Pointer; - end record; - - type Multiprocessing_Table_Pointer is access all Multiprocessing_Table; - - type Configuration_Table is - record - Work_Space_Start : RTEMS.Address; - Work_Space_Size : RTEMS.Unsigned32; - Maximum_Extensions : RTEMS.Unsigned32; - Microseconds_Per_Tick : RTEMS.Unsigned32; - Ticks_Per_Timeslice : RTEMS.Unsigned32; - Maximum_Devices : RTEMS.Unsigned32; - Number_Of_Device_Drivers : RTEMS.Unsigned32; - Device_Driver_Table : RTEMS.Driver_Address_Table_Pointer; - Number_Of_Initial_Extensions : RTEMS.Unsigned32; - User_Extension_Table : RTEMS.Extensions_Table_Pointer; - User_Multiprocessing_Table : RTEMS.Multiprocessing_Table_Pointer; - RTEMS_API_Configuration : RTEMS.API_Configuration_Table_Pointer; - POSIX_API_Configuration : RTEMS.POSIX_API_Configuration_Table_Pointer; - end record; - - type Configuration_Table_Pointer is access all Configuration_Table; - - -- - -- For now, do not provide access to the CPU Table from Ada. - -- When this type is provided, a CPU dependent file must - -- define it. - -- - - subtype CPU_Table is RTEMS.Address; - type CPU_Table_Pointer is access all CPU_Table; - - -- - -- Utility Functions - -- - - function From_Ada_Boolean ( - Ada_Boolean : Standard.Boolean - ) return RTEMS.Boolean; - - function To_Ada_Boolean ( - RTEMS_Boolean : RTEMS.Boolean - ) return Standard.Boolean; - - function Milliseconds_To_Microseconds ( - Milliseconds : RTEMS.Unsigned32 - ) return RTEMS.Unsigned32; - - function Microseconds_To_Ticks ( - Microseconds : RTEMS.Unsigned32 - ) return RTEMS.Interval; - - function Milliseconds_To_Ticks ( - Milliseconds : RTEMS.Unsigned32 - ) return RTEMS.Interval; - - function Build_Name ( - C1 : in Character; - C2 : in Character; - C3 : in Character; - C4 : in Character - ) return RTEMS.Name; - - procedure Name_To_Characters ( - Name : in RTEMS.Name; - C1 : out Character; - C2 : out Character; - C3 : out Character; - C4 : out Character - ); - - function Get_Node ( - ID : in RTEMS.ID - ) return RTEMS.Unsigned32; - - function Get_Index ( - ID : in RTEMS.ID - ) return RTEMS.Unsigned32; - - function Are_Statuses_Equal ( - Status : in RTEMS.Status_Codes; - Desired : in RTEMS.Status_Codes - ) return Standard.Boolean; - - function Is_Status_Successful ( - Status : in RTEMS.Status_Codes - ) return Standard.Boolean; - - function Subtract ( - Left : in RTEMS.Address; - Right : in RTEMS.Address - ) return RTEMS.Unsigned32; - - function Are_Equal ( - Left : in RTEMS.Address; - Right : in RTEMS.Address - ) return Standard.Boolean; - -- - -- RTEMS API - -- - - -- - -- Initialization Manager - -- - - procedure Initialize_Executive ( - Configuration_Table : in RTEMS.Configuration_Table_Pointer; - CPU_Table : in RTEMS.CPU_Table_Pointer - ); - - procedure Initialize_Executive_Early ( - Configuration_Table : in RTEMS.Configuration_Table_Pointer; - CPU_Table : in RTEMS.CPU_Table_Pointer; - Level : out RTEMS.ISR_Level - ); - - procedure Initialize_Executive_Late ( - BSP_Level : in RTEMS.ISR_Level - ); - - procedure Shutdown_Executive ( - Result : in RTEMS.Unsigned32 - ); - - -- - -- Task Manager - -- - - procedure Task_Create ( - Name : in RTEMS.Name; - Initial_Priority : in RTEMS.Task_Priority; - Stack_Size : in Unsigned32; - Initial_Modes : in RTEMS.Mode; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Node; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Start ( - ID : in RTEMS.ID; - Entry_Point : in RTEMS.Task_Entry; - Argument : in RTEMS.Task_Argument; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Restart ( - ID : in RTEMS.ID; - Argument : in RTEMS.Task_Argument; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Suspend ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Resume ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Set_Priority ( - ID : in RTEMS.ID; - New_Priority : in RTEMS.Task_Priority; - Old_Priority : out RTEMS.Task_Priority; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Mode ( - Mode_Set : in RTEMS.Mode; - Mask : in RTEMS.Mode; - Previous_Mode_Set : out RTEMS.Mode; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Get_Note ( - ID : in RTEMS.ID; - Notepad : in RTEMS.Notepad_Index; - Note : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Set_Note ( - ID : in RTEMS.ID; - Notepad : in RTEMS.Notepad_Index; - Note : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Wake_When ( - Time_Buffer : in RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ); - - procedure Task_Wake_After ( - Ticks : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - -- - -- Interrupt Manager - -- - - procedure Interrupt_Catch ( - New_ISR_Handler : in RTEMS.Address; - Vector : in RTEMS.Vector_Number; - Old_ISR_Handler : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - function Interrupt_Disable - return RTEMS.ISR_Level; - - procedure Interrupt_Enable ( - Level : in RTEMS.ISR_Level - ); - - procedure Interrupt_Flash ( - Level : in RTEMS.ISR_Level - ); - - function Interrupt_Is_In_Progress - return RTEMS.Boolean; - - -- - -- Clock Manager - -- - - procedure Clock_Get ( - Option : in RTEMS.Clock_Get_Options; - Time_Buffer : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Set ( - Time_Buffer : in RTEMS.Time_Of_Day; - Result : out RTEMS.Status_Codes - ); - - procedure Clock_Tick ( - Result : out RTEMS.Status_Codes - ); - - -- - -- Extension Manager - -- - - procedure Extension_Create ( - Name : in RTEMS.Name; - Table : in RTEMS.Extensions_Table_Pointer; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Extension_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Extension_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Timer Manager - -- - - procedure Timer_Create ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Fire_After ( - ID : in RTEMS.ID; - Ticks : in RTEMS.Interval; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Fire_When ( - ID : in RTEMS.ID; - Wall_Time : in RTEMS.Time_Of_Day; - Routine : in RTEMS.Timer_Service_Routine; - User_Data : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Reset ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Timer_Cancel ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - -- - -- Semaphore Manager - -- - - procedure Semaphore_Create ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - Priority_Ceiling : in RTEMS.Task_Priority; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Obtain ( - ID : in RTEMS.ID; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - procedure Semaphore_Release ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Message Queue Manager - -- - - procedure Message_Queue_Create ( - Name : in RTEMS.Name; - Count : in RTEMS.Unsigned32; - Max_Message_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Send ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Urgent ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Broadcast ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Size : in RTEMS.Unsigned32; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Receive ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Size : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Message_Queue_Flush ( - ID : in RTEMS.ID; - Count : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Event Manager - -- - - procedure Event_Send ( - ID : in RTEMS.ID; - Event_In : in RTEMS.Event_Set; - Result : out RTEMS.Status_Codes - ); - - procedure Event_Receive ( - Event_In : in RTEMS.Event_Set; - Option_Set : in RTEMS.Option; - Ticks : in RTEMS.Interval; - Event_Out : out RTEMS.Event_Set; - Result : out RTEMS.Status_Codes - ); - - -- - -- Signal Manager - -- - - procedure Signal_Catch ( - ASR_Handler : in RTEMS.ASR_Handler; - Mode_Set : in RTEMS.Mode; - Result : out RTEMS.Status_Codes - ); - - procedure Signal_Send ( - ID : in RTEMS.ID; - Signal_Set : in RTEMS.Signal_Set; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Partition Manager - -- - - procedure Partition_Create ( - Name : in RTEMS.Name; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Buffer_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Ident ( - Name : in RTEMS.Name; - Node : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Get_Buffer ( - ID : in RTEMS.ID; - Buffer : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Partition_Return_Buffer ( - ID : in RTEMS.ID; - Buffer : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Region Manager - -- - - procedure Region_Create ( - Name : in RTEMS.Name; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Page_Size : in RTEMS.Unsigned32; - Attribute_Set : in RTEMS.Attribute; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Extend ( - ID : in RTEMS.ID; - Starting_Address : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Get_Segment ( - ID : in RTEMS.ID; - Size : in RTEMS.Unsigned32; - Option_Set : in RTEMS.Option; - Timeout : in RTEMS.Interval; - Segment : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Get_Segment_Size ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Size : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure Region_Return_Segment ( - ID : in RTEMS.ID; - Segment : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Dual Ported Memory Manager - -- - - procedure Port_Create ( - Name : in RTEMS.Name; - Internal_Start : in RTEMS.Address; - External_Start : in RTEMS.Address; - Length : in RTEMS.Unsigned32; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Port_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Port_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Port_External_To_Internal ( - ID : in RTEMS.ID; - External : in RTEMS.Address; - Internal : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure Port_Internal_To_External ( - ID : in RTEMS.ID; - Internal : in RTEMS.Address; - External : out RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - -- - -- Input/Output Manager - -- - - procedure IO_Initialize ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Return_Value : out RTEMS.Unsigned32; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Register_Name ( - Name : in String; - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Lookup_Name ( - Name : in String; - Device_Info : out RTEMS.Driver_Name_t; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Open ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Close ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Read ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Write ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - procedure IO_Control ( - Major : in RTEMS.Device_Major_Number; - Minor : in RTEMS.Device_Minor_Number; - Argument : in RTEMS.Address; - Result : out RTEMS.Status_Codes - ); - - - -- - -- Fatal Error Manager - -- - - procedure Fatal_Error_Occurred ( - The_Error : in RTEMS.Unsigned32 - ); - - - -- - -- Rate Monotonic Manager - -- - - procedure Rate_Monotonic_Create ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Ident ( - Name : in RTEMS.Name; - ID : out RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Delete ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Cancel ( - ID : in RTEMS.ID; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Period ( - ID : in RTEMS.ID; - Length : in RTEMS.Interval; - Result : out RTEMS.Status_Codes - ); - - procedure Rate_Monotonic_Get_Status ( - ID : in RTEMS.ID; - Status : out RTEMS.Rate_Monotonic_Period_Status; - Result : out RTEMS.Status_Codes - ); - - -- - -- Multiprocessing Manager - -- - - procedure Multiprocessing_Announce; - - - -- - -- Debug Manager - -- - - Debug_All_Mask : constant RTEMS.Debug_Set := 16#ffffffff#; - Debug_Region : constant RTEMS.Debug_Set := 16#00000001#; - - procedure Debug_Enable ( - To_Be_Enabled : in RTEMS.Debug_Set - ); - - procedure Debug_Disable ( - To_Be_Disabled : in RTEMS.Debug_Set - ); - - function Debug_Is_Enabled ( - Level : in RTEMS.Debug_Set - ) return RTEMS.Boolean; - - -- - -- Some Useful Data Items - -- - - Configuration : RTEMS.Configuration_Table_Pointer; - pragma Import (C, Configuration, "_Configuration_Table"); - - -private -end RTEMS; diff --git a/c/src/exec/libcsupport/include/chain.h b/c/src/exec/libcsupport/include/chain.h deleted file mode 100644 index 98cf2b1a86..0000000000 --- a/c/src/exec/libcsupport/include/chain.h +++ /dev/null @@ -1,362 +0,0 @@ -/* chain.h - * - * This include file contains all the constants and structures associated - * with doubly linked chains. This file actually just provides an - * interface to the chain object in rtems. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $ld: - */ - -#ifndef __CHAIN_h -#define __CHAIN_h - -#include - -/* - * Chain_Initialize - * - * This routine initializes the_chain structure to manage the - * contiguous array of number_nodes nodes which starts at - * starting_address. Each node is of node_size bytes. - * - * Chain_Control *the_chain, * IN * - * void *starting_address, * IN * - * rtems_unsigned32 number_nodes, * IN * - * rtems_unsigned32 node_size * IN * - */ - -#define Chain_Initialize( the_chain, starting_address, \ - number_nodes, node_size ) \ - _Chain_Initialize( the_chain, starting_address, \ - number_nodes, node_size ) \ - - -/* - * Chain_Initialize_empty - * - * This routine initializes the specified chain to contain zero nodes. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Initialize_empty( the_chain ) \ - _Chain_Initialize_empty( the_chain ) - - -/* - * Chain_Are_nodes_equal - * - * This function returns TRUE if LEFT and RIGHT are equal, - * and FALSE otherwise. - * - * Chain_Node *left, * IN * - * Chain_Node *right * IN * - */ - -#define Chain_Are_nodes_equal( left, right ) \ - _Chain_Are_nodes_equal( left, right ) - - -/* - * Chain_Extract_unprotected - * - * This routine extracts the_node from the chain on which it resides. - * It does NOT disable interrupts to insure the atomicity of the - * extract operation. - * - * Chain_Node *the_node * IN * - */ - -#define Chain_Extract_unprotected( the_node ) \ - _Chain_Extract_unprotected( the_node ) - - -/* - * Chain_Extract - * - * This routine extracts the_node from the chain on which it resides. - * It disables interrupts to insure the atomicity of the - * extract operation. - * - * Chain_Node *the_node * IN * - */ - -#define Chain_Extract( the_node ) \ - _Chain_Extract( the_node ) - - -/* - * Chain_Get_unprotected - * - * This function removes the first node from the_chain and returns - * a pointer to that node. If the_chain is empty, then NULL is returned. - * It does NOT disable interrupts to insure the atomicity of the - * get operation. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Get_unprotected( the_chain ) \ - _Chain_Get_unprotected( the_chain ) - - -/* - * Chain_Get - * - * This function removes the first node from the_chain and returns - * a pointer to that node. If the_chain is empty, then NULL is returned. - * It disables interrupts to insure the atomicity of the - * get operation. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Get( the_chain ) \ - _Chain_Get( the_chain ) - - -/* - * Chain_Get_first_unprotected - * - * This function removes the first node from the_chain and returns - * a pointer to that node. It does NOT disable interrupts to insure - * the atomicity of the get operation. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Get_first_unprotected( the_chain ) \ - _Chain_Get_first_unprotected( the_chain ) - - -/* - * Chain_Insert_unprotected - * - * This routine inserts the_node on a chain immediately following - * after_node. It does NOT disable interrupts to insure the atomicity - * of the extract operation. - * - * Chain_Node *after_node, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Insert_unprotected( after_node, the_node ) \ - _Chain_Insert_unprotected( after_node, the_node ) - - -/* - * Chain_Insert - * - * This routine inserts the_node on a chain immediately following - * after_node. It disables interrupts to insure the atomicity - * of the extract operation. - * - * Chain_Node *after_node, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Insert( after_node, the_node ) \ - _Chain_Insert( after_node, the_node ) - - -/* - * Chain_Append_unprotected - * - * This routine appends the_node onto the end of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * append operation. - * - * Chain_Control *the_chain, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Append_unprotected( the_chain, the_node ) \ - _Chain_Append_unprotected( the_chain, the_node ) - - -/* - * Chain_Append - * - * This routine appends the_node onto the end of the_chain. - * It disables interrupts to insure the atomicity of the - * append operation. - * - * Chain_Control *the_chain, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Append( the_chain, the_node ) \ - _Chain_Append( the_chain, the_node ) - - -/* - * Chain_Prepend_unprotected - * - * This routine prepends the_node onto the front of the_chain. - * It does NOT disable interrupts to insure the atomicity of the - * prepend operation. - * - * Chain_Control *the_chain, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Prepend_unprotected( the_chain, the_node ) \ - _Chain_Prepend_unprotected( the_chain, the_node ) - - -/* - * Chain_Prepend - * - * This routine prepends the_node onto the front of the_chain. - * It disables interrupts to insure the atomicity of the - * prepend operation. - * - * Chain_Control *the_chain, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Prepend( the_chain, the_node ) \ - _Chain_Prepend( the_chain, the_node ) - - -/* - * Chain_Head - * - * This function returns a pointer to the first node on the chain. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Head( the_chain ) \ - _Chain_Head( the_chain ) - - -/* - * Chain_Tail - * - * This function returns a pointer to the last node on the chain. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Tail( the_chain ) \ - _Chain_Tail( the_chain ) - - -/* - * Chain_Is_head - * - * This function returns TRUE if the_node is the head of the_chain and - * FALSE otherwise. - * - * Chain_Control *the_chain, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Is_head( the_chain, the_node ) \ - _Chain_Is_head( the_chain, the_node ) - - -/* - * Chain_Is_tail - * - * This function returns TRUE if the_node is the tail of the_chain and - * FALSE otherwise. - * - * Chain_Control *the_chain, * IN * - * Chain_Node *the_node * IN * - */ - -#define Chain_Is_tail( the_chain, the_node ) \ - _Chain_Is_tail( the_chain, the_node ) - - -/* - * Chain_Is_first - * - * This function returns TRUE if the_node is the first node on a chain and - * FALSE otherwise. - * - * Chain_Node *the_node * IN * - */ - -#define Chain_Is_first( the_node ) \ - _Chain_Is_first( the_node ) - - -/* - * Chain_Is_last - * - * This function returns TRUE if the_node is the last node on a chain and - * FALSE otherwise. - * - * Chain_Node *the_node * IN * - */ - -#define Chain_Is_last( the_node ) \ - _Chain_Is_last( the_node ) - - -/* - * Chain_Is_empty - * - * This function returns TRUE if there are no nodes on the_chain and - * FALSE otherwise. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Is_empty( the_chain ) \ - _Chain_Is_empty( the_chain ) - - -/* - * Chain_Has_only_one_node - * - * This function returns TRUE if there is only one node on the_chain and - * FALSE otherwise. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Has_only_one_node( the_chain ) \ - _Chain_Has_only_one_node( the_chain ) - - -/* - * Chain_Is_null - * - * This function returns TRUE if the_chain is NULL and FALSE otherwise. - * - * Chain_Control *the_chain * IN * - */ - -#define Chain_Is_null( the_chain ) \ - _Chain_Is_null( the_chain ) - - -/* - * Chain_Is_null_node - * - * This function returns TRUE if the_node is NULL and FALSE otherwise. - * - * Chain_Node *the_node * IN * - */ - -#define Chain_Is_null_node( the_node ) \ - _Chain_Is_null_node( the_node ) - - -#undef __RTEMS_APPLICATION__ -#include -#define __RTEMS_APPLICATION__ -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/clockdrv.h b/c/src/exec/libcsupport/include/clockdrv.h deleted file mode 100644 index 74c9d5e9f7..0000000000 --- a/c/src/exec/libcsupport/include/clockdrv.h +++ /dev/null @@ -1,51 +0,0 @@ -/* clock.h - * - * This file describes the Clock Driver for all boards. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __CLOCK_DRIVER_h -#define __CLOCK_DRIVER_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* variables */ - -extern volatile rtems_unsigned32 Clock_driver_ticks; -extern rtems_device_major_number rtems_clock_major; -extern rtems_device_minor_number rtems_clock_minor; - -/* default clock driver entry */ - -#define CLOCK_DRIVER_TABLE_ENTRY \ - { Clock_initialize, NULL, NULL, NULL, NULL, Clock_control } - -rtems_device_driver Clock_initialize( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -rtems_device_driver Clock_control( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/console.h b/c/src/exec/libcsupport/include/console.h deleted file mode 100644 index 2f5173d757..0000000000 --- a/c/src/exec/libcsupport/include/console.h +++ /dev/null @@ -1,73 +0,0 @@ -/* console.h - * - * This file describes the Console Device Driver for all boards. - * This driver provides support for the standard C Library. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef _CONSOLE_DRIVER_h -#define _CONSOLE_DRIVER_h - -#ifdef __cplusplus -extern "C" { -#endif - -#define CONSOLE_DRIVER_TABLE_ENTRY \ - { console_initialize, console_open, console_close, \ - console_read, console_write, console_control } - -void console_reserve_resources( - rtems_configuration_table *configuration -); - -rtems_device_driver console_initialize( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -rtems_device_driver console_open( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -rtems_device_driver console_close( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -rtems_device_driver console_read( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -rtems_device_driver console_write( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -rtems_device_driver console_control( - rtems_device_major_number, - rtems_device_minor_number, - void * -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/iosupp.h b/c/src/exec/libcsupport/include/iosupp.h deleted file mode 100644 index 97175e0a7b..0000000000 --- a/c/src/exec/libcsupport/include/iosupp.h +++ /dev/null @@ -1,44 +0,0 @@ -/* iosupp.h - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __IOSUPP_h -#define __IOSUPP_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* character constants */ - -#define BS 0x08 /* backspace */ -#define LF 0x0a /* line feed */ -#define CR 0x0d /* carriage return */ -#define XON 0x11 /* control-Q */ -#define XOFF 0x13 /* control-S */ - -/* structures */ - -#ifdef IOSUPP_INIT -#define IOSUPP_EXTERN -#else -#undef IOSUPP_EXTERN -#define IOSUPP_EXTERN extern -#endif - -/* functions */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/c/src/exec/libcsupport/include/motorola/mc68230.h b/c/src/exec/libcsupport/include/motorola/mc68230.h deleted file mode 100644 index bde00c4cdd..0000000000 --- a/c/src/exec/libcsupport/include/motorola/mc68230.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * mc68230.h -- Low level support code for the Motorola 68230 Parallel - * Interface/Timer (PIT) - * - * Modified by Doug McBride, Colorado Space Grant College - * - * Format taken partly from RTEMS code and mostly from Motorola IDP user's - * manual. RTEMS copyright information below. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __MC68230_H__ -#define __MC68230_H__ - -/* Some Motorola IDP User manual defines: */ -#define PIT_ADDR 0x00c01003 /* base address of the PIT */ -#define REGOFF 0x04 /* Difference between addresses */ -#define VECT 64 -#define H1VECT 0x00 -#define H2VECT 0x01 -#define H3VECT 0x02 -#define H4VECT 0x03 - -/* - * mc68230 register offsets - */ -#define PGCR 0x00 -#define PSRR 1*REGOFF -#define PADDR 2*REGOFF -#define PBDDR 3*REGOFF -#define PCDDR 4*REGOFF -#define PIVR 5*REGOFF -#define PACR 6*REGOFF -#define PBCR 7*REGOFF -#define PADR 8*REGOFF -#define PBDR 9*REGOFF -#define PAAR 10*REGOFF -#define PBAR 11*REGOFF -#define PCDR 12*REGOFF -#define PITSR 13*REGOFF -#define TCR 16*REGOFF -#define TIVR 17*REGOFF -#define CPRH 19*REGOFF -#define CPRM 20*REGOFF -#define CPRL 21*REGOFF -#define CNTRH 23*REGOFF -#define CNTRM 24*REGOFF -#define CNTRL 25*REGOFF -#define TSR 26*REGOFF - -/* Some RTEMS style defines: */ -#ifndef VOL8 -#define VOL8( ptr ) ((volatile rtems_unsigned8 *)(ptr)) -#endif - -#define MC68230_WRITE( reg, data ) \ - *(VOL8(PIT_ADDR+reg)) = (data) - -#define MC68230_READ( reg, data ) \ - (data) = *(VOL8(PIT_ADDR+reg)) - -#endif diff --git a/c/src/exec/libcsupport/include/motorola/mc68681.h b/c/src/exec/libcsupport/include/motorola/mc68681.h deleted file mode 100644 index 7602097fd8..0000000000 --- a/c/src/exec/libcsupport/include/motorola/mc68681.h +++ /dev/null @@ -1,306 +0,0 @@ -/* - * mc68681-duart.h -- Low level support code for the Motorola mc68681 - * DUART. - * - * Originally written by rob@cygnus.com (Rob Savoye) for the libgloss - * IDP support. - * - * $Id$ - */ - -#ifndef __MC68681_H__ -#define __MC68681_H__ - -/* - * In the dark ages when this controller was designed, it was actually - * possible to access data on unaligned byte boundaries with no penalty. - * Now we find this chip in configurations in which the registers are - * at 16-bit, 32-bit, and 64-bit boundaries at the whim of the board - * designer. If the registers are not at byte addresses, then - * set this multiplier before including this file to correct the offsets. - */ - -#ifndef MC68681_OFFSET_MULTIPLIER -#define MC68681_OFFSET_MULTIPLIER 1 -#endif - -#define __MC68681_REG(_R) ((_R) * MC68681_OFFSET_MULTIPLIER) - -/* - * mc68681 register offsets Read/Write Addresses - */ -#define MC68681_MODE_REG_1A __MC68681_REG(0) /* MR1A-MR Prior to Read */ -#define MC68681_MODE_REG_2A __MC68681_REG(0) /* MR2A-MR After Read */ - -#define MC68681_COUNT_MODE_CURRENT_MSB __MC68681_REG(6) /* CTU */ -#define MC68681_COUNTER_TIMER_UPPER_REG __MC68681_REG(6) /* CTU */ -#define MC68681_COUNT_MODE_CURRENT_LSB __MC68681_REG(7) /* CTL */ -#define MC68681_COUNTER_TIMER_LOWER_REG __MC68681_REG(7) /* CTL */ -#define MC68681_INTERRUPT_VECTOR_REG __MC68681_REG(12) /* IVR */ - -#define MC68681_MODE_REG_1B __MC68681_REG(8) /* MR1B-MR Prior to Read */ -#define MC68681_MODE_REG_2B __MC68681_REG(8) /* MR2BA-MR After Read */ - -/* - * mc68681 register offsets Read Only Addresses - */ -#define MC68681_STATUS_REG_A __MC68681_REG(1) /* SRA */ -#define MC68681_MASK_ISR_REG __MC68681_REG(2) /* MISR */ -#define MC68681_RECEIVE_BUFFER_A __MC68681_REG(3) /* RHRA */ -#define MC68681_INPUT_PORT_CHANGE_REG __MC68681_REG(4) /* IPCR */ -#define MC68681_INTERRUPT_STATUS_REG __MC68681_REG(5) /* ISR */ -#define MC68681_STATUS_REG_B __MC68681_REG(9) /* SRB */ -#define MC68681_RECEIVE_BUFFER_B __MC68681_REG(11) /* RHRB */ -#define MC68681_INPUT_PORT __MC68681_REG(13) /* IP */ -#define MC68681_START_COUNT_CMD __MC68681_REG(14) /* SCC */ -#define MC68681_STOP_COUNT_CMD __MC68681_REG(15) /* STC */ - -/* - * mc68681 register offsets Write Only Addresses - */ -#define MC68681_CLOCK_SELECT_REG_A __MC68681_REG(1) /* CSRA */ -#define MC68681_COMMAND_REG_A __MC68681_REG(2) /* CRA */ -#define MC68681_TRANSMIT_BUFFER_A __MC68681_REG(3) /* THRA */ -#define MC68681_AUX_CTRL_REG __MC68681_REG(4) /* ACR */ -#define MC68681_INTERRUPT_MASK_REG __MC68681_REG(5) /* IMR */ -#define MC68681_CLOCK_SELECT_REG_B __MC68681_REG(9) /* CSRB */ -#define MC68681_COMMAND_REG_B __MC68681_REG(10) /* CRB */ -#define MC68681_TRANSMIT_BUFFER_B __MC68681_REG(11) /* THRB */ -#define MC68681_OUTPUT_PORT_CONFIG_REG __MC68681_REG(13) /* OPCR */ -#define MC68681_OUTPUT_PORT_SET_REG __MC68681_REG(14) /* SOPBC */ -#define MC68681_OUTPUT_PORT_RESET_BITS __MC68681_REG(15) /* COPBC */ - - -#ifndef MC6681_VOL -#define MC6681_VOL( ptr ) ((volatile unsigned char *)(ptr)) -#endif - -#define MC68681_WRITE( _base, _reg, _data ) \ - *((volatile unsigned char *)_base+_reg) = (_data) - -#define MC68681_READ( _base, _reg ) \ - *(((volatile unsigned char *)_base+_reg)) - - - -#define MC68681_CLEAR 0x00 - -#define MC68681_PORT_A 0 -#define MC68681_PORT_B 1 - -/* - * DUART Command Register Definitions: - * - * MC68681_COMMAND_REG_A,MC68681_COMMAND_REG_B - */ -#define MC68681_MODE_REG_ENABLE_RX 0x01 -#define MC68681_MODE_REG_DISABLE_RX 0x02 -#define MC68681_MODE_REG_ENABLE_TX 0x04 -#define MC68681_MODE_REG_DISABLE_TX 0x08 -#define MC68681_MODE_REG_RESET_MR_PTR 0x10 -#define MC68681_MODE_REG_RESET_RX 0x20 -#define MC68681_MODE_REG_RESET_TX 0x30 -#define MC68681_MODE_REG_RESET_ERROR 0x40 -#define MC68681_MODE_REG_RESET_BREAK 0x50 -#define MC68681_MODE_REG_START_BREAK 0x60 -#define MC68681_MODE_REG_STOP_BREAK 0x70 -#define MC68681_MODE_REG_SET_RX_BRG 0x80 -#define MC68681_MODE_REG_CLEAR_RX_BRG 0x90 -#define MC68681_MODE_REG_SET_TX_BRG 0xa0 -#define MC68681_MODE_REG_CLEAR_TX_BRG 0xb0 -#define MC68681_MODE_REG_SET_STANDBY 0xc0 -#define MC68681_MODE_REG_SET_ACTIVE 0xd0 - -/* - * Mode Register Definitions - * - * MC68681_MODE_REG_1A - * MC68681_MODE_REG_1B - */ -#define MC68681_5BIT_CHARS 0x00 -#define MC68681_6BIT_CHARS 0x01 -#define MC68681_7BIT_CHARS 0x02 -#define MC68681_8BIT_CHARS 0x03 - -#define MC68681_ODD_PARITY 0x00 -#define MC68681_EVEN_PARITY 0x04 - -#define MC68681_WITH_PARITY 0x00 -#define MC68681_FORCE_PARITY 0x08 -#define MC68681_NO_PARITY 0x10 -#define MC68681_MULTI_DROP 0x18 - -#define MC68681_ERR_MODE_CHAR 0x00 -#define MC68681_ERR_MODE_BLOCK 0x20 - -#define MC68681_RX_INTR_RX_READY 0x00 -#define MC68681_RX_INTR_FFULL 0x40 - -#define MC68681_NO_RX_RTS_CTL 0x00 -#define MC68681_RX_RTS_CTRL 0x80 - - -/* - * Mode Register Definitions - * - * MC68681_MODE_REG_2A - * MC68681_MODE_REG_2B - */ -#define MC68681_STOP_BIT_LENGTH__563 0x00 -#define MC68681_STOP_BIT_LENGTH__625 0x01 -#define MC68681_STOP_BIT_LENGTH__688 0x02 -#define MC68681_STOP_BIT_LENGTH__75 0x03 -#define MC68681_STOP_BIT_LENGTH__813 0x04 -#define MC68681_STOP_BIT_LENGTH__875 0x05 -#define MC68681_STOP_BIT_LENGTH__938 0x06 -#define MC68681_STOP_BIT_LENGTH_1 0x07 -#define MC68681_STOP_BIT_LENGTH_1_563 0x08 -#define MC68681_STOP_BIT_LENGTH_1_625 0x09 -#define MC68681_STOP_BIT_LENGTH_1_688 0x0a -#define MC68681_STOP_BIT_LENGTH_1_75 0x0b -#define MC68681_STOP_BIT_LENGTH_1_813 0x0c -#define MC68681_STOP_BIT_LENGTH_1_875 0x0d -#define MC68681_STOP_BIT_LENGTH_1_938 0x0e -#define MC68681_STOP_BIT_LENGTH_2 0x0f - -#define MC68681_CTS_ENABLE_TX 0x10 -#define MC68681_TX_RTS_CTRL 0x20 - -#define MC68681_CHANNEL_MODE_NORMAL 0x00 -#define MC68681_CHANNEL_MODE_ECHO 0x40 -#define MC68681_CHANNEL_MODE_LOCAL_LOOP 0x80 -#define MC68681_CHANNEL_MODE_REMOTE_LOOP 0xc0 - -/* - * Status Register Definitions - * - * MC68681_STATUS_REG_A, MC68681_STATUS_REG_B - */ -#define MC68681_RX_READY 0x01 -#define MC68681_FFULL 0x02 -#define MC68681_TX_READY 0x04 -#define MC68681_TX_EMPTY 0x08 -#define MC68681_OVERRUN_ERROR 0x10 -#define MC68681_PARITY_ERROR 0x20 -#define MC68681_FRAMING_ERROR 0x40 -#define MC68681_RECEIVED_BREAK 0x80 - - -/* - * Interupt Status Register Definitions. - * - * MC68681_INTERRUPT_STATUS_REG - */ - - -/* - * Interupt Mask Register Definitions - * - * MC68681_INTERRUPT_MASK_REG - */ -#define MC68681_IR_TX_READY_A 0x01 -#define MC68681_IR_RX_READY_A 0x02 -#define MC68681_IR_BREAK_A 0x04 -#define MC68681_IR_COUNTER_READY 0x08 -#define MC68681_IR_TX_READY_B 0x10 -#define MC68681_IR_RX_READY_B 0x20 -#define MC68681_IR_BREAK_B 0x40 -#define MC68681_IR_INPUT_PORT_CHANGE 0x80 - -/* - * Status Register Definitions. - * - * MC68681_STATUS_REG_A,MC68681_STATUS_REG_B - */ -#define MC68681_STATUS_RXRDY 0x01 -#define MC68681_STATUS_FFULL 0x02 -#define MC68681_STATUS_TXRDY 0x04 -#define MC68681_STATUS_TXEMT 0x08 -#define MC68681_STATUS_OVERRUN_ERROR 0x10 -#define MC68681_STATUS_PARITY_ERROR 0x20 -#define MC68681_STATUS_FRAMING_ERROR 0x40 -#define MC68681_STATUS_RECEIVED_BREAK 0x80 - -/* - * Definitions for the Interrupt Vector Register: - * - * MC68681_INTERRUPT_VECTOR_REG - */ -#define MC68681_INTERRUPT_VECTOR_INIT 0x0f - -/* - * Definitions for the Auxiliary Control Register - * - * MC68681_AUX_CTRL_REG - */ -#define MC68681_AUX_BRG_SET1 0x00 -#define MC68681_AUX_BRG_SET2 0x80 - - -/* - * The following Baud rates assume the X1 clock pin is driven with a - * 3.6864 MHz signal. If a different frequency is used the DUART channel - * is running at the follwoing baud rate: - * ((Table Baud Rate)*frequency)/3.6864 MHz - */ - -/* - * Definitions for the Clock Select Register: - * - * MC68681_CLOCK_SELECT_REG_A,MC68681_CLOCK_SELECT_REG_A - * - * Note: ACR[7] is the MSB of the Auxiliary Control register - * X is the extend bit. - * CRA - 0x08 Set Rx BRG Select Extend Bit (X=1) - * CRA - 0x09 Clear Rx BRG Select Extend Bit (X=0) - * CRB - 0x0a Set Tx BRG Select Extend Bit (X=1) - * CRB - 0x0b Clear Tx BRG Select Extend Bit (x=1) - */ -#define MC68681_BAUD_RATE_MASK_50 0x00 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_75 0x00 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_110 0x01 -#define MC68681_BAUD_RATE_MASK_134_5 0x02 -#define MC68681_BAUD_RATE_MASK_150 0x03 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_200 0x03 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_300 0x04 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_600 0x05 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_1050 0x07 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_1200 0x06 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_1800 0x0a /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_2400 0x08 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_3600 0x04 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_4800 0x09 -#define MC68681_BAUD_RATE_MASK_7200 0x0a /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_9600 0xbb - -#define MC68681_BAUD_RATE_MASK_14_4K 0x05 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_19_2K 0xcc /* ACR[7]=1,X=0 */ - /* ARC[7]=0,X=1 */ -#define MC68681_BAUD_RATE_MASK_28_8K 0x06 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_38_4K 0xcc /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_57_6K 0x07 /* ACR[7]=0,X=0 */ - /* ARC[7]=1,X=1 */ -#define MC68681_BAUD_RATE_MASK_115_5K 0x08 -#define MC68681_BAUD_RATE_MASK_TIMER 0xdd -#define MC68681_BAUD_RATE_MASK_TIMER_16X 0xee -#define MC68681_BAUD_RATE_MASK_TIMER_1X 0xff - -#endif - - - diff --git a/c/src/exec/libcsupport/include/ringbuf.h b/c/src/exec/libcsupport/include/ringbuf.h deleted file mode 100644 index 8c80aaf9c8..0000000000 --- a/c/src/exec/libcsupport/include/ringbuf.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * ringbuf.h - * - * This file provides simple ring buffer functionality. - * - * $Id$ - */ - -#ifndef __RINGBUF_H__ -#define __RINGBUF_H__ - -#ifndef RINGBUF_QUEUE_LENGTH -#define RINGBUF_QUEUE_LENGTH 128 -#endif - -typedef struct { - char buffer[RINGBUF_QUEUE_LENGTH]; - volatile int head; - volatile int tail; -} Ring_buffer_t; - -#define Ring_buffer_Initialize( _buffer ) \ - do { \ - (_buffer)->head = (_buffer)->tail = 0; \ - } while ( 0 ) - -#define Ring_buffer_Is_empty( _buffer ) \ - ( (_buffer)->head == (_buffer)->tail ) - -#define Ring_buffer_Is_full( _buffer ) \ - ( (_buffer)->head == ((_buffer)->tail + 1) % RINGBUF_QUEUE_LENGTH ) - -#define Ring_buffer_Add_character( _buffer, _ch ) \ - do { \ - rtems_unsigned32 isrlevel; \ - \ - rtems_interrupt_disable( isrlevel ); \ - (_buffer)->tail = ((_buffer)->tail+1) % RINGBUF_QUEUE_LENGTH; \ - (_buffer)->buffer[ (_buffer)->tail ] = (_ch); \ - rtems_interrupt_enable( isrlevel ); \ - } while ( 0 ) - -#define Ring_buffer_Remove_character( _buffer, _ch ) \ - do { \ - rtems_unsigned32 isrlevel; \ - \ - rtems_interrupt_disable( isrlevel ); \ - (_buffer)->head = ((_buffer)->head+1) % RINGBUF_QUEUE_LENGTH; \ - (_ch) = (_buffer)->buffer[ (_buffer)->head ]; \ - rtems_interrupt_enable( isrlevel ); \ - } while ( 0 ) - -#endif diff --git a/c/src/exec/libcsupport/include/rtems/assoc.h b/c/src/exec/libcsupport/include/rtems/assoc.h deleted file mode 100644 index 1982d654ac..0000000000 --- a/c/src/exec/libcsupport/include/rtems/assoc.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * - * Rtems associativity routines. Mainly used to convert a value from - * one space to another (eg: our errno's to host errno's and v.v) - * - * - * $Id$ - */ - -#ifndef _INCLUDE_ASSOC_H -#define _INCLUDE_ASSOC_H - -typedef struct { - const char *name; - unsigned32 local_value; - unsigned32 remote_value; -} rtems_assoc_t; - -/* - * Flag/marker for optional default value in each table - */ - -#define RTEMS_ASSOC_DEFAULT_NAME "(default)" - -const rtems_assoc_t *rtems_assoc_ptr_by_name(const rtems_assoc_t *, const char *); -const rtems_assoc_t *rtems_assoc_ptr_by_value(const rtems_assoc_t *, unsigned32); -const rtems_assoc_t *rtems_assoc_ptr_by_remote(const rtems_assoc_t *, unsigned32); - -unsigned32 rtems_assoc_remote_by_local(const rtems_assoc_t *, unsigned32); -unsigned32 rtems_assoc_local_by_remote(const rtems_assoc_t *, unsigned32); -unsigned32 rtems_assoc_remote_by_name(const rtems_assoc_t *, const char *); -unsigned32 rtems_assoc_local_by_name(const rtems_assoc_t *, const char *); -const char *rtems_assoc_name_by_local(const rtems_assoc_t *, unsigned32); -const char *rtems_assoc_name_by_remote(const rtems_assoc_t *, unsigned32); - -unsigned32 rtems_assoc_remote_by_local_bitfield(const rtems_assoc_t *, unsigned32); -char *rtems_assoc_name_by_local_bitfield(const rtems_assoc_t *, unsigned32, char *); -char *rtems_assoc_name_by_remote_bitfield(const rtems_assoc_t *, unsigned32, char *); -unsigned32 rtems_assoc_local_by_remote_bitfield(const rtems_assoc_t *, unsigned32); - - -#endif /* ! _INCLUDE_ASSOC_H */ diff --git a/c/src/exec/libcsupport/include/rtems/error.h b/c/src/exec/libcsupport/include/rtems/error.h deleted file mode 100644 index a0698afb5d..0000000000 --- a/c/src/exec/libcsupport/include/rtems/error.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Defines and externs for rtems error reporting - * - * $Id$ - */ - -#ifndef __RTEMS_ERROR_h -#define __RTEMS_ERROR_h - -/* - * rtems_error() and rtems_panic() support - */ - -#define RTEMS_ERROR_ERRNO (1<<((sizeof(int) * 8) - 2)) /* hi bit; use 'errno' */ -#define RTEMS_ERROR_PANIC (RTEMS_ERROR_ERRNO / 2) /* err fatal; no return */ -#define RTEMS_ERROR_ABORT (RTEMS_ERROR_ERRNO / 4) /* err is fatal; panic */ - -#define RTEMS_ERROR_MASK (RTEMS_ERROR_ERRNO | RTEMS_ERROR_ABORT | \ - RTEMS_ERROR_PANIC) /* all */ - -const char *rtems_status_text(rtems_status_code); -int rtems_error(int error_code, const char *printf_format, ...); -#ifdef __GNUC__ -void rtems_panic(const char *printf_format, ...); -/* - * We should be able to use this attribute but gcc complains that - * rtems_panic does in fact return. :( - * - * __attribute__ ((__noreturn__)); - */ -#else -void rtems_panic(const char *printf_format, ...); -#endif - -extern int rtems_panic_in_progress; - -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/rtems/libcsupport.h b/c/src/exec/libcsupport/include/rtems/libcsupport.h deleted file mode 100644 index d007784526..0000000000 --- a/c/src/exec/libcsupport/include/rtems/libcsupport.h +++ /dev/null @@ -1,43 +0,0 @@ -/* libcsupport.h - * - * This include file contains the information regarding the - * RTEMS specific support for the standard C library. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __LIBC_SUPPORT_h -#define __LIBC_SUPPORT_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -void RTEMS_Malloc_Initialize( - void *start, - size_t length, - size_t sbrk_amount -); - -extern void malloc_dump(void); -extern void malloc_walk(size_t source, size_t printf_enabled); -extern void libc_init(int reentrant); -extern int host_errno(void); -extern void fix_syscall_errno(void); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/rtems/libio.h b/c/src/exec/libcsupport/include/rtems/libio.h deleted file mode 100644 index dcdda85aec..0000000000 --- a/c/src/exec/libcsupport/include/rtems/libio.h +++ /dev/null @@ -1,166 +0,0 @@ -/* - * General purpose communication channel for RTEMS to allow UNIX/POSIX - * system call behavior on top of RTEMS IO devices. - * - * TODO - * stat(2) - * unlink(2) - * rename(2) - * - * $Id$ - */ - -#ifndef _RTEMS_LIBIO_H -#define _RTEMS_LIBIO_H - -#include - -typedef unsigned32 rtems_libio_offset_t; - -/* - * An open file data structure, indexed by 'fd' - * TODO: - * should really have a separate per/file data structure that this - * points to (eg: size, offset, driver, pathname should be in that) - */ - -typedef struct { - rtems_driver_name_t *driver; - rtems_libio_offset_t size; /* size of file */ - rtems_libio_offset_t offset; /* current offset into the file */ - unsigned32 flags; - char *pathname; /* opened pathname */ - Objects_Id sem; - unsigned32 data0; /* private to "driver" */ - void *data1; /* ... */ -} rtems_libio_t; - - -/* - * param block for read/write - * Note: it must include 'offset' instead of using iop's offset since - * we can have multiple outstanding i/o's on a device. - */ - -typedef struct { - rtems_libio_t *iop; - rtems_libio_offset_t offset; - unsigned8 *buffer; - unsigned32 count; - unsigned32 flags; - unsigned32 bytes_moved; -} rtems_libio_rw_args_t; - -/* - * param block for open/close - */ - -typedef struct { - rtems_libio_t *iop; - unsigned32 flags; - unsigned32 mode; -} rtems_libio_open_close_args_t; - -/* - * param block for ioctl - */ - -typedef struct { - rtems_libio_t *iop; - unsigned32 command; - void *buffer; - unsigned32 ioctl_return; -} rtems_libio_ioctl_args_t; - - -/* - * Values for 'flag' - */ - -#define LIBIO_FLAGS_NO_DELAY 0x0001 /* return immediately if no data */ -#define LIBIO_FLAGS_READ 0x0002 /* reading */ -#define LIBIO_FLAGS_WRITE 0x0004 /* writing */ -#define LIBIO_FLAGS_LINE_BUFFERED 0x0008 /* line buffered io (^h, ^u, etc) */ -#define LIBIO_FLAGS_OPEN 0x0100 /* device is open */ -#define LIBIO_FLAGS_APPEND 0x0200 /* all writes append */ -#define LIBIO_FLAGS_CREATE 0x0400 /* create file */ - -#define LIBIO_FLAGS_READ_WRITE (LIBIO_FLAGS_READ | LIBIO_FLAGS_WRITE) - -void rtems_libio_init(void); - -int __rtems_open(const char *pathname, unsigned32 flag, unsigned32 mode); -int __rtems_close(int fd); -int __rtems_read(int fd, void *buffer, unsigned32 count); -int __rtems_write(int fd, const void *buffer, unsigned32 count); -int __rtems_ioctl(int fd, unsigned32 command, void *buffer); -int __rtems_lseek(int fd, rtems_libio_offset_t offset, int whence); -int __rtems_fstat(int _fd, struct stat* _sbuf); - -/* - * External I/O handlers - */ -typedef struct { - int (*open)(const char *pathname, unsigned32 flag, unsigned32 mode); - int (*close)(int fd); - int (*read)(int fd, void *buffer, unsigned32 count); - int (*write)(int fd, const void *buffer, unsigned32 count); - int (*ioctl)(int fd, unsigned32 command, void *buffer); - int (*lseek)(int fd, rtems_libio_offset_t offset, int whence); -} rtems_libio_handler_t; - -void rtems_register_libio_handler(int handler_flag, - const rtems_libio_handler_t *handler); - -#define RTEMS_FILE_DESCRIPTOR_TYPE_FILE 0x0000 -#define RTEMS_FILE_DESCRIPTOR_TYPE_SOCKET 0x1000 -#define rtems_make_file_descriptor(fd,flags) ((fd)|(flags)) -#define rtems_file_descriptor_base(fd) ((fd) & 0x0FFF) -#define rtems_file_descriptor_type(fd) ((fd) & 0xF000) -#define rtems_file_descriptor_type_index(fd) ((((fd) & 0xF000) >> 12) - 1) - -/* - * IOCTL values - */ - -#define RTEMS_IO_GET_ATTRIBUTES 1 -#define RTEMS_IO_SET_ATTRIBUTES 2 -#define RTEMS_IO_TCDRAIN 3 - -/* - * Callbacks from TERMIOS routines to device-dependent code - */ -#include -typedef struct rtems_termios_callbacks { - int (*firstOpen)(int major, int minor, void *arg); - int (*lastClose)(int major, int minor, void *arg); - int (*pollRead)(int minor); - int (*write)(int minor, const char *buf, int len); - int (*setAttributes)(int minor, const struct termios *t); - int (*stopRemoteTx)(int minor); - int (*startRemoteTx)(int minor); - int outputUsesInterrupts; -} rtems_termios_callbacks; - -/* - * Device-independent TERMIOS routines - */ -void rtems_termios_initialize (void); -rtems_status_code rtems_termios_open ( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg, - const rtems_termios_callbacks *callbacks - ); -rtems_status_code rtems_termios_close (void *arg); -rtems_status_code rtems_termios_read (void *arg); -rtems_status_code rtems_termios_write (void *arg); -rtems_status_code rtems_termios_ioctl (void *arg); -int rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len); -int rtems_termios_dequeue_characters (void *ttyp, int len); -void rtems_termios_reserve_resources( - rtems_configuration_table *configuration, - rtems_unsigned32 number_of_devices -); - -#endif /* _RTEMS_LIBIO_H */ diff --git a/c/src/exec/libcsupport/include/spurious.h b/c/src/exec/libcsupport/include/spurious.h deleted file mode 100644 index 36fcaba904..0000000000 --- a/c/src/exec/libcsupport/include/spurious.h +++ /dev/null @@ -1,38 +0,0 @@ -/* spurious.h - * - * This file describes the Spurious Interrupt Driver for all boards. - * - * COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993. - * 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.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __SPURIOUS_h -#define __SPURIOUS_h - -#ifdef __cplusplus -extern "C" { -#endif - -#define SPURIOUS_DRIVER_TABLE_ENTRY \ - { Spurious_Initialize, NULL, NULL, NULL, NULL, NULL } - -rtems_device_driver Spurious_Initialize( - rtems_device_major_number, - rtems_device_minor_number, - void *, - rtems_id, - rtems_unsigned32 * -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/sys/filio.h b/c/src/exec/libcsupport/include/sys/filio.h deleted file mode 100644 index b82a649c0f..0000000000 --- a/c/src/exec/libcsupport/include/sys/filio.h +++ /dev/null @@ -1,56 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)filio.h 8.1 (Berkeley) 3/28/94 - * $Id$ - */ - -#ifndef _SYS_FILIO_H_ -#define _SYS_FILIO_H_ - -#include - -/* Generic file-descriptor ioctl's. */ -#define FIOCLEX _IO('f', 1) /* set close on exec on fd */ -#define FIONCLEX _IO('f', 2) /* remove close on exec */ -#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ -#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ -#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ -#define FIOSETOWN _IOW('f', 124, int) /* set owner */ -#define FIOGETOWN _IOR('f', 123, int) /* get owner */ - -#endif /* !_SYS_FILIO_H_ */ diff --git a/c/src/exec/libcsupport/include/sys/ioctl.h b/c/src/exec/libcsupport/include/sys/ioctl.h deleted file mode 100644 index e3a69a5a7f..0000000000 --- a/c/src/exec/libcsupport/include/sys/ioctl.h +++ /dev/null @@ -1,77 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ioctl.h 8.6 (Berkeley) 3/28/94 - * $Id$ - */ - -#ifndef _SYS_IOCTL_H_ -#define _SYS_IOCTL_H_ - -#include - -/* - * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ - * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented - * notwithstanding). - */ -struct ttysize { - unsigned short ts_lines; - unsigned short ts_cols; - unsigned short ts_xxx; - unsigned short ts_yyy; -}; -#define TIOCGSIZE TIOCGWINSZ -#define TIOCSSIZE TIOCSWINSZ - -#include - -#include -#include - -#endif /* !_SYS_IOCTL_H_ */ - -/* - * Keep outside _SYS_IOCTL_H_ - * Compatibility with old terminal driver - * - * Source level -> #define USE_OLD_TTY - * Kernel level -> options COMPAT_43 or COMPAT_SUNOS - */ -#if defined(USE_OLD_TTY) || defined(COMPAT_43) || defined(COMPAT_SUNOS) -#include -#endif diff --git a/c/src/exec/libcsupport/include/sys/sockio.h b/c/src/exec/libcsupport/include/sys/sockio.h deleted file mode 100644 index 020061170f..0000000000 --- a/c/src/exec/libcsupport/include/sys/sockio.h +++ /dev/null @@ -1,86 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1990, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)sockio.h 8.1 (Berkeley) 3/28/94 - * $Id$ - */ - -#ifndef _SYS_SOCKIO_H_ -#define _SYS_SOCKIO_H_ - -#include - -/* Socket ioctl's. */ -#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */ -#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */ -#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */ -#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */ -#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */ -#define SIOCSPGRP _IOW('s', 8, int) /* set process group */ -#define SIOCGPGRP _IOR('s', 9, int) /* get process group */ - -#define SIOCADDRT _IOW('r', 10, struct ortentry) /* add route */ -#define SIOCDELRT _IOW('r', 11, struct ortentry) /* delete route */ -#define SIOCGETVIFCNT _IOWR('r', 15, struct sioc_vif_req)/* get vif pkt cnt */ -#define SIOCGETSGCNT _IOWR('r', 16, struct sioc_sg_req) /* get s,g pkt cnt */ - -#define SIOCSIFADDR _IOW('i', 12, struct ifreq) /* set ifnet address */ -#define OSIOCGIFADDR _IOWR('i', 13, struct ifreq) /* get ifnet address */ -#define SIOCGIFADDR _IOWR('i', 33, struct ifreq) /* get ifnet address */ -#define SIOCSIFDSTADDR _IOW('i', 14, struct ifreq) /* set p-p address */ -#define OSIOCGIFDSTADDR _IOWR('i', 15, struct ifreq) /* get p-p address */ -#define SIOCGIFDSTADDR _IOWR('i', 34, struct ifreq) /* get p-p address */ -#define SIOCSIFFLAGS _IOW('i', 16, struct ifreq) /* set ifnet flags */ -#define SIOCGIFFLAGS _IOWR('i', 17, struct ifreq) /* get ifnet flags */ -#define OSIOCGIFBRDADDR _IOWR('i', 18, struct ifreq) /* get broadcast addr */ -#define SIOCGIFBRDADDR _IOWR('i', 35, struct ifreq) /* get broadcast addr */ -#define SIOCSIFBRDADDR _IOW('i', 19, struct ifreq) /* set broadcast addr */ -#define OSIOCGIFCONF _IOWR('i', 20, struct ifconf) /* get ifnet list */ -#define SIOCGIFCONF _IOWR('i', 36, struct ifconf) /* get ifnet list */ -#define OSIOCGIFNETMASK _IOWR('i', 21, struct ifreq) /* get net addr mask */ -#define SIOCGIFNETMASK _IOWR('i', 37, struct ifreq) /* get net addr mask */ -#define SIOCSIFNETMASK _IOW('i', 22, struct ifreq) /* set net addr mask */ -#define SIOCGIFMETRIC _IOWR('i', 23, struct ifreq) /* get IF metric */ -#define SIOCSIFMETRIC _IOW('i', 24, struct ifreq) /* set IF metric */ -#define SIOCDIFADDR _IOW('i', 25, struct ifreq) /* delete IF addr */ -#define SIOCAIFADDR _IOW('i', 26, struct ifaliasreq)/* add/chg IF alias */ - -#define SIOCADDMULTI _IOW('i', 49, struct ifreq) /* add m'cast addr */ -#define SIOCDELMULTI _IOW('i', 50, struct ifreq) /* del m'cast addr */ -#define SIOCGIFMTU _IOWR('i', 51, struct ifreq) /* get IF mtu */ -#define SIOCSIFMTU _IOW('i', 52, struct ifreq) /* set IF mtu */ -#define SIOCGIFPHYS _IOWR('i', 53, struct ifreq) /* get IF wire */ -#define SIOCSIFPHYS _IOW('i', 54, struct ifreq) /* set IF wire */ -#define SIOCSIFMEDIA _IOWR('i', 55, struct ifreq) /* set net media */ -#define SIOCGIFMEDIA _IOWR('i', 56, struct ifmediareq) /* get net media */ - -#endif /* !_SYS_SOCKIO_H_ */ diff --git a/c/src/exec/libcsupport/include/sys/termios.h b/c/src/exec/libcsupport/include/sys/termios.h deleted file mode 100644 index 1112ec4f5e..0000000000 --- a/c/src/exec/libcsupport/include/sys/termios.h +++ /dev/null @@ -1,188 +0,0 @@ -/* - * POSIX termios implementation for RTEMS console device driver. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef TERMIOS_H -#define TERMIOS_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned char cc_t; -typedef unsigned int speed_t; -typedef unsigned int tcflag_t; - -#define NCCS 19 -struct termios { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_line; /* line discipline */ - cc_t c_cc[NCCS]; /* control characters */ -}; - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VTIME 5 -#define VMIN 6 -#define VSWTC 7 -#define VSTART 8 -#define VSTOP 9 -#define VSUSP 10 -#define VEOL 11 -#define VREPRINT 12 -#define VDISCARD 13 -#define VWERASE 14 -#define VLNEXT 15 -#define VEOL2 16 - -/* c_iflag bits */ -#define IGNBRK 0000001 -#define BRKINT 0000002 -#define IGNPAR 0000004 -#define PARMRK 0000010 -#define INPCK 0000020 -#define ISTRIP 0000040 -#define INLCR 0000100 -#define IGNCR 0000200 -#define ICRNL 0000400 -#define IUCLC 0001000 -#define IXON 0002000 -#define IXANY 0004000 -#define IXOFF 0010000 -#define IMAXBEL 0020000 - -/* c_oflag bits */ -#define OPOST 0000001 -#define OLCUC 0000002 -#define ONLCR 0000004 -#define OCRNL 0000010 -#define ONOCR 0000020 -#define ONLRET 0000040 -#define OFILL 0000100 -#define OFDEL 0000200 -#define NLDLY 0000400 -#define NL0 0000000 -#define NL1 0000400 -#define CRDLY 0003000 -#define CR0 0000000 -#define CR1 0001000 -#define CR2 0002000 -#define CR3 0003000 -#define TABDLY 0014000 -#define TAB0 0000000 -#define TAB1 0004000 -#define TAB2 0010000 -#define TAB3 0014000 -#define XTABS 0014000 -#define BSDLY 0020000 -#define BS0 0000000 -#define BS1 0020000 -#define VTDLY 0040000 -#define VT0 0000000 -#define VT1 0040000 -#define FFDLY 0100000 -#define FF0 0000000 -#define FF1 0100000 - -/* c_cflag bit meaning */ -#define CBAUD 0010017 -#define B0 0000000 /* hang up */ -#define B50 0000001 -#define B75 0000002 -#define B110 0000003 -#define B134 0000004 -#define B150 0000005 -#define B200 0000006 -#define B300 0000007 -#define B600 0000010 -#define B1200 0000011 -#define B1800 0000012 -#define B2400 0000013 -#define B4800 0000014 -#define B9600 0000015 -#define B19200 0000016 -#define B38400 0000017 -#define EXTA B19200 -#define EXTB B38400 -#define CSIZE 0000060 -#define CS5 0000000 -#define CS6 0000020 -#define CS7 0000040 -#define CS8 0000060 -#define CSTOPB 0000100 -#define CREAD 0000200 -#define PARENB 0000400 -#define PARODD 0001000 -#define HUPCL 0002000 -#define CLOCAL 0004000 -#define CBAUDEX 0010000 -#define B57600 0010001 -#define B115200 0010002 -#define B230400 0010003 -#define B460800 0010004 -#define CIBAUD 002003600000 /* input baud rate (not used) */ -#define CRTSCTS 020000000000 /* flow control */ - -/* c_lflag bits */ -#define ISIG 0000001 -#define ICANON 0000002 -#define XCASE 0000004 -#define ECHO 0000010 -#define ECHOE 0000020 -#define ECHOK 0000040 -#define ECHONL 0000100 -#define NOFLSH 0000200 -#define TOSTOP 0000400 -#define ECHOCTL 0001000 -#define ECHOPRT 0002000 -#define ECHOKE 0004000 -#define FLUSHO 0010000 -#define PENDIN 0040000 -#define IEXTEN 0100000 - -/* tcflow() and TCXONC use these */ -#define TCOOFF 0 -#define TCOON 1 -#define TCIOFF 2 -#define TCION 3 - -/* tcflush() and TCFLSH use these */ -#define TCIFLUSH 0 -#define TCOFLUSH 1 -#define TCIOFLUSH 2 - -/* tcsetattr uses these */ -#define TCSANOW 0 -#define TCSADRAIN 1 -#define TCSAFLUSH 2 - -int tcgetattr(int, struct termios *); -int tcsetattr(int, int, struct termios *); -int tcdrain(int); -speed_t cfgetospeed(const struct termios *tp); -int cfsetospeed(struct termios *tp, speed_t speed); -speed_t cfgetispeed(const struct termios *tp); -int cfsetispeed(struct termios *tp, speed_t speed); - -#ifdef __cplusplus -} -#endif - -#endif /* TERMIOS_H */ diff --git a/c/src/exec/libcsupport/include/sys/utsname.h b/c/src/exec/libcsupport/include/sys/utsname.h deleted file mode 100644 index ca15230d40..0000000000 --- a/c/src/exec/libcsupport/include/sys/utsname.h +++ /dev/null @@ -1,49 +0,0 @@ -/* sys/utsname.h - * - * $Id$ - */ - -#ifndef __POSIX_SYS_UTSNAME_h -#define __POSIX_SYS_UTSNAME_h - -#include -#include - -/* - * 4.4.1 Get System Name (Table 4-1), P1003.1b-1993, p. 90 - * - * NOTE: The lengths of the strings in this structure are - * just long enough to reliably contain the RTEMS information. - * For example, the fields are not long enough to support - * Internet hostnames. - */ - -struct utsname { - char sysname[ 32 ]; /* Name of this implementation of the operating system */ - char nodename[ 32 ]; /* Name of this node within an implementation */ - /* specified communication network */ - char release[ 32 ]; /* Current release level of this implementation */ - char version[ 32 ]; /* Current version level of this release */ - char machine[ 32 ]; /* Name of the hardware type on which the system */ - /* is running */ -}; - -/* - * 4.4.1 Get System Name, P1003.1b-1993, p. 90 - */ - -int uname( - struct utsname *name -); - -/* - * 4.5.2 Get Process Times, P1003.1b-1993, p. 92 - */ - -clock_t times( - struct tms *buffer -); - -#endif -/* end of include file */ - diff --git a/c/src/exec/libcsupport/include/timerdrv.h b/c/src/exec/libcsupport/include/timerdrv.h deleted file mode 100644 index ed1ce2b9a2..0000000000 --- a/c/src/exec/libcsupport/include/timerdrv.h +++ /dev/null @@ -1,40 +0,0 @@ -/* timerdrv.h - * - * This file describes the Timer Driver for all boards. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __TIMER_DRIVER_h -#define __TIMER_DRIVER_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* functions */ - -void Timer_initialize( void ); - -rtems_unsigned32 Read_timer( void ); - -rtems_status_code Empty_function( void ); - -void Set_find_average_overhead( - rtems_boolean find_flag -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/libcsupport/include/vmeintr.h b/c/src/exec/libcsupport/include/vmeintr.h deleted file mode 100644 index 6593ba12a5..0000000000 --- a/c/src/exec/libcsupport/include/vmeintr.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * vmeintr.h - * - * This file is the specification for the VMEbus interface library - * which should be provided by all BSPs for VMEbus Single Board - * Computers but currently only a few do so. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __VME_INTERRUPT_h -#define __VME_INTERRUPT_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This defines the mask which is used to determine which - * interrupt levels are affected by a call to this package. - * The LSB corresponds to VME interrupt 0 and the MSB - * to VME interrupt 7. - * - */ - -typedef rtems_unsigned8 VME_interrupt_Mask; - -/* - * VME_interrupt_Disable - * - */ - -void VME_interrupt_Disable ( - VME_interrupt_Mask mask /* IN */ -); - -/* - * VME_interrupt_Disable - * - */ - -void VME_interrupt_Enable ( - VME_interrupt_Mask mask /* IN */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* end of include file */ diff --git a/c/src/exec/libcsupport/include/zilog/z8036.h b/c/src/exec/libcsupport/include/zilog/z8036.h deleted file mode 100644 index 1c53c8afac..0000000000 --- a/c/src/exec/libcsupport/include/zilog/z8036.h +++ /dev/null @@ -1,109 +0,0 @@ -/* z8036.h - * - * This include file defines information related to a Zilog Z8036 - * Counter/Timer/IO Chip. It is a memory mapped part. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * NOTE: This file shares as much as possible with the include - * file for the Z8536 via z8x36.h. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __Z8036_h -#define __Z8036_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* macros */ - -#define Z8036( ptr ) ((volatile struct z8036_map *)(ptr)) - -#define Z8x36_STATE0 ( z8036 ) \ - { /*char *garbage = *(Z8036(z8036))->???; */ } - - -#define Z8x36_WRITE( z8036, reg, data ) \ - (Z8036(z8036))->reg = (data) - - -#define Z8x36_READ( z8036, reg, data ) \ - (Z8036(z8036))->reg = (data) - -/* structures */ - -struct z8036_map { -/* MAIN CONTROL REGISTERS (0x00-0x07) */ - rtems_unsigned8 MASTER_INTR; /* Master Interrupt Ctl Reg */ - rtems_unsigned8 MASTER_CFG; /* Master Configuration Ctl Reg */ - rtems_unsigned8 PORTA_VECTOR; /* Port A - Interrupt Vector */ - rtems_unsigned8 PORTB_VECTOR; /* Port B - Interrupt Vector */ - rtems_unsigned8 CNT_TMR_VECTOR; /* Counter/Timer Interrupt Vector */ - rtems_unsigned8 PORTC_DATA_POLARITY; /* Port C - Data Path Polarity */ - rtems_unsigned8 PORTC_DIRECTION; /* Port C - Data Direction */ - rtems_unsigned8 PORTC_SPECIAL_IO_CTL; /* Port C - Special IO Control */ -/* MOST OFTEN ACCESSED REGISTERS (0x08 - 0x0f) */ - rtems_unsigned8 PORTA_CMD_STATUS; /* Port A - Command Status Reg */ - rtems_unsigned8 PORTB_CMD_STATUS; /* Port B - Command Status Reg */ - rtems_unsigned8 CT1_CMD_STATUS; /* Ctr/Timer 1 - Command Status Reg */ - rtems_unsigned8 CT2_CMD_STATUS; /* Ctr/Timer 2 - Command Status Reg */ - rtems_unsigned8 CT3_CMD_STATUS; /* Ctr/Timer 3 - Command Status Reg */ - rtems_unsigned8 PORTA_DATA; /* Port A - Data */ - rtems_unsigned8 PORTB_DATA; /* Port B - Data */ - rtems_unsigned8 PORTC_DATA; /* Port C - Data */ -/* COUNTER/TIMER RELATED REGISTERS (0x10-0x1f) */ - rtems_unsigned8 CT1_CUR_CNT_MSB; /* Ctr/Timer 1 - Current Count (MSB) */ - rtems_unsigned8 CT1_CUR_CNT_LSB; /* Ctr/Timer 1 - Current Count (LSB) */ - rtems_unsigned8 CT2_CUR_CNT_MSB; /* Ctr/Timer 2 - Current Count (MSB) */ - rtems_unsigned8 CT2_CUR_CNT_LSB; /* Ctr/Timer 2 - Current Count (LSB) */ - rtems_unsigned8 CT3_CUR_CNT_MSB; /* Ctr/Timer 3 - Current Count (MSB) */ - rtems_unsigned8 CT3_CUR_CNT_LSB; /* Ctr/Timer 3 - Current Count (LSB) */ - rtems_unsigned8 CT1_TIME_CONST_MSB; /* Ctr/Timer 1 - Time Constant (MSB) */ - rtems_unsigned8 CT1_TIME_CONST_LSB; /* Ctr/Timer 1 - Time Constant (LSB) */ - rtems_unsigned8 CT2_TIME_CONST_MSB; /* Ctr/Timer 2 - Time Constant (MSB) */ - rtems_unsigned8 CT2_TIME_CONST_LSB; /* Ctr/Timer 2 - Time Constant (LSB) */ - rtems_unsigned8 CT3_TIME_CONST_MSB; /* Ctr/Timer 3 - Time Constant (MSB) */ - rtems_unsigned8 CT3_TIME_CONST_LSB; /* Ctr/Timer 3 - Time Constant (LSB) */ - rtems_unsigned8 CT1_MODE_SPEC; /* Ctr/Timer 1 - Mode Specification */ - rtems_unsigned8 CT2_MODE_SPEC; /* Ctr/Timer 2 - Mode Specification */ - rtems_unsigned8 CT3_MODE_SPEC; /* Ctr/Timer 3 - Mode Specification */ - rtems_unsigned8 CURRENT_VECTOR; /* Current Vector */ -/* PORT A SPECIFICATION REGISTERS (0x20 -0x27) */ - rtems_unsigned8 PORTA_MODE; /* Port A - Mode Specification */ - rtems_unsigned8 PORTA_HANDSHAKE; /* Port A - Handshake Specification */ - rtems_unsigned8 PORTA_DATA_POLARITY; /* Port A - Data Path Polarity */ - rtems_unsigned8 PORTA_DIRECTION; /* Port A - Data Direction */ - rtems_unsigned8 PORTA_SPECIAL_IO_CTL; /* Port A - Special IO Control */ - rtems_unsigned8 PORTA_PATT_POLARITY; /* Port A - Pattern Polarity */ - rtems_unsigned8 PORTA_PATT_TRANS; /* Port A - Pattern Transition */ - rtems_unsigned8 PORTA_PATT_MASK; /* Port A - Pattern Mask */ -/* PORT B SPECIFICATION REGISTERS (0x28-0x2f) */ - rtems_unsigned8 PORTB_MODE; /* Port B - Mode Specification */ - rtems_unsigned8 PORTB_HANDSHAKE; /* Port B - Handshake Specification */ - rtems_unsigned8 PORTB_DATA_POLARITY; /* Port B - Data Path Polarity */ - rtems_unsigned8 PORTB_DIRECTION; /* Port B - Data Direction */ - rtems_unsigned8 PORTB_SPECIAL_IO_CTL; /* Port B - Special IO Control */ - rtems_unsigned8 PORTB_PATT_POLARITY; /* Port B - Pattern Polarity */ - rtems_unsigned8 PORTB_PATT_TRANS; /* Port B - Pattern Transition */ - rtems_unsigned8 PORTB_PATT_MASK; /* Port B - Pattern Mask */ -}; - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/c/src/exec/libcsupport/include/zilog/z8530.h b/c/src/exec/libcsupport/include/zilog/z8530.h deleted file mode 100644 index 60a3e3b771..0000000000 --- a/c/src/exec/libcsupport/include/zilog/z8530.h +++ /dev/null @@ -1,99 +0,0 @@ -/* z8530.h - * - * This include file defines information related to a Zilog Z8530 - * SCC Chip. It is a IO mapped part. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __Z8530_h -#define __Z8530_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* macros */ - -#define VOL8( ptr ) ((volatile rtems_unsigned8 *)(ptr)) - -#define Z8x30_STATE0 ( z8530 ) \ - { char *garbage; \ - (garbage) = *(VOL8(z8530)) \ - } - -#define Z8x30_WRITE_CONTROL( z8530, reg, data ) \ - *(VOL8(z8530)) = (reg); \ - *(VOL8(z8530)) = (data) - -#define Z8x30_READ_CONTROL( z8530, reg, data ) \ - *(VOL8(z8530)) = (reg); \ - (data) = *(VOL8(z8530)) - -#define Z8x30_WRITE_DATA( z8530, data ) \ - *(VOL8(z8530)) = (data); - -#define Z8x30_READ_DATA( z8530, data ) \ - (data) = *(VOL8(z8530)); - - -/* RR_0 Bit Definitions */ - -#define RR_0_TX_BUFFER_EMPTY 0x04 -#define RR_0_RX_DATA_AVAILABLE 0x01 - -/* read registers */ - -#define RR_0 0x00 -#define RR_1 0x01 -#define RR_2 0x02 -#define RR_3 0x03 -#define RR_4 0x04 -#define RR_5 0x05 -#define RR_6 0x06 -#define RR_7 0x07 -#define RR_8 0x08 -#define RR_9 0x09 -#define RR_10 0x0A -#define RR_11 0x0B -#define RR_12 0x0C -#define RR_13 0x0D -#define RR_14 0x0E -#define RR_15 0x0F - -/* write registers */ - -#define WR_0 0x00 -#define WR_1 0x01 -#define WR_2 0x02 -#define WR_3 0x03 -#define WR_4 0x04 -#define WR_5 0x05 -#define WR_6 0x06 -#define WR_7 0x07 -#define WR_8 0x08 -#define WR_9 0x09 -#define WR_10 0x0A -#define WR_11 0x0B -#define WR_12 0x0C -#define WR_13 0x0D -#define WR_14 0x0E -#define WR_15 0x0F - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/c/src/exec/libcsupport/include/zilog/z8536.h b/c/src/exec/libcsupport/include/zilog/z8536.h deleted file mode 100644 index 0f0b5641e7..0000000000 --- a/c/src/exec/libcsupport/include/zilog/z8536.h +++ /dev/null @@ -1,112 +0,0 @@ -/* z8536.h - * - * This include file defines information related to a Zilog Z8536 - * Counter/Timer/IO Chip. It is a IO mapped part. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * NOTE: This file shares as much as possible with the include - * file for the Z8036 via z8x36.h. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifndef __Z8536_h -#define __Z8536_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* macros */ - -#define VOL8( ptr ) ((volatile rtems_unsigned8 *)(ptr)) - -#define Z8x36_STATE0 ( z8536 ) \ - { char *garbage; \ - (garbage) = *(VOL8(z8536+0xC)) \ - } - -#define Z8x36_WRITE( z8536, reg, data ) \ - *(VOL8(z8536+0xC)) = (reg); \ - *(VOL8(z8536+0xC)) = (data) - -#define Z8x36_READ( z8536, reg, data ) \ - *(VOL8(z8536+0xC)) = (reg); \ - (data) = *(VOL8(z8536+0xC)) - -/* structures */ - -/* MAIN CONTROL REGISTERS (0x00-0x07) */ -#define MASTER_INTR 0x00 /* Master Interrupt Ctl Reg */ -#define MASTER_CFG 0x01 /* Master Configuration Ctl Reg */ -#define PORTA_VECTOR 0x02 /* Port A - Interrupt Vector */ -#define PORTB_VECTOR 0x03 /* Port B - Interrupt Vector */ -#define CNT_TMR_VECTOR 0x04 /* Counter/Timer Interrupt Vector */ -#define PORTC_DATA_POLARITY 0x05 /* Port C - Data Path Polarity */ -#define PORTC_DIRECTION 0x06 /* Port C - Data Direction */ -#define PORTC_SPECIAL_IO_CTL 0x07 /* Port C - Special IO Control */ - -/* MOST OFTEN ACCESSED REGISTERS (0x08 - 0x0f) */ -#define PORTA_CMD_STATUS 0x08 /* Port A - Command Status Reg */ -#define PORTB_CMD_STATUS 0x09 /* Port B - Command Status Reg */ -#define CT1_CMD_STATUS 0x0a /* Ctr/Timer 1 - Command Status Reg */ -#define CT2_CMD_STATUS 0x0b /* Ctr/Timer 2 - Command Status Reg */ -#define CT3_CMD_STATUS 0x0c /* Ctr/Timer 3 - Command Status Reg */ -#define PORTA_DATA 0x0d /* Port A - Data */ -#define PORTB_DATA 0x0e /* Port B - Data */ -#define PORTC_DATA 0x0f /* Port C - Data */ - -/* COUNTER/TIMER RELATED REGISTERS (0x10-0x1f) */ -#define CT1_CUR_CNT_MSB 0x10 /* Ctr/Timer 1 - Current Count (MSB) */ -#define CT1_CUR_CNT_LSB 0x11 /* Ctr/Timer 1 - Current Count (LSB) */ -#define CT2_CUR_CNT_MSB 0x12 /* Ctr/Timer 2 - Current Count (MSB) */ -#define CT2_CUR_CNT_LSB 0x13 /* Ctr/Timer 2 - Current Count (LSB) */ -#define CT3_CUR_CNT_MSB 0x14 /* Ctr/Timer 3 - Current Count (MSB) */ -#define CT3_CUR_CNT_LSB 0x15 /* Ctr/Timer 3 - Current Count (LSB) */ -#define CT1_TIME_CONST_MSB 0x16 /* Ctr/Timer 1 - Time Constant (MSB) */ -#define CT1_TIME_CONST_LSB 0x17 /* Ctr/Timer 1 - Time Constant (LSB) */ -#define CT2_TIME_CONST_MSB 0x18 /* Ctr/Timer 2 - Time Constant (MSB) */ -#define CT2_TIME_CONST_LSB 0x19 /* Ctr/Timer 2 - Time Constant (LSB) */ -#define CT3_TIME_CONST_MSB 0x1a /* Ctr/Timer 3 - Time Constant (MSB) */ -#define CT3_TIME_CONST_LSB 0x1b /* Ctr/Timer 3 - Time Constant (LSB) */ -#define CT1_MODE_SPEC 0x1c /* Ctr/Timer 1 - Mode Specification */ -#define CT2_MODE_SPEC 0x1d /* Ctr/Timer 2 - Mode Specification */ -#define CT3_MODE_SPEC 0x1e /* Ctr/Timer 3 - Mode Specification */ -#define CURRENT_VECTOR 0x1f /* Current Vector */ - -/* PORT A SPECIFICATION REGISTERS (0x20 -0x27) */ -#define PORTA_MODE 0x20 /* Port A - Mode Specification */ -#define PORTA_HANDSHAKE 0x21 /* Port A - Handshake Specification */ -#define PORTA_DATA_POLARITY 0x22 /* Port A - Data Path Polarity */ -#define PORTA_DIRECTION 0x23 /* Port A - Data Direction */ -#define PORTA_SPECIAL_IO_CTL 0x24 /* Port A - Special IO Control */ -#define PORTA_PATT_POLARITY 0x25 /* Port A - Pattern Polarity */ -#define PORTA_PATT_TRANS 0x26 /* Port A - Pattern Transition */ -#define PORTA_PATT_MASK 0x27 /* Port A - Pattern Mask */ - -/* PORT B SPECIFICATION REGISTERS (0x28-0x2f) */ -#define PORTB_MODE 0x28 /* Port B - Mode Specification */ -#define PORTB_HANDSHAKE 0x29 /* Port B - Handshake Specification */ -#define PORTB_DATA_POLARITY 0x2a /* Port B - Data Path Polarity */ -#define PORTB_DIRECTION 0x2b /* Port B - Data Direction */ -#define PORTB_SPECIAL_IO_CTL 0x2c /* Port B - Special IO Control */ -#define PORTB_PATT_POLARITY 0x2d /* Port B - Pattern Polarity */ -#define PORTB_PATT_TRANS 0x2e /* Port B - Pattern Transition */ -#define PORTB_PATT_MASK 0x2f /* Port B - Pattern Mask */ - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/c/src/exec/libcsupport/src/README b/c/src/exec/libcsupport/src/README deleted file mode 100644 index ee7a90501e..0000000000 --- a/c/src/exec/libcsupport/src/README +++ /dev/null @@ -1,37 +0,0 @@ --- --- $Id$ --- - -Overview of newlib support (newlib is from CYGNUS) - Each task can have its own libc state including: - open stdio files - strtok - multi precision arithmetic state - etc. - - This is implemented by a reentrancy data structure for each task. - - When a task is "started" (in RTEMS sense) the reentrancy structure - is allocated. Its address is stored in notepad[NOTEPAD_LAST]. - - When task is switched to, the value of global variable _impure_ptr - is changed to the value of the new tasks reentrancy structure. - - When a task is deleted - atexit() processing (for that task) happens - task's stdio buffers are flushed - - When exit(3) is called - calling task's atexit processing done - global libc state atexit processing done - (this will include any atexit routines installed by drivers) - executive is shutdown - causes a context switch back to bsp land - - -NOTE: - libc extension are installed by bsp_libc_init() - iff we are using clock interrupts. - This hack is necessary to allow the tmtests to avoid - timing the extensions. - diff --git a/c/src/exec/libcsupport/src/__brk.c b/c/src/exec/libcsupport/src/__brk.c deleted file mode 100644 index 4dab22c729..0000000000 --- a/c/src/exec/libcsupport/src/__brk.c +++ /dev/null @@ -1,44 +0,0 @@ -#if !defined(RTEMS_UNIX) - -/* - * RTEMS "Broken" __brk/__sbrk Implementation - * - * NOTE: sbrk is BSP provided. - * - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include - -#include -#include -#include -#ifdef RTEMS_NEWLIB -#include -#endif -#include - -/* we use RTEMS for memory management. We don't need sbrk */ - -void * __sbrk(int incr) -{ - errno = EINVAL; - return (void *)0; -} - -int __brk( const void *endds ) -{ - errno = EINVAL; - return -1; -} - -#endif diff --git a/c/src/exec/libcsupport/src/__gettod.c b/c/src/exec/libcsupport/src/__gettod.c deleted file mode 100644 index dc83c47ce4..0000000000 --- a/c/src/exec/libcsupport/src/__gettod.c +++ /dev/null @@ -1,118 +0,0 @@ -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ - -#include - -#if !defined(RTEMS_UNIX) -/* - * RTEMS gettimeofday Implementation - * - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#ifdef RTEMS_NEWLIB -#include -#endif - -#include -#include - -#include -#include - -/* - * Seconds from January 1, 1970 to January 1, 1988. Used to account for - * differences between POSIX API and RTEMS core. - */ - -#define POSIX_TIME_SECONDS_1970_THROUGH_1988 \ - (((1987 - 1970 + 1) * TOD_SECONDS_PER_NON_LEAP_YEAR) + \ - (4 * TOD_SECONDS_PER_DAY)) - -/* - * NOTE: The solaris gettimeofday does not have a second parameter. - */ - -int gettimeofday( - struct timeval *tp, - struct timezone *tzp -) -{ - rtems_interrupt_level level; - rtems_unsigned32 seconds; - rtems_unsigned32 microseconds; - - if ( !tp ) { - errno = EFAULT; - return -1; - } - - /* - * POSIX does not seem to allow for not having a TOD so we just - * grab the time of day. - * - * NOTE: XXX this routine should really be in the executive proper. - */ - - rtems_interrupt_disable(level); - seconds = _TOD_Seconds_since_epoch; - microseconds = _TOD_Current.ticks; - rtems_interrupt_enable(level); - - tp->tv_sec = seconds + POSIX_TIME_SECONDS_1970_THROUGH_1988; - tp->tv_usec = microseconds * _TOD_Microseconds_per_tick; - - /* - * newlib does not have timezone and daylight savings time - * yet. When it does this needs to be fixed. - */ - -#if 0 - if ( tzp ) { - tzp->tz_minuteswest = 0; /* at UTC */ - tzp->tz_dsttime = 0; /* no daylight savings */ - tzp->minuteswest = timezone / 60; /* from seconds to minutes */ - tzp->dsttime = daylight; - } -#endif - return 0; -} - -#if defined(RTEMS_NEWLIB) - -/* - * "Reentrant" version - */ - -int _gettimeofday_r( - struct _reent *ignored_reentrancy_stuff, - struct timeval *tp, - struct timezone *tzp -) -{ - return gettimeofday( tp, tzp ); -} - -/* - * "System call" version - */ - -int _gettimeofday( - struct timeval *tp, - struct timezone *tzp -) -{ - return gettimeofday( tp, tzp ); -} - -#endif /* defined(RTEMS_NEWLIB) */ - -#endif diff --git a/c/src/exec/libcsupport/src/__times.c b/c/src/exec/libcsupport/src/__times.c deleted file mode 100644 index 635bf8e062..0000000000 --- a/c/src/exec/libcsupport/src/__times.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * RTEMS _times Implementation - * - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include - -#include -#include -#include -#include -#include - -clock_t _times( - struct tms *ptms -) -{ - rtems_status_code status; - rtems_interval ticks_since_boot; - - if ( !ptms ) { - errno = EFAULT; - return -1; - } - - /* "POSIX" does not seem to allow for not having a TOD */ - status = rtems_clock_get( - RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, - &ticks_since_boot - ); - if ( status != RTEMS_SUCCESSFUL ) { - assert( 0 ); - return -1; - } - - /* - * RTEMS has no notion of system versus user time and does - * not (as of 3.2.0) keep track of CPU usage on a per task basis. - */ - - ptms->tms_utime = ticks_since_boot; - ptms->tms_stime = 0; - ptms->tms_cutime = 0; - ptms->tms_cstime = 0; - - return 0; -} - -clock_t times( - struct tms *ptms -) -{ - return _times( ptms ); -} - -#if defined(RTEMS_NEWLIB) -clock_t _times_r( - struct _reent *ptr, - struct tms *ptms -) -{ - return _times(ptms); -} -#endif diff --git a/c/src/exec/libcsupport/src/assoc.c b/c/src/exec/libcsupport/src/assoc.c deleted file mode 100644 index 74387a8c5b..0000000000 --- a/c/src/exec/libcsupport/src/assoc.c +++ /dev/null @@ -1,260 +0,0 @@ -/* - * assoc.c - * rtems assoc routines - * - * $Id$ - */ - -#include -#include "assoc.h" - -#include /* sprintf */ -#include /* strcat, strcmp */ - -#define STREQ(a,b) (strcmp((a), (b)) == 0) -#define rtems_assoc_is_default(ap) ((ap)->name && STREQ(ap->name, RTEMS_ASSOC_DEFAULT_NAME)) - -const rtems_assoc_t * -rtems_assoc_ptr_by_name( - const rtems_assoc_t *ap, - const char *name - ) -{ - const rtems_assoc_t *default_ap = 0; - - if (rtems_assoc_is_default(ap)) - default_ap = ap++; - - for ( ; ap->name; ap++) - if (strcmp(ap->name, name) == 0) - return ap; - - return default_ap; -} - -const rtems_assoc_t * -rtems_assoc_ptr_by_local( - const rtems_assoc_t *ap, - unsigned32 local_value - ) -{ - const rtems_assoc_t *default_ap = 0; - - if (rtems_assoc_is_default(ap)) - default_ap = ap++; - - for ( ; ap->name; ap++) - if (ap->local_value == local_value) - return ap; - - return default_ap; -} - - -const rtems_assoc_t * -rtems_assoc_ptr_by_remote( - const rtems_assoc_t *ap, - unsigned32 remote_value - ) -{ - const rtems_assoc_t *default_ap = 0; - - if (rtems_assoc_is_default(ap)) - default_ap = ap++; - - for ( ; ap->name; ap++) - if (ap->remote_value == remote_value) - return ap; - - return default_ap; -} - - -/* - * Get values - */ - -unsigned32 -rtems_assoc_remote_by_local( - const rtems_assoc_t *ap, - unsigned32 local_value - ) -{ - const rtems_assoc_t *nap; - nap = rtems_assoc_ptr_by_local(ap, local_value); - if (nap) - return nap->remote_value; - - return 0; -} - -unsigned32 -rtems_assoc_local_by_remote( - const rtems_assoc_t *ap, - unsigned32 remote_value - ) -{ - const rtems_assoc_t *nap; - nap = rtems_assoc_ptr_by_remote(ap, remote_value); - if (nap) - return nap->local_value; - - return 0; -} - -unsigned32 -rtems_assoc_remote_by_name( - const rtems_assoc_t *ap, - const char *name - ) -{ - const rtems_assoc_t *nap; - nap = rtems_assoc_ptr_by_name(ap, name); - if (nap) - return nap->remote_value; - - return 0; -} - -unsigned32 -rtems_assoc_local_by_name( - const rtems_assoc_t *ap, - const char *name - ) -{ - const rtems_assoc_t *nap; - nap = rtems_assoc_ptr_by_name(ap, name); - if (nap) - return nap->local_value; - - return 0; -} - -/* - * what to return if a value is not found - * this is not reentrant, but it really shouldn't be invoked anyway - */ - -const char * -rtems_assoc_name_bad( - unsigned32 bad_value -) -{ -#ifdef RTEMS_DEBUG - static char bad_buffer[32]; - - sprintf(bad_buffer, "< %d [0x%x] >", bad_value, bad_value); -#else - static char bad_buffer[32] = ""; -#endif - return bad_buffer; -} - - -const char * -rtems_assoc_name_by_local( - const rtems_assoc_t *ap, - unsigned32 local_value - ) -{ - const rtems_assoc_t *nap; - nap = rtems_assoc_ptr_by_local(ap, local_value); - if (nap) - return nap->name; - - return rtems_assoc_name_bad(local_value); -} - -const char * -rtems_assoc_name_by_remote( - const rtems_assoc_t *ap, - unsigned32 remote_value - ) -{ - const rtems_assoc_t *nap; - nap = rtems_assoc_ptr_by_remote(ap, remote_value); - if (nap) - return nap->name; - - return rtems_assoc_name_bad(remote_value); -} - -/* - * Bitfield functions assume just 1 bit set in each of remote and local - * entries; they do not check for this. - */ - -unsigned32 rtems_assoc_remote_by_local_bitfield( - const rtems_assoc_t *ap, - unsigned32 local_value - ) -{ - unsigned32 b; - unsigned32 remote_value = 0; - - for (b = 1; b; b <<= 1) - if (b & local_value) - remote_value |= rtems_assoc_remote_by_local(ap, b); - - return remote_value; -} - - -unsigned32 rtems_assoc_local_by_remote_bitfield( - const rtems_assoc_t *ap, - unsigned32 remote_value - ) -{ - unsigned32 b; - unsigned32 local_value = 0; - - for (b = 1; b; b <<= 1) - if (b & remote_value) - local_value |= rtems_assoc_local_by_remote(ap, b); - - return local_value; -} - -char * -rtems_assoc_name_by_remote_bitfield( - const rtems_assoc_t *ap, - unsigned32 value, - char *buffer - ) -{ - unsigned32 b; - - *buffer = 0; - - for (b = 1; b; b <<= 1) - if (b & value) - { - if (*buffer) - strcat(buffer, " "); - strcat(buffer, rtems_assoc_name_by_remote(ap, b)); - } - - return buffer; -} - -char * -rtems_assoc_name_by_local_bitfield( - const rtems_assoc_t *ap, - unsigned32 value, - char *buffer - ) -{ - unsigned32 b; - - *buffer = 0; - - for (b = 1; b; b <<= 1) - if (b & value) - { - if (*buffer) - strcat(buffer, " "); - strcat(buffer, rtems_assoc_name_by_local(ap, b)); - } - - return buffer; -} diff --git a/c/src/exec/libcsupport/src/closedir.c b/c/src/exec/libcsupport/src/closedir.c deleted file mode 100644 index 5edb3499e6..0000000000 --- a/c/src/exec/libcsupport/src/closedir.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * closedir() - POSIX 1003.1b - XXX - * - * $Id$ - */ - - -#include -#include -#include -#include -#include - -int closedir( - register DIR *dirp -) -{ - errno = ENOSYS; - return -1; -} diff --git a/c/src/exec/libcsupport/src/error.c b/c/src/exec/libcsupport/src/error.c deleted file mode 100644 index dd32fb8b66..0000000000 --- a/c/src/exec/libcsupport/src/error.c +++ /dev/null @@ -1,209 +0,0 @@ -/* - * report errors and panics to RTEMS' stderr. - * Currently just used by RTEMS monitor. - * - * $Id$ - */ - - -/* - * These routines provide general purpose error reporting. - * rtems_error reports an error to stderr and allows use of - * printf style formatting. A newline is appended to all messages. - * - * error_flag can be specified as any of the following: - * - * RTEMS_ERROR_ERRNO -- include errno text in output - * RTEMS_ERROR_PANIC -- halts local system after output - * RTEMS_ERROR_ABORT -- abort after output - * - * It can also include a rtems_status value which can be OR'd - * with the above flags. * - * - * EXAMPLE - * #include - * #include - * rtems_error(0, "stray interrupt %d", intr); - * - * EXAMPLE - * if ((status = rtems_task_create(...)) != RTEMS_SUCCCESSFUL) - * { - * rtems_error(status | RTEMS_ERROR_ABORT, - * "could not create task"); - * } - * - * EXAMPLE - * if ((fd = open(pathname, O_RDNLY)) < 0) - * { - * rtems_error(RTEMS_ERROR_ERRNO, "open of '%s' failed", pathname); - * goto failed; - * } - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include - -#include "error.h" -#include - -#include -#include -#include -#include -#include -#include /* _exit() */ - -/* bug in hpux : no prototypes unless you are C++ */ -#ifdef hpux9 -char *strerror(int); -#endif - -extern char *rtems_progname; -int rtems_panic_in_progress; - -rtems_assoc_t rtems_status_assoc[] = { - { "successful completion", RTEMS_SUCCESSFUL, }, - { "returned from a thread", RTEMS_TASK_EXITTED, }, - { "multiprocessing not configured", RTEMS_MP_NOT_CONFIGURED, }, - { "invalid object name", RTEMS_INVALID_NAME, }, - { "invalid object id", RTEMS_INVALID_ID, }, - { "too many", RTEMS_TOO_MANY, }, - { "timed out waiting", RTEMS_TIMEOUT, }, - { "object deleted while waiting", RTEMS_OBJECT_WAS_DELETED, }, - { "specified size was invalid", RTEMS_INVALID_SIZE, }, - { "address specified is invalid", RTEMS_INVALID_ADDRESS, }, - { "number was invalid", RTEMS_INVALID_NUMBER, }, - { "item has not been initialized", RTEMS_NOT_DEFINED, }, - { "resources still outstanding", RTEMS_RESOURCE_IN_USE, }, - { "request not satisfied", RTEMS_UNSATISFIED, }, - { "thread is in wrong state", RTEMS_INCORRECT_STATE, }, - { "thread already in state", RTEMS_ALREADY_SUSPENDED, }, - { "illegal on calling thread", RTEMS_ILLEGAL_ON_SELF, }, - { "illegal for remote object", RTEMS_ILLEGAL_ON_REMOTE_OBJECT, }, - { "called from wrong environment", RTEMS_CALLED_FROM_ISR, }, - { "invalid thread priority", RTEMS_INVALID_PRIORITY, }, - { "invalid date/time", RTEMS_INVALID_CLOCK, }, - { "invalid node id", RTEMS_INVALID_NODE, }, - { "directive not configured", RTEMS_NOT_CONFIGURED, }, - { "not owner of resource", RTEMS_NOT_OWNER_OF_RESOURCE , }, - { "directive not implemented", RTEMS_NOT_IMPLEMENTED, }, - { "RTEMS inconsistency detected", RTEMS_INTERNAL_ERROR, }, - { "could not get enough memory", RTEMS_NO_MEMORY, }, - { "internal multiprocessing only", THREAD_STATUS_PROXY_BLOCKING, }, - { 0, 0, 0 }, -}; - - -const char * -rtems_status_text( - rtems_status_code status -) -{ - return rtems_assoc_name_by_local(rtems_status_assoc, status); -} - - -static int rtems_verror( - unsigned32 error_flag, - const char *printf_format, - va_list arglist -) -{ - int local_errno = 0; - int chars_written = 0; - rtems_status_code status; - - if (error_flag & RTEMS_ERROR_PANIC) - { - if (rtems_panic_in_progress++) - _Thread_Disable_dispatch(); /* disable task switches */ - - /* don't aggravate things */ - if (rtems_panic_in_progress > 2) - return 0; - } - - (void) fflush(stdout); /* in case stdout/stderr same */ - - status = error_flag & ~RTEMS_ERROR_MASK; - if (error_flag & RTEMS_ERROR_ERRNO) /* include errno? */ - local_errno = errno; - - if (_System_state_Is_multiprocessing) - fprintf(stderr, "[%d] ", _Configuration_MP_table->node); - - if (rtems_progname && *rtems_progname) - chars_written += fprintf(stderr, "%s: ", rtems_progname); - chars_written += vfprintf(stderr, printf_format, arglist); - - if (status) - chars_written += fprintf(stderr, " (status: %s)", rtems_status_text(status)); - - if (local_errno) - { - if ((local_errno > 0) && *strerror(local_errno)) - chars_written += fprintf(stderr, " (errno: %s)", strerror(local_errno)); - else - chars_written += fprintf(stderr, " (unknown errno=%d)", local_errno); - } - - chars_written += fprintf(stderr, "\n"); - - (void) fflush(stderr); - - if (error_flag & (RTEMS_ERROR_PANIC | RTEMS_ERROR_ABORT)) - { - if (error_flag & RTEMS_ERROR_PANIC) - { - rtems_error(0, "fatal error, exiting"); - _exit(local_errno); - } - else - { - rtems_error(0, "fatal error, aborting"); - abort(); - } - } - return chars_written; -} - - -/* - * Report an error. - * error_flag is as above; printf_format is a normal - * printf(3) format string, with its concommitant arguments. - * - * Returns the number of characters written. - */ - -int rtems_error( - int error_flag, - const char *printf_format, - ... - ) -{ - va_list arglist; - int chars_written; - - va_start(arglist, printf_format); - chars_written = rtems_verror(error_flag, printf_format, arglist); - va_end(arglist); - - return chars_written; -} - -/* - * rtems_panic is shorthand for rtems_error(RTEMS_ERROR_PANIC, ...) - */ - -void rtems_panic( - const char *printf_format, - ... - ) -{ - va_list arglist; - - va_start(arglist, printf_format); - (void) rtems_verror(RTEMS_ERROR_PANIC, printf_format, arglist); - va_end(arglist); -} diff --git a/c/src/exec/libcsupport/src/getdents.c b/c/src/exec/libcsupport/src/getdents.c deleted file mode 100644 index 9b16d82409..0000000000 --- a/c/src/exec/libcsupport/src/getdents.c +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Just enough to make newlib return an error. - * - * $Id$ - */ - -int getdents( - int fd, - void *buf, - int len -) -{ - return -1; -} diff --git a/c/src/exec/libcsupport/src/hosterr.c b/c/src/exec/libcsupport/src/hosterr.c deleted file mode 100644 index a55e4a7e84..0000000000 --- a/c/src/exec/libcsupport/src/hosterr.c +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Routines to access a host errno - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include - -int host_errno(void); - -/* - * copy host errno, if any to thread aware errno, if any - */ - -void fix_syscall_errno(void) -{ - errno = host_errno(); -} - -/* - * Get the host system errno, if any - * When using newlib (or possibly other libc's) on top of UNIX - * the errno returned by system calls may be unavailable due - * to trickery of making errno thread aware. - * This provides a kludge of getting at it. - */ - -#undef errno -extern int errno; -int host_errno(void) -{ - return errno; -} - diff --git a/c/src/exec/libcsupport/src/libio.c b/c/src/exec/libcsupport/src/libio.c deleted file mode 100644 index 12682c1190..0000000000 --- a/c/src/exec/libcsupport/src/libio.c +++ /dev/null @@ -1,524 +0,0 @@ -/* - * Provide UNIX/POSIX-like io system calls for RTEMS using the - * RTEMS IO manager - * - * $Id$ - */ - -#include -#include /* assoc.h not included by rtems.h */ - -#include /* O_RDONLY, et.al. */ -#include /* O_RDONLY, et.al. */ -#include - -#if ! defined(O_NDELAY) -# if defined(solaris2) -# define O_NDELAY O_NONBLOCK -# elif defined(RTEMS_NEWLIB) -# define O_NDELAY _FNBIO -# endif -#endif - - -#include -#include /* strcmp */ -#include -#include /* calloc() */ - -#include "libio.h" /* libio.h not pulled in by rtems */ - -/* - * Semaphore to protect the io table - */ - -Objects_Id rtems_libio_semaphore; - -#define RTEMS_LIBIO_SEM rtems_build_name('L', 'B', 'I', 'O') -#define RTEMS_LIBIO_IOP_SEM(n) rtems_build_name('L', 'B', 'I', n) - -extern unsigned32 rtems_libio_number_iops; -rtems_libio_t *rtems_libio_iops; -rtems_libio_t *rtems_libio_last_iop; - -#define rtems_libio_iop(fd) ((((unsigned32)(fd)) < rtems_libio_number_iops) ? \ - &rtems_libio_iops[fd] : 0) - -#define rtems_libio_check_fd(fd) \ - do { \ - if ((unsigned32) (fd) >= rtems_libio_number_iops) \ - { \ - errno = EBADF; \ - return -1; \ - } \ - } while (0) - -#define rtems_libio_check_buffer(buffer) \ - do { \ - if ((buffer) == 0) \ - { \ - errno = EINVAL; \ - return -1; \ - } \ - } while (0) - -#define rtems_libio_check_count(count) \ - do { \ - if ((count) == 0) \ - { \ - return 0; \ - } \ - } while (0) - -#define rtems_libio_check_permissions(iop, flag) \ - do { \ - if (((iop)->flags & (flag)) == 0) \ - { \ - errno = EINVAL; \ - return -1; \ - } \ - } while (0) - -/* - * External I/O handlers - * - * Space for all possible handlers is preallocated - * to speed up dispatch to external handlers. - */ - -static rtems_libio_handler_t handlers[15]; - -void -rtems_register_libio_handler( - int handler_flag, - const rtems_libio_handler_t *handler -) -{ - int handler_index = rtems_file_descriptor_type_index(handler_flag); - - if ((handler_index < 0) || (handler_index >= 15)) - rtems_fatal_error_occurred( RTEMS_INVALID_NUMBER ); - handlers[handler_index] = *handler; -} - -/* - * Called by bsp startup code to init the libio area. - */ - -void -rtems_libio_init(void) -{ - rtems_status_code rc; - - if (rtems_libio_number_iops > 0) - { - rtems_libio_iops = (rtems_libio_t *) calloc(rtems_libio_number_iops, - sizeof(rtems_libio_t)); - if (rtems_libio_iops == NULL) - rtems_fatal_error_occurred(RTEMS_NO_MEMORY); - - rtems_libio_last_iop = rtems_libio_iops + (rtems_libio_number_iops - 1); - } - - rc = rtems_semaphore_create( - RTEMS_LIBIO_SEM, - 1, - RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &rtems_libio_semaphore - ); - if (rc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred(rc); -} - -/* - * Convert RTEMS status to a UNIX errno - */ - -rtems_assoc_t errno_assoc[] = { - { "OK", RTEMS_SUCCESSFUL, 0 }, - { "BUSY", RTEMS_RESOURCE_IN_USE, EBUSY }, - { "INVALID NAME", RTEMS_INVALID_NAME, EINVAL }, - { "NOT IMPLEMENTED", RTEMS_NOT_IMPLEMENTED, ENOSYS }, - { "TIMEOUT", RTEMS_TIMEOUT, ETIMEDOUT }, - { "NO MEMORY", RTEMS_NO_MEMORY, ENOMEM }, - { "NO DEVICE", RTEMS_UNSATISFIED, ENODEV }, - { "INVALID NUMBER", RTEMS_INVALID_NUMBER, EBADF}, - { "NOT RESOURCE OWNER", RTEMS_NOT_OWNER_OF_RESOURCE, EPERM}, - { "IO ERROR", RTEMS_IO_ERROR, EIO}, - { 0, 0, 0 }, -}; - -static unsigned32 -rtems_libio_errno(rtems_status_code code) -{ - int rc; - - if ((rc = rtems_assoc_remote_by_local(errno_assoc, (unsigned32) code))) - { - errno = rc; - return -1; - } - return -1; -} - -/* - * Convert UNIX fnctl(2) flags to ones that RTEMS drivers understand - */ - -rtems_assoc_t access_modes_assoc[] = { - { "READ", LIBIO_FLAGS_READ, O_RDONLY }, - { "WRITE", LIBIO_FLAGS_WRITE, O_WRONLY }, - { "READ/WRITE", LIBIO_FLAGS_READ_WRITE, O_RDWR }, - { 0, 0, 0 }, -}; - -rtems_assoc_t status_flags_assoc[] = { - { "NO DELAY", LIBIO_FLAGS_NO_DELAY, O_NDELAY }, - { "APPEND", LIBIO_FLAGS_APPEND, O_APPEND }, - { "CREATE", LIBIO_FLAGS_CREATE, O_CREAT }, - { 0, 0, 0 }, -}; - -static unsigned32 -rtems_libio_fcntl_flags(unsigned32 fcntl_flags) -{ - unsigned32 flags = 0; - unsigned32 access_modes; - - /* - * Access mode is a small integer - */ - - access_modes = fcntl_flags & O_ACCMODE; - fcntl_flags &= ~O_ACCMODE; - flags = rtems_assoc_local_by_remote(access_modes_assoc, access_modes); - - /* - * Everything else is single bits - */ - - flags |= rtems_assoc_local_by_remote_bitfield(status_flags_assoc, fcntl_flags); - return flags; -} - - -static rtems_libio_t * -rtems_libio_allocate(void) -{ - rtems_libio_t *iop; - rtems_status_code rc; - - rtems_semaphore_obtain(rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - - for (iop = rtems_libio_iops; iop <= rtems_libio_last_iop; iop++) - if ((iop->flags & LIBIO_FLAGS_OPEN) == 0) - { - /* - * Got one; create a semaphore for it - */ - - rc = rtems_semaphore_create( - RTEMS_LIBIO_IOP_SEM(iop - rtems_libio_iops), - 1, - RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &iop->sem - ); - if (rc != RTEMS_SUCCESSFUL) - goto failed; - - iop->flags = LIBIO_FLAGS_OPEN; - goto done; - } - -failed: - iop = 0; - -done: - rtems_semaphore_release(rtems_libio_semaphore); - return iop; -} - -static void -rtems_libio_free(rtems_libio_t *iop) -{ - rtems_semaphore_obtain(rtems_libio_semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - - if (iop->sem) - rtems_semaphore_delete(iop->sem); - (void) memset(iop, 0, sizeof(*iop)); - - rtems_semaphore_release(rtems_libio_semaphore); -} - -int -__rtems_open( - const char *pathname, - unsigned32 flag, - unsigned32 mode) -{ - rtems_status_code rc; - rtems_libio_t *iop = 0; - rtems_driver_name_t *np; - rtems_libio_open_close_args_t args; - - /* - * Additional external I/O handlers would be supported by - * adding code to pick apart the pathname appropriately. - * The networking code does not require changes here since - * network file descriptors are obtained using socket(), not - * open(). - */ - - if ((rc = rtems_io_lookup_name(pathname, &np)) != RTEMS_SUCCESSFUL) - goto done; - - iop = rtems_libio_allocate(); - if (iop == 0) - { - rc = RTEMS_TOO_MANY; - goto done; - } - - iop->driver = np; - iop->pathname = (char *) pathname; - iop->flags |= rtems_libio_fcntl_flags(flag); - - args.iop = iop; - args.flags = iop->flags; - args.mode = mode; - - rc = rtems_io_open(np->major, np->minor, (void *) &args); - -done: - - if (rc != RTEMS_SUCCESSFUL) - { - if (iop) - rtems_libio_free(iop); - return rtems_libio_errno(rc); - } - - return iop - rtems_libio_iops; -} - -int -__rtems_close( - int fd - ) -{ - rtems_status_code rc; - rtems_driver_name_t *np; - rtems_libio_t *iop; - rtems_libio_open_close_args_t args; - int status; - - if (rtems_file_descriptor_type(fd)) { - int (*fp)(int fd); - - fp = handlers[rtems_file_descriptor_type_index(fd)].close; - if (fp == NULL) { - errno = EBADF; - return -1; - } - status = (*fp)(fd); - return status; - } - iop = rtems_libio_iop(fd); - rtems_libio_check_fd(fd); - - np = iop->driver; - - args.iop = iop; - args.flags = 0; - args.mode = 0; - - rc = rtems_io_close(np->major, np->minor, (void *) &args); - - rtems_libio_free(iop); - - if (rc != RTEMS_SUCCESSFUL) - return rtems_libio_errno(rc); - return 0; -} - -int -__rtems_read( - int fd, - void * buffer, - unsigned32 count - ) -{ - rtems_status_code rc; - rtems_driver_name_t *np; - rtems_libio_t *iop; - rtems_libio_rw_args_t args; - - if (rtems_file_descriptor_type(fd)) { - int (*fp)(int fd, void *buffer, unsigned32 count); - - fp = handlers[rtems_file_descriptor_type_index(fd)].read; - if (fp == NULL) { - errno = EBADF; - return -1; - } - return (*fp)(fd, buffer, count); - } - iop = rtems_libio_iop(fd); - rtems_libio_check_fd(fd); - rtems_libio_check_buffer(buffer); - rtems_libio_check_count(count); - rtems_libio_check_permissions(iop, LIBIO_FLAGS_READ); - - np = iop->driver; - - args.iop = iop; - args.offset = iop->offset; - args.buffer = buffer; - args.count = count; - args.flags = iop->flags; - args.bytes_moved = 0; - - rc = rtems_io_read(np->major, np->minor, (void *) &args); - - iop->offset += args.bytes_moved; - - if (rc != RTEMS_SUCCESSFUL) - return rtems_libio_errno(rc); - - return args.bytes_moved; -} - -int -__rtems_write( - int fd, - const void *buffer, - unsigned32 count - ) -{ - rtems_status_code rc; - rtems_driver_name_t *np; - rtems_libio_t *iop; - rtems_libio_rw_args_t args; - - if (rtems_file_descriptor_type(fd)) { - int (*fp)(int fd, const void *buffer, unsigned32 count); - - fp = handlers[rtems_file_descriptor_type_index(fd)].write; - if (fp == NULL) { - errno = EBADF; - return -1; - } - return (*fp)(fd, buffer, count); - } - iop = rtems_libio_iop(fd); - rtems_libio_check_fd(fd); - rtems_libio_check_buffer(buffer); - rtems_libio_check_count(count); - rtems_libio_check_permissions(iop, LIBIO_FLAGS_WRITE); - - np = iop->driver; - - args.iop = iop; - args.offset = iop->offset; - args.buffer = (void *) buffer; - args.count = count; - args.flags = iop->flags; - args.bytes_moved = 0; - - rc = rtems_io_write(np->major, np->minor, (void *) &args); - - iop->offset += args.bytes_moved; - - if (rc != RTEMS_SUCCESSFUL) - return rtems_libio_errno(rc); - - return args.bytes_moved; -} - -int -__rtems_ioctl( - int fd, - unsigned32 command, - void * buffer) -{ - rtems_status_code rc; - rtems_driver_name_t *np; - rtems_libio_t *iop; - rtems_libio_ioctl_args_t args; - - if (rtems_file_descriptor_type(fd)) { - int (*fp)(int fd, unsigned32 command, void *buffer); - - fp = handlers[rtems_file_descriptor_type_index(fd)].ioctl; - if (fp == NULL) { - errno = EBADF; - return -1; - } - return (*fp)(fd, command, buffer); - } - iop = rtems_libio_iop(fd); - rtems_libio_check_fd(fd); - - np = iop->driver; - - args.iop = iop; - args.command = command; - args.buffer = buffer; - - rc = rtems_io_control(np->major, np->minor, (void *) &args); - - if (rc != RTEMS_SUCCESSFUL) - return rtems_libio_errno(rc); - - return args.ioctl_return; -} - -/* - * internal only?? - */ - - -int -__rtems_lseek( - int fd, - rtems_libio_offset_t offset, - int whence - ) -{ - rtems_libio_t *iop; - - if (rtems_file_descriptor_type(fd)) { - int (*fp)(int fd, rtems_libio_offset_t offset, int whence); - - fp = handlers[rtems_file_descriptor_type_index(fd)].lseek; - if (fp == NULL) { - errno = EBADF; - return -1; - } - return (*fp)(fd, offset, whence); - } - iop = rtems_libio_iop(fd); - rtems_libio_check_fd(fd); - - switch (whence) - { - case SEEK_SET: - iop->offset = offset; - break; - - case SEEK_CUR: - iop->offset += offset; - break; - - case SEEK_END: - iop->offset = iop->size - offset; - break; - - default: - errno = EINVAL; - return -1; - } - return 0; -} diff --git a/c/src/exec/libcsupport/src/malloc.c b/c/src/exec/libcsupport/src/malloc.c deleted file mode 100644 index fac38585a7..0000000000 --- a/c/src/exec/libcsupport/src/malloc.c +++ /dev/null @@ -1,424 +0,0 @@ -/* - * RTEMS Malloc Family Implementation - * - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include -#include "libcsupport.h" -#ifdef RTEMS_NEWLIB -#include -#endif - -#include -#include -#include -#include -#include -#include - -/* for sbrk prototype in linux */ -#if defined(__linux__) -#define __USE_MISC -#endif -#include /* sbrk(2) */ - -rtems_id RTEMS_Malloc_Heap; -size_t RTEMS_Malloc_Sbrk_amount; - -extern rtems_cpu_table Cpu_table; -#ifdef RTEMS_DEBUG -#define MALLOC_STATS -#define MALLOC_DIRTY -#endif - -#ifdef MALLOC_STATS -#define MSBUMP(f,n) rtems_malloc_stats.f += (n) - -struct { - unsigned32 space_available; /* current size of malloc area */ - unsigned32 malloc_calls; /* # calls to malloc */ - unsigned32 free_calls; - unsigned32 realloc_calls; - unsigned32 calloc_calls; - unsigned32 max_depth; /* most ever malloc'd at 1 time */ - unsigned64 lifetime_allocated; - unsigned64 lifetime_freed; -} rtems_malloc_stats; - -#else /* No rtems_malloc_stats */ -#define MSBUMP(f,n) -#endif - -void RTEMS_Malloc_Initialize( - void *start, - size_t length, - size_t sbrk_amount -) -{ - rtems_status_code status; - void *starting_address; - rtems_unsigned32 old_address; - rtems_unsigned32 u32_address; - - /* - * If the starting address is 0 then we are to attempt to - * get length worth of memory using sbrk. Make sure we - * align the address that we get back. - */ - - starting_address = start; - RTEMS_Malloc_Sbrk_amount = sbrk_amount; - - if (!starting_address) { - u32_address = (unsigned int)sbrk(length); - - if (u32_address == (rtems_unsigned32) -1) { - rtems_fatal_error_occurred( RTEMS_NO_MEMORY ); - /* DOES NOT RETURN!!! */ - } - - if (u32_address & (CPU_ALIGNMENT-1)) { - old_address = u32_address; - u32_address = (u32_address + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1); - - /* - * adjust the length by whatever we aligned by - */ - - length -= u32_address - old_address; - } - - starting_address = (void *)u32_address; - } - - /* - * If the BSP is not clearing out the workspace, then it is most likely - * not clearing out the initial memory for the heap. There is no - * standard supporting zeroing out the heap memory. But much code - * with UNIX history seems to assume that memory malloc'ed during - * initialization (before any free's) is zero'ed. This is true most - * of the time under UNIX because zero'ing memory when it is first - * given to a process eliminates the chance of a process seeing data - * left over from another process. This would be a security violation. - */ - - if ( Cpu_table.do_zero_of_workspace ) - memset( starting_address, 0, length ); - - /* - * Unfortunately we cannot use assert if this fails because if this - * has failed we do not have a heap and if we do not have a heap - * STDIO cannot work because there will be no buffers. - */ - - status = rtems_region_create( - rtems_build_name( 'H', 'E', 'A', 'P' ), - starting_address, - length, - CPU_ALIGNMENT, - RTEMS_DEFAULT_ATTRIBUTES, - &RTEMS_Malloc_Heap - ); - if ( status != RTEMS_SUCCESSFUL ) - rtems_fatal_error_occurred( status ); - -#ifdef MALLOC_STATS - /* zero all the stats */ - (void) memset(&rtems_malloc_stats, 0, sizeof(rtems_malloc_stats)); -#endif - - MSBUMP(space_available, length); -} - -#ifdef RTEMS_NEWLIB -void *malloc( - size_t size -) -{ - void *return_this; - void *starting_address; - rtems_unsigned32 the_size; - rtems_unsigned32 sbrk_amount; - rtems_status_code status; - - MSBUMP(malloc_calls, 1); - - if ( !size ) - return (void *) 0; - - /* - * Try to give a segment in the current region if there is not - * enough space then try to grow the region using rtems_region_extend(). - * If this fails then return a NULL pointer. - */ - - status = rtems_region_get_segment( - RTEMS_Malloc_Heap, - size, - RTEMS_NO_WAIT, - RTEMS_NO_TIMEOUT, - &return_this - ); - - if ( status != RTEMS_SUCCESSFUL ) { - /* - * Round to the "requested sbrk amount" so hopefully we won't have - * to grow again for a while. This effectively does sbrk() calls - * in "page" amounts. - */ - - sbrk_amount = RTEMS_Malloc_Sbrk_amount; - - if ( sbrk_amount == 0 ) - return (void *) 0; - - the_size = ((size + sbrk_amount) / sbrk_amount * sbrk_amount); - - if (((rtems_unsigned32)starting_address = (void *)sbrk(the_size)) - == (rtems_unsigned32) -1) - return (void *) 0; - - status = rtems_region_extend( - RTEMS_Malloc_Heap, - starting_address, - the_size - ); - if ( status != RTEMS_SUCCESSFUL ) { - sbrk(-the_size); - errno = ENOMEM; - return (void *) 0; - } - - MSBUMP(space_available, the_size); - - status = rtems_region_get_segment( - RTEMS_Malloc_Heap, - size, - RTEMS_NO_WAIT, - RTEMS_NO_TIMEOUT, - &return_this - ); - if ( status != RTEMS_SUCCESSFUL ) { - errno = ENOMEM; - return (void *) 0; - } - } - -#ifdef MALLOC_STATS - if (return_this) - { - unsigned32 actual_size; - unsigned32 current_depth; - status = rtems_region_get_segment_size(RTEMS_Malloc_Heap, return_this, &actual_size); - MSBUMP(lifetime_allocated, actual_size); - current_depth = rtems_malloc_stats.lifetime_allocated - rtems_malloc_stats.lifetime_freed; - if (current_depth > rtems_malloc_stats.max_depth) - rtems_malloc_stats.max_depth = current_depth; - } -#endif - -#ifdef MALLOC_DIRTY - (void) memset(return_this, 0xCF, size); -#endif - - return return_this; -} - -void *calloc( - size_t nelem, - size_t elsize -) -{ - register char *cptr; - int length; - - MSBUMP(calloc_calls, 1); - - length = nelem * elsize; - cptr = malloc( length ); - if ( cptr ) - memset( cptr, '\0', length ); - - MSBUMP(malloc_calls, -1); /* subtract off the malloc */ - - return cptr; -} - -void *realloc( - void *ptr, - size_t size -) -{ - rtems_unsigned32 old_size; - rtems_status_code status; - char *new_area; - - MSBUMP(realloc_calls, 1); - - if ( !ptr ) - return malloc( size ); - - if ( !size ) { - free( ptr ); - return (void *) 0; - } - - new_area = malloc( size ); - - MSBUMP(malloc_calls, -1); /* subtract off the malloc */ - - if ( !new_area ) { - free( ptr ); - return (void *) 0; - } - - status = rtems_region_get_segment_size( RTEMS_Malloc_Heap, ptr, &old_size ); - if ( status != RTEMS_SUCCESSFUL ) { - errno = EINVAL; - return (void *) 0; - } - - memcpy( new_area, ptr, (size < old_size) ? size : old_size ); - free( ptr ); - - return new_area; - -} - -void free( - void *ptr -) -{ - rtems_status_code status; - - MSBUMP(free_calls, 1); - - if ( !ptr ) - return; - -#ifdef MALLOC_STATS - { - unsigned32 size; - status = rtems_region_get_segment_size( RTEMS_Malloc_Heap, ptr, &size ); - if ( status == RTEMS_SUCCESSFUL ) { - MSBUMP(lifetime_freed, size); - } - } -#endif - - status = rtems_region_return_segment( RTEMS_Malloc_Heap, ptr ); - if ( status != RTEMS_SUCCESSFUL ) { - errno = EINVAL; - assert( 0 ); - } -} -/* end if RTEMS_NEWLIB */ -#endif - -#ifdef MALLOC_STATS -/* - * Dump the malloc statistics - * May be called via atexit() (installable by our bsp) or - * at any time by user - */ - -void malloc_dump(void) -{ - unsigned32 allocated = rtems_malloc_stats.lifetime_allocated - rtems_malloc_stats.lifetime_freed; - - printf("Malloc stats\n"); - printf(" avail:%uk allocated:%uk (%d%%) max:%uk (%d%%) lifetime:%Luk freed:%Luk\n", - (unsigned int) rtems_malloc_stats.space_available / 1024, - (unsigned int) allocated / 1024, - /* avoid float! */ - (allocated * 100) / rtems_malloc_stats.space_available, - (unsigned int) rtems_malloc_stats.max_depth / 1024, - (rtems_malloc_stats.max_depth * 100) / rtems_malloc_stats.space_available, - (unsigned64) rtems_malloc_stats.lifetime_allocated / 1024, - (unsigned64) rtems_malloc_stats.lifetime_freed / 1024); - printf(" Call counts: malloc:%d free:%d realloc:%d calloc:%d\n", - rtems_malloc_stats.malloc_calls, - rtems_malloc_stats.free_calls, - rtems_malloc_stats.realloc_calls, - rtems_malloc_stats.calloc_calls); -} - - -void malloc_walk(size_t source, size_t printf_enabled) -{ - register Region_Control *the_region; - Objects_Locations location; - - the_region = _Region_Get( RTEMS_Malloc_Heap, &location ); - if ( location == OBJECTS_LOCAL ) - { - _Heap_Walk( &the_region->Memory, source, printf_enabled ); - _Thread_Enable_dispatch(); - } -} - -#else - -void malloc_dump(void) -{ - return; -} - -void malloc_walk(size_t source, size_t printf_enabled) -{ - return; -} - -#endif - -/* - * "Reentrant" versions of the above routines implemented above. - */ - -#ifdef RTEMS_NEWLIB -void *_malloc_r( - struct _reent *ignored, - size_t size -) -{ - return malloc( size ); -} - -void *_calloc_r( - struct _reent *ignored, - size_t nelem, - size_t elsize -) -{ - return calloc( nelem, elsize ); -} - -void *_realloc_r( - struct _reent *ignored, - void *ptr, - size_t size -) -{ - return realloc( ptr, size ); -} - -void _free_r( - struct _reent *ignored, - void *ptr -) -{ - free( ptr ); -} -#endif - diff --git a/c/src/exec/libcsupport/src/newlibc.c b/c/src/exec/libcsupport/src/newlibc.c deleted file mode 100644 index a6acc1c8d7..0000000000 --- a/c/src/exec/libcsupport/src/newlibc.c +++ /dev/null @@ -1,429 +0,0 @@ - -/* - * COPYRIGHT (c) 1994 by Division Incorporated - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * Description: - * Implementation of hooks for the CYGNUS newlib libc - * These hooks set things up so that: - * '_REENT' is switched at task switch time. - * - * - * TODO: - * - * NOTE: - * - * $Id$ - * - */ - -#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__ -#include - -#if defined(RTEMS_NEWLIB) -#include -#include /* for free() */ -#include /* for memset() */ - -#include /* for extern of _REENT (aka _impure_ptr) */ -#include - -/* - * NOTE: - * There is some problem with doing this on the hpux version - * of the UNIX simulator (symptom is printf core dumps), so - * we just don't for now. - * Not sure if this is a problem with hpux, newlib, or something else. - */ - -#if defined(RTEMS_UNIX) && !defined(hpux) -#define NEED_SETVBUF -#endif - -#ifdef NEED_SETVBUF -#include -#endif - -#include "internal.h" - -#define LIBC_NOTEPAD RTEMS_NOTEPAD_LAST - - -int libc_reentrant; /* do we think we are reentrant? */ -struct _reent libc_global_reent = _REENT_INIT(libc_global_reent); - -/* - * CYGNUS newlib routine that does atexit() processing and flushes - * stdio streams - * undocumented - */ - -extern void _wrapup_reent(struct _reent *); -extern void _reclaim_reent(struct _reent *); - -#include - -void -libc_wrapup(void) -{ - /* - * In case RTEMS is already down, don't do this. It could be - * dangerous. - */ - - if (!_System_state_Is_up(_System_state_Get())) - return; - - _wrapup_reent(0); - if (_REENT != &libc_global_reent) - { - _wrapup_reent(&libc_global_reent); -#if 0 - /* don't reclaim this one, just in case we do printfs */ - /* on our way out to ROM */ - _reclaim_reent(&libc_global_reent); -#endif - _REENT = &libc_global_reent; - } - - /* - * Try to drain output buffers. - * - * Should this be changed to do *all* file streams? - * _fwalk (_REENT, fclose); - */ - fclose (stdin); - fclose (stdout); - fclose (stderr); -} - - -rtems_boolean -libc_create_hook(rtems_tcb *current_task, - rtems_tcb *creating_task) -{ - MY_task_set_note(creating_task, LIBC_NOTEPAD, 0); - return TRUE; -} - -/* - * Called for all user TASKS (system tasks are MPCI Receive Server and IDLE) - */ - -rtems_extension -libc_start_hook(rtems_tcb *current_task, - rtems_tcb *starting_task) -{ - struct _reent *ptr; - - /* NOTE: our malloc is reentrant without a reent ptr since - * it is based on region manager - */ - - ptr = (struct _reent *) calloc(1, sizeof(struct _reent)); - - if (!ptr) - rtems_fatal_error_occurred(RTEMS_NO_MEMORY); - -#ifdef __GNUC__ - /* GCC extension: structure constants */ - *ptr = (struct _reent) _REENT_INIT((*ptr)); -#else - /* - * Warning: THIS IS VERY DEPENDENT ON NEWLIB!!! WRITTEN FOR 1.7.0 - */ - ptr->_errno=0; - ptr->_stdin=&ptr->__sf[0]; - ptr->_stdout=&ptr->__sf[1]; - ptr->_stderr=&ptr->__sf[2]; - ptr->_scanpoint=0; - ptr->_asctime[0]=0; - ptr->_next=1; - ptr->__sdidinit=0; -#endif - - MY_task_set_note(starting_task, LIBC_NOTEPAD, (rtems_unsigned32) ptr); -} - -/* - * Called for all user TASKS (system tasks are MPCI Receive Server and IDLE) - */ - -#ifdef NEED_SETVBUF -rtems_extension -libc_begin_hook(rtems_tcb *current_task) -{ - setvbuf( stdout, NULL, _IOLBF, BUFSIZ ); -} -#endif - -rtems_extension -libc_switch_hook(rtems_tcb *current_task, - rtems_tcb *heir_task) -{ - rtems_unsigned32 impure_value; - - /* XXX We can't use rtems_task_set_note() here since SYSI task has a - * tid of 0, which is treated specially (optimized, actually) - * by rtems_task_set_note - * - * NOTE: The above comment is no longer true and we need to use - * the extension data areas added about the same time. - */ - - /* - * Don't touch the outgoing task if it has been deleted. - */ - - if ( !_States_Is_transient( current_task->current_state ) ) { - impure_value = (rtems_unsigned32) _REENT; - MY_task_set_note(current_task, LIBC_NOTEPAD, impure_value); - } - - _REENT = (struct _reent *) MY_task_get_note(heir_task, LIBC_NOTEPAD); - -} - -/* - * Function: libc_delete_hook - * Created: 94/12/10 - * - * Description: - * Called when a task is deleted. - * Must restore the new lib reentrancy state for the new current - * task. - * - * Parameters: - * - * - * Returns: - * - * - * Side Effects: - * - * Notes: - * - * - * Deficiencies/ToDo: - * - * - */ -rtems_extension -libc_delete_hook(rtems_tcb *current_task, - rtems_tcb *deleted_task) -{ - struct _reent *ptr; - - /* - * The reentrancy structure was allocated by newlib using malloc() - */ - - if (current_task == deleted_task) - { - ptr = _REENT; - } - else - { - ptr = (struct _reent *) MY_task_get_note(deleted_task, LIBC_NOTEPAD); - } - - /* if (ptr) */ - if (ptr && ptr != &libc_global_reent) - { - _wrapup_reent(ptr); - _reclaim_reent(ptr); - free(ptr); - } - - MY_task_set_note(deleted_task, LIBC_NOTEPAD, 0); - - /* - * Require the switch back to another task to install its own - */ - - if (current_task == deleted_task) - { - _REENT = 0; - } -} - -/* - * Function: libc_init - * Created: 94/12/10 - * - * Description: - * Init libc for CYGNUS newlib - * Set up _REENT to use our global libc_global_reent. - * (newlib provides a global of its own, but we prefer our - * own name for it) - * - * If reentrancy is desired (which it should be), then - * we install the task extension hooks to maintain the - * newlib reentrancy global variable _REENT on task - * create, delete, switch, exit, etc. - * - * Parameters: - * reentrant non-zero if reentrant library desired. - * - * Returns: - * - * Side Effects: - * installs libc extensions if reentrant. - * - * Notes: - * - * - * Deficiencies/ToDo: - * - */ - -void -libc_init(int reentrant) -{ - rtems_extensions_table libc_extension; - rtems_id extension_id; - rtems_status_code rc; - - _REENT = &libc_global_reent; - - if (reentrant) - { - memset(&libc_extension, 0, sizeof(libc_extension)); - - libc_extension.thread_create = libc_create_hook; - libc_extension.thread_start = libc_start_hook; -#ifdef NEED_SETVBUF - libc_extension.thread_begin = libc_begin_hook; -#endif - libc_extension.thread_switch = libc_switch_hook; - libc_extension.thread_delete = libc_delete_hook; - - rc = rtems_extension_create(rtems_build_name('L', 'I', 'B', 'C'), - &libc_extension, &extension_id); - if (rc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred(rc); - - libc_reentrant = reentrant; - } -} - -#if 0 -/* - * Routines required by the gnat runtime. - */ - -int get_errno() -{ - return errno; -} -#endif - -/* - * Function: _exit - * Created: 94/12/10 - * - * Description: - * Called from exit() after it does atexit() processing and stdio fflush's - * - * called from bottom of exit() to really delete the task. - * If we are using reentrant libc, then let the delete extension - * do all the work, otherwise if a shutdown is in progress, - * then just do it. - * - * Parameters: - * exit status - * - * Returns: - * does not return - * - * Side Effects: - * - * Notes: - * - * - * Deficiencies/ToDo: - * - * - */ - -#include - -/* #if !defined(RTEMS_UNIX) && !defined(__GO32__) && !defined(_AM29K) */ -#if !defined(RTEMS_UNIX) && !defined(_AM29K) -void _exit(int status) -{ - libc_wrapup(); /* Why? XXX */ - rtems_shutdown_executive(status); -} -#else - -void exit(int status) -{ - libc_wrapup(); - rtems_shutdown_executive(status); -} -#endif - - -/* - * These are directly supported (and completely correct) in the posix api. - */ - -pid_t __getpid(void) -{ - return getpid(); -} - -/* #if !defined(RTEMS_POSIX_API) || defined(__GO32__) */ -#if !defined(RTEMS_POSIX_API) -pid_t getpid(void) -{ - return (0); -} -#endif - -/* #if !defined(RTEMS_POSIX_API) || defined(__GO32__) */ -#if !defined(RTEMS_POSIX_API) -int kill( pid_t pid, int sig ) -{ - return 0; -} -#endif - -int __kill( pid_t pid, int sig ) -{ - return 0; -} - -#if !defined(RTEMS_POSIX_API) -unsigned int sleep( - unsigned int seconds -) -{ - rtems_status_code status; - rtems_interval ticks_per_second; - rtems_interval ticks; - - status = rtems_clock_get( - RTEMS_CLOCK_GET_TICKS_PER_SECOND, - &ticks_per_second - ); - - ticks = seconds * ticks_per_second; - - status = rtems_task_wake_after( ticks ); - - /* - * Returns the "unslept" amount of time. In RTEMS signals are not - * interruptable, so tasks really sleep all of the requested time. - */ - - return 0; -} -#endif - - -#endif diff --git a/c/src/exec/libcsupport/src/no_libc.c b/c/src/exec/libcsupport/src/no_libc.c deleted file mode 100644 index 5a58ba761c..0000000000 --- a/c/src/exec/libcsupport/src/no_libc.c +++ /dev/null @@ -1,55 +0,0 @@ - -/* no_libc.h - * - * This file contains stubs for the reentrancy hooks when - * an unknown C library is used. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - - -#include -#if !defined(RTEMS_NEWLIB) && !defined(RTEMS_UNIX) - -#include "libcsupport.h" -#include "internal.h" - -#include /* for free() */ - -void -libc_init(int reentrant) -{ -} - -void libc_suspend_main(void) -{ -} - - -void libc_global_exit(rtems_unsigned32 code) -{ -} - -void _exit(int status) -{ -} - -#else - -/* remove ANSI errors. - * A program must contain at least one external-declaration - * (X3.159-1989 p.82,L3). - */ -void no_libc_dummy_function( void ) -{ -} - -#endif diff --git a/c/src/exec/libcsupport/src/opendir.c b/c/src/exec/libcsupport/src/opendir.c deleted file mode 100644 index e303eb28e5..0000000000 --- a/c/src/exec/libcsupport/src/opendir.c +++ /dev/null @@ -1,17 +0,0 @@ -/* - * opendir() - POSIX 1003.1b - XXX - * - * $Id$ - */ - -#include -#include -#include -#include - -DIR *opendir( - const char *name -) -{ - return NULL; -} diff --git a/c/src/exec/libcsupport/src/readdir.c b/c/src/exec/libcsupport/src/readdir.c deleted file mode 100644 index d592a62b99..0000000000 --- a/c/src/exec/libcsupport/src/readdir.c +++ /dev/null @@ -1,14 +0,0 @@ -/* - * readdir() - POSIX 1003.1b - XXX - * - * $Id$ - */ - -#include - -struct dirent *readdir( - register DIR *dirp -) -{ - return NULL; -} diff --git a/c/src/exec/libcsupport/src/rewinddir.c b/c/src/exec/libcsupport/src/rewinddir.c deleted file mode 100644 index c85e6fd4d0..0000000000 --- a/c/src/exec/libcsupport/src/rewinddir.c +++ /dev/null @@ -1,20 +0,0 @@ -/* - * rewinddir() - POSIX 1003.1b - XXX - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include - -void rewinddir( - DIR *dirp -) -{ - errno = ENOSYS; - return -1; -} diff --git a/c/src/exec/libcsupport/src/scandir.c b/c/src/exec/libcsupport/src/scandir.c deleted file mode 100644 index 380415dd97..0000000000 --- a/c/src/exec/libcsupport/src/scandir.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * scandir() - POSIX 1003.1b - XXX - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include - -int scandir( - const char *dirname, - struct dirent ***namelist, - int (*select)(struct dirent *), - int (*dcomp)(const void *, const void *) -) -{ - errno = ENOSYS; - return -1; -} diff --git a/c/src/exec/libcsupport/src/seekdir.c b/c/src/exec/libcsupport/src/seekdir.c deleted file mode 100644 index e591adbb9f..0000000000 --- a/c/src/exec/libcsupport/src/seekdir.c +++ /dev/null @@ -1,21 +0,0 @@ -/* - * seekdir() - POSIX 1003.1b - XXX - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include - -void seekdir( - DIR *dirp, - long loc -) -{ - errno = ENOSYS; - return -1; -} diff --git a/c/src/exec/libcsupport/src/tcdrain.c b/c/src/exec/libcsupport/src/tcdrain.c deleted file mode 100644 index 585871cc90..0000000000 --- a/c/src/exec/libcsupport/src/tcdrain.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * This file contains the RTEMS implementation of the POSIX API - * routines tcdrain. - * - * $Id$ - * - */ - -#include -#if defined(RTEMS_NEWLIB) - -#include -#include -#include -#include - -#include "internal.h" -#include "libio.h" - -int -tcdrain(int fd) -{ - return __rtems_ioctl(fd,RTEMS_IO_TCDRAIN,0); -} - -#endif diff --git a/c/src/exec/libcsupport/src/telldir.c b/c/src/exec/libcsupport/src/telldir.c deleted file mode 100644 index eee8d925ec..0000000000 --- a/c/src/exec/libcsupport/src/telldir.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * telldir() - XXX - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include - -#include -#include "libio.h" - -long telldir( - DIR *dirp -) -{ - errno = ENOSYS; - return -1; -} diff --git a/c/src/exec/libcsupport/src/termios.c b/c/src/exec/libcsupport/src/termios.c deleted file mode 100644 index c2a43c7707..0000000000 --- a/c/src/exec/libcsupport/src/termios.c +++ /dev/null @@ -1,935 +0,0 @@ -/* - * TERMIOS serial line support - * - * Author: - * W. Eric Norum - * Saskatchewan Accelerator Laboratory - * University of Saskatchewan - * Saskatoon, Saskatchewan, CANADA - * eric@skatter.usask.ca - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * FreeBSD does not support a full POSIX termios so we have to help it out - */ - - -#if defined(__FreeBSD__) -#define XTABS 0 -#define ONLRET 0 -#define ONOCR 0 -#define TABDLY 0 -#define OLCUC 0 -#define ILCUC 0 -#define OCRNL 0 -#define IUCLC 0 -#endif - -/* - * The size of the cooked buffer - */ -#define CBUFSIZE 256 - -/* - * The sizes of the raw message buffers. - * On most architectures it is quite a bit more - * efficient if these are powers of two. - */ -#define RAW_INPUT_BUFFER_SIZE 128 -#define RAW_OUTPUT_BUFFER_SIZE 64 - -/* - * Variables associated with each termios instance. - * One structure for each hardware I/O device. - */ -struct rtems_termios_tty { - /* - * Linked-list of active TERMIOS devices - */ - struct rtems_termios_tty *forw; - struct rtems_termios_tty *back; - - /* - * How many times has this device been opened - */ - int refcount; - - /* - * This device - */ - rtems_device_major_number major; - rtems_device_major_number minor; - - /* - * Mutual-exclusion semaphores - */ - rtems_id isem; - rtems_id osem; - - /* - * The canonical (cooked) character buffer - */ - char cbuf[CBUFSIZE]; - int ccount; - int cindex; - - /* - * Keep track of cursor (printhead) position - */ - int column; - int read_start_column; - - /* - * The ioctl settings - */ - struct termios termios; - rtems_interval vtimeTicks; - - /* - * Raw input character buffer - */ - volatile char rawInBuf[RAW_INPUT_BUFFER_SIZE]; - volatile unsigned int rawInBufHead; - volatile unsigned int rawInBufTail; - rtems_id rawInBufSemaphore; - rtems_unsigned32 rawInBufSemaphoreOptions; - rtems_interval rawInBufSemaphoreTimeout; - rtems_interval rawInBufSemaphoreFirstTimeout; - unsigned int rawInBufDropped; /* Statistics */ - - /* - * Raw output character buffer - */ - volatile char rawOutBuf[RAW_OUTPUT_BUFFER_SIZE]; - volatile unsigned int rawOutBufHead; - volatile unsigned int rawOutBufTail; - rtems_id rawOutBufSemaphore; - enum {rob_idle, rob_busy, rob_wait } rawOutBufState; - - /* - * Callbacks to device-specific routines - */ - rtems_termios_callbacks device; -}; - -static struct rtems_termios_tty *ttyHead, *ttyTail; -static rtems_id ttyMutex; - -/* - * Reserve enough resources to open every physical device once. - */ - -static int first_time; /* assumed to be zeroed by BSS initialization */ - -void -rtems_termios_reserve_resources ( - rtems_configuration_table *configuration, - rtems_unsigned32 number_of_devices - ) -{ - rtems_api_configuration_table *rtems_config; - - if (!configuration) - rtems_fatal_error_occurred (0xFFF0F001); - rtems_config = configuration->RTEMS_api_configuration; - if (!rtems_config) - rtems_fatal_error_occurred (0xFFF0F002); - if (!first_time) - rtems_config->maximum_semaphores += 1; - first_time = 1; - rtems_config->maximum_semaphores += (4 * number_of_devices); -} - -void -rtems_termios_initialize (void) -{ - rtems_status_code sc; - - /* - * Create the mutex semaphore for the tty list - */ - if (!ttyMutex) { - sc = rtems_semaphore_create ( - rtems_build_name ('T', 'R', 'm', 'i'), - 1, - RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &ttyMutex); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - } -} - -/* - * Open a termios device - */ -rtems_status_code -rtems_termios_open ( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *arg, - const rtems_termios_callbacks *callbacks - ) -{ - rtems_status_code sc; - rtems_libio_open_close_args_t *args = arg; - struct rtems_termios_tty *tty; - - /* - * See if the device has already been opened - */ - sc = rtems_semaphore_obtain (ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - return sc; - for (tty = ttyHead ; tty != NULL ; tty = tty->forw) { - if ((tty->major == major) && (tty->minor == minor)) - break; - } - if (tty == NULL) { - static char c = 'a'; - - /* - * Create a new device - */ - tty = calloc (1, sizeof (struct rtems_termios_tty)); - if (tty == NULL) { - rtems_semaphore_release (ttyMutex); - return RTEMS_NO_MEMORY; - } - tty->forw = ttyHead; - ttyHead = tty; - if (ttyTail == NULL) - ttyTail = tty; - - tty->minor = minor; - tty->major = major; - - /* - * Set up mutex semaphores - */ - sc = rtems_semaphore_create ( - rtems_build_name ('T', 'R', 'i', c), - 1, - RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &tty->isem); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - sc = rtems_semaphore_create ( - rtems_build_name ('T', 'R', 'o', c), - 1, - RTEMS_BINARY_SEMAPHORE | RTEMS_INHERIT_PRIORITY | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &tty->osem); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - sc = rtems_semaphore_create ( - rtems_build_name ('T', 'R', 'x', c), - 0, - RTEMS_COUNTING_SEMAPHORE | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &tty->rawOutBufSemaphore); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - tty->rawOutBufState = rob_idle; - - /* - * Set callbacks - */ - tty->device = *callbacks; - if (!tty->device.pollRead) { - sc = rtems_semaphore_create ( - rtems_build_name ('T', 'R', 'r', c), - 0, - RTEMS_COUNTING_SEMAPHORE | RTEMS_PRIORITY, - RTEMS_NO_PRIORITY, - &tty->rawInBufSemaphore); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - } - - /* - * Set default parameters - */ - tty->termios.c_iflag = BRKINT | ICRNL | IXON | IMAXBEL; - tty->termios.c_oflag = OPOST | ONLCR | XTABS; - tty->termios.c_cflag = B9600 | CS8 | CREAD; - tty->termios.c_lflag = ISIG | ICANON | IEXTEN | ECHO | ECHOK | ECHOE | ECHOCTL; - tty->termios.c_cc[VINTR] = '\003'; - tty->termios.c_cc[VQUIT] = '\034'; - tty->termios.c_cc[VERASE] = '\177'; - tty->termios.c_cc[VKILL] = '\025'; - tty->termios.c_cc[VEOF] = '\004'; - tty->termios.c_cc[VEOL] = '\000'; - tty->termios.c_cc[VEOL2] = '\000'; - tty->termios.c_cc[VSTART] = '\021'; - tty->termios.c_cc[VSTOP] = '\023'; - tty->termios.c_cc[VSUSP] = '\032'; - tty->termios.c_cc[VREPRINT] = '\022'; - tty->termios.c_cc[VDISCARD] = '\017'; - tty->termios.c_cc[VWERASE] = '\027'; - tty->termios.c_cc[VLNEXT] = '\026'; - - /* - * Bump name characer - */ - if (c++ == 'z') - c = 'a'; - } - args->iop->data1 = tty; - if (!tty->refcount++ && tty->device.firstOpen) - (*tty->device.firstOpen)(major, minor, arg); - rtems_semaphore_release (ttyMutex); - return RTEMS_SUCCESSFUL; -} - -/* - * Drain output queue - */ -static void -drainOutput (struct rtems_termios_tty *tty) -{ - rtems_interrupt_level level; - rtems_status_code sc; - - if (tty->device.outputUsesInterrupts) { - rtems_interrupt_disable (level); - while (tty->rawOutBufTail != tty->rawOutBufHead) { - tty->rawOutBufState = rob_wait; - rtems_interrupt_enable (level); - sc = rtems_semaphore_obtain (tty->rawOutBufSemaphore, - RTEMS_WAIT, - RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - rtems_interrupt_disable (level); - } - rtems_interrupt_enable (level); - } -} - -rtems_status_code -rtems_termios_close (void *arg) -{ - rtems_libio_open_close_args_t *args = arg; - struct rtems_termios_tty *tty = args->iop->data1; - rtems_status_code sc; - - sc = rtems_semaphore_obtain (ttyMutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - if (--tty->refcount == 0) { - drainOutput (tty); - if (tty->device.lastClose) - (*tty->device.lastClose)(tty->major, tty->minor, arg); - if (tty->forw == NULL) - ttyTail = tty->back; - else - tty->forw->back = tty->back; - if (tty->back == NULL) - ttyHead = tty->forw; - else - tty->back->forw = tty->forw; - rtems_semaphore_delete (tty->isem); - rtems_semaphore_delete (tty->osem); - rtems_semaphore_delete (tty->rawOutBufSemaphore); - if (!tty->device.pollRead) - rtems_semaphore_delete (tty->rawInBufSemaphore); - free (tty); - } - rtems_semaphore_release (ttyMutex); - return RTEMS_SUCCESSFUL; -} - -rtems_status_code -rtems_termios_ioctl (void *arg) -{ - rtems_libio_ioctl_args_t *args = arg; - struct rtems_termios_tty *tty = args->iop->data1; - rtems_status_code sc; - - args->ioctl_return = 0; - sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) { - args->ioctl_return = sc; - return sc; - } - switch (args->command) { - default: - sc = RTEMS_INVALID_NUMBER; - break; - - case RTEMS_IO_GET_ATTRIBUTES: - *(struct termios *)args->buffer = tty->termios; - break; - - case RTEMS_IO_SET_ATTRIBUTES: - tty->termios = *(struct termios *)args->buffer; - if (tty->termios.c_lflag & ICANON) { - tty->rawInBufSemaphoreOptions = RTEMS_WAIT; - tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT; - tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT; - } - else { - rtems_interval ticksPerSecond; - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticksPerSecond); - tty->vtimeTicks = tty->termios.c_cc[VTIME] * ticksPerSecond / 10; - if (tty->termios.c_cc[VTIME]) { - tty->rawInBufSemaphoreOptions = RTEMS_WAIT; - tty->rawInBufSemaphoreTimeout = tty->vtimeTicks; - if (tty->termios.c_cc[VMIN]) - tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT; - else - tty->rawInBufSemaphoreFirstTimeout = tty->vtimeTicks; - } - else { - if (tty->termios.c_cc[VMIN]) { - tty->rawInBufSemaphoreOptions = RTEMS_WAIT; - tty->rawInBufSemaphoreTimeout = RTEMS_NO_TIMEOUT; - tty->rawInBufSemaphoreFirstTimeout = RTEMS_NO_TIMEOUT; - } - else { - tty->rawInBufSemaphoreOptions = RTEMS_NO_WAIT; - } - } - } - if (tty->device.setAttributes) - (*tty->device.setAttributes)(tty->minor, &tty->termios); - break; - - case RTEMS_IO_TCDRAIN: - drainOutput (tty); - break; - } - rtems_semaphore_release (tty->osem); - args->ioctl_return = sc; - return sc; -} - -/* - * Send characters to device-specific code - */ -static void -osend (const char *buf, int len, struct rtems_termios_tty *tty) -{ - unsigned int newHead; - rtems_interrupt_level level; - rtems_status_code sc; - - if (!tty->device.outputUsesInterrupts) { - (*tty->device.write)(tty->minor, buf, len); - return; - } - newHead = tty->rawOutBufHead; - while (len) { - /* - * Performance improvement could be made here. - * Copy multiple bytes to raw buffer: - * if (len > 1) && (space to buffer end, or tail > 1) - * ncopy = MIN (len, space to buffer end or tail) - * memcpy (raw buffer, buf, ncopy) - * buf += ncopy - * len -= ncopy - * - * To minimize latency, the memcpy should be done - * with interrupts enabled. - */ - newHead = (newHead + 1) % RAW_OUTPUT_BUFFER_SIZE; - rtems_interrupt_disable (level); - while (newHead == tty->rawOutBufTail) { - tty->rawOutBufState = rob_wait; - rtems_interrupt_enable (level); - sc = rtems_semaphore_obtain (tty->rawOutBufSemaphore, - RTEMS_WAIT, - RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - rtems_fatal_error_occurred (sc); - rtems_interrupt_disable (level); - } - tty->rawOutBuf[tty->rawOutBufHead] = *buf++; - tty->rawOutBufHead = newHead; - if (tty->rawOutBufState == rob_idle) { - (*tty->device.write)(tty->minor, - (char *)&tty->rawOutBuf[tty->rawOutBufTail], 1); - tty->rawOutBufState = rob_busy; - } - rtems_interrupt_enable (level); - len--; - } -} - -/* - * Handle output processing - */ -static void -oproc (unsigned char c, struct rtems_termios_tty *tty) -{ - int i; - - if (tty->termios.c_oflag & OPOST) { - switch (c) { - case '\n': - if (tty->termios.c_oflag & ONLRET) - tty->column = 0; - if (tty->termios.c_oflag & ONLCR) { - osend ("\r", 1, tty); - tty->column = 0; - } - break; - - case '\r': - if ((tty->termios.c_oflag & ONOCR) && (tty->column == 0)) - return; - if (tty->termios.c_oflag & OCRNL) { - c = '\n'; - if (tty->termios.c_oflag & ONLRET) - tty->column = 0; - break; - } - tty->column = 0; - break; - - case '\t': - i = 8 - (tty->column & 7); - if ((tty->termios.c_oflag & TABDLY) == XTABS) { - tty->column += i; - osend ( " ", i, tty); - return; - } - tty->column += i; - break; - - case '\b': - if (tty->column > 0) - tty->column--; - break; - - default: - if (tty->termios.c_oflag & OLCUC) - c = toupper(c); - if (!iscntrl(c)) - tty->column++; - break; - } - } - osend (&c, 1, tty); -} - -rtems_status_code -rtems_termios_write (void *arg) -{ - rtems_libio_rw_args_t *args = arg; - struct rtems_termios_tty *tty = args->iop->data1; - rtems_status_code sc; - - sc = rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - return sc; - if (tty->termios.c_oflag & OPOST) { - unsigned32 count = args->count; - unsigned8 *buffer = args->buffer; - while (count--) - oproc (*buffer++, tty); - args->bytes_moved = args->count; - } - else { - osend (args->buffer, args->count, tty); - args->bytes_moved = args->count; - } - rtems_semaphore_release (tty->osem); - return sc; -} - -/* - * Echo a typed character - */ -static void -echo (unsigned char c, struct rtems_termios_tty *tty) -{ - if ((tty->termios.c_lflag & ECHOCTL) && iscntrl(c) && (c != '\t') && (c != '\n')) { - char echobuf[2]; - - echobuf[0] = '^'; - echobuf[1] = c ^ 0x40; - osend (echobuf, 2, tty); - tty->column += 2; - } - else { - oproc (c, tty); - } -} - -/* - * Erase a character or line - * FIXME: Needs support for WERASE and ECHOPRT. - * FIXME: Some of the tests should check for IEXTEN, too. - */ -static void -erase (struct rtems_termios_tty *tty, int lineFlag) -{ - if (tty->ccount == 0) - return; - if (lineFlag) { - if (!(tty->termios.c_lflag & ECHO)) { - tty->ccount = 0; - return; - } - if (!(tty->termios.c_lflag & ECHOE)) { - tty->ccount = 0; - echo (tty->termios.c_cc[VKILL], tty); - if (tty->termios.c_lflag & ECHOK) - echo ('\n', tty); - return; - } - } - while (tty->ccount) { - unsigned char c = tty->cbuf[--tty->ccount]; - - if (tty->termios.c_lflag & ECHO) { - if (!lineFlag && !(tty->termios.c_lflag & ECHOE)) { - echo (tty->termios.c_cc[VERASE], tty); - } - else if (c == '\t') { - int col = tty->read_start_column; - int i = 0; - - /* - * Find the character before the tab - */ - while (i != tty->ccount) { - c = tty->cbuf[i++]; - if (c == '\t') { - col = (col | 7) + 1; - } - else if (iscntrl (c)) { - if (tty->termios.c_lflag & ECHOCTL) - col += 2; - } - else { - col++; - } - } - - /* - * Back up over the tab - */ - while (tty->column > col) { - osend ("\b", 1, tty); - tty->column--; - } - } - else { - if (iscntrl (c) && (tty->termios.c_lflag & ECHOCTL)) { - osend ("\b \b", 3, tty); - if (tty->column) - tty->column--; - } - if (!iscntrl (c) || (tty->termios.c_lflag & ECHOCTL)) { - osend ("\b \b", 3, tty); - if (tty->column) - tty->column--; - } - } - } - if (!lineFlag) - break; - } -} - -/* - * Process a single input character - */ -static int -iproc (unsigned char c, struct rtems_termios_tty *tty) -{ - if (tty->termios.c_iflag & ISTRIP) - c &= 0x7f; - if (tty->termios.c_iflag & IUCLC) - c = tolower (c); - if (c == '\r') { - if (tty->termios.c_iflag & IGNCR) - return 0; - if (tty->termios.c_iflag & ICRNL) - c = '\n'; - } - else if ((c == '\n') && (tty->termios.c_iflag & INLCR)) { - c = '\r'; - } - if ((c != '\0') && (tty->termios.c_lflag & ICANON)) { - if (c == tty->termios.c_cc[VERASE]) { - erase (tty, 0); - return 0; - } - else if (c == tty->termios.c_cc[VKILL]) { - erase (tty, 1); - return 0; - } - else if (c == tty->termios.c_cc[VEOF]) { - return 1; - } - else if (c == '\n') { - if (tty->termios.c_lflag & (ECHO | ECHONL)) - echo (c, tty); - tty->cbuf[tty->ccount++] = c; - return 1; - } - else if ((c == tty->termios.c_cc[VEOL]) - || (c == tty->termios.c_cc[VEOL2])) { - if (tty->termios.c_lflag & ECHO) - echo (c, tty); - tty->cbuf[tty->ccount++] = c; - return 1; - } - } - - /* - * FIXME: Should do IMAXBEL handling somehow - */ - if (tty->ccount < (CBUFSIZE-1)) { - if (tty->termios.c_lflag & ECHO) - echo (c, tty); - tty->cbuf[tty->ccount++] = c; - } - return 0; -} - -/* - * Process input character, with semaphore. - */ -static int -siproc (unsigned char c, struct rtems_termios_tty *tty) -{ - int i; - - /* - * Obtain output semaphore if character will be echoed - */ - if (tty->termios.c_lflag & (ECHO|ECHOE|ECHOK|ECHONL|ECHOPRT|ECHOCTL|ECHOKE)) { - rtems_semaphore_obtain (tty->osem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - i = iproc (c, tty); - rtems_semaphore_release (tty->osem); - } - else { - i = iproc (c, tty); - } - return i; -} - -/* - * Fill the input buffer by polling the device - */ -static rtems_status_code -fillBufferPoll (struct rtems_termios_tty *tty) -{ - int n; - - if (tty->termios.c_lflag & ICANON) { - for (;;) { - n = (*tty->device.pollRead)(tty->minor); - if (n < 0) { - rtems_task_wake_after (1); - } - else { - if (siproc (n, tty)) - break; - } - } - } - else { - rtems_interval then, now; - if (!tty->termios.c_cc[VMIN] && tty->termios.c_cc[VTIME]) - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &then); - for (;;) { - n = (*tty->device.pollRead)(tty->minor); - if (n < 0) { - if (tty->termios.c_cc[VMIN]) { - if (tty->termios.c_cc[VTIME] && tty->ccount) { - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &now); - if ((now - then) > tty->vtimeTicks) { - break; - } - } - } - else { - if (!tty->termios.c_cc[VTIME]) - break; - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &now); - if ((now - then) > tty->vtimeTicks) { - break; - } - } - rtems_task_wake_after (1); - } - else { - siproc (n, tty); - if (tty->ccount >= tty->termios.c_cc[VMIN]) - break; - if (tty->termios.c_cc[VMIN] && tty->termios.c_cc[VTIME]) - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &then); - } - } - } - return RTEMS_SUCCESSFUL; -} - -/* - * Fill the input buffer from the raw input queue - */ -static rtems_status_code -fillBufferQueue (struct rtems_termios_tty *tty) -{ - rtems_interval timeout = tty->rawInBufSemaphoreFirstTimeout; - rtems_status_code sc; - - for (;;) { - /* - * Process characters read from raw queue - */ - while (tty->rawInBufHead != tty->rawInBufTail) { - unsigned char c; - unsigned int newHead; - - newHead = (tty->rawInBufHead + 1) % RAW_INPUT_BUFFER_SIZE; - c = tty->rawInBuf[newHead]; - tty->rawInBufHead = newHead; - if (tty->termios.c_lflag & ICANON) { - if (siproc (c, tty)) - return RTEMS_SUCCESSFUL; - } - else { - siproc (c, tty); - if (tty->ccount >= tty->termios.c_cc[VMIN]) - return RTEMS_SUCCESSFUL; - } - timeout = tty->rawInBufSemaphoreTimeout; - } - - /* - * Wait for characters - */ - sc = rtems_semaphore_obtain (tty->rawInBufSemaphore, - tty->rawInBufSemaphoreOptions, - timeout); - if (sc != RTEMS_SUCCESSFUL) - break; - } - return RTEMS_SUCCESSFUL; -} - -rtems_status_code -rtems_termios_read (void *arg) -{ - rtems_libio_rw_args_t *args = arg; - struct rtems_termios_tty *tty = args->iop->data1; - unsigned32 count = args->count; - unsigned8 *buffer = args->buffer; - rtems_status_code sc; - - sc = rtems_semaphore_obtain (tty->isem, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - return sc; - if (tty->cindex == tty->ccount) { - tty->cindex = tty->ccount = 0; - tty->read_start_column = tty->column; - if (tty->device.pollRead) - sc = fillBufferPoll (tty); - else - sc = fillBufferQueue (tty); - if (sc != RTEMS_SUCCESSFUL) - tty->cindex = tty->ccount = 0; - } - while (count && (tty->cindex < tty->ccount)) { - *buffer++ = tty->cbuf[tty->cindex++]; - count--; - } - args->bytes_moved = args->count - count; - rtems_semaphore_release (tty->isem); - return sc; -} - -/* - * Place characters on raw queue. - * NOTE: This routine runs in the context of the - * device receive interrupt handler. - * Returns the number of characters dropped because of overlow. - */ -int -rtems_termios_enqueue_raw_characters (void *ttyp, char *buf, int len) -{ - struct rtems_termios_tty *tty = ttyp; - unsigned int newTail; - - while (len) { - newTail = (tty->rawInBufTail + 1) % RAW_INPUT_BUFFER_SIZE; - if (newTail == tty->rawInBufHead) { - tty->rawInBufDropped += len; - break; - } - tty->rawInBuf[newTail] = *buf++; - len--; - tty->rawInBufTail = newTail; - } - rtems_semaphore_release (tty->rawInBufSemaphore); - return len; -} - -/* - * Characters have been transmitted - * NOTE: This routine runs in the context of the - * device transmit interrupt handler. - * The second argument is the number of characters transmitted so far. - * This value will always be 1 for devices which generate an interrupt - * for each transmitted character. - * It returns number of characters left to transmit - */ -int -rtems_termios_dequeue_characters (void *ttyp, int len) -{ - struct rtems_termios_tty *tty = ttyp; - unsigned int newTail; - int nToSend; - - if (tty->rawOutBufState == rob_wait) - rtems_semaphore_release (tty->rawOutBufSemaphore); - if ( tty->rawOutBufHead == tty->rawOutBufTail ) - return 0; - newTail = (tty->rawOutBufTail + len) % RAW_OUTPUT_BUFFER_SIZE; - if (newTail == tty->rawOutBufHead) { - /* - * Buffer empty - */ - tty->rawOutBufState = rob_idle; - nToSend = 0; - } - else { - /* - * Buffer not empty, start tranmitter - */ - if (newTail > tty->rawOutBufHead) - nToSend = RAW_OUTPUT_BUFFER_SIZE - newTail; - else - nToSend = tty->rawOutBufHead - newTail; - (*tty->device.write)(tty->minor, (char *)&tty->rawOutBuf[newTail], nToSend); - tty->rawOutBufState = rob_busy; - } - tty->rawOutBufTail = newTail; - - return nToSend; -} - - diff --git a/c/src/exec/libcsupport/src/unixlibc.c b/c/src/exec/libcsupport/src/unixlibc.c deleted file mode 100644 index 3e757e313d..0000000000 --- a/c/src/exec/libcsupport/src/unixlibc.c +++ /dev/null @@ -1,23 +0,0 @@ -/* - * $Id$ - */ - -#include - -#if defined(RTEMS_UNIXLIB) - -void libc_init(int reentrant) -{ -} - -#else - -/* remove ANSI errors. - * A program must contain at least one external-declaration - * (X3.159-1989 p.82,L3). - */ -void unixlibc_dummy_function( void ) -{ -} - -#endif diff --git a/c/src/exec/libcsupport/src/utsname.c b/c/src/exec/libcsupport/src/utsname.c deleted file mode 100644 index 7fba3d610f..0000000000 --- a/c/src/exec/libcsupport/src/utsname.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * $Id$ - */ - -#include -#include - -#include - -#include -#include -#include - -/*PAGE - * - * 4.4.1 Get System Name, P1003.1b-1993, p. 90 - */ - -int uname( - struct utsname *name -) -{ - /* XXX: Here is what Solaris returns... - sysname = SunOS - nodename = node_name - release = 5.3 - version = Generic_101318-12 - machine = sun4m - */ - - strcpy( name->sysname, "RTEMS" ); - - sprintf( name->nodename, "Node %d\n", _Objects_Local_node ); - - /* XXX release string is in BAD format for this routine!!! */ - strcpy( name->release, "3.2.0" ); - - /* XXX does this have any meaning for RTEMS */ - - strcpy( name->release, "" ); - - sprintf( name->machine, "%s/%s", CPU_NAME, CPU_MODEL_NAME ); - - return 0; -} - -/*PAGE - * - * 4.5.2 Get Process Times, P1003.1b-1993, p. 92 - */ - -clock_t times( - struct tms *buffer -) -{ - return POSIX_NOT_IMPLEMENTED(); -} diff --git a/c/src/exec/libnetworking/README b/c/src/exec/libnetworking/README deleted file mode 100644 index d0c22ec688..0000000000 --- a/c/src/exec/libnetworking/README +++ /dev/null @@ -1,18 +0,0 @@ -# -# $Id$ -# - -This is a snapshot of my attempt to fit the FreeBSD networking code into -RTEMS. Things seem to be working! - -Things that need to be done: - 1) More documentation! - 2) Figure out what's still not working :-) - 3) Rationalize the include files. Right now I have a special - hack in the Makefile to ensure that I pick up the FreeBSD versions - of the include files that are duplicated between RTEMS - and FreeBSD. - The network device driver source should move to the BSP source tree. - 4) Have a look at all the FIXME comments. - 5) Go through and make sure that all the source files are - free of undesired copyright restrictions. diff --git a/c/src/exec/libnetworking/arpa/ftp.h b/c/src/exec/libnetworking/arpa/ftp.h deleted file mode 100644 index 584d290bc9..0000000000 --- a/c/src/exec/libnetworking/arpa/ftp.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 1983, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ftp.h 8.1 (Berkeley) 6/2/93 - * - * $Id$ - */ - -#ifndef _ARPA_FTP_H_ -#define _ARPA_FTP_H_ - -/* Definitions for FTP; see RFC-765. */ - -/* - * Reply codes. - */ -#define PRELIM 1 /* positive preliminary */ -#define COMPLETE 2 /* positive completion */ -#define CONTINUE 3 /* positive intermediate */ -#define TRANSIENT 4 /* transient negative completion */ -#define ERROR 5 /* permanent negative completion */ - -/* - * Type codes - */ -#define TYPE_A 1 /* ASCII */ -#define TYPE_E 2 /* EBCDIC */ -#define TYPE_I 3 /* image */ -#define TYPE_L 4 /* local byte size */ - -#ifdef FTP_NAMES -char *typenames[] = {"0", "ASCII", "EBCDIC", "Image", "Local" }; -#endif - -/* - * Form codes - */ -#define FORM_N 1 /* non-print */ -#define FORM_T 2 /* telnet format effectors */ -#define FORM_C 3 /* carriage control (ASA) */ -#ifdef FTP_NAMES -char *formnames[] = {"0", "Nonprint", "Telnet", "Carriage-control" }; -#endif - -/* - * Structure codes - */ -#define STRU_F 1 /* file (no record structure) */ -#define STRU_R 2 /* record structure */ -#define STRU_P 3 /* page structure */ -#ifdef FTP_NAMES -char *strunames[] = {"0", "File", "Record", "Page" }; -#endif - -/* - * Mode types - */ -#define MODE_S 1 /* stream */ -#define MODE_B 2 /* block */ -#define MODE_C 3 /* compressed */ -#ifdef FTP_NAMES -char *modenames[] = {"0", "Stream", "Block", "Compressed" }; -#endif - -/* - * Record Tokens - */ -#define REC_ESC '\377' /* Record-mode Escape */ -#define REC_EOR '\001' /* Record-mode End-of-Record */ -#define REC_EOF '\002' /* Record-mode End-of-File */ - -/* - * Block Header - */ -#define BLK_EOR 0x80 /* Block is End-of-Record */ -#define BLK_EOF 0x40 /* Block is End-of-File */ -#define BLK_ERRORS 0x20 /* Block is suspected of containing errors */ -#define BLK_RESTART 0x10 /* Block is Restart Marker */ - -#define BLK_BYTECOUNT 2 /* Bytes in this block */ - -#endif /* !_FTP_H_ */ diff --git a/c/src/exec/libnetworking/arpa/inet.h b/c/src/exec/libnetworking/arpa/inet.h deleted file mode 100644 index ad5332e7ab..0000000000 --- a/c/src/exec/libnetworking/arpa/inet.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -/* - * @(#)inet.h 8.1 (Berkeley) 6/2/93 - * From: Id: inet.h,v 8.5 1997/01/29 08:48:09 vixie Exp $ - * $Id$ - */ - -#ifndef _ARPA_INET_H_ -#define _ARPA_INET_H_ - -/* External definitions for functions in inet(3), addr2ascii(3) */ - -#include -#include - -struct in_addr; - -#if 0 /* RTEMS -- Why rename these? */ -/* XXX all new diversions!! argh!! */ -#define inet_addr __inet_addr -#define inet_aton __inet_aton -#define inet_lnaof __inet_lnaof -#define inet_makeaddr __inet_makeaddr -#define inet_neta __inet_neta -#define inet_netof __inet_netof -#define inet_network __inet_network -#define inet_net_ntop __inet_net_ntop -#define inet_net_pton __inet_net_pton -#define inet_ntoa __inet_ntoa -#define inet_pton __inet_pton -#define inet_ntop __inet_ntop -#define inet_nsap_addr __inet_nsap_addr -#define inet_nsap_ntoa __inet_nsap_ntoa -#endif - -__BEGIN_DECLS -int ascii2addr __P((int, const char *, void *)); -char *addr2ascii __P((int, const void *, int, char *)); -unsigned long inet_addr __P((const char *)); -int inet_aton __P((const char *, struct in_addr *)); -unsigned long inet_lnaof __P((struct in_addr)); -struct in_addr inet_makeaddr __P((u_long , u_long)); -char * inet_neta __P((u_long, char *, size_t)); -unsigned long inet_netof __P((struct in_addr)); -unsigned long inet_network __P((const char *)); -char *inet_net_ntop __P((int, const void *, int, char *, size_t)); -int inet_net_pton __P((int, const char *, void *, size_t)); -char *inet_ntoa __P((struct in_addr)); -int inet_pton __P((int, const char *, void *)); -const char *inet_ntop __P((int, const void *, char *, size_t)); -u_int inet_nsap_addr __P((const char *, u_char *, int)); -char *inet_nsap_ntoa __P((int, const u_char *, char *)); -__END_DECLS - -#endif /* !_INET_H_ */ diff --git a/c/src/exec/libnetworking/arpa/nameser.h b/c/src/exec/libnetworking/arpa/nameser.h deleted file mode 100644 index 634dece37b..0000000000 --- a/c/src/exec/libnetworking/arpa/nameser.h +++ /dev/null @@ -1,448 +0,0 @@ -/* - * Copyright (c) 1983, 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -/* - * From: Id: nameser.h,v 8.16 1998/02/06 00:35:58 halley Exp - * $Id$ - */ - -#ifndef _ARPA_NAMESER_H_ -#define _ARPA_NAMESER_H_ - -#define BIND_4_COMPAT - -#include -#include - -/* - * revision information. this is the release date in YYYYMMDD format. - * it can change every day so the right thing to do with it is use it - * in preprocessor commands such as "#if (__NAMESER > 19931104)". do not - * compare for equality; rather, use it to determine whether your libnameser.a - * is new enough to contain a certain feature. - */ - -/* XXXRTH I made this bigger than __BIND in 4.9.5 T6B */ -#define __NAMESER 19961001 /* New interface version stamp. */ - -/* - * Define constants based on RFC 883, RFC 1034, RFC 1035 - */ -#define NS_PACKETSZ 512 /* maximum packet size */ -#define NS_MAXDNAME 1025 /* maximum domain name */ -#define NS_MAXCDNAME 255 /* maximum compressed domain name */ -#define NS_MAXLABEL 63 /* maximum length of domain label */ -#define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */ -#define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */ -#define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */ -#define NS_INT32SZ 4 /* #/bytes of data in a u_int32_t */ -#define NS_INT16SZ 2 /* #/bytes of data in a u_int16_t */ -#define NS_INT8SZ 1 /* #/bytes of data in a u_int8_t */ -#define NS_INADDRSZ 4 /* IPv4 T_A */ -#define NS_IN6ADDRSZ 16 /* IPv6 T_AAAA */ -#define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */ -#define NS_DEFAULTPORT 53 /* For both TCP and UDP. */ - -/* - * These can be expanded with synonyms, just keep ns_parse.c:ns_parserecord() - * in synch with it. - */ -typedef enum __ns_sect { - ns_s_qd = 0, /* Query: Question. */ - ns_s_zn = 0, /* Update: Zone. */ - ns_s_an = 1, /* Query: Answer. */ - ns_s_pr = 1, /* Update: Prerequisites. */ - ns_s_ns = 2, /* Query: Name servers. */ - ns_s_ud = 2, /* Update: Update. */ - ns_s_ar = 3, /* Query|Update: Additional records. */ - ns_s_max = 4 -} ns_sect; - -/* - * This is a message handle. It is caller allocated and has no dynamic data. - * This structure is intended to be opaque to all but ns_parse.c, thus the - * leading _'s on the member names. Use the accessor functions, not the _'s. - */ -typedef struct __ns_msg { - const u_char *_msg, *_eom; - u_int16_t _id, _flags, _counts[ns_s_max]; - const u_char *_sections[ns_s_max]; - ns_sect _sect; - int _rrnum; - const u_char *_ptr; -} ns_msg; - -/* Private data structure - do not use from outside library. */ -struct _ns_flagdata { int mask, shift; }; -extern struct _ns_flagdata _ns_flagdata[]; - -/* Accessor macros - this is part of the public interface. */ -#define ns_msg_getflag(handle, flag) ( \ - ((handle)._flags & _ns_flagdata[flag].mask) \ - >> _ns_flagdata[flag].shift \ - ) -#define ns_msg_id(handle) ((handle)._id + 0) -#define ns_msg_base(handle) ((handle)._msg + 0) -#define ns_msg_end(handle) ((handle)._eom + 0) -#define ns_msg_size(handle) ((handle)._eom - (handle)._msg) -#define ns_msg_count(handle, section) ((handle)._counts[section] + 0) - -/* - * This is a parsed record. It is caller allocated and has no dynamic data. - */ -typedef struct __ns_rr { - char name[NS_MAXDNAME]; /* XXX need to malloc */ - u_int16_t type; - u_int16_t class; - u_int32_t ttl; - u_int16_t rdlength; - const u_char *rdata; -} ns_rr; - -/* Accessor macros - this is part of the public interface. */ -#define ns_rr_name(rr) (((rr).name[0] != '\0') ? (rr).name : ".") -#define ns_rr_type(rr) ((rr).type + 0) -#define ns_rr_class(rr) ((rr).class + 0) -#define ns_rr_ttl(rr) ((rr).ttl + 0) -#define ns_rr_rdlen(rr) ((rr).rdlength + 0) -#define ns_rr_rdata(rr) ((rr).rdata + 0) - -/* - * These don't have to be in the same order as in the packet flags word, - * and they can even overlap in some cases, but they will need to be kept - * in synch with ns_parse.c:ns_flagdata[]. - */ -typedef enum __ns_flag { - ns_f_qr, /* Question/Response. */ - ns_f_opcode, /* Operation code. */ - ns_f_aa, /* Authoritative Answer. */ - ns_f_tc, /* Truncation occurred. */ - ns_f_rd, /* Recursion Desired. */ - ns_f_ra, /* Recursion Available. */ - ns_f_z, /* MBZ. */ - ns_f_ad, /* Authentic Data (DNSSEC). */ - ns_f_cd, /* Checking Disabled (DNSSEC). */ - ns_f_rcode, /* Response code. */ - ns_f_max -} ns_flag; - -/* - * Currently defined opcodes. - */ -typedef enum __ns_opcode { - ns_o_query = 0, /* Standard query. */ - ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */ - ns_o_status = 2, /* Name server status query (unsupported). */ - /* Opcode 3 is undefined/reserved. */ - ns_o_notify = 4, /* Zone change notification. */ - ns_o_update = 5, /* Zone update message. */ - ns_o_max = 6 -} ns_opcode; - -/* - * Currently defined response codes. - */ -typedef enum __ns_rcode { - ns_r_noerror = 0, /* No error occurred. */ - ns_r_formerr = 1, /* Format error. */ - ns_r_servfail = 2, /* Server failure. */ - ns_r_nxdomain = 3, /* Name error. */ - ns_r_notimpl = 4, /* Unimplemented. */ - ns_r_refused = 5, /* Operation refused. */ - /* these are for BIND_UPDATE */ - ns_r_yxdomain = 6, /* Name exists */ - ns_r_yxrrset = 7, /* RRset exists */ - ns_r_nxrrset = 8, /* RRset does not exist */ - ns_r_notauth = 9, /* Not authoritative for zone */ - ns_r_notzone = 10, /* Zone of record different from zone section */ - ns_r_max = 11 -} ns_rcode; - -/* BIND_UPDATE */ -typedef enum __ns_update_operation { - ns_uop_delete = 0, - ns_uop_add = 1, - ns_uop_max = 2 -} ns_update_operation; - -/* - * This RR-like structure is particular to UPDATE. - */ -struct ns_updrec { - struct ns_updrec *r_prev; /* prev record */ - struct ns_updrec *r_next; /* next record */ - u_int8_t r_section; /* ZONE/PREREQUISITE/UPDATE */ - char * r_dname; /* owner of the RR */ - u_int16_t r_class; /* class number */ - u_int16_t r_type; /* type number */ - u_int32_t r_ttl; /* time to live */ - u_char * r_data; /* rdata fields as text string */ - u_int16_t r_size; /* size of r_data field */ - int r_opcode; /* type of operation */ - /* following fields for private use by the resolver/server routines */ - struct ns_updrec *r_grpnext; /* next record when grouped */ - struct databuf *r_dp; /* databuf to process */ - struct databuf *r_deldp; /* databuf's deleted/overwritten */ - u_int16_t r_zone; /* zone number on server */ -}; -typedef struct ns_updrec ns_updrec; - -/* - * Currently defined type values for resources and queries. - */ -typedef enum __ns_type { - ns_t_a = 1, /* Host address. */ - ns_t_ns = 2, /* Authoritative server. */ - ns_t_md = 3, /* Mail destination. */ - ns_t_mf = 4, /* Mail forwarder. */ - ns_t_cname = 5, /* Canonical name. */ - ns_t_soa = 6, /* Start of authority zone. */ - ns_t_mb = 7, /* Mailbox domain name. */ - ns_t_mg = 8, /* Mail group member. */ - ns_t_mr = 9, /* Mail rename name. */ - ns_t_null = 10, /* Null resource record. */ - ns_t_wks = 11, /* Well known service. */ - ns_t_ptr = 12, /* Domain name pointer. */ - ns_t_hinfo = 13, /* Host information. */ - ns_t_minfo = 14, /* Mailbox information. */ - ns_t_mx = 15, /* Mail routing information. */ - ns_t_txt = 16, /* Text strings. */ - ns_t_rp = 17, /* Responsible person. */ - ns_t_afsdb = 18, /* AFS cell database. */ - ns_t_x25 = 19, /* X_25 calling address. */ - ns_t_isdn = 20, /* ISDN calling address. */ - ns_t_rt = 21, /* Router. */ - ns_t_nsap = 22, /* NSAP address. */ - ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */ - ns_t_sig = 24, /* Security signature. */ - ns_t_key = 25, /* Security key. */ - ns_t_px = 26, /* X.400 mail mapping. */ - ns_t_gpos = 27, /* Geographical position (withdrawn). */ - ns_t_aaaa = 28, /* Ip6 Address. */ - ns_t_loc = 29, /* Location Information. */ - ns_t_nxt = 30, /* Next domain (security). */ - ns_t_eid = 31, /* Endpoint identifier. */ - ns_t_nimloc = 32, /* Nimrod Locator. */ - ns_t_srv = 33, /* Server Selection. */ - ns_t_atma = 34, /* ATM Address */ - ns_t_naptr = 35, /* Naming Authority PoinTeR */ - /* Query type values which do not appear in resource records. */ - ns_t_ixfr = 251, /* Incremental zone transfer. */ - ns_t_axfr = 252, /* Transfer zone of authority. */ - ns_t_mailb = 253, /* Transfer mailbox records. */ - ns_t_maila = 254, /* Transfer mail agent records. */ - ns_t_any = 255, /* Wildcard match. */ - ns_t_max = 65536 -} ns_type; - -/* - * Values for class field - */ -typedef enum __ns_class { - ns_c_in = 1, /* Internet. */ - /* Class 2 unallocated/unsupported. */ - ns_c_chaos = 3, /* MIT Chaos-net. */ - ns_c_hs = 4, /* MIT Hesiod. */ - /* Query class values which do not appear in resource records */ - ns_c_none = 254, /* for prereq. sections in update requests */ - ns_c_any = 255, /* Wildcard match. */ - ns_c_max = 65536 -} ns_class; - -/* - * Flags field of the KEY RR rdata - */ -#define NS_KEY_TYPEMASK 0xC000 /* Mask for "type" bits */ -#define NS_KEY_TYPE_AUTH_CONF 0x0000 /* Key usable for both */ -#define NS_KEY_TYPE_CONF_ONLY 0x8000 /* Key usable for confidentiality */ -#define NS_KEY_TYPE_AUTH_ONLY 0x4000 /* Key usable for authentication */ -#define NS_KEY_TYPE_NO_KEY 0xC000 /* No key usable for either; no key */ -/* The type bits can also be interpreted independently, as single bits: */ -#define NS_KEY_NO_AUTH 0x8000 /* Key unusable for authentication */ -#define NS_KEY_NO_CONF 0x4000 /* Key unusable for confidentiality */ -#define NS_KEY_EXPERIMENTAL 0x2000 /* Security is *mandatory* if bit=0 */ -#define NS_KEY_RESERVED3 0x1000 /* reserved - must be zero */ -#define NS_KEY_RESERVED4 0x0800 /* reserved - must be zero */ -#define NS_KEY_USERACCOUNT 0x0400 /* key is assoc. with a user acct */ -#define NS_KEY_ENTITY 0x0200 /* key is assoc. with entity eg host */ -#define NS_KEY_ZONEKEY 0x0100 /* key is zone key */ -#define NS_KEY_IPSEC 0x0080 /* key is for IPSEC (host or user)*/ -#define NS_KEY_EMAIL 0x0040 /* key is for email (MIME security) */ -#define NS_KEY_RESERVED10 0x0020 /* reserved - must be zero */ -#define NS_KEY_RESERVED11 0x0010 /* reserved - must be zero */ -#define NS_KEY_SIGNATORYMASK 0x000F /* key can sign RR's of same name */ - -#define NS_KEY_RESERVED_BITMASK ( NS_KEY_RESERVED3 | \ - NS_KEY_RESERVED4 | \ - NS_KEY_RESERVED10 | \ - NS_KEY_RESERVED11 ) - -/* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */ -#define NS_ALG_MD5RSA 1 /* MD5 with RSA */ -#define NS_ALG_EXPIRE_ONLY 253 /* No alg, no security */ -#define NS_ALG_PRIVATE_OID 254 /* Key begins with OID giving alg */ - -/* Signatures */ -#define NS_MD5RSA_MIN_BITS 512 /* Size of a mod or exp in bits */ -#define NS_MD5RSA_MAX_BITS 2552 - /* Total of binary mod and exp */ -#define NS_MD5RSA_MAX_BYTES ((NS_MD5RSA_MAX_BITS+7/8)*2+3) - /* Max length of text sig block */ -#define NS_MD5RSA_MAX_BASE64 (((NS_MD5RSA_MAX_BYTES+2)/3)*4) - -/* Offsets into SIG record rdata to find various values */ -#define NS_SIG_TYPE 0 /* Type flags */ -#define NS_SIG_ALG 2 /* Algorithm */ -#define NS_SIG_LABELS 3 /* How many labels in name */ -#define NS_SIG_OTTL 4 /* Original TTL */ -#define NS_SIG_EXPIR 8 /* Expiration time */ -#define NS_SIG_SIGNED 12 /* Signature time */ -#define NS_SIG_FOOT 16 /* Key footprint */ -#define NS_SIG_SIGNER 18 /* Domain name of who signed it */ - -/* How RR types are represented as bit-flags in NXT records */ -#define NS_NXT_BITS 8 -#define NS_NXT_BIT_SET( n,p) (p[(n)/NS_NXT_BITS] |= (0x80>>((n)%NS_NXT_BITS))) -#define NS_NXT_BIT_CLEAR(n,p) (p[(n)/NS_NXT_BITS] &= ~(0x80>>((n)%NS_NXT_BITS))) -#define NS_NXT_BIT_ISSET(n,p) (p[(n)/NS_NXT_BITS] & (0x80>>((n)%NS_NXT_BITS))) - - -/* - * Inline versions of get/put short/long. Pointer is advanced. - */ -#define NS_GET16(s, cp) { \ - register u_char *t_cp = (u_char *)(cp); \ - (s) = ((u_int16_t)t_cp[0] << 8) \ - | ((u_int16_t)t_cp[1]) \ - ; \ - (cp) += NS_INT16SZ; \ -} - -#define NS_GET32(l, cp) { \ - register u_char *t_cp = (u_char *)(cp); \ - (l) = ((u_int32_t)t_cp[0] << 24) \ - | ((u_int32_t)t_cp[1] << 16) \ - | ((u_int32_t)t_cp[2] << 8) \ - | ((u_int32_t)t_cp[3]) \ - ; \ - (cp) += NS_INT32SZ; \ -} - -#define NS_PUT16(s, cp) { \ - register u_int16_t t_s = (u_int16_t)(s); \ - register u_char *t_cp = (u_char *)(cp); \ - *t_cp++ = t_s >> 8; \ - *t_cp = t_s; \ - (cp) += NS_INT16SZ; \ -} - -#define NS_PUT32(l, cp) { \ - register u_int32_t t_l = (u_int32_t)(l); \ - register u_char *t_cp = (u_char *)(cp); \ - *t_cp++ = t_l >> 24; \ - *t_cp++ = t_l >> 16; \ - *t_cp++ = t_l >> 8; \ - *t_cp = t_l; \ - (cp) += NS_INT32SZ; \ -} - -/* - * ANSI C identifier hiding. - */ -#define ns_get16 __ns_get16 -#define ns_get32 __ns_get32 -#define ns_put16 __ns_put16 -#define ns_put32 __ns_put32 -#define ns_initparse __ns_initparse -#define ns_parserr __ns_parserr -#define ns_sprintrr __ns_sprintrr -#define ns_sprintrrf __ns_sprintrrf -#define ns_format_ttl __ns_format_ttl -#define ns_parse_ttl __ns_parse_ttl -#define ns_name_ntop __ns_name_ntop -#define ns_name_pton __ns_name_pton -#define ns_name_unpack __ns_name_unpack -#define ns_name_pack __ns_name_pack -#define ns_name_compress __ns_name_compress -#define ns_name_uncompress __ns_name_uncompress - -__BEGIN_DECLS -u_int ns_get16 __P((const u_char *)); -u_long ns_get32 __P((const u_char *)); -void ns_put16 __P((u_int, u_char *)); -void ns_put32 __P((u_long, u_char *)); -int ns_initparse __P((const u_char *, int, ns_msg *)); -int ns_parserr __P((ns_msg *, ns_sect, int, ns_rr *)); -int ns_sprintrr __P((const ns_msg *, const ns_rr *, - const char *, const char *, char *, size_t)); -int ns_sprintrrf __P((const u_char *, size_t, const char *, - ns_class, ns_type, u_long, const u_char *, - size_t, const char *, const char *, - char *, size_t)); -int ns_format_ttl __P((u_long, char *, size_t)); -int ns_parse_ttl __P((const char *, u_long *)); -int ns_name_ntop __P((const u_char *, char *, size_t)); -int ns_name_pton __P((const char *, u_char *, size_t)); -int ns_name_unpack __P((const u_char *, const u_char *, - const u_char *, u_char *, size_t)); -int ns_name_pack __P((const u_char *, u_char *, int, - const u_char **, const u_char **)); -int ns_name_uncompress __P((const u_char *, const u_char *, - const u_char *, char *, size_t)); -int ns_name_compress __P((const char *, u_char *, size_t, - const u_char **, const u_char **)); -int ns_name_skip __P((const u_char **, const u_char *)); -__END_DECLS - -#ifdef BIND_4_COMPAT -#include -#endif - -#endif /* !_ARPA_NAMESER_H_ */ diff --git a/c/src/exec/libnetworking/arpa/nameser_compat.h b/c/src/exec/libnetworking/arpa/nameser_compat.h deleted file mode 100644 index 2ab5b47386..0000000000 --- a/c/src/exec/libnetworking/arpa/nameser_compat.h +++ /dev/null @@ -1,194 +0,0 @@ -/* Copyright (c) 1983, 1989 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * from nameser.h 8.1 (Berkeley) 6/2/93 - * From: Id: nameser_compat.h,v 8.9 1998/03/20 23:25:10 halley Exp - * $Id$ - */ - -#ifndef _ARPA_NAMESER_COMPAT_ -#define _ARPA_NAMESER_COMPAT_ - -#define __BIND 19950621 /* (DEAD) interface version stamp. */ - -#include - -#if !defined(BYTE_ORDER) || \ - (BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN && \ - BYTE_ORDER != PDP_ENDIAN) - /* you must determine what the correct bit order is for - * your compiler - the next line is an intentional error - * which will force your compiles to bomb until you fix - * the above macros. - */ - error "Undefined or invalid BYTE_ORDER"; -#endif - -/* - * Structure for query header. The order of the fields is machine- and - * compiler-dependent, depending on the byte/bit order and the layout - * of bit fields. We use bit fields only in int variables, as this - * is all ANSI requires. This requires a somewhat confusing rearrangement. - */ - -typedef struct { - unsigned id :16; /* query identification number */ -#if BYTE_ORDER == BIG_ENDIAN - /* fields in third byte */ - unsigned qr: 1; /* response flag */ - unsigned opcode: 4; /* purpose of message */ - unsigned aa: 1; /* authoritive answer */ - unsigned tc: 1; /* truncated message */ - unsigned rd: 1; /* recursion desired */ - /* fields in fourth byte */ - unsigned ra: 1; /* recursion available */ - unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */ - unsigned ad: 1; /* authentic data from named */ - unsigned cd: 1; /* checking disabled by resolver */ - unsigned rcode :4; /* response code */ -#endif -#if BYTE_ORDER == LITTLE_ENDIAN || BYTE_ORDER == PDP_ENDIAN - /* fields in third byte */ - unsigned rd :1; /* recursion desired */ - unsigned tc :1; /* truncated message */ - unsigned aa :1; /* authoritive answer */ - unsigned opcode :4; /* purpose of message */ - unsigned qr :1; /* response flag */ - /* fields in fourth byte */ - unsigned rcode :4; /* response code */ - unsigned cd: 1; /* checking disabled by resolver */ - unsigned ad: 1; /* authentic data from named */ - unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */ - unsigned ra :1; /* recursion available */ -#endif - /* remaining bytes */ - unsigned qdcount :16; /* number of question entries */ - unsigned ancount :16; /* number of answer entries */ - unsigned nscount :16; /* number of authority entries */ - unsigned arcount :16; /* number of resource entries */ -} HEADER; - -#define PACKETSZ NS_PACKETSZ -#define MAXDNAME NS_MAXDNAME -#define MAXCDNAME NS_MAXCDNAME -#define MAXLABEL NS_MAXLABEL -#define HFIXEDSZ NS_HFIXEDSZ -#define QFIXEDSZ NS_QFIXEDSZ -#define RRFIXEDSZ NS_RRFIXEDSZ -#define INT32SZ NS_INT32SZ -#define INT16SZ NS_INT16SZ -#define INADDRSZ NS_INADDRSZ -#define IN6ADDRSZ NS_IN6ADDRSZ -#define INDIR_MASK NS_CMPRSFLGS -#define NAMESERVER_PORT NS_DEFAULTPORT - -#define S_ZONE ns_s_zn -#define S_PREREQ ns_s_pr -#define S_UPDATE ns_s_ud -#define S_ADDT ns_s_ar - -#define QUERY ns_o_query -#define IQUERY ns_o_iquery -#define STATUS ns_o_status -#define NS_NOTIFY_OP ns_o_notify -#define NS_UPDATE_OP ns_o_update - -#define NOERROR ns_r_noerror -#define FORMERR ns_r_formerr -#define SERVFAIL ns_r_servfail -#define NXDOMAIN ns_r_nxdomain -#define NOTIMP ns_r_notimpl -#define REFUSED ns_r_refused -#define YXDOMAIN ns_r_yxdomain -#define YXRRSET ns_r_yxrrset -#define NXRRSET ns_r_nxrrset -#define NOTAUTH ns_r_notauth -#define NOTZONE ns_r_notzone - -#define DELETE ns_uop_delete -#define ADD ns_uop_add - -#define T_A ns_t_a -#define T_NS ns_t_ns -#define T_MD ns_t_md -#define T_MF ns_t_mf -#define T_CNAME ns_t_cname -#define T_SOA ns_t_soa -#define T_MB ns_t_mb -#define T_MG ns_t_mg -#define T_MR ns_t_mr -#define T_NULL ns_t_null -#define T_WKS ns_t_wks -#define T_PTR ns_t_ptr -#define T_HINFO ns_t_hinfo -#define T_MINFO ns_t_minfo -#define T_MX ns_t_mx -#define T_TXT ns_t_txt -#define T_RP ns_t_rp -#define T_AFSDB ns_t_afsdb -#define T_X25 ns_t_x25 -#define T_ISDN ns_t_isdn -#define T_RT ns_t_rt -#define T_NSAP ns_t_nsap -#define T_NSAP_PTR ns_t_nsap_ptr -#define T_SIG ns_t_sig -#define T_KEY ns_t_key -#define T_PX ns_t_px -#define T_GPOS ns_t_gpos -#define T_AAAA ns_t_aaaa -#define T_LOC ns_t_loc -#define T_NXT ns_t_nxt -#define T_EID ns_t_eid -#define T_NIMLOC ns_t_nimloc -#define T_SRV ns_t_srv -#define T_ATMA ns_t_atma -#define T_NAPTR ns_t_naptr -#define T_IXFR ns_t_ixfr -#define T_AXFR ns_t_axfr -#define T_MAILB ns_t_mailb -#define T_MAILA ns_t_maila -#define T_ANY ns_t_any - -#define C_IN ns_c_in -#define C_CHAOS ns_c_chaos -#define C_HS ns_c_hs -/* BIND_UPDATE */ -#define C_NONE ns_c_none -#define C_ANY ns_c_any - -#define GETSHORT NS_GET16 -#define GETLONG NS_GET32 -#define PUTSHORT NS_PUT16 -#define PUTLONG NS_PUT32 - -#endif /* _ARPA_NAMESER_COMPAT_ */ diff --git a/c/src/exec/libnetworking/arpa/telnet.h b/c/src/exec/libnetworking/arpa/telnet.h deleted file mode 100644 index 09b85692da..0000000000 --- a/c/src/exec/libnetworking/arpa/telnet.h +++ /dev/null @@ -1,342 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)telnet.h 8.2 (Berkeley) 12/15/93 - * - * $Id$ - */ - -#ifndef _ARPA_TELNET_H_ -#define _ARPA_TELNET_H_ - -/* - * Definitions for the TELNET protocol. - */ -#define IAC 255 /* interpret as command: */ -#define DONT 254 /* you are not to use option */ -#define DO 253 /* please, you use option */ -#define WONT 252 /* I won't use option */ -#define WILL 251 /* I will use option */ -#define SB 250 /* interpret as subnegotiation */ -#define GA 249 /* you may reverse the line */ -#define EL 248 /* erase the current line */ -#define EC 247 /* erase the current character */ -#define AYT 246 /* are you there */ -#define AO 245 /* abort output--but let prog finish */ -#define IP 244 /* interrupt process--permanently */ -#define BREAK 243 /* break */ -#define DM 242 /* data mark--for connect. cleaning */ -#define NOP 241 /* nop */ -#define SE 240 /* end sub negotiation */ -#define EOR 239 /* end of record (transparent mode) */ -#define ABORT 238 /* Abort process */ -#define SUSP 237 /* Suspend process */ -#define xEOF 236 /* End of file: EOF is already used... */ - -#define SYNCH 242 /* for telfunc calls */ - -#ifdef TELCMDS -char *telcmds[] = { - "EOF", "SUSP", "ABORT", "EOR", - "SE", "NOP", "DMARK", "BRK", "IP", "AO", "AYT", "EC", - "EL", "GA", "SB", "WILL", "WONT", "DO", "DONT", "IAC", - 0 -}; -#else -extern char *telcmds[]; -#endif - -#define TELCMD_FIRST xEOF -#define TELCMD_LAST IAC -#define TELCMD_OK(x) ((unsigned int)(x) <= TELCMD_LAST && \ - (unsigned int)(x) >= TELCMD_FIRST) -#define TELCMD(x) telcmds[(x)-TELCMD_FIRST] - -/* telnet options */ -#define TELOPT_BINARY 0 /* 8-bit data path */ -#define TELOPT_ECHO 1 /* echo */ -#define TELOPT_RCP 2 /* prepare to reconnect */ -#define TELOPT_SGA 3 /* suppress go ahead */ -#define TELOPT_NAMS 4 /* approximate message size */ -#define TELOPT_STATUS 5 /* give status */ -#define TELOPT_TM 6 /* timing mark */ -#define TELOPT_RCTE 7 /* remote controlled transmission and echo */ -#define TELOPT_NAOL 8 /* negotiate about output line width */ -#define TELOPT_NAOP 9 /* negotiate about output page size */ -#define TELOPT_NAOCRD 10 /* negotiate about CR disposition */ -#define TELOPT_NAOHTS 11 /* negotiate about horizontal tabstops */ -#define TELOPT_NAOHTD 12 /* negotiate about horizontal tab disposition */ -#define TELOPT_NAOFFD 13 /* negotiate about formfeed disposition */ -#define TELOPT_NAOVTS 14 /* negotiate about vertical tab stops */ -#define TELOPT_NAOVTD 15 /* negotiate about vertical tab disposition */ -#define TELOPT_NAOLFD 16 /* negotiate about output LF disposition */ -#define TELOPT_XASCII 17 /* extended ascic character set */ -#define TELOPT_LOGOUT 18 /* force logout */ -#define TELOPT_BM 19 /* byte macro */ -#define TELOPT_DET 20 /* data entry terminal */ -#define TELOPT_SUPDUP 21 /* supdup protocol */ -#define TELOPT_SUPDUPOUTPUT 22 /* supdup output */ -#define TELOPT_SNDLOC 23 /* send location */ -#define TELOPT_TTYPE 24 /* terminal type */ -#define TELOPT_EOR 25 /* end or record */ -#define TELOPT_TUID 26 /* TACACS user identification */ -#define TELOPT_OUTMRK 27 /* output marking */ -#define TELOPT_TTYLOC 28 /* terminal location number */ -#define TELOPT_3270REGIME 29 /* 3270 regime */ -#define TELOPT_X3PAD 30 /* X.3 PAD */ -#define TELOPT_NAWS 31 /* window size */ -#define TELOPT_TSPEED 32 /* terminal speed */ -#define TELOPT_LFLOW 33 /* remote flow control */ -#define TELOPT_LINEMODE 34 /* Linemode option */ -#define TELOPT_XDISPLOC 35 /* X Display Location */ -#define TELOPT_OLD_ENVIRON 36 /* Old - Environment variables */ -#define TELOPT_AUTHENTICATION 37/* Authenticate */ -#define TELOPT_ENCRYPT 38 /* Encryption option */ -#define TELOPT_NEW_ENVIRON 39 /* New - Environment variables */ -#define TELOPT_EXOPL 255 /* extended-options-list */ - - -#define NTELOPTS (1+TELOPT_NEW_ENVIRON) -#ifdef TELOPTS -char *telopts[NTELOPTS+1] = { - "BINARY", "ECHO", "RCP", "SUPPRESS GO AHEAD", "NAME", - "STATUS", "TIMING MARK", "RCTE", "NAOL", "NAOP", - "NAOCRD", "NAOHTS", "NAOHTD", "NAOFFD", "NAOVTS", - "NAOVTD", "NAOLFD", "EXTEND ASCII", "LOGOUT", "BYTE MACRO", - "DATA ENTRY TERMINAL", "SUPDUP", "SUPDUP OUTPUT", - "SEND LOCATION", "TERMINAL TYPE", "END OF RECORD", - "TACACS UID", "OUTPUT MARKING", "TTYLOC", - "3270 REGIME", "X.3 PAD", "NAWS", "TSPEED", "LFLOW", - "LINEMODE", "XDISPLOC", "OLD-ENVIRON", "AUTHENTICATION", - "ENCRYPT", "NEW-ENVIRON", - 0 -}; -#define TELOPT_FIRST TELOPT_BINARY -#define TELOPT_LAST TELOPT_NEW_ENVIRON -#define TELOPT_OK(x) ((unsigned int)(x) <= TELOPT_LAST) -#define TELOPT(x) telopts[(x)-TELOPT_FIRST] -#endif - -/* sub-option qualifiers */ -#define TELQUAL_IS 0 /* option is... */ -#define TELQUAL_SEND 1 /* send option */ -#define TELQUAL_INFO 2 /* ENVIRON: informational version of IS */ -#define TELQUAL_REPLY 2 /* AUTHENTICATION: client version of IS */ -#define TELQUAL_NAME 3 /* AUTHENTICATION: client version of IS */ - -#define LFLOW_OFF 0 /* Disable remote flow control */ -#define LFLOW_ON 1 /* Enable remote flow control */ -#define LFLOW_RESTART_ANY 2 /* Restart output on any char */ -#define LFLOW_RESTART_XON 3 /* Restart output only on XON */ - -/* - * LINEMODE suboptions - */ - -#define LM_MODE 1 -#define LM_FORWARDMASK 2 -#define LM_SLC 3 - -#define MODE_EDIT 0x01 -#define MODE_TRAPSIG 0x02 -#define MODE_ACK 0x04 -#define MODE_SOFT_TAB 0x08 -#define MODE_LIT_ECHO 0x10 - -#define MODE_MASK 0x1f - -/* Not part of protocol, but needed to simplify things... */ -#define MODE_FLOW 0x0100 -#define MODE_ECHO 0x0200 -#define MODE_INBIN 0x0400 -#define MODE_OUTBIN 0x0800 -#define MODE_FORCE 0x1000 - -#define SLC_SYNCH 1 -#define SLC_BRK 2 -#define SLC_IP 3 -#define SLC_AO 4 -#define SLC_AYT 5 -#define SLC_EOR 6 -#define SLC_ABORT 7 -#define SLC_EOF 8 -#define SLC_SUSP 9 -#define SLC_EC 10 -#define SLC_EL 11 -#define SLC_EW 12 -#define SLC_RP 13 -#define SLC_LNEXT 14 -#define SLC_XON 15 -#define SLC_XOFF 16 -#define SLC_FORW1 17 -#define SLC_FORW2 18 -#define SLC_MCL 19 -#define SLC_MCR 20 -#define SLC_MCWL 21 -#define SLC_MCWR 22 -#define SLC_MCBOL 23 -#define SLC_MCEOL 24 -#define SLC_INSRT 25 -#define SLC_OVER 26 -#define SLC_ECR 27 -#define SLC_EWR 28 -#define SLC_EBOL 29 -#define SLC_EEOL 30 - -#define NSLC 30 - -/* - * For backwards compatability, we define SLC_NAMES to be the - * list of names if SLC_NAMES is not defined. - */ -#define SLC_NAMELIST "0", "SYNCH", "BRK", "IP", "AO", "AYT", "EOR", \ - "ABORT", "EOF", "SUSP", "EC", "EL", "EW", "RP", \ - "LNEXT", "XON", "XOFF", "FORW1", "FORW2", \ - "MCL", "MCR", "MCWL", "MCWR", "MCBOL", \ - "MCEOL", "INSRT", "OVER", "ECR", "EWR", \ - "EBOL", "EEOL", \ - 0 - -#ifdef SLC_NAMES -char *slc_names[] = { - SLC_NAMELIST -}; -#else -extern char *slc_names[]; -#define SLC_NAMES SLC_NAMELIST -#endif - -#define SLC_NAME_OK(x) ((unsigned int)(x) <= NSLC) -#define SLC_NAME(x) slc_names[x] - -#define SLC_NOSUPPORT 0 -#define SLC_CANTCHANGE 1 -#define SLC_VARIABLE 2 -#define SLC_DEFAULT 3 -#define SLC_LEVELBITS 0x03 - -#define SLC_FUNC 0 -#define SLC_FLAGS 1 -#define SLC_VALUE 2 - -#define SLC_ACK 0x80 -#define SLC_FLUSHIN 0x40 -#define SLC_FLUSHOUT 0x20 - -#define OLD_ENV_VAR 1 -#define OLD_ENV_VALUE 0 -#define NEW_ENV_VAR 0 -#define NEW_ENV_VALUE 1 -#define ENV_ESC 2 -#define ENV_USERVAR 3 - -/* - * AUTHENTICATION suboptions - */ - -/* - * Who is authenticating who ... - */ -#define AUTH_WHO_CLIENT 0 /* Client authenticating server */ -#define AUTH_WHO_SERVER 1 /* Server authenticating client */ -#define AUTH_WHO_MASK 1 - -/* - * amount of authentication done - */ -#define AUTH_HOW_ONE_WAY 0 -#define AUTH_HOW_MUTUAL 2 -#define AUTH_HOW_MASK 2 - -#define AUTHTYPE_NULL 0 -#define AUTHTYPE_KERBEROS_V4 1 -#define AUTHTYPE_KERBEROS_V5 2 -#define AUTHTYPE_SPX 3 -#define AUTHTYPE_MINK 4 -#define AUTHTYPE_CNT 5 - -#define AUTHTYPE_TEST 99 - -#ifdef AUTH_NAMES -char *authtype_names[] = { - "NULL", "KERBEROS_V4", "KERBEROS_V5", "SPX", "MINK", - 0 -}; -#else -extern char *authtype_names[]; -#endif - -#define AUTHTYPE_NAME_OK(x) ((unsigned int)(x) < AUTHTYPE_CNT) -#define AUTHTYPE_NAME(x) authtype_names[x] - -/* - * ENCRYPTion suboptions - */ -#define ENCRYPT_IS 0 /* I pick encryption type ... */ -#define ENCRYPT_SUPPORT 1 /* I support encryption types ... */ -#define ENCRYPT_REPLY 2 /* Initial setup response */ -#define ENCRYPT_START 3 /* Am starting to send encrypted */ -#define ENCRYPT_END 4 /* Am ending encrypted */ -#define ENCRYPT_REQSTART 5 /* Request you start encrypting */ -#define ENCRYPT_REQEND 6 /* Request you end encrypting */ -#define ENCRYPT_ENC_KEYID 7 -#define ENCRYPT_DEC_KEYID 8 -#define ENCRYPT_CNT 9 - -#define ENCTYPE_ANY 0 -#define ENCTYPE_DES_CFB64 1 -#define ENCTYPE_DES_OFB64 2 -#define ENCTYPE_CNT 3 - -#ifdef ENCRYPT_NAMES -char *encrypt_names[] = { - "IS", "SUPPORT", "REPLY", "START", "END", - "REQUEST-START", "REQUEST-END", "ENC-KEYID", "DEC-KEYID", - 0 -}; -char *enctype_names[] = { - "ANY", "DES_CFB64", "DES_OFB64", - 0 -}; -#else -extern char *encrypt_names[]; -extern char *enctype_names[]; -#endif - - -#define ENCRYPT_NAME_OK(x) ((unsigned int)(x) < ENCRYPT_CNT) -#define ENCRYPT_NAME(x) encrypt_names[x] - -#define ENCTYPE_NAME_OK(x) ((unsigned int)(x) < ENCTYPE_CNT) -#define ENCTYPE_NAME(x) enctype_names[x] - -#endif /* !_TELNET_H_ */ diff --git a/c/src/exec/libnetworking/bpfilter.h b/c/src/exec/libnetworking/bpfilter.h deleted file mode 100644 index 5a6ee0337b..0000000000 --- a/c/src/exec/libnetworking/bpfilter.h +++ /dev/null @@ -1,6 +0,0 @@ -/* - * $Id$ - */ - -/* intentionally empty file */ - diff --git a/c/src/exec/libnetworking/kern/kern_subr.c b/c/src/exec/libnetworking/kern/kern_subr.c deleted file mode 100644 index 71e51fc442..0000000000 --- a/c/src/exec/libnetworking/kern/kern_subr.c +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Copyright (c) 1982, 1986, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)kern_subr.c 8.3 (Berkeley) 1/21/94 - * $Id$ - */ - -#include -#include -#include -#include -#include - -int -uiomove(cp, n, uio) - register caddr_t cp; - register int n; - register struct uio *uio; -{ - register struct iovec *iov; - u_int cnt; - int error; - -#ifdef DIAGNOSTIC - if (uio->uio_rw != UIO_READ && uio->uio_rw != UIO_WRITE) - panic("uiomove: mode"); -#endif - while (n > 0 && uio->uio_resid) { - iov = uio->uio_iov; - cnt = iov->iov_len; - if (cnt == 0) { - uio->uio_iov++; - uio->uio_iovcnt--; - continue; - } - if (cnt > n) - cnt = n; - - switch (uio->uio_segflg) { - - case UIO_USERSPACE: - case UIO_USERISPACE: - if (uio->uio_rw == UIO_READ) - error = copyout(cp, iov->iov_base, cnt); - else - error = copyin(iov->iov_base, cp, cnt); - if (error) - return (error); - break; - - case UIO_SYSSPACE: - if (uio->uio_rw == UIO_READ) - bcopy((caddr_t)cp, iov->iov_base, cnt); - else - bcopy(iov->iov_base, (caddr_t)cp, cnt); - break; - case UIO_NOCOPY: - break; - } - iov->iov_base += cnt; - iov->iov_len -= cnt; - uio->uio_resid -= cnt; - uio->uio_offset += cnt; - cp += cnt; - n -= cnt; - } - return (0); -} - -#ifdef vax /* unused except by ct.c, other oddities XXX */ -/* - * Get next character written in by user from uio. - */ -int -uwritec(uio) - struct uio *uio; -{ - register struct iovec *iov; - register int c; - - if (uio->uio_resid <= 0) - return (-1); -again: - if (uio->uio_iovcnt <= 0) - panic("uwritec"); - iov = uio->uio_iov; - if (iov->iov_len == 0) { - uio->uio_iov++; - if (--uio->uio_iovcnt == 0) - return (-1); - goto again; - } - switch (uio->uio_segflg) { - - case UIO_USERSPACE: - c = fubyte(iov->iov_base); - break; - - case UIO_SYSSPACE: - c = *(u_char *) iov->iov_base; - break; - - case UIO_USERISPACE: - c = fuibyte(iov->iov_base); - break; - } - if (c < 0) - return (-1); - iov->iov_base++; - iov->iov_len--; - uio->uio_resid--; - uio->uio_offset++; - return (c); -} -#endif /* vax */ - -/* - * General routine to allocate a hash table. - */ -void * -hashinit(elements, type, hashmask) - int elements, type; - u_long *hashmask; -{ - long hashsize; - LIST_HEAD(generic, generic) *hashtbl; - int i; - - if (elements <= 0) - panic("hashinit: bad elements"); - for (hashsize = 1; hashsize <= elements; hashsize <<= 1) - continue; - hashsize >>= 1; - hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl), type, M_WAITOK); - for (i = 0; i < hashsize; i++) - LIST_INIT(&hashtbl[i]); - *hashmask = hashsize - 1; - return (hashtbl); -} - -#define NPRIMES 27 -static int primes[] = { 1, 13, 31, 61, 127, 251, 509, 761, 1021, 1531, 2039, - 2557, 3067, 3583, 4093, 4603, 5119, 5623, 6143, 6653, - 7159, 7673, 8191, 12281, 16381, 24571, 32749 }; - -/* - * General routine to allocate a prime number sized hash table. - */ -void * -phashinit(elements, type, nentries) - int elements, type; - u_long *nentries; -{ - long hashsize; - LIST_HEAD(generic, generic) *hashtbl; - int i; - - if (elements <= 0) - panic("phashinit: bad elements"); - for (i = 1, hashsize = primes[1]; hashsize <= elements;) { - i++; - if (i == NPRIMES) - break; - hashsize = primes[i]; - } - hashsize = primes[i - 1]; - hashtbl = malloc((u_long)hashsize * sizeof(*hashtbl), type, M_WAITOK); - for (i = 0; i < hashsize; i++) - LIST_INIT(&hashtbl[i]); - *nentries = hashsize; - return (hashtbl); -} diff --git a/c/src/exec/libnetworking/kern/uipc_domain.c b/c/src/exec/libnetworking/kern/uipc_domain.c deleted file mode 100644 index 910007395c..0000000000 --- a/c/src/exec/libnetworking/kern/uipc_domain.c +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)uipc_domain.c 8.2 (Berkeley) 10/18/93 - * $Id$ - */ - -#include -#include -#include -#include -#include -#include -#include - -/* - * System initialization - * - * Note: domain initialization wants to take place on a per domain basis - * as a result of traversing a linker set. Most likely, each domain - * want to call a registration function rather than being handled here - * in domaininit(). Probably this will look like: - * - * SYSINIT(unique, SI_SUB_PROTO_DOMAI, SI_ORDER_ANY, domain_add, xxx) - * - * Where 'xxx' is replaced by the address of a parameter struct to be - * passed to the doamin_add() function. - */ - -#if !defined(__rtems__) -static int x_save_spl; /* used by kludge*/ -static void kludge_splimp __P((void *)); -static void kludge_splx __P((void *)); - void domaininit __P((void *)); -SYSINIT(splimp, SI_SUB_PROTO_BEGIN, SI_ORDER_FIRST, kludge_splimp, &x_save_spl) -SYSINIT(domain, SI_SUB_PROTO_DOMAIN, SI_ORDER_FIRST, domaininit, NULL) -SYSINIT(splx, SI_SUB_PROTO_END, SI_ORDER_FIRST, kludge_splx, &x_save_spl) -#endif - -static void pffasttimo __P((void *)); -static void pfslowtimo __P((void *)); - -struct domain *domains; - -#define ADDDOMAIN(x) { \ - __CONCAT(x,domain.dom_next) = domains; \ - domains = &__CONCAT(x,domain); \ -} - -extern struct linker_set domain_set; - -/* ARGSUSED*/ -void -domaininit(dummy) - void *dummy; -{ - register struct domain *dp; - register struct protosw *pr; - -/* - not in our sources -#ifdef ISDN - ADDDOMAIN(isdn); -#endif -*/ - - for (dp = domains; dp; dp = dp->dom_next) { - if (dp->dom_init) - (*dp->dom_init)(); - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++){ -#ifdef PRU_OLDSTYLE - /* See comments in uipc_socket2.c. */ - if (pr->pr_usrreqs == 0 && pr->pr_ousrreq) - pr->pr_usrreqs = &pru_oldstyle; -#endif - if (pr->pr_init) - (*pr->pr_init)(); - } - } - - if (max_linkhdr < 16) /* XXX */ - max_linkhdr = 16; - max_hdr = max_linkhdr + max_protohdr; - max_datalen = MHLEN - max_hdr; - timeout(pffasttimo, (void *)0, 1); - timeout(pfslowtimo, (void *)0, 1); -} - - -/* - * The following two operations are kludge code. Most likely, they should - * be done as a "domainpreinit()" for the first function and then rolled - * in as the last act of "domaininit()" for the second. - * - * In point of fact, it is questionable why other initialization prior - * to this does not also take place at splimp by default. - */ -static void -kludge_splimp(udata) - void *udata; -{ - int *savesplp = udata; - - *savesplp = splimp(); -} - -static void -kludge_splx(udata) - void *udata; -{ - int *savesplp = udata; - - splx( *savesplp); -} - - - -struct protosw * -pffindtype(int family, int type) -{ - register struct domain *dp; - register struct protosw *pr; - - for (dp = domains; dp; dp = dp->dom_next) - if (dp->dom_family == family) - goto found; - return (0); -found: - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) - if (pr->pr_type && pr->pr_type == type) - return (pr); - return (0); -} - -struct protosw * -pffindproto(int family, int protocol, int type) -{ - register struct domain *dp; - register struct protosw *pr; - struct protosw *maybe = 0; - - if (family == 0) - return (0); - for (dp = domains; dp; dp = dp->dom_next) - if (dp->dom_family == family) - goto found; - return (0); -found: - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) { - if ((pr->pr_protocol == protocol) && (pr->pr_type == type)) - return (pr); - - if (type == SOCK_RAW && pr->pr_type == SOCK_RAW && - pr->pr_protocol == 0 && maybe == (struct protosw *)0) - maybe = pr; - } - return (maybe); -} - -void -pfctlinput(cmd, sa) - int cmd; - struct sockaddr *sa; -{ - register struct domain *dp; - register struct protosw *pr; - - for (dp = domains; dp; dp = dp->dom_next) - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) - if (pr->pr_ctlinput) - (*pr->pr_ctlinput)(cmd, sa, (void *)0); -} - -static void -pfslowtimo(arg) - void *arg; -{ - register struct domain *dp; - register struct protosw *pr; - - for (dp = domains; dp; dp = dp->dom_next) - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) - if (pr->pr_slowtimo) - (*pr->pr_slowtimo)(); - timeout(pfslowtimo, (void *)0, hz/2); -} - -static void -pffasttimo(arg) - void *arg; -{ - register struct domain *dp; - register struct protosw *pr; - - for (dp = domains; dp; dp = dp->dom_next) - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) - if (pr->pr_fasttimo) - (*pr->pr_fasttimo)(); - timeout(pffasttimo, (void *)0, hz/5); -} diff --git a/c/src/exec/libnetworking/kern/uipc_mbuf.c b/c/src/exec/libnetworking/kern/uipc_mbuf.c deleted file mode 100644 index f682be94a7..0000000000 --- a/c/src/exec/libnetworking/kern/uipc_mbuf.c +++ /dev/null @@ -1,851 +0,0 @@ -/* - * Copyright (c) 1982, 1986, 1988, 1991, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)uipc_mbuf.c 8.2 (Berkeley) 1/4/94 - * $Id$ - */ - -#include -#include -#include -#include -#define MBTYPES -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -static void mbinit __P((void *)); -SYSINIT(mbuf, SI_SUB_MBUF, SI_ORDER_FIRST, mbinit, NULL) - -struct mbuf *mbutl; -char *mclrefcnt; -struct mbstat mbstat; -struct mbuf *mmbfree; -union mcluster *mclfree; -int max_linkhdr; -int max_protohdr; -int max_hdr; -int max_datalen; - -static void m_reclaim __P((void)); - -/* "number of clusters of pages" */ -#define NCL_INIT 1 - -#define NMB_INIT 16 - -/* ARGSUSED*/ -static void -mbinit(dummy) - void *dummy; -{ - int s; - - mmbfree = NULL; mclfree = NULL; - s = splimp(); - if (m_mballoc(NMB_INIT, M_DONTWAIT) == 0) - goto bad; - if (m_clalloc(NCL_INIT, M_DONTWAIT) == 0) - goto bad; - splx(s); - return; -bad: - panic("mbinit"); -} - -/* - * Allocate at least nmb mbufs and place on mbuf free list. - * Must be called at splimp. - */ -/* ARGSUSED */ -int -m_mballoc(nmb, nowait) - register int nmb; - int nowait; -{ - register caddr_t p; - register int i; - int nbytes; - - /* Once we run out of map space, it will be impossible to get - * any more (nothing is ever freed back to the map) (XXX which - * is dumb). (however you are not dead as m_reclaim might - * still be able to free a substantial amount of space). - */ - if (mb_map_full) - return (0); - - nbytes = round_page(nmb * MSIZE); - p = (caddr_t)kmem_malloc(mb_map, nbytes, nowait ? M_NOWAIT : M_WAITOK); - /* - * Either the map is now full, or this is nowait and there - * are no pages left. - */ - if (p == NULL) - return (0); - - nmb = nbytes / MSIZE; - for (i = 0; i < nmb; i++) { - ((struct mbuf *)p)->m_next = mmbfree; - mmbfree = (struct mbuf *)p; - p += MSIZE; - } - mbstat.m_mbufs += nmb; - return (1); -} - -/* - * Allocate some number of mbuf clusters - * and place on cluster free list. - * Must be called at splimp. - */ -/* ARGSUSED */ -int -m_clalloc(ncl, nowait) - register int ncl; - int nowait; -{ - register caddr_t p; - register int i; - - /* - * Once we run out of map space, it will be impossible - * to get any more (nothing is ever freed back to the - * map). - */ - if (mb_map_full) - return (0); - - p = (caddr_t)kmem_malloc(mb_map, ncl*MCLBYTES, - nowait ? M_NOWAIT : M_WAITOK); - /* - * Either the map is now full, or this is nowait and there - * are no pages left. - */ - if (p == NULL) - return (0); - - for (i = 0; i < ncl; i++) { - ((union mcluster *)p)->mcl_next = mclfree; - mclfree = (union mcluster *)p; - p += MCLBYTES; - mbstat.m_clfree++; - } - mbstat.m_clusters += ncl; - return (1); -} - -/* - * When MGET failes, ask protocols to free space when short of memory, - * then re-attempt to allocate an mbuf. - */ -struct mbuf * -m_retry(i, t) - int i, t; -{ - register struct mbuf *m; - - m_reclaim(); -#define m_retry(i, t) (struct mbuf *)0 - MGET(m, i, t); -#undef m_retry - if (m != NULL) - mbstat.m_wait++; - else - mbstat.m_drops++; - return (m); -} - -/* - * As above; retry an MGETHDR. - */ -struct mbuf * -m_retryhdr(i, t) - int i, t; -{ - register struct mbuf *m; - - m_reclaim(); -#define m_retryhdr(i, t) (struct mbuf *)0 - MGETHDR(m, i, t); -#undef m_retryhdr - if (m != NULL) - mbstat.m_wait++; - else - mbstat.m_drops++; - return (m); -} - -static void -m_reclaim() -{ - register struct domain *dp; - register struct protosw *pr; - int s = splimp(); - - for (dp = domains; dp; dp = dp->dom_next) - for (pr = dp->dom_protosw; pr < dp->dom_protoswNPROTOSW; pr++) - if (pr->pr_drain) - (*pr->pr_drain)(); - splx(s); - mbstat.m_drain++; -} - -/* - * Space allocation routines. - * These are also available as macros - * for critical paths. - */ -struct mbuf * -m_get(nowait, type) - int nowait, type; -{ - register struct mbuf *m; - - MGET(m, nowait, type); - return (m); -} - -struct mbuf * -m_gethdr(nowait, type) - int nowait, type; -{ - register struct mbuf *m; - - MGETHDR(m, nowait, type); - return (m); -} - -struct mbuf * -m_getclr(nowait, type) - int nowait, type; -{ - register struct mbuf *m; - - MGET(m, nowait, type); - if (m == 0) - return (0); - bzero(mtod(m, caddr_t), MLEN); - return (m); -} - -struct mbuf * -m_free(m) - struct mbuf *m; -{ - register struct mbuf *n; - - MFREE(m, n); - return (n); -} - -void -m_freem(m) - register struct mbuf *m; -{ - register struct mbuf *n; - - if (m == NULL) - return; - do { - MFREE(m, n); - m = n; - } while (m); -} - -/* - * Mbuffer utility routines. - */ - -/* - * Lesser-used path for M_PREPEND: - * allocate new mbuf to prepend to chain, - * copy junk along. - */ -struct mbuf * -m_prepend(m, len, how) - register struct mbuf *m; - int len, how; -{ - struct mbuf *mn; - - MGET(mn, how, m->m_type); - if (mn == (struct mbuf *)NULL) { - m_freem(m); - return ((struct mbuf *)NULL); - } - if (m->m_flags & M_PKTHDR) { - M_COPY_PKTHDR(mn, m); - m->m_flags &= ~M_PKTHDR; - } - mn->m_next = m; - m = mn; - if (len < MHLEN) - MH_ALIGN(m, len); - m->m_len = len; - return (m); -} - -/* - * Make a copy of an mbuf chain starting "off0" bytes from the beginning, - * continuing for "len" bytes. If len is M_COPYALL, copy to end of mbuf. - * The wait parameter is a choice of M_WAIT/M_DONTWAIT from caller. - */ -static int MCFail; - -struct mbuf * -m_copym(m, off0, len, wait) - register struct mbuf *m; - int off0, wait; - register int len; -{ - register struct mbuf *n, **np; - register int off = off0; - struct mbuf *top; - int copyhdr = 0; - - if (off < 0 || len < 0) - panic("m_copym"); - if (off == 0 && m->m_flags & M_PKTHDR) - copyhdr = 1; - while (off > 0) { - if (m == 0) - panic("m_copym"); - if (off < m->m_len) - break; - off -= m->m_len; - m = m->m_next; - } - np = ⊤ - top = 0; - while (len > 0) { - if (m == 0) { - if (len != M_COPYALL) - panic("m_copym"); - break; - } - MGET(n, wait, m->m_type); - *np = n; - if (n == 0) - goto nospace; - if (copyhdr) { - M_COPY_PKTHDR(n, m); - if (len == M_COPYALL) - n->m_pkthdr.len -= off0; - else - n->m_pkthdr.len = len; - copyhdr = 0; - } - n->m_len = min(len, m->m_len - off); - if (m->m_flags & M_EXT) { - n->m_data = m->m_data + off; - if(!m->m_ext.ext_ref) - mclrefcnt[mtocl(m->m_ext.ext_buf)]++; - else - (*(m->m_ext.ext_ref))(m->m_ext.ext_buf, - m->m_ext.ext_size); - n->m_ext = m->m_ext; - n->m_flags |= M_EXT; - } else - bcopy(mtod(m, caddr_t)+off, mtod(n, caddr_t), - (unsigned)n->m_len); - if (len != M_COPYALL) - len -= n->m_len; - off = 0; - m = m->m_next; - np = &n->m_next; - } - if (top == 0) - MCFail++; - return (top); -nospace: - m_freem(top); - MCFail++; - return (0); -} - -/* - * Copy an entire packet, including header (which must be present). - * An optimization of the common case `m_copym(m, 0, M_COPYALL, how)'. - */ -struct mbuf * -m_copypacket(m, how) - struct mbuf *m; - int how; -{ - struct mbuf *top, *n, *o; - - MGET(n, how, m->m_type); - top = n; - if (!n) - goto nospace; - - M_COPY_PKTHDR(n, m); - n->m_len = m->m_len; - if (m->m_flags & M_EXT) { - n->m_data = m->m_data; - mclrefcnt[mtocl(m->m_ext.ext_buf)]++; - n->m_ext = m->m_ext; - n->m_flags |= M_EXT; - } else { - bcopy(mtod(m, char *), mtod(n, char *), n->m_len); - } - - m = m->m_next; - while (m) { - MGET(o, how, m->m_type); - if (!o) - goto nospace; - - n->m_next = o; - n = n->m_next; - - n->m_len = m->m_len; - if (m->m_flags & M_EXT) { - n->m_data = m->m_data; - mclrefcnt[mtocl(m->m_ext.ext_buf)]++; - n->m_ext = m->m_ext; - n->m_flags |= M_EXT; - } else { - bcopy(mtod(m, char *), mtod(n, char *), n->m_len); - } - - m = m->m_next; - } - return top; -nospace: - m_freem(top); - MCFail++; - return 0; -} - -/* - * Copy data from an mbuf chain starting "off" bytes from the beginning, - * continuing for "len" bytes, into the indicated buffer. - */ -void -m_copydata(m, off, len, cp) - register struct mbuf *m; - register int off; - register int len; - caddr_t cp; -{ - register unsigned count; - - if (off < 0 || len < 0) - panic("m_copydata"); - while (off > 0) { - if (m == 0) - panic("m_copydata"); - if (off < m->m_len) - break; - off -= m->m_len; - m = m->m_next; - } - while (len > 0) { - if (m == 0) - panic("m_copydata"); - count = min(m->m_len - off, len); - bcopy(mtod(m, caddr_t) + off, cp, count); - len -= count; - cp += count; - off = 0; - m = m->m_next; - } -} - -/* - * Concatenate mbuf chain n to m. - * Both chains must be of the same type (e.g. MT_DATA). - * Any m_pkthdr is not updated. - */ -void -m_cat(m, n) - register struct mbuf *m, *n; -{ - while (m->m_next) - m = m->m_next; - while (n) { - if (m->m_flags & M_EXT || - m->m_data + m->m_len + n->m_len >= &m->m_dat[MLEN]) { - /* just join the two chains */ - m->m_next = n; - return; - } - /* splat the data from one into the other */ - bcopy(mtod(n, caddr_t), mtod(m, caddr_t) + m->m_len, - (u_int)n->m_len); - m->m_len += n->m_len; - n = m_free(n); - } -} - -void -m_adj(mp, req_len) - struct mbuf *mp; - int req_len; -{ - register int len = req_len; - register struct mbuf *m; - register int count; - - if ((m = mp) == NULL) - return; - if (len >= 0) { - /* - * Trim from head. - */ - while (m != NULL && len > 0) { - if (m->m_len <= len) { - len -= m->m_len; - m->m_len = 0; - m = m->m_next; - } else { - m->m_len -= len; - m->m_data += len; - len = 0; - } - } - m = mp; - if (mp->m_flags & M_PKTHDR) - m->m_pkthdr.len -= (req_len - len); - } else { - /* - * Trim from tail. Scan the mbuf chain, - * calculating its length and finding the last mbuf. - * If the adjustment only affects this mbuf, then just - * adjust and return. Otherwise, rescan and truncate - * after the remaining size. - */ - len = -len; - count = 0; - for (;;) { - count += m->m_len; - if (m->m_next == (struct mbuf *)0) - break; - m = m->m_next; - } - if (m->m_len >= len) { - m->m_len -= len; - if (mp->m_flags & M_PKTHDR) - mp->m_pkthdr.len -= len; - return; - } - count -= len; - if (count < 0) - count = 0; - /* - * Correct length for chain is "count". - * Find the mbuf with last data, adjust its length, - * and toss data from remaining mbufs on chain. - */ - m = mp; - if (m->m_flags & M_PKTHDR) - m->m_pkthdr.len = count; - for (; m; m = m->m_next) { - if (m->m_len >= count) { - m->m_len = count; - break; - } - count -= m->m_len; - } - while (m->m_next) - (m = m->m_next) ->m_len = 0; - } -} - -/* - * Rearange an mbuf chain so that len bytes are contiguous - * and in the data area of an mbuf (so that mtod and dtom - * will work for a structure of size len). Returns the resulting - * mbuf chain on success, frees it and returns null on failure. - * If there is room, it will add up to max_protohdr-len extra bytes to the - * contiguous region in an attempt to avoid being called next time. - */ -static int MPFail; - -struct mbuf * -m_pullup(n, len) - register struct mbuf *n; - int len; -{ - register struct mbuf *m; - register int count; - int space; - - /* - * If first mbuf has no cluster, and has room for len bytes - * without shifting current data, pullup into it, - * otherwise allocate a new mbuf to prepend to the chain. - */ - if ((n->m_flags & M_EXT) == 0 && - n->m_data + len < &n->m_dat[MLEN] && n->m_next) { - if (n->m_len >= len) - return (n); - m = n; - n = n->m_next; - len -= m->m_len; - } else { - if (len > MHLEN) - goto bad; - MGET(m, M_DONTWAIT, n->m_type); - if (m == 0) - goto bad; - m->m_len = 0; - if (n->m_flags & M_PKTHDR) { - M_COPY_PKTHDR(m, n); - n->m_flags &= ~M_PKTHDR; - } - } - space = &m->m_dat[MLEN] - (m->m_data + m->m_len); - do { - count = min(min(max(len, max_protohdr), space), n->m_len); - bcopy(mtod(n, caddr_t), mtod(m, caddr_t) + m->m_len, - (unsigned)count); - len -= count; - m->m_len += count; - n->m_len -= count; - space -= count; - if (n->m_len) - n->m_data += count; - else - n = m_free(n); - } while (len > 0 && n); - if (len > 0) { - (void) m_free(m); - goto bad; - } - m->m_next = n; - return (m); -bad: - m_freem(n); - MPFail++; - return (0); -} - -/* - * Partition an mbuf chain in two pieces, returning the tail -- - * all but the first len0 bytes. In case of failure, it returns NULL and - * attempts to restore the chain to its original state. - */ -struct mbuf * -m_split(m0, len0, wait) - register struct mbuf *m0; - int len0, wait; -{ - register struct mbuf *m, *n; - unsigned len = len0, remain; - - for (m = m0; m && len > m->m_len; m = m->m_next) - len -= m->m_len; - if (m == 0) - return (0); - remain = m->m_len - len; - if (m0->m_flags & M_PKTHDR) { - MGETHDR(n, wait, m0->m_type); - if (n == 0) - return (0); - n->m_pkthdr.rcvif = m0->m_pkthdr.rcvif; - n->m_pkthdr.len = m0->m_pkthdr.len - len0; - m0->m_pkthdr.len = len0; - if (m->m_flags & M_EXT) - goto extpacket; - if (remain > MHLEN) { - /* m can't be the lead packet */ - MH_ALIGN(n, 0); - n->m_next = m_split(m, len, wait); - if (n->m_next == 0) { - (void) m_free(n); - return (0); - } else - return (n); - } else - MH_ALIGN(n, remain); - } else if (remain == 0) { - n = m->m_next; - m->m_next = 0; - return (n); - } else { - MGET(n, wait, m->m_type); - if (n == 0) - return (0); - M_ALIGN(n, remain); - } -extpacket: - if (m->m_flags & M_EXT) { - n->m_flags |= M_EXT; - n->m_ext = m->m_ext; - if(!m->m_ext.ext_ref) - mclrefcnt[mtocl(m->m_ext.ext_buf)]++; - else - (*(m->m_ext.ext_ref))(m->m_ext.ext_buf, - m->m_ext.ext_size); - m->m_ext.ext_size = 0; /* For Accounting XXXXXX danger */ - n->m_data = m->m_data + len; - } else { - bcopy(mtod(m, caddr_t) + len, mtod(n, caddr_t), remain); - } - n->m_len = remain; - m->m_len = len; - n->m_next = m->m_next; - m->m_next = 0; - return (n); -} -/* - * Routine to copy from device local memory into mbufs. - */ -struct mbuf * -m_devget(buf, totlen, off0, ifp, copy) - char *buf; - int totlen, off0; - struct ifnet *ifp; - void (*copy) __P((char *from, caddr_t to, u_int len)); -{ - register struct mbuf *m; - struct mbuf *top = 0, **mp = ⊤ - register int off = off0, len; - register char *cp; - char *epkt; - - cp = buf; - epkt = cp + totlen; - if (off) { - cp += off + 2 * sizeof(u_short); - totlen -= 2 * sizeof(u_short); - } - MGETHDR(m, M_DONTWAIT, MT_DATA); - if (m == 0) - return (0); - m->m_pkthdr.rcvif = ifp; - m->m_pkthdr.len = totlen; - m->m_len = MHLEN; - - while (totlen > 0) { - if (top) { - MGET(m, M_DONTWAIT, MT_DATA); - if (m == 0) { - m_freem(top); - return (0); - } - m->m_len = MLEN; - } - len = min(totlen, epkt - cp); - if (len >= MINCLSIZE) { - MCLGET(m, M_DONTWAIT); - if (m->m_flags & M_EXT) - m->m_len = len = min(len, MCLBYTES); - else - len = m->m_len; - } else { - /* - * Place initial small packet/header at end of mbuf. - */ - if (len < m->m_len) { - if (top == 0 && len + max_linkhdr <= m->m_len) - m->m_data += max_linkhdr; - m->m_len = len; - } else - len = m->m_len; - } - if (copy) - copy(cp, mtod(m, caddr_t), (unsigned)len); - else - bcopy(cp, mtod(m, caddr_t), (unsigned)len); - cp += len; - *mp = m; - mp = &m->m_next; - totlen -= len; - if (cp == epkt) - cp = buf; - } - return (top); -} - -/* - * Copy data from a buffer back into the indicated mbuf chain, - * starting "off" bytes from the beginning, extending the mbuf - * chain if necessary. - */ -void -m_copyback(m0, off, len, cp) - struct mbuf *m0; - register int off; - register int len; - caddr_t cp; -{ - register int mlen; - register struct mbuf *m = m0, *n; - int totlen = 0; - - if (m0 == 0) - return; - while (off > (mlen = m->m_len)) { - off -= mlen; - totlen += mlen; - if (m->m_next == 0) { - n = m_getclr(M_DONTWAIT, m->m_type); - if (n == 0) - goto out; - n->m_len = min(MLEN, len + off); - m->m_next = n; - } - m = m->m_next; - } - while (len > 0) { - mlen = min (m->m_len - off, len); - bcopy(cp, off + mtod(m, caddr_t), (unsigned)mlen); - cp += mlen; - len -= mlen; - mlen += off; - off = 0; - totlen += mlen; - if (len == 0) - break; - if (m->m_next == 0) { - n = m_get(M_DONTWAIT, m->m_type); - if (n == 0) - break; - n->m_len = min(MLEN, len); - m->m_next = n; - } - m = m->m_next; - } -out: if (((m = m0)->m_flags & M_PKTHDR) && (m->m_pkthdr.len < totlen)) - m->m_pkthdr.len = totlen; -} diff --git a/c/src/exec/libnetworking/kern/uipc_socket.c b/c/src/exec/libnetworking/kern/uipc_socket.c deleted file mode 100644 index 895d1c7d45..0000000000 --- a/c/src/exec/libnetworking/kern/uipc_socket.c +++ /dev/null @@ -1,1100 +0,0 @@ -/* - * Copyright (c) 1982, 1986, 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)uipc_socket.c 8.3 (Berkeley) 4/15/94 - * $Id$ - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static int somaxconn = SOMAXCONN; -SYSCTL_INT(_kern, KERN_SOMAXCONN, somaxconn, CTLFLAG_RW, &somaxconn, 0, ""); - -/* - * Socket operation routines. - * These routines are called by the routines in - * sys_socket.c or from a system process, and - * implement the semantics of socket operations by - * switching out to the protocol specific routines. - */ -/*ARGSUSED*/ -int -socreate(dom, aso, type, proto, p) - int dom; - struct socket **aso; - register int type; - int proto; - struct proc *p; -{ - register struct protosw *prp; - register struct socket *so; - register int error; - - if (proto) - prp = pffindproto(dom, proto, type); - else - prp = pffindtype(dom, type); - if (prp == 0 || prp->pr_usrreqs == 0) - return (EPROTONOSUPPORT); - if (prp->pr_type != type) - return (EPROTOTYPE); - MALLOC(so, struct socket *, sizeof(*so), M_SOCKET, M_WAIT); - bzero((caddr_t)so, sizeof(*so)); - TAILQ_INIT(&so->so_incomp); - TAILQ_INIT(&so->so_comp); - so->so_type = type; - so->so_state = SS_PRIV; - so->so_uid = 0; - so->so_proto = prp; - error = (*prp->pr_usrreqs->pru_attach)(so, proto); - if (error) { - so->so_state |= SS_NOFDREF; - sofree(so); - return (error); - } - *aso = so; - return (0); -} - -int -sobind(so, nam) - struct socket *so; - struct mbuf *nam; -{ - int s = splnet(); - int error; - - error = (*so->so_proto->pr_usrreqs->pru_bind)(so, nam); - splx(s); - return (error); -} - -int -solisten(so, backlog) - register struct socket *so; - int backlog; -{ - int s = splnet(), error; - - error = (*so->so_proto->pr_usrreqs->pru_listen)(so); - if (error) { - splx(s); - return (error); - } - if (so->so_comp.tqh_first == NULL) - so->so_options |= SO_ACCEPTCONN; - if (backlog < 0 || backlog > somaxconn) - backlog = somaxconn; - so->so_qlimit = backlog; - splx(s); - return (0); -} - -void -sofree(so) - register struct socket *so; -{ - struct socket *head = so->so_head; - - if (so->so_pcb || (so->so_state & SS_NOFDREF) == 0) - return; - if (head != NULL) { - if (so->so_state & SS_INCOMP) { - TAILQ_REMOVE(&head->so_incomp, so, so_list); - head->so_incqlen--; - } else if (so->so_state & SS_COMP) { - TAILQ_REMOVE(&head->so_comp, so, so_list); - } else { - panic("sofree: not queued"); - } - head->so_qlen--; - so->so_state &= ~(SS_INCOMP|SS_COMP); - so->so_head = NULL; - } - sbrelease(&so->so_snd); - sorflush(so); - FREE(so, M_SOCKET); -} - -/* - * Close a socket on last file table reference removal. - * Initiate disconnect if connected. - * Free socket when disconnect complete. - */ -int -soclose(so) - register struct socket *so; -{ - int s = splnet(); /* conservative */ - int error = 0; - - if (so->so_options & SO_ACCEPTCONN) { - struct socket *sp, *sonext; - - for (sp = so->so_incomp.tqh_first; sp != NULL; sp = sonext) { - sonext = sp->so_list.tqe_next; - (void) soabort(sp); - } - for (sp = so->so_comp.tqh_first; sp != NULL; sp = sonext) { - sonext = sp->so_list.tqe_next; - (void) soabort(sp); - } - } - if (so->so_pcb == 0) - goto discard; - if (so->so_state & SS_ISCONNECTED) { - if ((so->so_state & SS_ISDISCONNECTING) == 0) { - error = sodisconnect(so); - if (error) - goto drop; - } - if (so->so_options & SO_LINGER) { - if ((so->so_state & SS_ISDISCONNECTING) && - (so->so_state & SS_NBIO)) - goto drop; - while (so->so_state & SS_ISCONNECTED) { - soconnsleep (so); - } - } - } -drop: - if (so->so_pcb) { - int error2 = (*so->so_proto->pr_usrreqs->pru_detach)(so); - if (error == 0) - error = error2; - } -discard: - if (so->so_state & SS_NOFDREF) - panic("soclose: NOFDREF"); - so->so_state |= SS_NOFDREF; - sofree(so); - splx(s); - return (error); -} - -/* - * Must be called at splnet... - */ -int -soabort(so) - struct socket *so; -{ - - return (*so->so_proto->pr_usrreqs->pru_abort)(so); -} - -int -soaccept(so, nam) - register struct socket *so; - struct mbuf *nam; -{ - int s = splnet(); - int error; - - if ((so->so_state & SS_NOFDREF) == 0) - panic("soaccept: !NOFDREF"); - so->so_state &= ~SS_NOFDREF; - error = (*so->so_proto->pr_usrreqs->pru_accept)(so, nam); - splx(s); - return (error); -} - -int -soconnect(so, nam) - register struct socket *so; - struct mbuf *nam; -{ - int s; - int error; - - if (so->so_options & SO_ACCEPTCONN) - return (EOPNOTSUPP); - s = splnet(); - /* - * If protocol is connection-based, can only connect once. - * Otherwise, if connected, try to disconnect first. - * This allows user to disconnect by connecting to, e.g., - * a null address. - */ - if (so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING) && - ((so->so_proto->pr_flags & PR_CONNREQUIRED) || - (error = sodisconnect(so)))) - error = EISCONN; - else - error = (*so->so_proto->pr_usrreqs->pru_connect)(so, nam); - splx(s); - return (error); -} - -int -soconnect2(so1, so2) - register struct socket *so1; - struct socket *so2; -{ - int s = splnet(); - int error; - - error = (*so1->so_proto->pr_usrreqs->pru_connect2)(so1, so2); - splx(s); - return (error); -} - -int -sodisconnect(so) - register struct socket *so; -{ - int s = splnet(); - int error; - - if ((so->so_state & SS_ISCONNECTED) == 0) { - error = ENOTCONN; - goto bad; - } - if (so->so_state & SS_ISDISCONNECTING) { - error = EALREADY; - goto bad; - } - error = (*so->so_proto->pr_usrreqs->pru_disconnect)(so); -bad: - splx(s); - return (error); -} - -#define SBLOCKWAIT(f) (((f) & MSG_DONTWAIT) ? M_NOWAIT : M_WAITOK) -/* - * Send on a socket. - * If send must go all at once and message is larger than - * send buffering, then hard error. - * Lock against other senders. - * If must go all at once and not enough room now, then - * inform user that this would block and do nothing. - * Otherwise, if nonblocking, send as much as possible. - * The data to be sent is described by "uio" if nonzero, - * otherwise by the mbuf chain "top" (which must be null - * if uio is not). Data provided in mbuf chain must be small - * enough to send all at once. - * - * Returns nonzero on error, timeout or signal; callers - * must check for short counts if EINTR/ERESTART are returned. - * Data and control buffers are freed on return. - */ -int -sosend(so, addr, uio, top, control, flags) - register struct socket *so; - struct mbuf *addr; - struct uio *uio; - struct mbuf *top; - struct mbuf *control; - int flags; -{ - struct mbuf **mp; - register struct mbuf *m; - register long space, len, resid; - int clen = 0, error, s, dontroute, mlen; - int atomic = sosendallatonce(so) || top; - - if (uio) - resid = uio->uio_resid; - else - resid = top->m_pkthdr.len; - /* - * In theory resid should be unsigned. - * However, space must be signed, as it might be less than 0 - * if we over-committed, and we must use a signed comparison - * of space and resid. On the other hand, a negative resid - * causes us to loop sending 0-length segments to the protocol. - * - * Also check to make sure that MSG_EOR isn't used on SOCK_STREAM - * type sockets since that's an error. - */ - if ((resid < 0) || (so->so_type == SOCK_STREAM && (flags & MSG_EOR))) { - error = EINVAL; - goto out; - } - - dontroute = - (flags & MSG_DONTROUTE) && (so->so_options & SO_DONTROUTE) == 0 && - (so->so_proto->pr_flags & PR_ATOMIC); - if (control) - clen = control->m_len; -#define snderr(errno) { error = errno; splx(s); goto release; } - -restart: - error = sblock(&so->so_snd, SBLOCKWAIT(flags)); - if (error) - goto out; - do { - s = splnet(); - if (so->so_state & SS_CANTSENDMORE) - snderr(EPIPE); - if (so->so_error) { - error = so->so_error; - so->so_error = 0; - splx(s); - goto release; - } - if ((so->so_state & SS_ISCONNECTED) == 0) { - /* - * `sendto' and `sendmsg' is allowed on a connection- - * based socket if it supports implied connect. - * Return ENOTCONN if not connected and no address is - * supplied. - */ - if ((so->so_proto->pr_flags & PR_CONNREQUIRED) && - (so->so_proto->pr_flags & PR_IMPLOPCL) == 0) { - if ((so->so_state & SS_ISCONFIRMING) == 0 && - !(resid == 0 && clen != 0)) - snderr(ENOTCONN); - } else if (addr == 0) - snderr(so->so_proto->pr_flags & PR_CONNREQUIRED ? - ENOTCONN : EDESTADDRREQ); - } - space = sbspace(&so->so_snd); - if (flags & MSG_OOB) - space += 1024; - if ((atomic && resid > so->so_snd.sb_hiwat) || - clen > so->so_snd.sb_hiwat) - snderr(EMSGSIZE); - if (space < resid + clen && uio && - (atomic || space < so->so_snd.sb_lowat || space < clen)) { - if (so->so_state & SS_NBIO) - snderr(EWOULDBLOCK); - sbunlock(&so->so_snd); - error = sbwait(&so->so_snd); - splx(s); - if (error) - goto out; - goto restart; - } - splx(s); - mp = ⊤ - space -= clen; - do { - if (uio == NULL) { - /* - * Data is prepackaged in "top". - */ - resid = 0; - if (flags & MSG_EOR) - top->m_flags |= M_EOR; - } else do { - if (top == 0) { - MGETHDR(m, M_WAIT, MT_DATA); - mlen = MHLEN; - m->m_pkthdr.len = 0; - m->m_pkthdr.rcvif = (struct ifnet *)0; - } else { - MGET(m, M_WAIT, MT_DATA); - mlen = MLEN; - } - if (resid >= MINCLSIZE) { - MCLGET(m, M_WAIT); - if ((m->m_flags & M_EXT) == 0) - goto nopages; - mlen = MCLBYTES; - len = min(min(mlen, resid), space); - } else { -nopages: - len = min(min(mlen, resid), space); - /* - * For datagram protocols, leave room - * for protocol headers in first mbuf. - */ - if (atomic && top == 0 && len < mlen) - MH_ALIGN(m, len); - } - space -= len; - error = uiomove(mtod(m, caddr_t), (int)len, uio); - resid = uio->uio_resid; - m->m_len = len; - *mp = m; - top->m_pkthdr.len += len; - if (error) - goto release; - mp = &m->m_next; - if (resid <= 0) { - if (flags & MSG_EOR) - top->m_flags |= M_EOR; - break; - } - } while (space > 0 && atomic); - if (dontroute) - so->so_options |= SO_DONTROUTE; - s = splnet(); /* XXX */ - error = (*so->so_proto->pr_usrreqs->pru_send)(so, - (flags & MSG_OOB) ? PRUS_OOB : - /* - * If the user set MSG_EOF, the protocol - * understands this flag and nothing left to - * send then use PRU_SEND_EOF instead of PRU_SEND. - */ - ((flags & MSG_EOF) && - (so->so_proto->pr_flags & PR_IMPLOPCL) && - (resid <= 0)) ? - PRUS_EOF : 0, - top, addr, control); - splx(s); - if (dontroute) - so->so_options &= ~SO_DONTROUTE; - clen = 0; - control = 0; - top = 0; - mp = ⊤ - if (error) - goto release; - } while (resid && space > 0); - } while (resid); - -release: - sbunlock(&so->so_snd); -out: - if (top) - m_freem(top); - if (control) - m_freem(control); - return (error); -} - -/* - * Implement receive operations on a socket. - * We depend on the way that records are added to the sockbuf - * by sbappend*. In particular, each record (mbufs linked through m_next) - * must begin with an address if the protocol so specifies, - * followed by an optional mbuf or mbufs containing ancillary data, - * and then zero or more mbufs of data. - * In order to avoid blocking network interrupts for the entire time here, - * we splx() while doing the actual copy to user space. - * Although the sockbuf is locked, new data may still be appended, - * and thus we must maintain consistency of the sockbuf during that time. - * - * The caller may receive the data as a single mbuf chain by supplying - * an mbuf **mp0 for use in returning the chain. The uio is then used - * only for the count in uio_resid. - */ -int -soreceive(so, paddr, uio, mp0, controlp, flagsp) - register struct socket *so; - struct mbuf **paddr; - struct uio *uio; - struct mbuf **mp0; - struct mbuf **controlp; - int *flagsp; -{ - register struct mbuf *m, **mp; - register int flags, len, error, s, offset; - struct protosw *pr = so->so_proto; - struct mbuf *nextrecord; - int moff, type = 0; - int orig_resid = uio->uio_resid; - - mp = mp0; - if (paddr) - *paddr = 0; - if (controlp) - *controlp = 0; - if (flagsp) - flags = *flagsp &~ MSG_EOR; - else - flags = 0; - if (flags & MSG_OOB) { - m = m_get(M_WAIT, MT_DATA); - error = (*pr->pr_usrreqs->pru_rcvoob)(so, m, flags & MSG_PEEK); - if (error) - goto bad; - do { - error = uiomove(mtod(m, caddr_t), - (int) min(uio->uio_resid, m->m_len), uio); - m = m_free(m); - } while (uio->uio_resid && error == 0 && m); -bad: - if (m) - m_freem(m); - return (error); - } - if (mp) - *mp = (struct mbuf *)0; - if (so->so_state & SS_ISCONFIRMING && uio->uio_resid) - (*pr->pr_usrreqs->pru_rcvd)(so, 0); - -restart: - error = sblock(&so->so_rcv, SBLOCKWAIT(flags)); - if (error) - return (error); - s = splnet(); - - m = so->so_rcv.sb_mb; - /* - * If we have less data than requested, block awaiting more - * (subject to any timeout) if: - * 1. the current count is less than the low water mark, or - * 2. MSG_WAITALL is set, and it is possible to do the entire - * receive operation at once if we block (resid <= hiwat). - * 3. MSG_DONTWAIT is not set - * If MSG_WAITALL is set but resid is larger than the receive buffer, - * we have to do the receive in sections, and thus risk returning - * a short count if a timeout or signal occurs after we start. - */ - if (m == 0 || (((flags & MSG_DONTWAIT) == 0 && - so->so_rcv.sb_cc < uio->uio_resid) && - (so->so_rcv.sb_cc < so->so_rcv.sb_lowat || - ((flags & MSG_WAITALL) && uio->uio_resid <= so->so_rcv.sb_hiwat)) && - m->m_nextpkt == 0 && (pr->pr_flags & PR_ATOMIC) == 0)) { -#ifdef DIAGNOSTIC - if (m == 0 && so->so_rcv.sb_cc) - panic("receive 1"); -#endif - if (so->so_error) { - if (m) - goto dontblock; - error = so->so_error; - if ((flags & MSG_PEEK) == 0) - so->so_error = 0; - goto release; - } - if (so->so_state & SS_CANTRCVMORE) { - if (m) - goto dontblock; - else - goto release; - } - for (; m; m = m->m_next) - if (m->m_type == MT_OOBDATA || (m->m_flags & M_EOR)) { - m = so->so_rcv.sb_mb; - goto dontblock; - } - if ((so->so_state & (SS_ISCONNECTED|SS_ISCONNECTING)) == 0 && - (so->so_proto->pr_flags & PR_CONNREQUIRED)) { - error = ENOTCONN; - goto release; - } - if (uio->uio_resid == 0) - goto release; - if ((so->so_state & SS_NBIO) || (flags & MSG_DONTWAIT)) { - error = EWOULDBLOCK; - goto release; - } - sbunlock(&so->so_rcv); - error = sbwait(&so->so_rcv); - splx(s); - if (error) - return (error); - goto restart; - } -dontblock: - nextrecord = m->m_nextpkt; - if (pr->pr_flags & PR_ADDR) { -#ifdef DIAGNOSTIC - if (m->m_type != MT_SONAME) - panic("receive 1a"); -#endif - orig_resid = 0; - if (flags & MSG_PEEK) { - if (paddr) - *paddr = m_copy(m, 0, m->m_len); - m = m->m_next; - } else { - sbfree(&so->so_rcv, m); - if (paddr) { - *paddr = m; - so->so_rcv.sb_mb = m->m_next; - m->m_next = 0; - m = so->so_rcv.sb_mb; - } else { - MFREE(m, so->so_rcv.sb_mb); - m = so->so_rcv.sb_mb; - } - } - } - while (m && m->m_type == MT_CONTROL && error == 0) { - if (flags & MSG_PEEK) { - if (controlp) - *controlp = m_copy(m, 0, m->m_len); - m = m->m_next; - } else { - sbfree(&so->so_rcv, m); - if (controlp) { - if (pr->pr_domain->dom_externalize && - mtod(m, struct cmsghdr *)->cmsg_type == - SCM_RIGHTS) - error = (*pr->pr_domain->dom_externalize)(m); - *controlp = m; - so->so_rcv.sb_mb = m->m_next; - m->m_next = 0; - m = so->so_rcv.sb_mb; - } else { - MFREE(m, so->so_rcv.sb_mb); - m = so->so_rcv.sb_mb; - } - } - if (controlp) { - orig_resid = 0; - controlp = &(*controlp)->m_next; - } - } - if (m) { - if ((flags & MSG_PEEK) == 0) - m->m_nextpkt = nextrecord; - type = m->m_type; - if (type == MT_OOBDATA) - flags |= MSG_OOB; - } - moff = 0; - offset = 0; - while (m && uio->uio_resid > 0 && error == 0) { - if (m->m_type == MT_OOBDATA) { - if (type != MT_OOBDATA) - break; - } else if (type == MT_OOBDATA) - break; -#ifdef DIAGNOSTIC - else if (m->m_type != MT_DATA && m->m_type != MT_HEADER) - panic("receive 3"); -#endif - so->so_state &= ~SS_RCVATMARK; - len = uio->uio_resid; - if (so->so_oobmark && len > so->so_oobmark - offset) - len = so->so_oobmark - offset; - if (len > m->m_len - moff) - len = m->m_len - moff; - /* - * If mp is set, just pass back the mbufs. - * Otherwise copy them out via the uio, then free. - * Sockbuf must be consistent here (points to current mbuf, - * it points to next record) when we drop priority; - * we must note any additions to the sockbuf when we - * block interrupts again. - */ - if (mp == 0) { - splx(s); - error = uiomove(mtod(m, caddr_t) + moff, (int)len, uio); - s = splnet(); - if (error) - goto release; - } else - uio->uio_resid -= len; - if (len == m->m_len - moff) { - if (m->m_flags & M_EOR) - flags |= MSG_EOR; - if (flags & MSG_PEEK) { - m = m->m_next; - moff = 0; - } else { - nextrecord = m->m_nextpkt; - sbfree(&so->so_rcv, m); - if (mp) { - *mp = m; - mp = &m->m_next; - so->so_rcv.sb_mb = m = m->m_next; - *mp = (struct mbuf *)0; - } else { - MFREE(m, so->so_rcv.sb_mb); - m = so->so_rcv.sb_mb; - } - if (m) - m->m_nextpkt = nextrecord; - } - } else { - if (flags & MSG_PEEK) - moff += len; - else { - if (mp) - *mp = m_copym(m, 0, len, M_WAIT); - m->m_data += len; - m->m_len -= len; - so->so_rcv.sb_cc -= len; - } - } - if (so->so_oobmark) { - if ((flags & MSG_PEEK) == 0) { - so->so_oobmark -= len; - if (so->so_oobmark == 0) { - so->so_state |= SS_RCVATMARK; - break; - } - } else { - offset += len; - if (offset == so->so_oobmark) - break; - } - } - if (flags & MSG_EOR) - break; - /* - * If the MSG_WAITALL flag is set (for non-atomic socket), - * we must not quit until "uio->uio_resid == 0" or an error - * termination. If a signal/timeout occurs, return - * with a short count but without error. - * Keep sockbuf locked against other readers. - */ - while (flags & MSG_WAITALL && m == 0 && uio->uio_resid > 0 && - !sosendallatonce(so) && !nextrecord) { - if (so->so_error || so->so_state & SS_CANTRCVMORE) - break; - error = sbwait(&so->so_rcv); - if (error) { - sbunlock(&so->so_rcv); - splx(s); - return (0); - } - m = so->so_rcv.sb_mb; - if (m) - nextrecord = m->m_nextpkt; - } - } - - if (m && pr->pr_flags & PR_ATOMIC) { - flags |= MSG_TRUNC; - if ((flags & MSG_PEEK) == 0) - (void) sbdroprecord(&so->so_rcv); - } - if ((flags & MSG_PEEK) == 0) { - if (m == 0) - so->so_rcv.sb_mb = nextrecord; - if (pr->pr_flags & PR_WANTRCVD && so->so_pcb) - (*pr->pr_usrreqs->pru_rcvd)(so, flags); - } - if (orig_resid == uio->uio_resid && orig_resid && - (flags & MSG_EOR) == 0 && (so->so_state & SS_CANTRCVMORE) == 0) { - sbunlock(&so->so_rcv); - splx(s); - goto restart; - } - - if (flagsp) - *flagsp |= flags; -release: - sbunlock(&so->so_rcv); - splx(s); - return (error); -} - -int -soshutdown(so, how) - register struct socket *so; - register int how; -{ - register struct protosw *pr = so->so_proto; - - how++; - if (how & FREAD) - sorflush(so); - if (how & FWRITE) - return ((*pr->pr_usrreqs->pru_shutdown)(so)); - return (0); -} - -void -sorflush(so) - register struct socket *so; -{ - register struct sockbuf *sb = &so->so_rcv; - register struct protosw *pr = so->so_proto; - register int s; - struct sockbuf asb; - - sb->sb_flags |= SB_NOINTR; - (void) sblock(sb, M_WAITOK); - s = splimp(); - socantrcvmore(so); - sbunlock(sb); - asb = *sb; - bzero((caddr_t)sb, sizeof (*sb)); - splx(s); - if (pr->pr_flags & PR_RIGHTS && pr->pr_domain->dom_dispose) - (*pr->pr_domain->dom_dispose)(asb.sb_mb); - sbrelease(&asb); -} - -int -sosetopt(so, level, optname, m0) - register struct socket *so; - int level, optname; - struct mbuf *m0; -{ - int error = 0; - register struct mbuf *m = m0; - - if (level != SOL_SOCKET) { - if (so->so_proto && so->so_proto->pr_ctloutput) - return ((*so->so_proto->pr_ctloutput) - (PRCO_SETOPT, so, level, optname, &m0)); - error = ENOPROTOOPT; - } else { - switch (optname) { - - case SO_LINGER: - if (m == NULL || m->m_len != sizeof (struct linger)) { - error = EINVAL; - goto bad; - } - so->so_linger = mtod(m, struct linger *)->l_linger; - /* fall thru... */ - - case SO_DEBUG: - case SO_KEEPALIVE: - case SO_DONTROUTE: - case SO_USELOOPBACK: - case SO_BROADCAST: - case SO_REUSEADDR: - case SO_REUSEPORT: - case SO_OOBINLINE: - case SO_TIMESTAMP: - if (m == NULL || m->m_len < sizeof (int)) { - error = EINVAL; - goto bad; - } - if (*mtod(m, int *)) - so->so_options |= optname; - else - so->so_options &= ~optname; - break; - - case SO_SNDBUF: - case SO_RCVBUF: - case SO_SNDLOWAT: - case SO_RCVLOWAT: - { - int optval; - - if (m == NULL || m->m_len < sizeof (int)) { - error = EINVAL; - goto bad; - } - - /* - * Values < 1 make no sense for any of these - * options, so disallow them. - */ - optval = *mtod(m, int *); - if (optval < 1) { - error = EINVAL; - goto bad; - } - - switch (optname) { - - case SO_SNDBUF: - case SO_RCVBUF: - if (sbreserve(optname == SO_SNDBUF ? - &so->so_snd : &so->so_rcv, - (u_long) optval) == 0) { - error = ENOBUFS; - goto bad; - } - break; - - /* - * Make sure the low-water is never greater than - * the high-water. - */ - case SO_SNDLOWAT: - so->so_snd.sb_lowat = - (optval > so->so_snd.sb_hiwat) ? - so->so_snd.sb_hiwat : optval; - break; - case SO_RCVLOWAT: - so->so_rcv.sb_lowat = - (optval > so->so_rcv.sb_hiwat) ? - so->so_rcv.sb_hiwat : optval; - break; - } - break; - } - - case SO_SNDTIMEO: - case SO_RCVTIMEO: - { - struct timeval *tv; - short val; - - if (m == NULL || m->m_len < sizeof (*tv)) { - error = EINVAL; - goto bad; - } - tv = mtod(m, struct timeval *); - if (tv->tv_sec > SHRT_MAX / hz - hz) { - error = EDOM; - goto bad; - } - val = tv->tv_sec * hz + tv->tv_usec / tick; - - switch (optname) { - - case SO_SNDTIMEO: - so->so_snd.sb_timeo = val; - break; - case SO_RCVTIMEO: - so->so_rcv.sb_timeo = val; - break; - } - break; - } - - case SO_PRIVSTATE: - /* we don't care what the parameter is... */ - so->so_state &= ~SS_PRIV; - break; - - default: - error = ENOPROTOOPT; - break; - } - if (error == 0 && so->so_proto && so->so_proto->pr_ctloutput) { - (void) ((*so->so_proto->pr_ctloutput) - (PRCO_SETOPT, so, level, optname, &m0)); - m = NULL; /* freed by protocol */ - } - } -bad: - if (m) - (void) m_free(m); - return (error); -} - -int -sogetopt(so, level, optname, mp) - register struct socket *so; - int level, optname; - struct mbuf **mp; -{ - register struct mbuf *m; - - if (level != SOL_SOCKET) { - if (so->so_proto && so->so_proto->pr_ctloutput) { - return ((*so->so_proto->pr_ctloutput) - (PRCO_GETOPT, so, level, optname, mp)); - } else - return (ENOPROTOOPT); - } else { - m = m_get(M_WAIT, MT_SOOPTS); - m->m_len = sizeof (int); - - switch (optname) { - - case SO_LINGER: - m->m_len = sizeof (struct linger); - mtod(m, struct linger *)->l_onoff = - so->so_options & SO_LINGER; - mtod(m, struct linger *)->l_linger = so->so_linger; - break; - - case SO_USELOOPBACK: - case SO_DONTROUTE: - case SO_DEBUG: - case SO_KEEPALIVE: - case SO_REUSEADDR: - case SO_REUSEPORT: - case SO_BROADCAST: - case SO_OOBINLINE: - case SO_TIMESTAMP: - *mtod(m, int *) = so->so_options & optname; - break; - - case SO_PRIVSTATE: - *mtod(m, int *) = so->so_state & SS_PRIV; - break; - - case SO_TYPE: - *mtod(m, int *) = so->so_type; - break; - - case SO_ERROR: - *mtod(m, int *) = so->so_error; - so->so_error = 0; - break; - - case SO_SNDBUF: - *mtod(m, int *) = so->so_snd.sb_hiwat; - break; - - case SO_RCVBUF: - *mtod(m, int *) = so->so_rcv.sb_hiwat; - break; - - case SO_SNDLOWAT: - *mtod(m, int *) = so->so_snd.sb_lowat; - break; - - case SO_RCVLOWAT: - *mtod(m, int *) = so->so_rcv.sb_lowat; - break; - - case SO_SNDTIMEO: - case SO_RCVTIMEO: - { - int val = (optname == SO_SNDTIMEO ? - so->so_snd.sb_timeo : so->so_rcv.sb_timeo); - - m->m_len = sizeof(struct timeval); - mtod(m, struct timeval *)->tv_sec = val / hz; - mtod(m, struct timeval *)->tv_usec = - (val % hz) * tick; - break; - } - - default: - (void)m_free(m); - return (ENOPROTOOPT); - } - *mp = m; - return (0); - } -} - -void -sohasoutofband(so) - register struct socket *so; -{ -#if 0 /* FIXME: For now we just ignore out of band data */ - struct proc *p; - - if (so->so_pgid < 0) - gsignal(-so->so_pgid, SIGURG); - else if (so->so_pgid > 0 && (p = pfind(so->so_pgid)) != 0) - psignal(p, SIGURG); - selwakeup(&so->so_rcv.sb_sel); -#endif -} diff --git a/c/src/exec/libnetworking/kern/uipc_socket2.c b/c/src/exec/libnetworking/kern/uipc_socket2.c deleted file mode 100644 index 0539d2c5f3..0000000000 --- a/c/src/exec/libnetworking/kern/uipc_socket2.c +++ /dev/null @@ -1,965 +0,0 @@ -/* - * This file has undergone several changes to reflect the - * differences between the RTEMS and FreeBSD kernels. - */ - -/* - * Copyright (c) 1982, 1986, 1988, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)uipc_socket2.c 8.1 (Berkeley) 6/10/93 - * $Id$ - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * Primitive routines for operating on sockets and socket buffers - */ - -u_long sb_max = SB_MAX; /* XXX should be static */ -SYSCTL_INT(_kern, KERN_MAXSOCKBUF, maxsockbuf, CTLFLAG_RW, &sb_max, 0, "") - -static u_long sb_efficiency = 8; /* parameter for sbreserve() */ -SYSCTL_INT(_kern, OID_AUTO, sockbuf_waste_factor, CTLFLAG_RW, &sb_efficiency, - 0, ""); - -/* - * Procedures to manipulate state flags of socket - * and do appropriate wakeups. Normal sequence from the - * active (originating) side is that soisconnecting() is - * called during processing of connect() call, - * resulting in an eventual call to soisconnected() if/when the - * connection is established. When the connection is torn down - * soisdisconnecting() is called during processing of disconnect() call, - * and soisdisconnected() is called when the connection to the peer - * is totally severed. The semantics of these routines are such that - * connectionless protocols can call soisconnected() and soisdisconnected() - * only, bypassing the in-progress calls when setting up a ``connection'' - * takes no time. - * - * From the passive side, a socket is created with - * two queues of sockets: so_q0 for connections in progress - * and so_q for connections already made and awaiting user acceptance. - * As a protocol is preparing incoming connections, it creates a socket - * structure queued on so_q0 by calling sonewconn(). When the connection - * is established, soisconnected() is called, and transfers the - * socket structure to so_q, making it available to accept(). - * - * If a socket is closed with sockets on either - * so_q0 or so_q, these sockets are dropped. - * - * If higher level protocols are implemented in - * the kernel, the wakeups done here will sometimes - * cause software-interrupt process scheduling. - */ - -void -soisconnecting(so) - register struct socket *so; -{ - - so->so_state &= ~(SS_ISCONNECTED|SS_ISDISCONNECTING); - so->so_state |= SS_ISCONNECTING; -} - -void -soisconnected(so) - register struct socket *so; -{ - register struct socket *head = so->so_head; - - so->so_state &= ~(SS_ISCONNECTING|SS_ISDISCONNECTING|SS_ISCONFIRMING); - so->so_state |= SS_ISCONNECTED; - if (head && (so->so_state & SS_INCOMP)) { - TAILQ_REMOVE(&head->so_incomp, so, so_list); - head->so_incqlen--; - so->so_state &= ~SS_INCOMP; - TAILQ_INSERT_TAIL(&head->so_comp, so, so_list); - so->so_state |= SS_COMP; - sorwakeup(head); - soconnwakeup(head); - } else { - soconnwakeup(so); - sorwakeup(so); - sowwakeup(so); - } -} - -void -soisdisconnecting(so) - register struct socket *so; -{ - - so->so_state &= ~SS_ISCONNECTING; - so->so_state |= (SS_ISDISCONNECTING|SS_CANTRCVMORE|SS_CANTSENDMORE); - soconnwakeup(so); - sowwakeup(so); - sorwakeup(so); -} - -void -soisdisconnected(so) - register struct socket *so; -{ - - so->so_state &= ~(SS_ISCONNECTING|SS_ISCONNECTED|SS_ISDISCONNECTING); - so->so_state |= (SS_CANTRCVMORE|SS_CANTSENDMORE); - soconnwakeup(so); - sowwakeup(so); - sorwakeup(so); -} - -/* - * Return a random connection that hasn't been serviced yet and - * is eligible for discard. There is a one in qlen chance that - * we will return a null, saying that there are no dropable - * requests. In this case, the protocol specific code should drop - * the new request. This insures fairness. - * - * This may be used in conjunction with protocol specific queue - * congestion routines. - */ -struct socket * -sodropablereq(head) - register struct socket *head; -{ - register struct socket *so; - unsigned int i, j, qlen, m; - - static int rnd; - static long old_mono_secs; - static unsigned int cur_cnt, old_cnt; - - if ((i = (m = rtems_bsdnet_seconds_since_boot()) - old_mono_secs) != 0) { - old_mono_secs = m; - old_cnt = cur_cnt / i; - cur_cnt = 0; - } - - so = TAILQ_FIRST(&head->so_incomp); - if (!so) - return (so); - - qlen = head->so_incqlen; - if (++cur_cnt > qlen || old_cnt > qlen) { - rnd = (314159 * rnd + 66329) & 0xffff; - j = ((qlen + 1) * rnd) >> 16; - - while (j-- && so) - so = TAILQ_NEXT(so, so_list); - } - - return (so); -} - -/* - * When an attempt at a new connection is noted on a socket - * which accepts connections, sonewconn is called. If the - * connection is possible (subject to space constraints, etc.) - * then we allocate a new structure, propoerly linked into the - * data structure of the original socket, and return this. - * Connstatus may be 0, or SO_ISCONFIRMING, or SO_ISCONNECTED. - * - * Currently, sonewconn() is defined as sonewconn1() in socketvar.h - * to catch calls that are missing the (new) second parameter. - */ -struct socket * -sonewconn1(head, connstatus) - register struct socket *head; - int connstatus; -{ - register struct socket *so; - - if (head->so_qlen > 3 * head->so_qlimit / 2) - return ((struct socket *)0); - MALLOC(so, struct socket *, sizeof(*so), M_SOCKET, M_DONTWAIT); - if (so == NULL) - return ((struct socket *)0); - bzero((caddr_t)so, sizeof(*so)); - so->so_head = head; - so->so_type = head->so_type; - so->so_options = head->so_options &~ SO_ACCEPTCONN; - so->so_linger = head->so_linger; - so->so_state = head->so_state | SS_NOFDREF; - so->so_proto = head->so_proto; - so->so_timeo = head->so_timeo; - so->so_pgid = head->so_pgid; - so->so_uid = head->so_uid; - (void) soreserve(so, head->so_snd.sb_hiwat, head->so_rcv.sb_hiwat); - if (connstatus) { - TAILQ_INSERT_TAIL(&head->so_comp, so, so_list); - so->so_state |= SS_COMP; - } else { - TAILQ_INSERT_TAIL(&head->so_incomp, so, so_list); - so->so_state |= SS_INCOMP; - head->so_incqlen++; - } - head->so_qlen++; - if ((*so->so_proto->pr_usrreqs->pru_attach)(so, 0)) { - if (so->so_state & SS_COMP) { - TAILQ_REMOVE(&head->so_comp, so, so_list); - } else { - TAILQ_REMOVE(&head->so_incomp, so, so_list); - head->so_incqlen--; - } - head->so_qlen--; - (void) free((caddr_t)so, M_SOCKET); - return ((struct socket *)0); - } - if (connstatus) { - sorwakeup(head); - soconnwakeup(head); - so->so_state |= connstatus; - } - return (so); -} - -/* - * Socantsendmore indicates that no more data will be sent on the - * socket; it would normally be applied to a socket when the user - * informs the system that no more data is to be sent, by the protocol - * code (in case PRU_SHUTDOWN). Socantrcvmore indicates that no more data - * will be received, and will normally be applied to the socket by a - * protocol when it detects that the peer will send no more data. - * Data queued for reading in the socket may yet be read. - */ - -void -socantsendmore(so) - struct socket *so; -{ - - so->so_state |= SS_CANTSENDMORE; - sowwakeup(so); -} - -void -socantrcvmore(so) - struct socket *so; -{ - - so->so_state |= SS_CANTRCVMORE; - sorwakeup(so); -} - -/* - * Socket buffer (struct sockbuf) utility routines. - * - * Each socket contains two socket buffers: one for sending data and - * one for receiving data. Each buffer contains a queue of mbufs, - * information about the number of mbufs and amount of data in the - * queue, and other fields allowing select() statements and notification - * on data availability to be implemented. - * - * Data stored in a socket buffer is maintained as a list of records. - * Each record is a list of mbufs chained together with the m_next - * field. Records are chained together with the m_nextpkt field. The upper - * level routine soreceive() expects the following conventions to be - * observed when placing information in the receive buffer: - * - * 1. If the protocol requires each message be preceded by the sender's - * name, then a record containing that name must be present before - * any associated data (mbuf's must be of type MT_SONAME). - * 2. If the protocol supports the exchange of ``access rights'' (really - * just additional data associated with the message), and there are - * ``rights'' to be received, then a record containing this data - * should be present (mbuf's must be of type MT_RIGHTS). - * 3. If a name or rights record exists, then it must be followed by - * a data record, perhaps of zero length. - * - * Before using a new socket structure it is first necessary to reserve - * buffer space to the socket, by calling sbreserve(). This should commit - * some of the available buffer space in the system buffer pool for the - * socket (currently, it does nothing but enforce limits). The space - * should be released by calling sbrelease() when the socket is destroyed. - */ - -int -soreserve(so, sndcc, rcvcc) - register struct socket *so; - u_long sndcc, rcvcc; -{ - - if (sbreserve(&so->so_snd, sndcc) == 0) - goto bad; - if (sbreserve(&so->so_rcv, rcvcc) == 0) - goto bad2; - if (so->so_rcv.sb_lowat == 0) - so->so_rcv.sb_lowat = 1; - if (so->so_snd.sb_lowat == 0) - so->so_snd.sb_lowat = MCLBYTES; - if (so->so_snd.sb_lowat > so->so_snd.sb_hiwat) - so->so_snd.sb_lowat = so->so_snd.sb_hiwat; - return (0); -bad2: - sbrelease(&so->so_snd); -bad: - return (ENOBUFS); -} - -/* - * Allot mbufs to a sockbuf. - * Attempt to scale mbmax so that mbcnt doesn't become limiting - * if buffering efficiency is near the normal case. - */ -int -sbreserve(sb, cc) - struct sockbuf *sb; - u_long cc; -{ - - if (cc > sb_max * MCLBYTES / (MSIZE + MCLBYTES)) - return (0); - sb->sb_hiwat = cc; - sb->sb_mbmax = min(cc * sb_efficiency, sb_max); - if (sb->sb_lowat > sb->sb_hiwat) - sb->sb_lowat = sb->sb_hiwat; - return (1); -} - -/* - * Free mbufs held by a socket, and reserved mbuf space. - */ -void -sbrelease(sb) - struct sockbuf *sb; -{ - - sbflush(sb); - sb->sb_hiwat = sb->sb_mbmax = 0; -} - -/* - * Routines to add and remove - * data from an mbuf queue. - * - * The routines sbappend() or sbappendrecord() are normally called to - * append new mbufs to a socket buffer, after checking that adequate - * space is available, comparing the function sbspace() with the amount - * of data to be added. sbappendrecord() differs from sbappend() in - * that data supplied is treated as the beginning of a new record. - * To place a sender's address, optional access rights, and data in a - * socket receive buffer, sbappendaddr() should be used. To place - * access rights and data in a socket receive buffer, sbappendrights() - * should be used. In either case, the new data begins a new record. - * Note that unlike sbappend() and sbappendrecord(), these routines check - * for the caller that there will be enough space to store the data. - * Each fails if there is not enough space, or if it cannot find mbufs - * to store additional information in. - * - * Reliable protocols may use the socket send buffer to hold data - * awaiting acknowledgement. Data is normally copied from a socket - * send buffer in a protocol with m_copy for output to a peer, - * and then removing the data from the socket buffer with sbdrop() - * or sbdroprecord() when the data is acknowledged by the peer. - */ - -/* - * Append mbuf chain m to the last record in the - * socket buffer sb. The additional space associated - * the mbuf chain is recorded in sb. Empty mbufs are - * discarded and mbufs are compacted where possible. - */ -void -sbappend(sb, m) - struct sockbuf *sb; - struct mbuf *m; -{ - register struct mbuf *n; - - if (m == 0) - return; - n = sb->sb_mb; - if (n) { - while (n->m_nextpkt) - n = n->m_nextpkt; - do { - if (n->m_flags & M_EOR) { - sbappendrecord(sb, m); /* XXXXXX!!!! */ - return; - } - } while (n->m_next && (n = n->m_next)); - } - sbcompress(sb, m, n); -} - -#ifdef SOCKBUF_DEBUG -void -sbcheck(sb) - register struct sockbuf *sb; -{ - register struct mbuf *m; - register int len = 0, mbcnt = 0; - - for (m = sb->sb_mb; m; m = m->m_next) { - len += m->m_len; - mbcnt += MSIZE; - if (m->m_flags & M_EXT) /*XXX*/ /* pretty sure this is bogus */ - mbcnt += m->m_ext.ext_size; - if (m->m_nextpkt) - panic("sbcheck nextpkt"); - } - if (len != sb->sb_cc || mbcnt != sb->sb_mbcnt) { - printf("cc %d != %d || mbcnt %d != %d\n", len, sb->sb_cc, - mbcnt, sb->sb_mbcnt); - panic("sbcheck"); - } -} -#endif - -/* - * As above, except the mbuf chain - * begins a new record. - */ -void -sbappendrecord(sb, m0) - register struct sockbuf *sb; - register struct mbuf *m0; -{ - register struct mbuf *m; - - if (m0 == 0) - return; - m = sb->sb_mb; - if (m) - while (m->m_nextpkt) - m = m->m_nextpkt; - /* - * Put the first mbuf on the queue. - * Note this permits zero length records. - */ - sballoc(sb, m0); - if (m) - m->m_nextpkt = m0; - else - sb->sb_mb = m0; - m = m0->m_next; - m0->m_next = 0; - if (m && (m0->m_flags & M_EOR)) { - m0->m_flags &= ~M_EOR; - m->m_flags |= M_EOR; - } - sbcompress(sb, m, m0); -} - -/* - * As above except that OOB data - * is inserted at the beginning of the sockbuf, - * but after any other OOB data. - */ -void -sbinsertoob(sb, m0) - register struct sockbuf *sb; - register struct mbuf *m0; -{ - register struct mbuf *m; - register struct mbuf **mp; - - if (m0 == 0) - return; - for (mp = &sb->sb_mb; *mp ; mp = &((*mp)->m_nextpkt)) { - m = *mp; - again: - switch (m->m_type) { - - case MT_OOBDATA: - continue; /* WANT next train */ - - case MT_CONTROL: - m = m->m_next; - if (m) - goto again; /* inspect THIS train further */ - } - break; - } - /* - * Put the first mbuf on the queue. - * Note this permits zero length records. - */ - sballoc(sb, m0); - m0->m_nextpkt = *mp; - *mp = m0; - m = m0->m_next; - m0->m_next = 0; - if (m && (m0->m_flags & M_EOR)) { - m0->m_flags &= ~M_EOR; - m->m_flags |= M_EOR; - } - sbcompress(sb, m, m0); -} - -/* - * Append address and data, and optionally, control (ancillary) data - * to the receive queue of a socket. If present, - * m0 must include a packet header with total length. - * Returns 0 if no space in sockbuf or insufficient mbufs. - */ -int -sbappendaddr(sb, asa, m0, control) - register struct sockbuf *sb; - struct sockaddr *asa; - struct mbuf *m0, *control; -{ - register struct mbuf *m, *n; - int space = asa->sa_len; - -if (m0 && (m0->m_flags & M_PKTHDR) == 0) -panic("sbappendaddr"); - if (m0) - space += m0->m_pkthdr.len; - for (n = control; n; n = n->m_next) { - space += n->m_len; - if (n->m_next == 0) /* keep pointer to last control buf */ - break; - } - if (space > sbspace(sb)) - return (0); - if (asa->sa_len > MLEN) - return (0); - MGET(m, M_DONTWAIT, MT_SONAME); - if (m == 0) - return (0); - m->m_len = asa->sa_len; - bcopy((caddr_t)asa, mtod(m, caddr_t), asa->sa_len); - if (n) - n->m_next = m0; /* concatenate data to control */ - else - control = m0; - m->m_next = control; - for (n = m; n; n = n->m_next) - sballoc(sb, n); - n = sb->sb_mb; - if (n) { - while (n->m_nextpkt) - n = n->m_nextpkt; - n->m_nextpkt = m; - } else - sb->sb_mb = m; - return (1); -} - -int -sbappendcontrol(sb, m0, control) - struct sockbuf *sb; - struct mbuf *control, *m0; -{ - register struct mbuf *m, *n; - int space = 0; - - if (control == 0) - panic("sbappendcontrol"); - for (m = control; ; m = m->m_next) { - space += m->m_len; - if (m->m_next == 0) - break; - } - n = m; /* save pointer to last control buffer */ - for (m = m0; m; m = m->m_next) - space += m->m_len; - if (space > sbspace(sb)) - return (0); - n->m_next = m0; /* concatenate data to control */ - for (m = control; m; m = m->m_next) - sballoc(sb, m); - n = sb->sb_mb; - if (n) { - while (n->m_nextpkt) - n = n->m_nextpkt; - n->m_nextpkt = control; - } else - sb->sb_mb = control; - return (1); -} - -/* - * Compress mbuf chain m into the socket - * buffer sb following mbuf n. If n - * is null, the buffer is presumed empty. - */ -void -sbcompress(sb, m, n) - register struct sockbuf *sb; - register struct mbuf *m, *n; -{ - register int eor = 0; - register struct mbuf *o; - - while (m) { - eor |= m->m_flags & M_EOR; - if (m->m_len == 0 && - (eor == 0 || - (((o = m->m_next) || (o = n)) && - o->m_type == m->m_type))) { - m = m_free(m); - continue; - } - if (n && (n->m_flags & (M_EXT | M_EOR)) == 0 && - (n->m_data + n->m_len + m->m_len) < &n->m_dat[MLEN] && - n->m_type == m->m_type) { - bcopy(mtod(m, caddr_t), mtod(n, caddr_t) + n->m_len, - (unsigned)m->m_len); - n->m_len += m->m_len; - sb->sb_cc += m->m_len; - m = m_free(m); - continue; - } - if (n) - n->m_next = m; - else - sb->sb_mb = m; - sballoc(sb, m); - n = m; - m->m_flags &= ~M_EOR; - m = m->m_next; - n->m_next = 0; - } - if (eor) { - if (n) - n->m_flags |= eor; - else - printf("semi-panic: sbcompress\n"); - } -} - -/* - * Free all mbufs in a sockbuf. - * Check that all resources are reclaimed. - */ -void -sbflush(sb) - register struct sockbuf *sb; -{ - - if (sb->sb_flags & SB_LOCK) - panic("sbflush"); - while (sb->sb_mbcnt) - sbdrop(sb, (int)sb->sb_cc); - if (sb->sb_cc || sb->sb_mb) - panic("sbflush 2"); -} - -/* - * Drop data from (the front of) a sockbuf. - */ -void -sbdrop(sb, len) - register struct sockbuf *sb; - register int len; -{ - register struct mbuf *m, *mn; - struct mbuf *next; - - next = (m = sb->sb_mb) ? m->m_nextpkt : 0; - while (len > 0) { - if (m == 0) { - if (next == 0) - panic("sbdrop"); - m = next; - next = m->m_nextpkt; - continue; - } - if (m->m_len > len) { - m->m_len -= len; - m->m_data += len; - sb->sb_cc -= len; - break; - } - len -= m->m_len; - sbfree(sb, m); - MFREE(m, mn); - m = mn; - } - while (m && m->m_len == 0) { - sbfree(sb, m); - MFREE(m, mn); - m = mn; - } - if (m) { - sb->sb_mb = m; - m->m_nextpkt = next; - } else - sb->sb_mb = next; -} - -/* - * Drop a record off the front of a sockbuf - * and move the next record to the front. - */ -void -sbdroprecord(sb) - register struct sockbuf *sb; -{ - register struct mbuf *m, *mn; - - m = sb->sb_mb; - if (m) { - sb->sb_mb = m->m_nextpkt; - do { - sbfree(sb, m); - MFREE(m, mn); - m = mn; - } while (m); - } -} - -/* - * Create a "control" mbuf containing the specified data - * with the specified type for presentation on a socket buffer. - */ -struct mbuf * -sbcreatecontrol(p, size, type, level) - caddr_t p; - register int size; - int type, level; -{ - register struct cmsghdr *cp; - struct mbuf *m; - - if ((m = m_get(M_DONTWAIT, MT_CONTROL)) == NULL) - return ((struct mbuf *) NULL); - cp = mtod(m, struct cmsghdr *); - /* XXX check size? */ - (void)memcpy(CMSG_DATA(cp), p, size); - size += sizeof(*cp); - m->m_len = size; - cp->cmsg_len = size; - cp->cmsg_level = level; - cp->cmsg_type = type; - return (m); -} - -#ifdef PRU_OLDSTYLE -/* - * The following routines mediate between the old-style `pr_usrreq' - * protocol implementations and the new-style `struct pr_usrreqs' - * calling convention. - */ - -/* syntactic sugar */ -#define nomb (struct mbuf *)0 - -static int -old_abort(struct socket *so) -{ - return so->so_proto->pr_ousrreq(so, PRU_ABORT, nomb, nomb, nomb); -} - -static int -old_accept(struct socket *so, struct mbuf *nam) -{ - return so->so_proto->pr_ousrreq(so, PRU_ACCEPT, nomb, nam, nomb); -} - -static int -old_attach(struct socket *so, int proto) -{ - return so->so_proto->pr_ousrreq(so, PRU_ATTACH, nomb, - (struct mbuf *)proto, /* XXX */ - nomb); -} - -static int -old_bind(struct socket *so, struct mbuf *nam) -{ - return so->so_proto->pr_ousrreq(so, PRU_BIND, nomb, nam, nomb); -} - -static int -old_connect(struct socket *so, struct mbuf *nam) -{ - return so->so_proto->pr_ousrreq(so, PRU_CONNECT, nomb, nam, nomb); -} - -static int -old_connect2(struct socket *so1, struct socket *so2) -{ - return so1->so_proto->pr_ousrreq(so1, PRU_CONNECT2, nomb, - (struct mbuf *)so2, nomb); -} - -static int -old_control(struct socket *so, int cmd, caddr_t data, struct ifnet *ifp) -{ - return so->so_proto->pr_ousrreq(so, PRU_CONTROL, (struct mbuf *)cmd, - (struct mbuf *)data, - (struct mbuf *)ifp); -} - -static int -old_detach(struct socket *so) -{ - return so->so_proto->pr_ousrreq(so, PRU_DETACH, nomb, nomb, nomb); -} - -static int -old_disconnect(struct socket *so) -{ - return so->so_proto->pr_ousrreq(so, PRU_DISCONNECT, nomb, nomb, nomb); -} - -static int -old_listen(struct socket *so) -{ - return so->so_proto->pr_ousrreq(so, PRU_LISTEN, nomb, nomb, nomb); -} - -static int -old_peeraddr(struct socket *so, struct mbuf *nam) -{ - return so->so_proto->pr_ousrreq(so, PRU_PEERADDR, nomb, nam, nomb); -} - -static int -old_rcvd(struct socket *so, int flags) -{ - return so->so_proto->pr_ousrreq(so, PRU_RCVD, nomb, - (struct mbuf *)flags, /* XXX */ - nomb); -} - -static int -old_rcvoob(struct socket *so, struct mbuf *m, int flags) -{ - return so->so_proto->pr_ousrreq(so, PRU_RCVOOB, m, - (struct mbuf *)flags, /* XXX */ - nomb); -} - -static int -old_send(struct socket *so, int flags, struct mbuf *m, struct mbuf *addr, - struct mbuf *control) -{ - int req; - - if (flags & PRUS_OOB) { - req = PRU_SENDOOB; - } else if(flags & PRUS_EOF) { - req = PRU_SEND_EOF; - } else { - req = PRU_SEND; - } - return so->so_proto->pr_ousrreq(so, req, m, addr, control); -} - -static int -old_sense(struct socket *so, struct stat *sb) -{ - return so->so_proto->pr_ousrreq(so, PRU_SENSE, (struct mbuf *)sb, - nomb, nomb); -} - -static int -old_shutdown(struct socket *so) -{ - return so->so_proto->pr_ousrreq(so, PRU_SHUTDOWN, nomb, nomb, nomb); -} - -static int -old_sockaddr(struct socket *so, struct mbuf *nam) -{ - return so->so_proto->pr_ousrreq(so, PRU_SOCKADDR, nomb, nam, nomb); -} - -struct pr_usrreqs pru_oldstyle = { - old_abort, old_accept, old_attach, old_bind, old_connect, - old_connect2, old_control, old_detach, old_disconnect, - old_listen, old_peeraddr, old_rcvd, old_rcvoob, old_send, - old_sense, old_shutdown, old_sockaddr -}; - -#endif /* PRU_OLDSTYLE */ - -/* - * Some routines that return EOPNOTSUPP for entry points that are not - * supported by a protocol. Fill in as needed. - */ -int -pru_accept_notsupp(struct socket *so, struct mbuf *nam) -{ - return EOPNOTSUPP; -} - -int -pru_connect2_notsupp(struct socket *so1, struct socket *so2) -{ - return EOPNOTSUPP; -} - -int -pru_control_notsupp(struct socket *so, int cmd, caddr_t data, - struct ifnet *ifp) -{ - return EOPNOTSUPP; -} - -int -pru_listen_notsupp(struct socket *so) -{ - return EOPNOTSUPP; -} - -int -pru_rcvd_notsupp(struct socket *so, int flags) -{ - return EOPNOTSUPP; -} - -int -pru_rcvoob_notsupp(struct socket *so, struct mbuf *m, int flags) -{ - return EOPNOTSUPP; -} - -/* - * This isn't really a ``null'' operation, but it's the default one - * and doesn't do anything destructive. - */ -int -pru_sense_null(struct socket *so, struct stat *sb) -{ - sb->st_blksize = so->so_snd.sb_hiwat; - return 0; -} - diff --git a/c/src/exec/libnetworking/lib/README b/c/src/exec/libnetworking/lib/README deleted file mode 100644 index 998bd5e708..0000000000 --- a/c/src/exec/libnetworking/lib/README +++ /dev/null @@ -1,5 +0,0 @@ -# -# $Id$ -# - -Sources from application-level (as opposed to kernel-level) libraries. diff --git a/c/src/exec/libnetworking/lib/getprotoby.c b/c/src/exec/libnetworking/lib/getprotoby.c deleted file mode 100644 index fc8de6e402..0000000000 --- a/c/src/exec/libnetworking/lib/getprotoby.c +++ /dev/null @@ -1,46 +0,0 @@ -/* - * $Id$ - */ - -#include -#include -#include -#include -#include - -static const struct protoent prototab[] = { - { "ip", NULL, IPPROTO_IP }, - { "icmp", NULL, IPPROTO_ICMP }, - { "tcp", NULL, IPPROTO_TCP }, - { "udp", NULL, IPPROTO_UDP }, - }; - -/* - * Dummy version of BSD getprotobyname() - */ -struct protoent * -getprotobyname (const char *name) -{ - int i; - - for (i = 0 ; i < (sizeof prototab / sizeof prototab[0]) ; i++) { - if (strcmp (name, prototab[i].p_name) == 0) - return (struct protoent *) &prototab[i]; - } - return NULL; -} - -/* - * Dummy version of BSD getprotobynumber() - */ -struct protoent * -getprotobynumber (int proto) -{ - int i; - - for (i = 0 ; i < (sizeof prototab / sizeof prototab[0]) ; i++) { - if (proto == prototab[i].p_proto) - return (struct protoent *) &prototab[i]; - } - return NULL; -} diff --git a/c/src/exec/libnetworking/lib/syslog.c b/c/src/exec/libnetworking/lib/syslog.c deleted file mode 100644 index 0bb15bc78e..0000000000 --- a/c/src/exec/libnetworking/lib/syslog.c +++ /dev/null @@ -1,189 +0,0 @@ -/* - * RTEMS version of syslog and associated routines - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -static int LogStatus = LOG_CONS; -static const char *LogTag = "syslog"; -static int LogFacility = LOG_USER; -static int LogMask = 0xff; - -static int LogFd = -1; -static rtems_id LogSemaphore; -extern struct in_addr rtems_bsdnet_log_host_address; - -#define SYSLOG_PORT 514 - -void -syslog (int pri, const char *fmt, ...) -{ - va_list ap; - - va_start (ap, fmt); - vsyslog (pri, fmt, ap); - va_end (ap); -} - -/* - * FIXME: Should cbuf be static? It could be if we put the mutex - * around the entire body of this routine. Then we wouldn't - * have to worry about blowing stacks with a local variable - * that large. Could make cbuf bigger, too. - */ -void -vsyslog (int pri, const char *fmt, va_list ap) -{ - int cnt; - char *cp; - char *msgp, cbuf[200]; - int sent; - - if (pri & ~(LOG_PRIMASK|LOG_FACMASK)) { - syslog (LOG_ERR|LOG_CONS|LOG_PERROR|LOG_PID, - "syslog: unknown facility/priority: %#x", pri); - pri &= LOG_PRIMASK|LOG_FACMASK; - } - - if (!LOG_MASK(LOG_PRI(pri)) & LogMask) - return; - - if ((pri & LOG_FACMASK) == 0) - pri |= LogFacility; - - cnt = sprintf (cbuf, "<%d>", pri); - cp = msgp = cbuf + cnt; - if (LogTag) { - const char *lp = LogTag; - while ((*cp = *lp++) != '\0') - cp++; - } - if (LogStatus & LOG_PID) { - rtems_id tid; - rtems_task_ident (RTEMS_SELF, 0, &tid); - cnt = sprintf (cp, "[%#lx]", (unsigned long)tid); - cp += cnt; - } - if (LogTag) { - *cp++ = ':'; - *cp++ = ' '; - } - cnt = vsprintf (cp, fmt, ap); - cnt += cp - cbuf; - if (cbuf[cnt-1] == '\n') - cbuf[--cnt] = '\0'; - - if (LogStatus & LOG_PERROR) - printf ("%s\n", cbuf); - - /* - * Grab the mutex - */ - sent = 0; - if ((rtems_bsdnet_log_host_address.s_addr != INADDR_ANY) - && (LogFd >= 0) - && (rtems_semaphore_obtain (LogSemaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT) == RTEMS_SUCCESSFUL)) { - /* - * Set the destination address/port - */ - struct sockaddr_in farAddress; - farAddress.sin_family = AF_INET; - farAddress.sin_port = htons (SYSLOG_PORT); - farAddress.sin_addr = rtems_bsdnet_log_host_address; - memset (farAddress.sin_zero, '\0', sizeof farAddress.sin_zero); - - /* - * Send the message - */ - if (sendto (LogFd, cbuf, cnt, 0, (struct sockaddr *)&farAddress, sizeof farAddress) >= 0) - sent = 1; - rtems_semaphore_release (LogSemaphore); - } - if (!sent && (LogStatus & LOG_CONS) && !(LogStatus & LOG_PERROR)) - printf ("%s\n", msgp); -} - -void -openlog (const char *ident, int logstat, int logfac) -{ - rtems_status_code sc; - struct sockaddr_in myAddress; - - if (ident != NULL) - LogTag = ident; - LogStatus = logstat; - if (logfac != 0 && (logfac & ~LOG_FACMASK) == 0) - LogFacility = logfac; - - /* - * Create the socket - */ - if ((LogFd = socket (AF_INET, SOCK_DGRAM, 0)) < 0) { - printf ("Can't create syslog socket: %d\n", errno); - return; - } - - /* - * Bind socket to name - */ - myAddress.sin_family = AF_INET; - myAddress.sin_addr.s_addr = INADDR_ANY; - myAddress.sin_port = 0; - memset (myAddress.sin_zero, '\0', sizeof myAddress.sin_zero); - if (bind (LogFd, (struct sockaddr *)&myAddress, sizeof (myAddress)) < 0) { - close (LogFd); - LogFd = -1; - printf ("Can't bind syslog socket: %d\n", errno); - return; - } - - /* - * Create the mutex - */ - sc = rtems_semaphore_create (rtems_build_name('s', 'L', 'o', 'g'), - 1, - RTEMS_PRIORITY | - RTEMS_BINARY_SEMAPHORE | - RTEMS_INHERIT_PRIORITY | - RTEMS_NO_PRIORITY_CEILING | - RTEMS_LOCAL, - 0, - &LogSemaphore); - if (sc != RTEMS_SUCCESSFUL) { - printf ("Can't create syslog seamphore: %d\n", sc); - close (LogFd); - LogFd = -1; - } -} - -void -closelog(void) -{ - if (LogFd >= 0) { - close (LogFd); - LogFd = -1; - rtems_semaphore_delete (LogSemaphore); - } -} - -int -setlogmask (int pmask) -{ - int omask; - - omask = LogMask; - if (pmask != 0) - LogMask = pmask; - return (omask); -} diff --git a/c/src/exec/libnetworking/lib/tftpDriver.c b/c/src/exec/libnetworking/lib/tftpDriver.c deleted file mode 100644 index cf75623580..0000000000 --- a/c/src/exec/libnetworking/lib/tftpDriver.c +++ /dev/null @@ -1,609 +0,0 @@ -/* - * Trivial File Transfer Protocol (RFC 1350) - * - * Transfer file to/from remote host - * - * W. Eric Norum - * Saskatchewan Accelerator Laboratory - * University of Saskatchewan - * Saskatoon, Saskatchewan, CANADA - * eric@skatter.usask.ca - * - * $Id$ - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * Range of UDP ports to try - */ -#define UDP_PORT_BASE 3180 - -/* - * Pathname prefix - */ -#define TFTP_PATHNAME_PREFIX "/TFTP/" - -/* - * Default limits - */ -#define PACKET_REPLY_MILLISECONDS 6000 -#define OPEN_RETRY_LIMIT 10 -#define IO_RETRY_LIMIT 10 - -/* - * TFTP opcodes - */ -#define TFTP_OPCODE_RRQ 1 -#define TFTP_OPCODE_WRQ 2 -#define TFTP_OPCODE_DATA 3 -#define TFTP_OPCODE_ACK 4 -#define TFTP_OPCODE_ERROR 5 - -/* - * Largest data transfer - */ -#define TFTP_BUFSIZE 512 - -/* - * Packets transferred between machines - */ -union tftpPacket { - /* - * RRQ/WRQ packet - */ - struct tftpRWRQ { - rtems_unsigned16 opcode; - char filename_mode[TFTP_BUFSIZE]; - } tftpRWRQ; - - /* - * DATA packet - */ - struct tftpDATA { - rtems_unsigned16 opcode; - rtems_unsigned16 blocknum; - rtems_unsigned8 data[TFTP_BUFSIZE]; - } tftpDATA; - - /* - * ACK packet - */ - struct tftpACK { - rtems_unsigned16 opcode; - rtems_unsigned16 blocknum; - } tftpACK; - - /* - * ERROR packet - */ - struct tftpERROR { - rtems_unsigned16 opcode; - rtems_unsigned16 errorCode; - char errorMessage[TFTP_BUFSIZE]; - } tftpERROR; -}; - -/* - * State of each TFTP stream - */ -struct tftpStream { - /* - * Buffer for storing most recently-received packet - */ - union tftpPacket pkbuf; - - /* - * Last block number received - */ - rtems_unsigned16 blocknum; - - /* - * Data transfer socket - */ - int socket; - struct sockaddr_in myAddress; - struct sockaddr_in farAddress; - - /* - * Indices into buffer - */ - int nleft; - int nused; - - /* - * Flags - */ - int firstReply; - int eof; -}; - -/* - * Number of streams open at the same time - */ -static rtems_id tftp_mutex; -static int nStreams; -static struct tftpStream ** volatile tftpStreams; - -/* - * Initialize the TFTP driver - */ -rtems_device_driver rtems_tftp_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - rtems_status_code sc; - - sc = rtems_semaphore_create (rtems_build_name('T', 'F', 'T', 'P'), - 1, - RTEMS_FIFO | - RTEMS_BINARY_SEMAPHORE | - RTEMS_NO_INHERIT_PRIORITY | - RTEMS_NO_PRIORITY_CEILING | - RTEMS_LOCAL, - 0, - &tftp_mutex); - if (sc != RTEMS_SUCCESSFUL) - return sc; - rtems_io_register_name (TFTP_PATHNAME_PREFIX, major, minor); - return RTEMS_SUCCESSFUL; -} - -/* - * Set error message - * This RTEMS/UNIX error mapping needs to be fixed! - */ -static void -tftpSetErrno (struct tftpStream *tp) -{ - unsigned int tftpError; - static const int errorMap[] = { - 0, - ENOENT, - EPERM, - ENOSPC, - EINVAL, - ENXIO, - EEXIST, - ESRCH, - 0, - }; - - tftpError = ntohs (tp->pkbuf.tftpERROR.errorCode); - if (tftpError < (sizeof errorMap / sizeof errorMap[0])) - errno = errorMap[tftpError]; - else - errno = 1000 + tftpError; -} - -/* - * Send a message to make the other end shut up - */ -static void -sendStifle (struct tftpStream *tp, struct sockaddr_in *to) -{ - int len; - - /* - * Create the error packet (Unknown transfer ID). - */ - tp->pkbuf.tftpERROR.opcode = htons (TFTP_OPCODE_ERROR); - tp->pkbuf.tftpERROR.errorCode = htons (5); - len = sizeof tp->pkbuf.tftpERROR.opcode + - sizeof tp->pkbuf.tftpERROR.errorCode + 1; - len += sprintf (tp->pkbuf.tftpERROR.errorMessage, "GO AWAY"); - - /* - * Send it - */ - sendto (tp->socket, (char *)&tp->pkbuf, len, 0, - (struct sockaddr *)to, sizeof *to); -} - -/* - * Wait for a data packet - */ -static int -getPacket (struct tftpStream *tp) -{ - int len; - struct timeval tv; - - tv.tv_sec = 6; - tv.tv_usec = 0; - setsockopt (tp->socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv); - for (;;) { - union { - struct sockaddr s; - struct sockaddr_in i; - } from; - int fromlen = sizeof from; - len = recvfrom (tp->socket, (char *)&tp->pkbuf, - sizeof tp->pkbuf, 0, - &from.s, &fromlen); - if (len < 0) - break; - if (from.i.sin_addr.s_addr == tp->farAddress.sin_addr.s_addr) { - if (tp->firstReply) { - tp->firstReply = 0; - tp->farAddress.sin_port = from.i.sin_port; - } - if (tp->farAddress.sin_port == from.i.sin_port) - break; - } - - /* - * Packet is from someone with whom we are - * not interested. Tell them to go away. - */ - sendStifle (tp, &from.i); - } - tv.tv_sec = 0; - setsockopt (tp->socket, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv); - return len; -} - -/* - * Send an acknowledgement - */ -static int -sendAck (struct tftpStream *tp) -{ - /* - * Create the acknowledgement - */ - tp->pkbuf.tftpACK.opcode = htons (TFTP_OPCODE_ACK); - tp->pkbuf.tftpACK.blocknum = htons (tp->blocknum); - - /* - * Send it - */ - if (sendto (tp->socket, (char *)&tp->pkbuf, sizeof tp->pkbuf.tftpACK, 0, - (struct sockaddr *)&tp->farAddress, - sizeof tp->farAddress) < 0) - return errno; - return 0; -} - -/* - * Release a stream and clear the pointer to it - */ -static void -releaseStream (int s) -{ - rtems_semaphore_obtain (tftp_mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - free (tftpStreams[s]); - tftpStreams[s] = NULL; - rtems_semaphore_release (tftp_mutex); -} - -/* - * Open a TFTP stream - */ -rtems_device_driver rtems_tftp_open( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - rtems_libio_open_close_args_t *ap = pargp; - struct tftpStream *tp; - int retryCount; - rtems_unsigned32 farAddress; - int s; - int len; - char *cp1, *cp2; - char *remoteFilename; - rtems_interval now; - rtems_status_code sc; - - /* - * Read-only for now - */ - if (ap->flags & LIBIO_FLAGS_WRITE) - return RTEMS_NOT_IMPLEMENTED; - - /* - * Pick apart the name into a host:pathname pair - */ - if (strlen (ap->iop->pathname) <= strlen (TFTP_PATHNAME_PREFIX)) - return RTEMS_INVALID_NAME; - cp2 = ap->iop->pathname + strlen (TFTP_PATHNAME_PREFIX); - if (*cp2 == '/') { - farAddress = rtems_bsdnet_bootp_server_address.s_addr; - } - else { - char *hostname; - - cp1 = cp2; - while (*cp2 != '/') { - if (*cp2 == '\0') - return RTEMS_INVALID_NAME; - cp2++; - } - len = cp2 - cp1; - hostname = malloc (len + 1); - if (hostname == NULL) - return RTEMS_NO_MEMORY; - strncpy (hostname, cp1, len); - hostname[len] = '\0'; - farAddress = inet_addr (hostname); - free (hostname); - } - if ((farAddress == 0) || (farAddress == ~0)) - return RTEMS_INVALID_NAME; - if (*++cp2 == '\0') - return RTEMS_INVALID_NAME; - remoteFilename = cp2; - if (strlen (remoteFilename) > (TFTP_BUFSIZE - 10)) - return RTEMS_INVALID_NAME; - - /* - * Find a free stream - */ - sc = rtems_semaphore_obtain (tftp_mutex, RTEMS_WAIT, RTEMS_NO_TIMEOUT); - if (sc != RTEMS_SUCCESSFUL) - return sc; - for (s = 0 ; s < nStreams ; s++) { - if (tftpStreams[s] == NULL) - break; - } - if (s == nStreams) { - /* - * Reallocate stream pointers - * Guard against the case where realloc() returns NULL. - */ - struct tftpStream **np; - - np = realloc (tftpStreams, ++nStreams * sizeof *tftpStreams); - if (np == NULL) { - rtems_semaphore_release (tftp_mutex); - return RTEMS_NO_MEMORY; - } - tftpStreams = np; - } - tp = tftpStreams[s] = malloc (sizeof (struct tftpStream)); - rtems_semaphore_release (tftp_mutex); - if (tp == NULL) - return RTEMS_NO_MEMORY; - ap->iop->data0 = s; - ap->iop->data1 = tp; - - /* - * Create the socket - */ - if ((tp->socket = socket (AF_INET, SOCK_DGRAM, 0)) < 0) { - releaseStream (s); - return RTEMS_TOO_MANY; - } - - /* - * Bind the socket to a local address - */ - retryCount = 0; - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &now); - for (;;) { - int try = (now + retryCount) % 10; - - tp->myAddress.sin_family = AF_INET; - tp->myAddress.sin_port = htons (UDP_PORT_BASE + nStreams * try + minor); - tp->myAddress.sin_addr.s_addr = htonl (INADDR_ANY); - if (bind (tp->socket, (struct sockaddr *)&tp->myAddress, sizeof tp->myAddress) >= 0) - break; - if (++retryCount == 10) { - close (tp->socket); - releaseStream (minor); - return RTEMS_RESOURCE_IN_USE; - } - } - - /* - * Set the UDP destination to the TFTP server - * port on the remote machine. - */ - tp->farAddress.sin_family = AF_INET; - tp->farAddress.sin_addr.s_addr = farAddress; - tp->farAddress.sin_port = htons (69); - - /* - * Start the transfer - */ - tp->firstReply = 1; - for (;;) { - /* - * Create the request - */ - tp->pkbuf.tftpRWRQ.opcode = htons (TFTP_OPCODE_RRQ); - cp1 = tp->pkbuf.tftpRWRQ.filename_mode; - cp2 = remoteFilename; - while ((*cp1++ = *cp2++) != '\0') - continue; - cp2 = "octet"; - while ((*cp1++ = *cp2++) != '\0') - continue; - len = cp1 - (char *)&tp->pkbuf.tftpRWRQ; - - /* - * Send the request - */ - if (sendto (tp->socket, (char *)&tp->pkbuf, len, 0, - (struct sockaddr *)&tp->farAddress, - sizeof tp->farAddress) < 0) { - close (tp->socket); - releaseStream (minor); - return RTEMS_UNSATISFIED; - } - - /* - * Get reply - */ - len = getPacket (tp); - if (len >= (int) sizeof tp->pkbuf.tftpACK) { - int opcode = ntohs (tp->pkbuf.tftpDATA.opcode); - if ((opcode == TFTP_OPCODE_DATA) - && (ntohs (tp->pkbuf.tftpDATA.blocknum) == 1)) { - tp->nused = 0; - tp->blocknum = 1; - tp->nleft = len - 2 * sizeof (rtems_unsigned16); - tp->eof = (tp->nleft < TFTP_BUFSIZE); - if (sendAck (tp) != 0) { - close (tp->socket); - releaseStream (minor); - return RTEMS_UNSATISFIED; - } - break; - } - if (opcode == TFTP_OPCODE_ERROR) { - tftpSetErrno (tp); - close (tp->socket); - releaseStream (ap->iop->data0); - return RTEMS_INTERNAL_ERROR; - } - } - - /* - * Keep trying - */ - if (++retryCount >= OPEN_RETRY_LIMIT) { - close (tp->socket); - releaseStream (minor); - return RTEMS_UNSATISFIED; - } - } - return RTEMS_SUCCESSFUL; -} - -/* - * Read from a TFTP stream - */ -rtems_device_driver rtems_tftp_read( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - rtems_libio_rw_args_t *ap = pargp; - char *bp; - struct tftpStream *tp; - int retryCount; - int nwant; - - tp = ap->iop->data1; - - /* - * Read till user request is satisfied or EOF is reached - */ - bp = ap->buffer; - nwant = ap->count; - while (nwant) { - if (tp->nleft) { - int count; - if (nwant < tp->nleft) - count = nwant; - else - count = tp->nleft; - memcpy (bp, &tp->pkbuf.tftpDATA.data[tp->nused], count); - tp->nused += count; - tp->nleft -= count; - bp += count; - nwant -= count; - if (nwant == 0) - break; - } - if (tp->eof) - break; - - /* - * Wait for the next packet - */ - retryCount = 0; - for (;;) { - int len = getPacket (tp); - if (len >= (int)sizeof tp->pkbuf.tftpACK) { - int opcode = ntohs (tp->pkbuf.tftpDATA.opcode); - rtems_unsigned16 nextBlock = tp->blocknum + 1; - if ((opcode == TFTP_OPCODE_DATA) - && (ntohs (tp->pkbuf.tftpDATA.blocknum) == nextBlock)) { - tp->nused = 0; - tp->nleft = len - 2 * sizeof (rtems_unsigned16); - tp->eof = (tp->nleft < TFTP_BUFSIZE); - tp->blocknum++; - if (sendAck (tp) != 0) - return RTEMS_IO_ERROR; - break; - } - if (opcode == TFTP_OPCODE_ERROR) { - tftpSetErrno (tp); - return RTEMS_INTERNAL_ERROR; - } - } - - /* - * Keep trying? - */ - if (++retryCount == IO_RETRY_LIMIT) - return RTEMS_IO_ERROR; - if (sendAck (tp) != 0) - return RTEMS_IO_ERROR; - } - } - ap->bytes_moved = ap->count - nwant; - return RTEMS_SUCCESSFUL; -} - -/* - * Close a TFTP stream - */ -rtems_device_driver rtems_tftp_close( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - rtems_libio_open_close_args_t *ap = pargp; - struct tftpStream *tp = ap->iop->data1;; - - if (!tp->eof && !tp->firstReply) { - /* - * Tell the other end to stop - */ - rtems_interval ticksPerSecond; - sendStifle (tp, &tp->farAddress); - rtems_clock_get (RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticksPerSecond); - rtems_task_wake_after (1 + ticksPerSecond / 10); - } - close (tp->socket); - releaseStream (ap->iop->data0); - return RTEMS_SUCCESSFUL; -} - -rtems_device_driver rtems_tftp_write( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - return RTEMS_NOT_CONFIGURED; -} - -rtems_device_driver rtems_tftp_control( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *pargp -) -{ - return RTEMS_NOT_CONFIGURED; -} diff --git a/c/src/exec/libnetworking/libc/addr2ascii.3 b/c/src/exec/libnetworking/libc/addr2ascii.3 deleted file mode 100644 index 10c839ea74..0000000000 --- a/c/src/exec/libnetworking/libc/addr2ascii.3 +++ /dev/null @@ -1,217 +0,0 @@ -.\" -.\" Copyright 1996 Massachusetts Institute of Technology -.\" -.\" Permission to use, copy, modify, and distribute this software and -.\" its documentation for any purpose and without fee is hereby -.\" granted, provided that both the above copyright notice and this -.\" permission notice appear in all copies, that both the above -.\" copyright notice and this permission notice appear in all -.\" supporting documentation, and that the name of M.I.T. not be used -.\" in advertising or publicity pertaining to distribution of the -.\" software without specific, written prior permission. M.I.T. makes -.\" no representations about the suitability of this software for any -.\" purpose. It is provided "as is" without express or implied -.\" warranty. -.\" -.\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS -.\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, -.\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT -.\" SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -.\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -.\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -.\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT -.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $ANA: addr2ascii.3,v 1.1 1996/06/13 18:41:46 wollman Exp $ -.\" $Id$ -.\" -.Dd June 13, 1996 -.Dt ADDR2ASCII 3 -.Os -.Sh NAME -.Nm addr2ascii , -.Nm ascii2addr -.Nd Generic address formatting routines -.Sh SYNOPSIS -.Fd #include -.Fd #include -.Fd #include -.Ft "char *" -.Fn addr2ascii "int af" "const void *addrp" "int len" "char *buf" -.Ft int -.Fn ascii2addr "int af" "const char *ascii" "void *result" -.Sh DESCRIPTION -The routines -.Fn addr2ascii -and -.Fn ascii2addr -are used to convert network addresses between binary form and a -printable form appropriate to the address family. Both functions take -an -.Fa af -argument, specifying the address family to be used in the conversion -process. -(Currently, only the -.Dv AF_INET -and -.Dv AF_LINK -address families are supported.) -.Pp -The -.Fn addr2ascii -function -is used to convert binary, network-format addresses into printable -form. In addition to -.Fa af , -there are three other arguments. The -.Fa addrp -argument is a pointer to the network address to be converted. -The -.Fa len -argument is the length of the address. The -.Fa buf -argument is an optional pointer to a caller-allocated buffer to hold -the result; if a null pointer is passed, -.Fn addr2ascii -uses a statically-allocated buffer. -.Pp -The -.Fn ascii2addr -function performs the inverse operation to -.Fn addr2ascii . -In addition to -.Fa af , -it takes two parameters, -.Fa ascii -and -.Fa result . -The -.Fa ascii -parameter is a pointer to the string which is to be converted into -binary. The -.Fa result -parameter is a pointer to an appropriate network address structure for -the specified family. -.Pp -The following gives the appropriate structure to use for binary -addresses in the specified family: -.Pp -.Bl -tag -width AF_INETxxxx -compact -.It Dv AF_INET -.Li struct in_addr -.Pq in Aq Pa netinet/in.h -.It Dv AF_LINK -.Li struct sockaddr_dl -.Pq in Aq Pa net/if_dl.h -.\" .It Dv AF_INET6 -.\" .Li struct in6_addr -.\" .Pq in Aq Pa netinet6/in6.h -.El -.Sh RETURN VALUES -The -.Fn addr2ascii -function returns the address of the buffer it was passed, or a static -buffer if the a null pointer was passed; on failure, it returns a null -pointer. -The -.Fn ascii2addr -function returns the length of the binary address in bytes, or -1 on -failure. -.Sh EXAMPLES -The -.Xr inet 3 -functions -.Fn inet_ntoa -and -.Fn inet_aton -could be implemented thusly: -.Bd -literal -offset indent -#include -#include -#include -#include - -char * -inet_ntoa(struct in_addr addr) -{ - return addr2ascii(AF_INET, &addr, sizeof addr, 0); -} - -int -inet_aton(const char *ascii, struct in_addr *addr) -{ - return (ascii2addr(AF_INET, ascii, addr) - == sizeof(*addr)); -} -.Ed -.Pp -In actuality, this cannot be done because -.Fn addr2ascii -and -.Fn ascii2addr -are implemented in terms of the -.Xr inet 3 -functions, rather than the other way around. -.Sh ERRORS -When a failure is returned, -.Li errno -is set to one of the following values: -.Bl -tag -width [EPROTONOSUPPORT] -.It Bq Er ENAMETOOLONG -The -.Fn addr2ascii -routine was passed a -.Fa len -parameter which was inappropriate for the address family given by -.Fa af . -.It Bq Er EPROTONOSUPPORT -Either routine was passed an -.Fa af -parameter other than -.Dv AF_INET -or -.Dv AF_LINK . -.It Bq Er EINVAL -The string passed to -.Fn ascii2addr -was improperly formatted for address family -.Fa af . -.El -.Sh SEE ALSO -.Xr inet 3 , -.Xr linkaddr 3 , -.Xr inet 4 -.Sh HISTORY -An interface close to this one was originally suggested by Craig -Partridge. This particular interface originally appeared in the -.Tn INRIA -.Tn IPv6 -implementation. -.Sh AUTHORS -Code and documentation by -.An Garrett A. Wollman , -MIT Laboratory for Computer Science. -.Sh BUGS -The original implementations supported IPv6. This support should -eventually be resurrected. The -.Tn NRL -implementation also included support for the -.Dv AF_ISO -and -.Dv AF_NS -address families. -.Pp -The genericity of this interface is somewhat questionable. A truly -generic interface would provide a means for determining the length of -the buffer to be used so that it could be dynamically allocated, and -would always require a -.Dq Li "struct sockaddr" -to hold the binary address. Unfortunately, this is incompatible with existing -practice. This limitation means that a routine for printing network -addresses from arbitrary address families must still have internal -knowledge of the maximum buffer length needed and the appropriate part -of the address to use as the binary address. diff --git a/c/src/exec/libnetworking/libc/addr2ascii.c b/c/src/exec/libnetworking/libc/addr2ascii.c deleted file mode 100644 index dc651743b6..0000000000 --- a/c/src/exec/libnetworking/libc/addr2ascii.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright 1996 Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby - * granted, provided that both the above copyright notice and this - * permission notice appear in all copies, that both the above - * copyright notice and this permission notice appear in all - * supporting documentation, and that the name of M.I.T. not be used - * in advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. M.I.T. makes - * no representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied - * warranty. - * - * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS - * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT - * SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $ANA: addr2ascii.c,v 1.1 1996/06/13 18:41:46 wollman Exp $ - * - * $Id$ - */ - -#include -#include - -#include -#include - -#include -#include -#include - -/*- - * Convert a network address from binary to printable numeric format. - * This API is copied from INRIA's IPv6 implementation, but it is a - * bit bogus in two ways: - * - * 1) There is no value in passing both an address family and - * an address length; either one should imply the other, - * or we should be passing sockaddrs instead. - * 2) There should by contrast be /added/ a length for the buffer - * that we pass in, so that programmers are spared the need to - * manually calculate (read: ``guess'') the maximum length. - * - * Flash: the API is also the same in the NRL implementation, and seems to - * be some sort of standard, so we appear to be stuck with both the bad - * naming and the poor choice of arguments. - */ -char * -addr2ascii(af, addrp, len, buf) - int af; - const void *addrp; - int len; /* should be size_t XXX */ - char *buf; /* XXX should pass length of buffer */ -{ - static char staticbuf[64]; /* 64 for AF_LINK > 16 for AF_INET */ - - if (!buf) - buf = staticbuf; - - switch(af) { - case AF_INET: - if (len != sizeof(struct in_addr)) { - errno = ENAMETOOLONG; - return 0; - } - strcpy(buf, inet_ntoa(*(const struct in_addr *)addrp)); - break; - - case AF_LINK: - if (len != sizeof(struct sockaddr_dl)) { - errno = ENAMETOOLONG; - return 0; - } - strcpy(buf, link_ntoa((const struct sockaddr_dl *)addrp)); - break; - - default: - errno = EPROTONOSUPPORT; - return 0; - } - return buf; -} diff --git a/c/src/exec/libnetworking/libc/ascii2addr.c b/c/src/exec/libnetworking/libc/ascii2addr.c deleted file mode 100644 index e140244737..0000000000 --- a/c/src/exec/libnetworking/libc/ascii2addr.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright 1996 Massachusetts Institute of Technology - * - * Permission to use, copy, modify, and distribute this software and - * its documentation for any purpose and without fee is hereby - * granted, provided that both the above copyright notice and this - * permission notice appear in all copies, that both the above - * copyright notice and this permission notice appear in all - * supporting documentation, and that the name of M.I.T. not be used - * in advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. M.I.T. makes - * no representations about the suitability of this software for any - * purpose. It is provided "as is" without express or implied - * warranty. - * - * THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS - * ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT - * SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $ANA: ascii2addr.c,v 1.2 1996/06/13 18:46:02 wollman Exp $ - * - * $Id$ - */ - -#include -#include - -#include -#include - -#include -#include -#include - -int -ascii2addr(af, ascii, result) - int af; - const char *ascii; - void *result; -{ - struct in_addr *ina; - char strbuf[4*sizeof("123")]; /* long enough for V4 only */ - - switch(af) { - case AF_INET: - ina = result; - strbuf[0] = '\0'; - strncat(strbuf, ascii, (sizeof strbuf)-1); - if (inet_aton(strbuf, ina)) - return sizeof(struct in_addr); - errno = EINVAL; - break; - - case AF_LINK: - link_addr(ascii, result); - /* oops... no way to detect failure */ - return sizeof(struct sockaddr_dl); - - default: - errno = EPROTONOSUPPORT; - break; - } - - return -1; -} diff --git a/c/src/exec/libnetworking/libc/base64.c b/c/src/exec/libnetworking/libc/base64.c deleted file mode 100644 index 3017ccc01c..0000000000 --- a/c/src/exec/libnetworking/libc/base64.c +++ /dev/null @@ -1,318 +0,0 @@ -/* - * Copyright (c) 1996, 1998 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -/* - * Portions Copyright (c) 1995 by International Business Machines, Inc. - * - * International Business Machines, Inc. (hereinafter called IBM) grants - * permission under its copyrights to use, copy, modify, and distribute this - * Software with or without fee, provided that the above copyright notice and - * all paragraphs of this notice appear in all copies, and that the name of IBM - * not be used in connection with the marketing of any product incorporating - * the Software or modifications thereof, without specific, written prior - * permission. - * - * To the extent it has a right to do so, IBM grants an immunity from suit - * under its patents, if any, for the use, sale or manufacture of products to - * the extent that such products are used for performing Domain Name System - * dynamic updates in TCP/IP networks by means of the Software. No immunity is - * granted for any product per se or for any other function of any product. - * - * THE SOFTWARE IS PROVIDED "AS IS", AND IBM DISCLAIMS ALL WARRANTIES, - * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - * PARTICULAR PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, - * DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ARISING - * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE, EVEN - * IF IBM IS APPRISED OF THE POSSIBILITY OF SUCH DAMAGES. - */ - -#if !defined(__rtems__) -#if !defined(LINT) && !defined(CODECENTER) -static char rcsid[] = "$Id$"; -#endif /* not lint */ -#endif /* not rtems */ - -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#define Assert(Cond) if (!(Cond)) abort() - -static const char Base64[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; -static const char Pad64 = '='; - -/* (From RFC1521 and draft-ietf-dnssec-secext-03.txt) - The following encoding technique is taken from RFC 1521 by Borenstein - and Freed. It is reproduced here in a slightly edited form for - convenience. - - A 65-character subset of US-ASCII is used, enabling 6 bits to be - represented per printable character. (The extra 65th character, "=", - is used to signify a special processing function.) - - The encoding process represents 24-bit groups of input bits as output - strings of 4 encoded characters. Proceeding from left to right, a - 24-bit input group is formed by concatenating 3 8-bit input groups. - These 24 bits are then treated as 4 concatenated 6-bit groups, each - of which is translated into a single digit in the base64 alphabet. - - Each 6-bit group is used as an index into an array of 64 printable - characters. The character referenced by the index is placed in the - output string. - - Table 1: The Base64 Alphabet - - Value Encoding Value Encoding Value Encoding Value Encoding - 0 A 17 R 34 i 51 z - 1 B 18 S 35 j 52 0 - 2 C 19 T 36 k 53 1 - 3 D 20 U 37 l 54 2 - 4 E 21 V 38 m 55 3 - 5 F 22 W 39 n 56 4 - 6 G 23 X 40 o 57 5 - 7 H 24 Y 41 p 58 6 - 8 I 25 Z 42 q 59 7 - 9 J 26 a 43 r 60 8 - 10 K 27 b 44 s 61 9 - 11 L 28 c 45 t 62 + - 12 M 29 d 46 u 63 / - 13 N 30 e 47 v - 14 O 31 f 48 w (pad) = - 15 P 32 g 49 x - 16 Q 33 h 50 y - - Special processing is performed if fewer than 24 bits are available - at the end of the data being encoded. A full encoding quantum is - always completed at the end of a quantity. When fewer than 24 input - bits are available in an input group, zero bits are added (on the - right) to form an integral number of 6-bit groups. Padding at the - end of the data is performed using the '=' character. - - Since all base64 input is an integral number of octets, only the - ------------------------------------------------- - following cases can arise: - - (1) the final quantum of encoding input is an integral - multiple of 24 bits; here, the final unit of encoded - output will be an integral multiple of 4 characters - with no "=" padding, - (2) the final quantum of encoding input is exactly 8 bits; - here, the final unit of encoded output will be two - characters followed by two "=" padding characters, or - (3) the final quantum of encoding input is exactly 16 bits; - here, the final unit of encoded output will be three - characters followed by one "=" padding character. - */ - -int -b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize) { - size_t datalength = 0; - u_char input[3]; - u_char output[4]; - size_t i; - - while (2 < srclength) { - input[0] = *src++; - input[1] = *src++; - input[2] = *src++; - srclength -= 3; - - output[0] = input[0] >> 2; - output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); - output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); - output[3] = input[2] & 0x3f; - Assert(output[0] < 64); - Assert(output[1] < 64); - Assert(output[2] < 64); - Assert(output[3] < 64); - - if (datalength + 4 > targsize) - return (-1); - target[datalength++] = Base64[output[0]]; - target[datalength++] = Base64[output[1]]; - target[datalength++] = Base64[output[2]]; - target[datalength++] = Base64[output[3]]; - } - - /* Now we worry about padding. */ - if (0 != srclength) { - /* Get what's left. */ - input[0] = input[1] = input[2] = '\0'; - for (i = 0; i < srclength; i++) - input[i] = *src++; - - output[0] = input[0] >> 2; - output[1] = ((input[0] & 0x03) << 4) + (input[1] >> 4); - output[2] = ((input[1] & 0x0f) << 2) + (input[2] >> 6); - Assert(output[0] < 64); - Assert(output[1] < 64); - Assert(output[2] < 64); - - if (datalength + 4 > targsize) - return (-1); - target[datalength++] = Base64[output[0]]; - target[datalength++] = Base64[output[1]]; - if (srclength == 1) - target[datalength++] = Pad64; - else - target[datalength++] = Base64[output[2]]; - target[datalength++] = Pad64; - } - if (datalength >= targsize) - return (-1); - target[datalength] = '\0'; /* Returned value doesn't count \0. */ - return (datalength); -} - -/* skips all whitespace anywhere. - converts characters, four at a time, starting at (or after) - src from base - 64 numbers into three 8 bit bytes in the target area. - it returns the number of data bytes stored at the target, or -1 on error. - */ - -int -b64_pton(src, target, targsize) - char const *src; - u_char *target; - size_t targsize; -{ - int tarindex, state, ch; - char *pos; - - state = 0; - tarindex = 0; - - while ((ch = *src++) != '\0') { - if (isspace(ch)) /* Skip whitespace anywhere. */ - continue; - - if (ch == Pad64) - break; - - pos = strchr(Base64, ch); - if (pos == 0) /* A non-base64 character. */ - return (-1); - - switch (state) { - case 0: - if (target) { - if ((size_t)tarindex >= targsize) - return (-1); - target[tarindex] = (pos - Base64) << 2; - } - state = 1; - break; - case 1: - if (target) { - if ((size_t)tarindex + 1 >= targsize) - return (-1); - target[tarindex] |= (pos - Base64) >> 4; - target[tarindex+1] = ((pos - Base64) & 0x0f) - << 4 ; - } - tarindex++; - state = 2; - break; - case 2: - if (target) { - if ((size_t)tarindex + 1 >= targsize) - return (-1); - target[tarindex] |= (pos - Base64) >> 2; - target[tarindex+1] = ((pos - Base64) & 0x03) - << 6; - } - tarindex++; - state = 3; - break; - case 3: - if (target) { - if ((size_t)tarindex >= targsize) - return (-1); - target[tarindex] |= (pos - Base64); - } - tarindex++; - state = 0; - break; - default: - abort(); - } - } - - /* - * We are done decoding Base-64 chars. Let's see if we ended - * on a byte boundary, and/or with erroneous trailing characters. - */ - - if (ch == Pad64) { /* We got a pad char. */ - ch = *src++; /* Skip it, get next. */ - switch (state) { - case 0: /* Invalid = in first position */ - case 1: /* Invalid = in second position */ - return (-1); - - case 2: /* Valid, means one byte of info */ - /* Skip any number of spaces. */ - for ((void)NULL; ch != '\0'; ch = *src++) - if (!isspace(ch)) - break; - /* Make sure there is another trailing = sign. */ - if (ch != Pad64) - return (-1); - ch = *src++; /* Skip the = */ - /* Fall through to "single trailing =" case. */ - /* FALLTHROUGH */ - - case 3: /* Valid, means two bytes of info */ - /* - * We know this char is an =. Is there anything but - * whitespace after it? - */ - for ((void)NULL; ch != '\0'; ch = *src++) - if (!isspace(ch)) - return (-1); - - /* - * Now make sure for cases 2 and 3 that the "extra" - * bits that slopped past the last full byte were - * zeros. If we don't check them, they become a - * subliminal channel. - */ - if (target && target[tarindex] != 0) - return (-1); - } - } else { - /* - * We ended by seeing the end of the string. Make sure we - * have no partial bytes lying around. - */ - if (state != 0) - return (-1); - } - - return (tarindex); -} diff --git a/c/src/exec/libnetworking/libc/byteorder.3 b/c/src/exec/libnetworking/libc/byteorder.3 deleted file mode 100644 index 81bf604867..0000000000 --- a/c/src/exec/libnetworking/libc/byteorder.3 +++ /dev/null @@ -1,77 +0,0 @@ -.\" Copyright (c) 1983, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)byteorder.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd June 4, 1993 -.Dt BYTEORDER 3 -.Os BSD 4.2 -.Sh NAME -.Nm htonl , -.Nm htons , -.Nm ntohl , -.Nm ntohs -.Nd convert values between host and network byte order -.Sh SYNOPSIS -.Fd #include -.Ft u_long -.Fn htonl "u_long hostlong" -.Ft u_short -.Fn htons "u_short hostshort" -.Ft u_long -.Fn ntohl "u_long netlong" -.Ft u_short -.Fn ntohs "u_short netshort" -.Sh DESCRIPTION -These routines convert 16 and 32 bit quantities between network -byte order and host byte order. -On machines which have a byte order which is the same as the network -order, routines are defined as null macros. -.Pp -These routines are most often used in conjunction with Internet -addresses and ports as returned by -.Xr gethostbyname 3 -and -.Xr getservent 3 . -.Sh SEE ALSO -.Xr gethostbyname 3 , -.Xr getservent 3 -.Sh HISTORY -The -.Nm byteorder -functions appeared in -.Bx 4.2 . -.Sh BUGS -On the -.Tn VAX -bytes are handled backwards from most everyone else in -the world. This is not expected to be fixed in the near future. diff --git a/c/src/exec/libnetworking/libc/ether_addr.c b/c/src/exec/libnetworking/libc/ether_addr.c deleted file mode 100644 index 9b7a9abf44..0000000000 --- a/c/src/exec/libnetworking/libc/ether_addr.c +++ /dev/null @@ -1,226 +0,0 @@ -/* - * Copyright (c) 1995 - * Bill Paul . All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Bill Paul. - * 4. Neither the name of the author nor the names of any co-contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * ethernet address conversion and lookup routines - * - * Written by Bill Paul - * Center for Telecommunications Research - * Columbia University, New York City - * - * $Id$ - */ - - -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef YP -#include -#include -#include -#endif - -#ifndef _PATH_ETHERS -#define _PATH_ETHERS "/etc/ethers" -#endif - -/* - * Parse a string of text containing an ethernet address and hostname - * and separate it into its component parts. - */ -int ether_line(l, e, hostname) - char *l; - struct ether_addr *e; - char *hostname; -{ - int i, o[6]; - - i = sscanf(l, "%x:%x:%x:%x:%x:%x %s", &o[0], &o[1], &o[2], - &o[3], &o[4], &o[5], - hostname); - if (i != 7) - return (i); - - for (i=0; i<6; i++) - e->octet[i] = o[i]; - return (0); -} - -/* - * Convert an ASCII representation of an ethernet address to - * binary form. - */ -struct ether_addr *ether_aton(a) - char *a; -{ - int i; - static struct ether_addr o; - unsigned int o0, o1, o2, o3, o4, o5; - - i = sscanf(a, "%x:%x:%x:%x:%x:%x", &o0, &o1, &o2, &o3, &o4, &o5); - - if (i != 6) - return (NULL); - - o.octet[0]=o0; - o.octet[1]=o1; - o.octet[2]=o2; - o.octet[3]=o3; - o.octet[4]=o4; - o.octet[5]=o5; - - return ((struct ether_addr *)&o); -} - -/* - * Convert a binary representation of an ethernet address to - * an ASCII string. - */ -char *ether_ntoa(n) - struct ether_addr *n; -{ - int i; - static char a[18]; - - i = sprintf(a,"%x:%x:%x:%x:%x:%x",n->octet[0],n->octet[1],n->octet[2], - n->octet[3],n->octet[4],n->octet[5]); - if (i < 11) - return (NULL); - return ((char *)&a); -} - -/* - * Map an ethernet address to a hostname. Use either /etc/ethers or - * NIS/YP. - */ - -int ether_ntohost(hostname, e) - char *hostname; - struct ether_addr *e; -{ - FILE *fp; - char buf[BUFSIZ + 2]; - struct ether_addr local_ether; - char local_host[MAXHOSTNAMELEN]; -#ifdef YP - char *result; - int resultlen; - char *ether_a; - char *yp_domain; -#endif - if ((fp = fopen(_PATH_ETHERS, "r")) == NULL) - return (1); - - while (fgets(buf,BUFSIZ,fp)) { - if (buf[0] == '#') - continue; -#ifdef YP - if (buf[0] == '+') { - if (yp_get_default_domain(&yp_domain)) - continue; - ether_a = ether_ntoa(e); - if (yp_match(yp_domain, "ethers.byaddr", ether_a, - strlen(ether_a), &result, &resultlen)) { - continue; - } - strncpy(buf, result, resultlen); - buf[resultlen] = '\0'; - free(result); - } -#endif - if (!ether_line(buf, &local_ether, local_host)) { - if (!bcmp((char *)&local_ether.octet[0], - (char *)&e->octet[0], 6)) { - /* We have a match */ - strcpy(hostname, local_host); - fclose(fp); - return(0); - } - } - } - fclose(fp); - return (1); -} - -/* - * Map a hostname to an ethernet address using /etc/ethers or - * NIS/YP. - */ -int ether_hostton(hostname, e) - char *hostname; - struct ether_addr *e; -{ - FILE *fp; - char buf[BUFSIZ + 2]; - struct ether_addr local_ether; - char local_host[MAXHOSTNAMELEN]; -#ifdef YP - char *result; - int resultlen; - char *yp_domain; -#endif - if ((fp = fopen(_PATH_ETHERS, "r")) == NULL) - return (1); - - while (fgets(buf,BUFSIZ,fp)) { - if (buf[0] == '#') - continue; -#ifdef YP - if (buf[0] == '+') { - if (yp_get_default_domain(&yp_domain)) - continue; - if (yp_match(yp_domain, "ethers.byname", hostname, - strlen(hostname), &result, &resultlen)) { - continue; - } - strncpy(buf, result, resultlen); - buf[resultlen] = '\0'; - free(result); - } -#endif - if (!ether_line(buf, &local_ether, local_host)) { - if (!strcmp(hostname, local_host)) { - /* We have a match */ - bcopy((char *)&local_ether.octet[0], - (char *)&e->octet[0], 6); - fclose(fp); - return(0); - } - } - } - fclose(fp); - return (1); -} diff --git a/c/src/exec/libnetworking/libc/ethers.3 b/c/src/exec/libnetworking/libc/ethers.3 deleted file mode 100644 index afea48320a..0000000000 --- a/c/src/exec/libnetworking/libc/ethers.3 +++ /dev/null @@ -1,193 +0,0 @@ -.\" Copyright (c) 1995 -.\" Bill Paul . All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Bill Paul. -.\" 4. Neither the name of the author nor the names of any co-contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $Id$ -.\" -.Dd April 12, 1995 -.Dt ETHERS 3 -.Os FreeBSD 2.1 -.Sh NAME -.Nm ethers , -.Nm ether_line , -.Nm ether_aton , -.Nm ether_ntoa , -.Nm ether_ntohost , -.Nm ether_hostton -.Nd Ethernet address conversion and lookup routines -.Sh SYNOPSIS -.Fd #include -.Fd #include -.Fd #include -.Ft int -.Fn ether_line "char *l" "struct ether_addr *e" "char *hostname" -.Ft struct ether_addr * -.Fn ether_aton "char *a" -.Ft char * -.Fn ether_ntoa "struct ether_addr *n" -.Ft int -.Fn ether_ntohost "char *hostname" "struct ether_addr *e" -.Ft int -.Fn ether_hostton "char *hostname" "struct ether_addr *e" -.Sh DESCRIPTION -These functions operate on ethernet addresses using an -.Ar ether_addr -structure, which is defined in the header file -.Aq Pa netinet/if_ether.h : -.Bd -literal -offset indent -/* - * The number of bytes in an ethernet (MAC) address. - */ -#define ETHER_ADDR_LEN 6 - -/* - * Structure of a 48-bit Ethernet address. - */ -struct ether_addr { - u_char octet[ETHER_ADDR_LEN]; -}; -.Ed -.Pp -The function -.Fn ether_line -scans -.Ar l , -an -.Tn ASCII -string in -.Xr ethers 5 -format and sets -.Ar e -to the ethernet address specified in the string and -.Ar h -to the hostname. This function is used to parse lines from -.Pa /etc/ethers -into their component parts. -.Pp -The -.Fn ether_aton -function converts an -.Tn ASCII -representation of an ethernet address into an -.Ar ether_addr -structure. Likewise, -.Fn ether_ntoa -converts an ethernet address specified as an -.Ar ether_addr -structure into an -.Tn ASCII -string. -.Pp -The -.Fn ether_ntohost -and -.Fn ether_hostton -functions map ethernet addresses to their corresponding hostnames -as specified in the -.Pa /etc/ethers -database. -.Fn ether_ntohost -converts from ethernet address to hostname, and -.Fn ether_hostton -converts from hostname to ethernet address. -.Sh RETURN VALUES -.Fn ether_line -returns zero on success and non-zero if it was unable to parse -any part of the supplied line -.Ar l . -It returns the extracted ethernet address in the supplied -.Ar ether_addr -structure -.Ar e -and the hostname in the supplied string -.Ar h . -.Pp -On success, -.Fn ether_ntoa -returns a pointer to a string containing an -.Tn ASCII -representation of an ethernet address. If it is unable to convert -the supplied -.Ar ether_addr -structure, it returns a -.Dv NULL -pointer. Likewise, -.Fn ether_aton -returns a pointer to an -.Ar ether_addr -structure on success and a -.Dv NULL -pointer on failure. -.Pp -The -.Fn ether_ntohost -and -.Fn ether_hostton -functions both return zero on success or non-zero if they were -unable to find a match in the -.Pa /etc/ethers -database. -.Sh NOTES -The user must insure that the hostname strings passed to the -the -.Fn ether_line , -.Fn ether_ntohost -and -.Fn ether_hostton -functions are large enough to contain the returned hostnames. -.Sh NIS INTERACTION -If the -.Pa /etc/ethers -contains a line with a single + in it, the -.Fn ether_ntohost -and -.Fn ether_hostton -functions will attempt to consult the NIS -.Pa ethers.byname -and -.Pa ethers.byaddr -maps in addition to the data in the -.Pa /etc/ethers -file. -.Sh SEE ALSO -.Xr yp 4 , -.Xr ethers 5 -.Sh BUGS -.Pp -The -.Fn ether_aton -and -.Fn ether_ntoa -functions returns values that are stored in static memory areas -which may be overwritten the next time they are called. -.Sh HISTORY -This particular implementation of the -.Nm ethers -library functions were written for and first appeared in -.Fx 2.1 . diff --git a/c/src/exec/libnetworking/libc/gethostbydns.c b/c/src/exec/libnetworking/libc/gethostbydns.c deleted file mode 100644 index 3d80ffde7a..0000000000 --- a/c/src/exec/libnetworking/libc/gethostbydns.c +++ /dev/null @@ -1,773 +0,0 @@ -/* - * ++Copyright++ 1985, 1988, 1993 - * - - * Copyright (c) 1985, 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - - * --Copyright-- - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char fromrcsid[] = "From: Id: gethnamaddr.c,v 8.23 1998/04/07 04:59:46 vixie Exp $"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "res_config.h" - -#define SPRINTF(x) ((size_t)sprintf x) - -#define MAXALIASES 35 -#define MAXADDRS 35 - -static const char AskedForGot[] = - "gethostby*.gethostanswer: asked for \"%s\", got \"%s\""; - -static char *h_addr_ptrs[MAXADDRS + 1]; - -static struct hostent host; -static char *host_aliases[MAXALIASES]; -static char hostbuf[8*1024]; -static u_char host_addr[16]; /* IPv4 or IPv6 */ - -#ifdef RESOLVSORT -static void addrsort __P((char **, int)); -#endif - -#if PACKETSZ > 1024 -#define MAXPACKET PACKETSZ -#else -#define MAXPACKET 1024 -#endif - -typedef union { - HEADER hdr; - u_char buf[MAXPACKET]; -} querybuf; - -typedef union { - int32_t al; - char ac; -} align; - -extern int h_errno; -int _dns_ttl_; - -#ifdef DEBUG -static void -dprintf(msg, num) - char *msg; - int num; -{ - if (_res.options & RES_DEBUG) { - int save = errno; - - printf(msg, num); - errno = save; - } -} -#else -# define dprintf(msg, num) /*nada*/ -#endif - -#define BOUNDED_INCR(x) \ - do { \ - cp += x; \ - if (cp > eom) { \ - h_errno = NO_RECOVERY; \ - return (NULL); \ - } \ - } while (0) - -#define BOUNDS_CHECK(ptr, count) \ - do { \ - if ((ptr) + (count) > eom) { \ - h_errno = NO_RECOVERY; \ - return (NULL); \ - } \ - } while (0) - -static struct hostent * -gethostanswer(answer, anslen, qname, qtype) - const querybuf *answer; - int anslen; - const char *qname; - int qtype; -{ - register const HEADER *hp; - register const u_char *cp; - register int n; - const u_char *eom, *erdata; - char *bp, **ap, **hap; - int type, class, buflen, ancount, qdcount; - int haveanswer, had_error; - int toobig = 0; - char tbuf[MAXDNAME]; - const char *tname; - int (*name_ok) __P((const char *)); - - tname = qname; - host.h_name = NULL; - eom = answer->buf + anslen; - switch (qtype) { - case T_A: - case T_AAAA: - name_ok = res_hnok; - break; - case T_PTR: - name_ok = res_dnok; - break; - default: - h_errno = NO_RECOVERY; - return (NULL); /* XXX should be abort(); */ - } - /* - * find first satisfactory answer - */ - hp = &answer->hdr; - ancount = ntohs(hp->ancount); - qdcount = ntohs(hp->qdcount); - bp = hostbuf; - buflen = sizeof hostbuf; - cp = answer->buf; - BOUNDED_INCR(HFIXEDSZ); - if (qdcount != 1) { - h_errno = NO_RECOVERY; - return (NULL); - } - n = dn_expand(answer->buf, eom, cp, bp, buflen); - if ((n < 0) || !(*name_ok)(bp)) { - h_errno = NO_RECOVERY; - return (NULL); - } - BOUNDED_INCR(n + QFIXEDSZ); - if (qtype == T_A || qtype == T_AAAA) { - /* res_send() has already verified that the query name is the - * same as the one we sent; this just gets the expanded name - * (i.e., with the succeeding search-domain tacked on). - */ - n = strlen(bp) + 1; /* for the \0 */ - if (n >= MAXHOSTNAMELEN) { - h_errno = NO_RECOVERY; - return (NULL); - } - host.h_name = bp; - bp += n; - buflen -= n; - /* The qname can be abbreviated, but h_name is now absolute. */ - qname = host.h_name; - } - ap = host_aliases; - *ap = NULL; - host.h_aliases = host_aliases; - hap = h_addr_ptrs; - *hap = NULL; - host.h_addr_list = h_addr_ptrs; - haveanswer = 0; - had_error = 0; - _dns_ttl_ = -1; - while (ancount-- > 0 && cp < eom && !had_error) { - n = dn_expand(answer->buf, eom, cp, bp, buflen); - if ((n < 0) || !(*name_ok)(bp)) { - had_error++; - continue; - } - cp += n; /* name */ - BOUNDS_CHECK(cp, 3 * INT16SZ + INT32SZ); - type = _getshort(cp); - cp += INT16SZ; /* type */ - class = _getshort(cp); - cp += INT16SZ; /* class */ - if (qtype == T_A && type == T_A) - _dns_ttl_ = _getlong(cp); - cp += INT32SZ; /* TTL */ - n = _getshort(cp); - cp += INT16SZ; /* len */ - BOUNDS_CHECK(cp, n); - erdata = cp + n; - if (class != C_IN) { - /* XXX - debug? syslog? */ - cp += n; - continue; /* XXX - had_error++ ? */ - } - if ((qtype == T_A || qtype == T_AAAA) && type == T_CNAME) { - if (ap >= &host_aliases[MAXALIASES-1]) - continue; - n = dn_expand(answer->buf, eom, cp, tbuf, sizeof tbuf); - if ((n < 0) || !(*name_ok)(tbuf)) { - had_error++; - continue; - } - cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return (NULL); - } - /* Store alias. */ - *ap++ = bp; - n = strlen(bp) + 1; /* for the \0 */ - if (n >= MAXHOSTNAMELEN) { - had_error++; - continue; - } - bp += n; - buflen -= n; - /* Get canonical name. */ - n = strlen(tbuf) + 1; /* for the \0 */ - if (n > buflen || n >= MAXHOSTNAMELEN) { - had_error++; - continue; - } - strcpy(bp, tbuf); - host.h_name = bp; - bp += n; - buflen -= n; - continue; - } - if (qtype == T_PTR && type == T_CNAME) { - n = dn_expand(answer->buf, eom, cp, tbuf, sizeof tbuf); - if (n < 0 || !res_dnok(tbuf)) { - had_error++; - continue; - } - cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return (NULL); - } - /* Get canonical name. */ - n = strlen(tbuf) + 1; /* for the \0 */ - if (n > buflen || n >= MAXHOSTNAMELEN) { - had_error++; - continue; - } - strcpy(bp, tbuf); - tname = bp; - bp += n; - buflen -= n; - continue; - } - if (type != qtype) { - syslog(LOG_NOTICE|LOG_AUTH, - "gethostby*.gethostanswer: asked for \"%s %s %s\", got type \"%s\"", - qname, p_class(C_IN), p_type(qtype), - p_type(type)); - cp += n; - continue; /* XXX - had_error++ ? */ - } - switch (type) { - case T_PTR: - if (strcasecmp(tname, bp) != 0) { - syslog(LOG_NOTICE|LOG_AUTH, - AskedForGot, qname, bp); - cp += n; - continue; /* XXX - had_error++ ? */ - } - n = dn_expand(answer->buf, eom, cp, bp, buflen); - if ((n < 0) || !res_hnok(bp)) { - had_error++; - break; - } -#if MULTI_PTRS_ARE_ALIASES - cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return (NULL); - } - if (!haveanswer) - host.h_name = bp; - else if (ap < &host_aliases[MAXALIASES-1]) - *ap++ = bp; - else - n = -1; - if (n != -1) { - n = strlen(bp) + 1; /* for the \0 */ - if (n >= MAXHOSTNAMELEN) { - had_error++; - break; - } - bp += n; - buflen -= n; - } - break; -#else - host.h_name = bp; - if (_res.options & RES_USE_INET6) { - n = strlen(bp) + 1; /* for the \0 */ - if (n >= MAXHOSTNAMELEN) { - had_error++; - break; - } - bp += n; - buflen -= n; - _map_v4v6_hostent(&host, &bp, &buflen); - } - h_errno = NETDB_SUCCESS; - return (&host); -#endif - case T_A: - case T_AAAA: - if (strcasecmp(host.h_name, bp) != 0) { - syslog(LOG_NOTICE|LOG_AUTH, - AskedForGot, host.h_name, bp); - cp += n; - continue; /* XXX - had_error++ ? */ - } - if (n != host.h_length) { - cp += n; - continue; - } - if (!haveanswer) { - register int nn; - - host.h_name = bp; - nn = strlen(bp) + 1; /* for the \0 */ - bp += nn; - buflen -= nn; - } - - bp += sizeof(align) - ((u_long)bp % sizeof(align)); - - if (bp + n >= &hostbuf[sizeof hostbuf]) { - dprintf("size (%d) too big\n", n); - had_error++; - continue; - } - if (hap >= &h_addr_ptrs[MAXADDRS-1]) { - if (!toobig++) - dprintf("Too many addresses (%d)\n", - MAXADDRS); - cp += n; - continue; - } - bcopy(cp, *hap++ = bp, n); - bp += n; - buflen -= n; - cp += n; - if (cp != erdata) { - h_errno = NO_RECOVERY; - return (NULL); - } - break; - default: - dprintf("Impossible condition (type=%d)\n", type); - h_errno = NO_RECOVERY; - return (NULL); - /* BIND has abort() here, too risky on bad data */ - } - if (!had_error) - haveanswer++; - } - if (haveanswer) { - *ap = NULL; - *hap = NULL; -# if defined(RESOLVSORT) - /* - * Note: we sort even if host can take only one address - * in its return structures - should give it the "best" - * address in that case, not some random one - */ - if (_res.nsort && haveanswer > 1 && qtype == T_A) - addrsort(h_addr_ptrs, haveanswer); -# endif /*RESOLVSORT*/ - if (!host.h_name) { - n = strlen(qname) + 1; /* for the \0 */ - if (n > buflen || n >= MAXHOSTNAMELEN) - goto no_recovery; - strcpy(bp, qname); - host.h_name = bp; - bp += n; - buflen -= n; - } - if (_res.options & RES_USE_INET6) - _map_v4v6_hostent(&host, &bp, &buflen); - h_errno = NETDB_SUCCESS; - return (&host); - } - no_recovery: - h_errno = NO_RECOVERY; - return (NULL); -} - -struct hostent * -__dns_getanswer(answer, anslen, qname, qtype) - const char *answer; - int anslen; - const char *qname; - int qtype; -{ - switch(qtype) { - case T_AAAA: - host.h_addrtype = AF_INET6; - host.h_length = IN6ADDRSZ; - break; - case T_A: - default: - host.h_addrtype = AF_INET; - host.h_length = INADDRSZ; - break; - } - - return(gethostanswer((const querybuf *)answer, anslen, qname, qtype)); -} - -struct hostent * -_gethostbydnsname(name, af) - const char *name; - int af; -{ - querybuf buf; - register const char *cp; - char *bp; - int n, size, type, len; - - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (NULL); - } - - switch (af) { - case AF_INET: - size = INADDRSZ; - type = T_A; - break; - case AF_INET6: - size = IN6ADDRSZ; - type = T_AAAA; - break; - default: - h_errno = NETDB_INTERNAL; - errno = EAFNOSUPPORT; - return (NULL); - } - - host.h_addrtype = af; - host.h_length = size; - - /* - * if there aren't any dots, it could be a user-level alias. - * this is also done in res_query() since we are not the only - * function that looks up host names. - */ - if (!strchr(name, '.') && (cp = __hostalias(name))) - name = cp; - - /* - * disallow names consisting only of digits/dots, unless - * they end in a dot. - */ - if (isdigit((int)name[0])) - for (cp = name;; ++cp) { - if (!*cp) { - if (*--cp == '.') - break; - /* - * All-numeric, no dot at the end. - * Fake up a hostent as if we'd actually - * done a lookup. - */ - if (inet_pton(af, name, host_addr) <= 0) { - h_errno = HOST_NOT_FOUND; - return (NULL); - } - strncpy(hostbuf, name, MAXDNAME); - hostbuf[MAXDNAME] = '\0'; - bp = hostbuf + MAXDNAME; - len = sizeof hostbuf - MAXDNAME; - host.h_name = hostbuf; - host.h_aliases = host_aliases; - host_aliases[0] = NULL; - h_addr_ptrs[0] = (char *)host_addr; - h_addr_ptrs[1] = NULL; - host.h_addr_list = h_addr_ptrs; - if (_res.options & RES_USE_INET6) - _map_v4v6_hostent(&host, &bp, &len); - h_errno = NETDB_SUCCESS; - return (&host); - } - if (!isdigit((int)*cp) && *cp != '.') - break; - } - if ((isxdigit((int)name[0]) && strchr(name, ':') != NULL) || - name[0] == ':') - for (cp = name;; ++cp) { - if (!*cp) { - if (*--cp == '.') - break; - /* - * All-IPv6-legal, no dot at the end. - * Fake up a hostent as if we'd actually - * done a lookup. - */ - if (inet_pton(af, name, host_addr) <= 0) { - h_errno = HOST_NOT_FOUND; - return (NULL); - } - strncpy(hostbuf, name, MAXDNAME); - hostbuf[MAXDNAME] = '\0'; - bp = hostbuf + MAXDNAME; - len = sizeof hostbuf - MAXDNAME; - host.h_name = hostbuf; - host.h_aliases = host_aliases; - host_aliases[0] = NULL; - h_addr_ptrs[0] = (char *)host_addr; - h_addr_ptrs[1] = NULL; - host.h_addr_list = h_addr_ptrs; - h_errno = NETDB_SUCCESS; - return (&host); - } - if (!isxdigit((int)*cp) && *cp != ':' && *cp != '.') - break; - } - - if ((n = res_search(name, C_IN, type, buf.buf, sizeof(buf))) < 0) { - dprintf("res_search failed (%d)\n", n); - return (NULL); - } - return (gethostanswer(&buf, n, name, type)); -} - -struct hostent * -_gethostbydnsaddr(addr, len, af) - const char *addr; /* XXX should have been def'd as u_char! */ - int len, af; -{ - const u_char *uaddr = (const u_char *)addr; - static const u_char mapped[] = { 0,0, 0,0, 0,0, 0,0, 0,0, 0xff,0xff }; - static const u_char tunnelled[] = { 0,0, 0,0, 0,0, 0,0, 0,0, 0,0 }; - int n, size; - querybuf buf; - register struct hostent *hp; - char qbuf[MAXDNAME+1], *qp; -#ifdef SUNSECURITY - register struct hostent *rhp; - char **haddr; - u_long old_options; - char hname2[MAXDNAME+1]; -#endif /*SUNSECURITY*/ - - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (NULL); - } - if (af == AF_INET6 && len == IN6ADDRSZ && - (!bcmp(uaddr, mapped, sizeof mapped) || - !bcmp(uaddr, tunnelled, sizeof tunnelled))) { - /* Unmap. */ - addr += sizeof mapped; - uaddr += sizeof mapped; - af = AF_INET; - len = INADDRSZ; - } - switch (af) { - case AF_INET: - size = INADDRSZ; - break; - case AF_INET6: - size = IN6ADDRSZ; - break; - default: - errno = EAFNOSUPPORT; - h_errno = NETDB_INTERNAL; - return (NULL); - } - if (size != len) { - errno = EINVAL; - h_errno = NETDB_INTERNAL; - return (NULL); - } - switch (af) { - case AF_INET: - (void) sprintf(qbuf, "%u.%u.%u.%u.in-addr.arpa", - (uaddr[3] & 0xff), - (uaddr[2] & 0xff), - (uaddr[1] & 0xff), - (uaddr[0] & 0xff)); - break; - case AF_INET6: - qp = qbuf; - for (n = IN6ADDRSZ - 1; n >= 0; n--) { - qp += SPRINTF((qp, "%x.%x.", - uaddr[n] & 0xf, - (uaddr[n] >> 4) & 0xf)); - } - strcpy(qp, "ip6.int"); - break; - default: - abort(); - } - n = res_query(qbuf, C_IN, T_PTR, (u_char *)buf.buf, sizeof buf.buf); - if (n < 0) { - dprintf("res_query failed (%d)\n", n); - return (NULL); - } - if (!(hp = gethostanswer(&buf, n, qbuf, T_PTR))) - return (NULL); /* h_errno was set by gethostanswer() */ -#ifdef SUNSECURITY - if (af == AF_INET) { - /* - * turn off search as the name should be absolute, - * 'localhost' should be matched by defnames - */ - strncpy(hname2, hp->h_name, MAXDNAME); - hname2[MAXDNAME] = '\0'; - old_options = _res.options; - _res.options &= ~RES_DNSRCH; - _res.options |= RES_DEFNAMES; - if (!(rhp = gethostbyname(hname2))) { - syslog(LOG_NOTICE|LOG_AUTH, - "gethostbyaddr: No A record for %s (verifying [%s])", - hname2, inet_ntoa(*((struct in_addr *)addr))); - _res.options = old_options; - h_errno = HOST_NOT_FOUND; - return (NULL); - } - _res.options = old_options; - for (haddr = rhp->h_addr_list; *haddr; haddr++) - if (!memcmp(*haddr, addr, INADDRSZ)) - break; - if (!*haddr) { - syslog(LOG_NOTICE|LOG_AUTH, - "gethostbyaddr: A record of %s != PTR record [%s]", - hname2, inet_ntoa(*((struct in_addr *)addr))); - h_errno = HOST_NOT_FOUND; - return (NULL); - } - } -#endif /*SUNSECURITY*/ - hp->h_addrtype = af; - hp->h_length = len; - bcopy(addr, host_addr, len); - h_addr_ptrs[0] = (char *)host_addr; - h_addr_ptrs[1] = NULL; - if (af == AF_INET && (_res.options & RES_USE_INET6)) { - _map_v4v6_address((char*)host_addr, (char*)host_addr); - hp->h_addrtype = AF_INET6; - hp->h_length = IN6ADDRSZ; - } - h_errno = NETDB_SUCCESS; - return (hp); -} - -#ifdef RESOLVSORT -static void -addrsort(ap, num) - char **ap; - int num; -{ - int i, j; - char **p; - short aval[MAXADDRS]; - int needsort = 0; - - p = ap; - for (i = 0; i < num; i++, p++) { - for (j = 0 ; (unsigned)j < _res.nsort; j++) - if (_res.sort_list[j].addr.s_addr == - (((struct in_addr *)(*p))->s_addr & _res.sort_list[j].mask)) - break; - aval[i] = j; - if (needsort == 0 && i > 0 && j < aval[i-1]) - needsort = i; - } - if (!needsort) - return; - - while (needsort < num) { - for (j = needsort - 1; j >= 0; j--) { - if (aval[j] > aval[j+1]) { - char *hp; - - i = aval[j]; - aval[j] = aval[j+1]; - aval[j+1] = i; - - hp = ap[j]; - ap[j] = ap[j+1]; - ap[j+1] = hp; - - } else - break; - } - needsort++; - } -} -#endif -void -_sethostdnsent(stayopen) - int stayopen; -{ - if ((_res.options & RES_INIT) == 0 && res_init() == -1) - return; - if (stayopen) - _res.options |= RES_STAYOPEN | RES_USEVC; -} - -void -_endhostdnsent() -{ - _res.options &= ~(RES_STAYOPEN | RES_USEVC); - res_close(); -} diff --git a/c/src/exec/libnetworking/libc/gethostbyht.c b/c/src/exec/libnetworking/libc/gethostbyht.c deleted file mode 100644 index 29f2805367..0000000000 --- a/c/src/exec/libnetworking/libc/gethostbyht.c +++ /dev/null @@ -1,202 +0,0 @@ -/*- - * Copyright (c) 1985, 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - - * --Copyright-- - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include /* XXX */ -#include /* XXX */ - -#define MAXALIASES 35 - -static struct hostent host; -static char *host_aliases[MAXALIASES]; -static char hostbuf[BUFSIZ+1]; -static FILE *hostf = NULL; -static u_char host_addr[16]; /* IPv4 or IPv6 */ -static char *h_addr_ptrs[2]; -static int stayopen = 0; - -void -_sethosthtent(f) - int f; -{ - if (!hostf) - hostf = fopen(_PATH_HOSTS, "r" ); - else - rewind(hostf); - stayopen = f; -} - -void -_endhosthtent() -{ - if (hostf && !stayopen) { - (void) fclose(hostf); - hostf = NULL; - } -} - -struct hostent * -gethostent() -{ - char *p; - register char *cp, **q; - int af, len; - - if (!hostf && !(hostf = fopen(_PATH_HOSTS, "r" ))) { - h_errno = NETDB_INTERNAL; - return (NULL); - } - again: - if (!(p = fgets(hostbuf, sizeof hostbuf, hostf))) { - h_errno = HOST_NOT_FOUND; - return (NULL); - } - if (*p == '#') - goto again; - if (!(cp = strpbrk(p, "#\n"))) - goto again; - *cp = '\0'; - if (!(cp = strpbrk(p, " \t"))) - goto again; - *cp++ = '\0'; - if (inet_pton(AF_INET6, p, host_addr) > 0) { - af = AF_INET6; - len = IN6ADDRSZ; - } else if (inet_pton(AF_INET, p, host_addr) > 0) { - if (_res.options & RES_USE_INET6) { - _map_v4v6_address((char*)host_addr, (char*)host_addr); - af = AF_INET6; - len = IN6ADDRSZ; - } else { - af = AF_INET; - len = INADDRSZ; - } - } else { - goto again; - } - h_addr_ptrs[0] = (char *)host_addr; - h_addr_ptrs[1] = NULL; - host.h_addr_list = h_addr_ptrs; - host.h_length = len; - host.h_addrtype = af; - while (*cp == ' ' || *cp == '\t') - cp++; - host.h_name = cp; - q = host.h_aliases = host_aliases; - if ((cp = strpbrk(cp, " \t")) != NULL) - *cp++ = '\0'; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &host_aliases[MAXALIASES - 1]) - *q++ = cp; - if ((cp = strpbrk(cp, " \t")) != NULL) - *cp++ = '\0'; - } - *q = NULL; - h_errno = NETDB_SUCCESS; - return (&host); -} - -struct hostent * -_gethostbyhtname(name, af) - const char *name; - int af; -{ - register struct hostent *p; - register char **cp; - - sethostent(0); - while ((p = gethostent()) != NULL) { - if (p->h_addrtype != af) - continue; - if (strcasecmp(p->h_name, name) == 0) - break; - for (cp = p->h_aliases; *cp != 0; cp++) - if (strcasecmp(*cp, name) == 0) - goto found; - } -found: - endhostent(); - return (p); -} - -struct hostent * -_gethostbyhtaddr(addr, len, af) - const char *addr; - int len, af; -{ - register struct hostent *p; - - sethostent(0); - while ((p = gethostent()) != NULL) - if (p->h_addrtype == af && !bcmp(p->h_addr, addr, len)) - break; - endhostent(); - return (p); -} diff --git a/c/src/exec/libnetworking/libc/gethostbyname.3 b/c/src/exec/libnetworking/libc/gethostbyname.3 deleted file mode 100644 index e21dc79f1d..0000000000 --- a/c/src/exec/libnetworking/libc/gethostbyname.3 +++ /dev/null @@ -1,305 +0,0 @@ -.\" Copyright (c) 1983, 1987, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" From: @(#)gethostbyname.3 8.4 (Berkeley) 5/25/95 -.\" $Id$ -.\" -.Dd May 25, 1995 -.Dt GETHOSTBYNAME 3 -.Os BSD 4.2 -.Sh NAME -.Nm gethostbyname , -.Nm gethostbyname2 , -.Nm gethostbyaddr , -.Nm gethostent , -.Nm sethostent , -.Nm endhostent , -.Nm herror , -.Nm hstrerror -.Nd get network host entry -.Sh SYNOPSIS -.Fd #include -.Vt extern int h_errno; -.Ft struct hostent * -.Fn gethostbyname "const char *name" -.Ft struct hostent * -.Fn gethostbyname2 "const char *name" "int af" -.Ft struct hostent * -.Fn gethostbyaddr "const char *addr" "int len" "int type" -.Ft struct hostent * -.Fn gethostent void -.Ft void -.Fn sethostent "int stayopen" -.Ft void -.Fn endhostent void -.Ft void -.Fn herror "const char *string" -.Ft const char * -.Fn hstrerror "int err" -.Sh DESCRIPTION -The -.Fn gethostbyname , -.Fn gethostbyname2 -and -.Fn gethostbyaddr -functions -each return a pointer to an object with the -following structure describing an internet host -referenced by name or by address, respectively. -This structure contains either the information obtained from the name server, -.Xr named 8 , -or broken-out fields from a line in -.Pa /etc/hosts . -If the local name server is not running these routines do a lookup in -.Pa /etc/hosts . -.Bd -literal -struct hostent { - char *h_name; /* official name of host */ - char **h_aliases; /* alias list */ - int h_addrtype; /* host address type */ - int h_length; /* length of address */ - char **h_addr_list; /* list of addresses from name server */ -}; -#define h_addr h_addr_list[0] /* address, for backward compatibility */ -.Ed -.Pp -The members of this structure are: -.Bl -tag -width h_addr_list -.It Fa h_name -Official name of the host. -.It Fa h_aliases -A NULL-terminated array of alternate names for the host. -.It Fa h_addrtype -The type of address being returned; usually -.Dv AF_INET . -.It Fa h_length -The length, in bytes, of the address. -.It Fa h_addr_list -A NULL-terminated array of network addresses for the host. -Host addresses are returned in network byte order. -.It Fa h_addr -The first address in -.Fa h_addr_list ; -this is for backward compatibility. -.El -.Pp -When using the nameserver, -.Fn gethostbyname -and -.Fn gethostbyname -will search for the named host in the current domain and its parents -unless the name ends in a dot. -If the name contains no dot, and if the environment variable -.Dq Ev HOSTALIASES -contains the name of an alias file, the alias file will first be searched -for an alias matching the input name. -See -.Xr hostname 7 -for the domain search procedure and the alias file format. -.Pp -The -.Fn gethostbyname2 -function is an evolution of -.Fn gethostbyname -which is intended to allow lookups in address families other than -.Dv AF_INET , -for example -.Dv AF_INET6 . -Currently the -.Fa af -argument must be specified as -.Dv AF_INET -else the function will return -.Dv NULL -after having set -.Va h_errno -to -.Dv NETDB_INTERNAL -.Pp -The -.Fn sethostent -function -may be used to request the use of a connected -.Tn TCP -socket for queries. -If the -.Fa stayopen -flag is non-zero, -this sets the option to send all queries to the name server using -.Tn TCP -and to retain the connection after each call to -.Fn gethostbyname , -.Fn gethostbyname2 -or -.Fn gethostbyaddr . -Otherwise, queries are performed using -.Tn UDP -datagrams. -.Pp -The -.Fn endhostent -function -closes the -.Tn TCP -connection. -.Pp -The -.Fn herror -function writes a message to the diagnostic output consisting of the -string parameter -.Fa s , -the constant string ": ", and a message corresponding to the value of -.Va h_errno . -.Pp -The -.Fn hstrerror -function returns a string which is the message text corresponding to the -value of the -.Fa err -parameter. -.Sh FILES -.Bl -tag -width /etc/resolv.conf -compact -.It Pa /etc/hosts -.It Pa /etc/host.conf -.It Pa /etc/resolv.conf -.El -.Sh DIAGNOSTICS -Error return status from -.Fn gethostbyname , -.Fn gethostbyname2 -and -.Fn gethostbyaddr -is indicated by return of a null pointer. -The external integer -.Va h_errno -may then be checked to see whether this is a temporary failure -or an invalid or unknown host. -The routine -.Fn herror -can be used to print an error message describing the failure. -If its argument -.Fa string -is -.Pf non Dv -NULL , -it is printed, followed by a colon and a space. -The error message is printed with a trailing newline. -.Pp -The variable -.Va h_errno -can have the following values: -.Bl -tag -width HOST_NOT_FOUND -.It Dv HOST_NOT_FOUND -No such host is known. -.It Dv TRY_AGAIN -This is usually a temporary error -and means that the local server did not receive -a response from an authoritative server. -A retry at some later time may succeed. -.It Dv NO_RECOVERY -Some unexpected server failure was encountered. -This is a non-recoverable error. -.It Dv NO_DATA -The requested name is valid but does not have an IP address; -this is not a temporary error. -This means that the name is known to the name server but there is no address -associated with this name. -Another type of request to the name server using this domain name -will result in an answer; -for example, a mail-forwarder may be registered for this domain. -.El -.Sh SEE ALSO -.Xr resolver 3 , -.Xr hosts 5 , -.Xr hostname 7 , -.Xr named 8 -.Sh CAVEAT -The -.Fn gethostent -function -is defined, and -.Fn sethostent -and -.Fn endhostent -are redefined, -when -.Xr libc 3 -is built to use only the routines to lookup in -.Pa /etc/hosts -and not the name server. -.Pp -The -.Fn gethostent -function -reads the next line of -.Pa /etc/hosts , -opening the file if necessary. -.Pp -The -.Fn sethostent -function -opens and/or rewinds the file -.Pa /etc/hosts . -If the -.Fa stayopen -argument is non-zero, -the file will not be closed after each call to -.Fn gethostbyname , -.Fn gethostbyname2 -or -.Fn gethostbyaddr . -.Pp -The -.Fn endhostent -function -closes the file. -.Sh HISTORY -The -.Fn herror -function appeared in -.Bx 4.3 . -The -.Fn endhostent , -.Fn gethostbyaddr , -.Fn gethostbyname , -.Fn gethostent , -and -.Fn sethostent -functions appeared in -.Bx 4.2 . -The -.Fn gethostbyname2 -function first appeared in bind-4.9.4. -.Sh BUGS -These functions use static data storage; -if the data is needed for future use, it should be -copied before any subsequent calls overwrite it. -Only the Internet -address format is currently understood. diff --git a/c/src/exec/libnetworking/libc/gethostbynis.c b/c/src/exec/libnetworking/libc/gethostbynis.c deleted file mode 100644 index 45dbe5a85d..0000000000 --- a/c/src/exec/libnetworking/libc/gethostbynis.c +++ /dev/null @@ -1,142 +0,0 @@ -/*- - * Copyright (c) 1994, Garrett Wollman - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id$"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef YP -#include -#include -#include -#endif - -#define MAXALIASES 35 -#define MAXADDRS 35 - -#ifdef YP -static char *host_aliases[MAXALIASES]; -static char hostaddr[MAXADDRS]; -static char *host_addrs[2]; -#endif /* YP */ - -static struct hostent * -_gethostbynis(name, map, af) - const char *name; - char *map; - int af; -{ -#ifdef YP - register char *cp, **q; - char *result; - int resultlen; - static struct hostent h; - static char *domain = (char *)NULL; - static char ypbuf[YPMAXRECORD + 2]; - - switch(af) { - case AF_INET: - break; - default: - case AF_INET6: - errno = EAFNOSUPPORT; - return NULL; - } - - if (domain == (char *)NULL) - if (yp_get_default_domain (&domain)) - return ((struct hostent *)NULL); - - if (yp_match(domain, map, name, strlen(name), &result, &resultlen)) - return ((struct hostent *)NULL); - - /* avoid potential memory leak */ - bcopy((char *)result, (char *)&ypbuf, resultlen); - ypbuf[resultlen] = '\0'; - free(result); - result = (char *)&ypbuf; - - if ((cp = index(result, '\n'))) - *cp = '\0'; - - cp = strpbrk(result, " \t"); - *cp++ = '\0'; - h.h_addr_list = host_addrs; - h.h_addr = hostaddr; - *((u_long *)h.h_addr) = inet_addr(result); - h.h_length = sizeof(u_long); - h.h_addrtype = AF_INET; - while (*cp == ' ' || *cp == '\t') - cp++; - h.h_name = cp; - q = h.h_aliases = host_aliases; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &host_aliases[MAXALIASES - 1]) - *q++ = cp; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - } - *q = NULL; - return (&h); -#else - return (NULL); -#endif /* YP */ -} - -struct hostent * -_gethostbynisname(name, af) - const char *name; - int af; -{ - return _gethostbynis(name, "hosts.byname", af); -} - -struct hostent * -_gethostbynisaddr(addr, len, af) - const char *addr; - int len; - int af; -{ - return _gethostbynis(inet_ntoa(*(struct in_addr *)addr),"hosts.byaddr", af); -} diff --git a/c/src/exec/libnetworking/libc/gethostnamadr.c b/c/src/exec/libnetworking/libc/gethostnamadr.c deleted file mode 100644 index 92f7a21014..0000000000 --- a/c/src/exec/libnetworking/libc/gethostnamadr.c +++ /dev/null @@ -1,224 +0,0 @@ -/*- - * Copyright (c) 1994, Garrett Wollman - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id$"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include /* XXX hack for _res */ -#include /* XXX hack for _res */ - -#define _PATH_HOSTCONF "/etc/host.conf" - -enum service_type { - SERVICE_NONE = 0, - SERVICE_BIND, - SERVICE_HOSTS, - SERVICE_NIS }; -#define SERVICE_MAX SERVICE_NIS - -static struct { - const char *name; - enum service_type type; -} service_names[] = { - { "hosts", SERVICE_HOSTS }, - { "/etc/hosts", SERVICE_HOSTS }, - { "hosttable", SERVICE_HOSTS }, - { "htable", SERVICE_HOSTS }, - { "bind", SERVICE_BIND }, - { "dns", SERVICE_BIND }, - { "domain", SERVICE_BIND }, - { "yp", SERVICE_NIS }, - { "yellowpages", SERVICE_NIS }, - { "nis", SERVICE_NIS }, - { 0, SERVICE_NONE } -}; - -static enum service_type service_order[SERVICE_MAX + 1]; -static int service_done = 0; - -static enum service_type -get_service_name(const char *name) { - int i; - for(i = 0; service_names[i].type != SERVICE_NONE; i++) { - if(!strcasecmp(name, service_names[i].name)) { - return service_names[i].type; - } - } - return SERVICE_NONE; -} - -static void -init_services() -{ - char *cp, *p, buf[BUFSIZ]; - register int cc = 0; - FILE *fd; - - if ((fd = (FILE *)fopen(_PATH_HOSTCONF, "r")) == NULL) { - /* make some assumptions */ - service_order[0] = SERVICE_BIND; - service_order[1] = SERVICE_HOSTS; - service_order[2] = SERVICE_NONE; - } else { - while (fgets(buf, BUFSIZ, fd) != NULL && cc < SERVICE_MAX) { - if(buf[0] == '#') - continue; - - p = buf; - while ((cp = strsep(&p, "\n \t,:;")) != NULL && *cp == '\0') - ; - if (cp == NULL) - continue; - do { - if (isalpha((int)cp[0])) { - service_order[cc] = get_service_name(cp); - if(service_order[cc] != SERVICE_NONE) - cc++; - } - while ((cp = strsep(&p, "\n \t,:;")) != NULL && *cp == '\0') - ; - } while(cp != NULL && cc < SERVICE_MAX); - } - service_order[cc] = SERVICE_NONE; - fclose(fd); - } - service_done = 1; -} - -struct hostent * -gethostbyname(const char *name) -{ - struct hostent *hp; - - if (_res.options & RES_USE_INET6) { /* XXX */ - hp = gethostbyname2(name, AF_INET6); /* XXX */ - if (hp) /* XXX */ - return (hp); /* XXX */ - } /* XXX */ - return (gethostbyname2(name, AF_INET)); -} - -struct hostent * -gethostbyname2(const char *name, int type) -{ - struct hostent *hp = 0; - int nserv = 0; - - if (!service_done) - init_services(); - - while (!hp) { - switch (service_order[nserv]) { - case SERVICE_NONE: - return NULL; - case SERVICE_HOSTS: - hp = _gethostbyhtname(name, type); - break; - case SERVICE_BIND: - hp = _gethostbydnsname(name, type); - break; - case SERVICE_NIS: - hp = _gethostbynisname(name, type); - break; - } - nserv++; - } - return hp; -} - -struct hostent * -gethostbyaddr(const char *addr, int len, int type) -{ - struct hostent *hp = 0; - int nserv = 0; - - if (!service_done) - init_services(); - - while (!hp) { - switch (service_order[nserv]) { - case SERVICE_NONE: - return 0; - case SERVICE_HOSTS: - hp = _gethostbyhtaddr(addr, len, type); - break; - case SERVICE_BIND: - hp = _gethostbydnsaddr(addr, len, type); - break; - case SERVICE_NIS: - hp = _gethostbynisaddr(addr, len, type); - break; - } - nserv++; - } - return hp; -} - -#ifdef _THREAD_SAFE -struct hostent_data; - -/* - * Temporary function (not thread safe) - */ -int gethostbyaddr_r(const char *addr, int len, int type, - struct hostent *result, struct hostent_data *buffer) -{ - struct hostent *hp; - int ret; - if ((hp = gethostbyaddr(addr, len, type)) == NULL) { - ret = -1; - } else { - memcpy(result, hp, sizeof(struct hostent)); - ret = 0; - } - return(ret); -} -#endif - -void -sethostent(stayopen) - int stayopen; -{ - _sethosthtent(stayopen); - _sethostdnsent(stayopen); -} - -void -endhostent() -{ - _endhosthtent(); - _endhostdnsent(); -} diff --git a/c/src/exec/libnetworking/libc/gethostname.c b/c/src/exec/libnetworking/libc/gethostname.c deleted file mode 100644 index 81dc2267c2..0000000000 --- a/c/src/exec/libnetworking/libc/gethostname.c +++ /dev/null @@ -1,26 +0,0 @@ -/* - * $Id$ - */ - -#include "config.h" - -/* - * Solaris doesn't include the gethostname call by default. - */ -#include -#include - -#include - -/* - * PUBLIC: #ifndef HAVE_GETHOSTNAME - * PUBLIC: int gethostname __P((char *, int)); - * PUBLIC: #endif - */ -int -gethostname(host, len) - char *host; - int len; -{ - return (sysinfo(SI_HOSTNAME, host, len) == -1 ? -1 : 0); -} diff --git a/c/src/exec/libnetworking/libc/getnetbydns.c b/c/src/exec/libnetworking/libc/getnetbydns.c deleted file mode 100644 index 8f8c576332..0000000000 --- a/c/src/exec/libnetworking/libc/getnetbydns.c +++ /dev/null @@ -1,313 +0,0 @@ -/*- - * Copyright (c) 1985, 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - - * --Copyright-- - */ -/* Portions Copyright (c) 1993 Carlos Leandro and Rui Salgueiro - * Dep. Matematica Universidade de Coimbra, Portugal, Europe - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "res_config.h" - -extern int h_errno; - -#define BYADDR 0 -#define BYNAME 1 -#define MAXALIASES 35 - -#if PACKETSZ > 1024 -#define MAXPACKET PACKETSZ -#else -#define MAXPACKET 1024 -#endif - -typedef union { - HEADER hdr; - u_char buf[MAXPACKET]; -} querybuf; - -typedef union { - long al; - char ac; -} align; - -static struct netent * -getnetanswer(answer, anslen, net_i) - querybuf *answer; - int anslen; - int net_i; -{ - - register HEADER *hp; - register u_char *cp; - register int n; - u_char *eom; - int type, class, buflen, ancount, qdcount, haveanswer, i, nchar; - char aux1[MAXHOSTNAMELEN], aux2[MAXHOSTNAMELEN], ans[MAXHOSTNAMELEN]; - char *in, *st, *pauxt, *bp, **ap; - char *paux1 = &aux1[0], *paux2 = &aux2[0], flag = 0; -static struct netent net_entry; -static char *net_aliases[MAXALIASES], netbuf[PACKETSZ]; - - /* - * find first satisfactory answer - * - * answer --> +------------+ ( MESSAGE ) - * | Header | - * +------------+ - * | Question | the question for the name server - * +------------+ - * | Answer | RRs answering the question - * +------------+ - * | Authority | RRs pointing toward an authority - * | Additional | RRs holding additional information - * +------------+ - */ - eom = answer->buf + anslen; - hp = &answer->hdr; - ancount = ntohs(hp->ancount); /* #/records in the answer section */ - qdcount = ntohs(hp->qdcount); /* #/entries in the question section */ - bp = netbuf; - buflen = sizeof(netbuf); - cp = answer->buf + HFIXEDSZ; - if (!qdcount) { - if (hp->aa) - h_errno = HOST_NOT_FOUND; - else - h_errno = TRY_AGAIN; - return (NULL); - } - while (qdcount-- > 0) - cp += __dn_skipname(cp, eom) + QFIXEDSZ; - ap = net_aliases; - *ap = NULL; - net_entry.n_aliases = net_aliases; - haveanswer = 0; - while (--ancount >= 0 && cp < eom) { - n = dn_expand(answer->buf, eom, cp, bp, buflen); - if ((n < 0) || !res_dnok(bp)) - break; - cp += n; - ans[0] = '\0'; - (void)strncpy(&ans[0], bp, sizeof(ans) - 1); - ans[sizeof(ans) - 1] = '\0'; - GETSHORT(type, cp); - GETSHORT(class, cp); - cp += INT32SZ; /* TTL */ - GETSHORT(n, cp); - if (class == C_IN && type == T_PTR) { - n = dn_expand(answer->buf, eom, cp, bp, buflen); - if ((n < 0) || !res_hnok(bp)) { - cp += n; - return (NULL); - } - cp += n; - *ap++ = bp; - bp += strlen(bp) + 1; - net_entry.n_addrtype = - (class == C_IN) ? AF_INET : AF_UNSPEC; - haveanswer++; - } - } - if (haveanswer) { - *ap = NULL; - switch (net_i) { - case BYADDR: - net_entry.n_name = *net_entry.n_aliases; - net_entry.n_net = 0L; - break; - case BYNAME: - in = *net_entry.n_aliases; - net_entry.n_name = &ans[0]; - aux2[0] = '\0'; - for (i = 0; i < 4; i++) { - for (st = in, nchar = 0; - *st != '.'; - st++, nchar++) - ; - if (nchar != 1 || *in != '0' || flag) { - flag = 1; - (void)strncpy(paux1, - (i==0) ? in : in-1, - (i==0) ?nchar : nchar+1); - paux1[(i==0) ? nchar : nchar+1] = '\0'; - pauxt = paux2; - paux2 = strcat(paux1, paux2); - paux1 = pauxt; - } - in = ++st; - } - net_entry.n_net = inet_network(paux2); - break; - } - net_entry.n_aliases++; - return (&net_entry); - } - h_errno = TRY_AGAIN; - return (NULL); -} - -struct netent * -_getnetbydnsaddr(net, net_type) - register unsigned long net; - register int net_type; -{ - unsigned int netbr[4]; - int nn, anslen; - querybuf buf; - char qbuf[MAXDNAME]; - unsigned long net2; - struct netent *net_entry; - - if (net_type != AF_INET) - return (NULL); - - for (nn = 4, net2 = net; net2; net2 >>= 8) - netbr[--nn] = net2 & 0xff; - switch (nn) { - case 3: /* Class A */ - sprintf(qbuf, "0.0.0.%u.in-addr.arpa", netbr[3]); - break; - case 2: /* Class B */ - sprintf(qbuf, "0.0.%u.%u.in-addr.arpa", netbr[3], netbr[2]); - break; - case 1: /* Class C */ - sprintf(qbuf, "0.%u.%u.%u.in-addr.arpa", netbr[3], netbr[2], - netbr[1]); - break; - case 0: /* Class D - E */ - sprintf(qbuf, "%u.%u.%u.%u.in-addr.arpa", netbr[3], netbr[2], - netbr[1], netbr[0]); - break; - } - anslen = res_query(qbuf, C_IN, T_PTR, (u_char *)&buf, sizeof(buf)); - if (anslen < 0) { -#ifdef DEBUG - if (_res.options & RES_DEBUG) - printf("res_query failed\n"); -#endif - return (NULL); - } - net_entry = getnetanswer(&buf, anslen, BYADDR); - if (net_entry) { - unsigned u_net = net; /* maybe net should be unsigned ? */ - - /* Strip trailing zeros */ - while ((u_net & 0xff) == 0 && u_net != 0) - u_net >>= 8; - net_entry->n_net = u_net; - return (net_entry); - } - return (NULL); -} - -struct netent * -_getnetbydnsname(net) - register const char *net; -{ - int anslen; - querybuf buf; - char qbuf[MAXDNAME]; - - if ((_res.options & RES_INIT) == 0 && res_init() == -1) { - h_errno = NETDB_INTERNAL; - return (NULL); - } - strncpy(qbuf, net, sizeof(qbuf) - 1); - qbuf[sizeof(qbuf) - 1] = '\0'; - anslen = res_search(qbuf, C_IN, T_PTR, (u_char *)&buf, sizeof(buf)); - if (anslen < 0) { -#ifdef DEBUG - if (_res.options & RES_DEBUG) - printf("res_query failed\n"); -#endif - return (NULL); - } - return getnetanswer(&buf, anslen, BYNAME); -} - -void -_setnetdnsent(stayopen) - int stayopen; -{ - if (stayopen) - _res.options |= RES_STAYOPEN | RES_USEVC; -} - -void -_endnetdnsent() -{ - _res.options &= ~(RES_STAYOPEN | RES_USEVC); - res_close(); -} diff --git a/c/src/exec/libnetworking/libc/getnetbyht.c b/c/src/exec/libnetworking/libc/getnetbyht.c deleted file mode 100644 index f7b7b1091d..0000000000 --- a/c/src/exec/libnetworking/libc/getnetbyht.c +++ /dev/null @@ -1,173 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* Portions Copyright (c) 1993 Carlos Leandro and Rui Salgueiro - * Dep. Matematica Universidade de Coimbra, Portugal, Europe - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * from getnetent.c 1.1 (Coimbra) 93/06/02 - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getnetent.c 8.1 (Berkeley) 6/4/93"; -static char orig_rcsid[] = "From: Id: getnetent.c,v 8.4 1997/06/01 20:34:37 vixie Exp"; -static chat rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#define MAXALIASES 35 - -static FILE *netf; -static char line[BUFSIZ+1]; -static struct netent net; -static char *net_aliases[MAXALIASES]; -static int _net_stayopen; - -void -_setnethtent(f) - int f; -{ - - if (netf == NULL) - netf = fopen(_PATH_NETWORKS, "r" ); - else - rewind(netf); - _net_stayopen |= f; -} - -void -_endnethtent() -{ - - if (netf) { - fclose(netf); - netf = NULL; - } - _net_stayopen = 0; -} - -struct netent * -getnetent() -{ - char *p; - register char *cp, **q; - - if (netf == NULL && (netf = fopen(_PATH_NETWORKS, "r" )) == NULL) - return (NULL); -again: - p = fgets(line, sizeof line, netf); - if (p == NULL) - return (NULL); - if (*p == '#') - goto again; - cp = strpbrk(p, "#\n"); - if (cp == NULL) - goto again; - *cp = '\0'; - net.n_name = p; - cp = strpbrk(p, " \t"); - if (cp == NULL) - goto again; - *cp++ = '\0'; - while (*cp == ' ' || *cp == '\t') - cp++; - p = strpbrk(cp, " \t"); - if (p != NULL) - *p++ = '\0'; - net.n_net = inet_network(cp); - net.n_addrtype = AF_INET; - q = net.n_aliases = net_aliases; - if (p != NULL) - cp = p; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &net_aliases[MAXALIASES - 1]) - *q++ = cp; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - } - *q = NULL; - return (&net); -} - -struct netent * -_getnetbyhtname(name) - register const char *name; -{ - register struct netent *p; - register char **cp; - - setnetent(_net_stayopen); - while ( (p = getnetent()) ) { - if (strcasecmp(p->n_name, name) == 0) - break; - for (cp = p->n_aliases; *cp != 0; cp++) - if (strcasecmp(*cp, name) == 0) - goto found; - } -found: - if (!_net_stayopen) - endnetent(); - return (p); -} - -struct netent * -_getnetbyhtaddr(net, type) - register unsigned long net; - register int type; -{ - register struct netent *p; - - setnetent(_net_stayopen); - while ( (p = getnetent()) ) - if (p->n_addrtype == type && p->n_net == net) - break; - if (!_net_stayopen) - endnetent(); - return (p); -} diff --git a/c/src/exec/libnetworking/libc/getnetbynis.c b/c/src/exec/libnetworking/libc/getnetbynis.c deleted file mode 100644 index 0549016ba2..0000000000 --- a/c/src/exec/libnetworking/libc/getnetbynis.c +++ /dev/null @@ -1,177 +0,0 @@ -/*- - * Copyright (c) 1994, Garrett Wollman - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)$Id$"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef YP -#include -#include -#include -#endif - -#define MAXALIASES 35 -#define MAXADDRS 35 - -#ifdef YP -static char *host_aliases[MAXALIASES]; -#endif /* YP */ - -static struct netent * -_getnetbynis(name, map, af) - const char *name; - char *map; - int af; -{ -#ifdef YP - register char *cp, **q; - static char *result; - int resultlen; - static struct netent h; - static char *domain = (char *)NULL; - static char ypbuf[YPMAXRECORD + 2]; - - switch(af) { - case AF_INET: - break; - default: - case AF_INET6: - errno = EAFNOSUPPORT; - return NULL; - } - - if (domain == (char *)NULL) - if (yp_get_default_domain (&domain)) - return (NULL); - - if (yp_match(domain, map, name, strlen(name), &result, &resultlen)) - return (NULL); - - bcopy((char *)result, (char *)&ypbuf, resultlen); - ypbuf[resultlen] = '\0'; - free(result); - result = (char *)&ypbuf; - - if ((cp = index(result, '\n'))) - *cp = '\0'; - - cp = strpbrk(result, " \t"); - *cp++ = '\0'; - h.n_name = result; - - while (*cp == ' ' || *cp == '\t') - cp++; - - h.n_net = inet_network(cp); - h.n_addrtype = AF_INET; - - q = h.n_aliases = host_aliases; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &host_aliases[MAXALIASES - 1]) - *q++ = cp; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - } - *q = NULL; - return (&h); -#else - return (NULL); -#endif -} - -struct netent * -_getnetbynisname(name) - const char *name; -{ - return _getnetbynis(name, "networks.byname", AF_INET); -} - -struct netent * -_getnetbynisaddr(addr, af) - unsigned long addr; - int af; -{ - char *str, *cp; - unsigned long net2; - int nn; - unsigned int netbr[4]; - char buf[MAXDNAME]; - - if (af != AF_INET) { - errno = EAFNOSUPPORT; - return (NULL); - } - - for (nn = 4, net2 = addr; net2; net2 >>= 8) { - netbr[--nn] = net2 & 0xff; - } - - switch (nn) { - case 3: /* Class A */ - sprintf(buf, "%u", netbr[3]); - break; - case 2: /* Class B */ - sprintf(buf, "%u.%u", netbr[2], netbr[3]); - break; - case 1: /* Class C */ - sprintf(buf, "%u.%u.%u", netbr[1], netbr[2], netbr[3]); - break; - case 0: /* Class D - E */ - sprintf(buf, "%u.%u.%u.%u", netbr[0], netbr[1], - netbr[2], netbr[3]); - break; - } - - str = (char *)&buf; - cp = str + (strlen(str) - 2); - - while(!strcmp(cp, ".0")) { - *cp = '\0'; - cp = str + (strlen(str) - 2); - } - - return _getnetbynis(str, "networks.byaddr", af); -} diff --git a/c/src/exec/libnetworking/libc/getnetent.3 b/c/src/exec/libnetworking/libc/getnetent.3 deleted file mode 100644 index aec93b5876..0000000000 --- a/c/src/exec/libnetworking/libc/getnetent.3 +++ /dev/null @@ -1,159 +0,0 @@ -.\" Copyright (c) 1983, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)getnetent.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd June 4, 1993 -.Dt GETNETENT 3 -.Os BSD 4.2 -.Sh NAME -.Nm getnetent , -.Nm getnetbyaddr , -.Nm getnetbyname , -.Nm setnetent , -.Nm endnetent -.Nd get network entry -.Sh SYNOPSIS -.Fd #include -.Ft struct netent * -.Fn getnetent void -.Ft struct netent * -.Fn getnetbyname "const char *name" -.Ft struct netent * -.Fn getnetbyaddr "unsigned long net" "int type" -.Ft void -.Fn setnetent "int stayopen" -.Ft void -.Fn endnetent void -.Sh DESCRIPTION -The -.Fn getnetent , -.Fn getnetbyname , -and -.Fn getnetbyaddr -functions -each return a pointer to an object with the -following structure -containing the broken-out -fields of a line in the network data base, -.Pa /etc/networks . -.Bd -literal -offset indent -struct netent { - char *n_name; /* official name of net */ - char **n_aliases; /* alias list */ - int n_addrtype; /* net number type */ - unsigned long n_net; /* net number */ -}; -.Ed -.Pp -The members of this structure are: -.Bl -tag -width n_addrtype -.It Fa n_name -The official name of the network. -.It Fa n_aliases -A zero terminated list of alternate names for the network. -.It Fa n_addrtype -The type of the network number returned; currently only AF_INET. -.It Fa n_net -The network number. Network numbers are returned in machine byte -order. -.El -.Pp -The -.Fn getnetent -function -reads the next line of the file, opening the file if necessary. -.Pp -The -.Fn setnetent -function -opens and rewinds the file. If the -.Fa stayopen -flag is non-zero, -the net data base will not be closed after each call to -.Fn getnetbyname -or -.Fn getnetbyaddr . -.Pp -The -.Fn endnetent -function -closes the file. -.Pp -The -.Fn getnetbyname -function -and -.Fn getnetbyaddr -sequentially search from the beginning -of the file until a matching -net name or -net address and type is found, -or until -.Dv EOF -is encountered. The -.Fa type -must be -.Dv AF_INET . -Network numbers are supplied in host order. -.Sh FILES -.Bl -tag -width /etc/networks -compact -.It Pa /etc/networks -.El -.Sh DIAGNOSTICS -Null pointer -(0) returned on -.Dv EOF -or error. -.Sh SEE ALSO -.Xr networks 5 -.Pp -.%T RFC 1101 -.Sh HISTORY -The -.Fn getnetent , -.Fn getnetbyaddr , -.Fn getnetbyname , -.Fn setnetent , -and -.Fn endnetent -functions appeared in -.Bx 4.2 . -.Sh BUGS -The data space used by -these functions is static; if future use requires the data, it should be -copied before any subsequent calls to these functions overwrite it. -Only Internet network -numbers are currently understood. -Expecting network numbers to fit -in no more than 32 bits is probably -naive. diff --git a/c/src/exec/libnetworking/libc/getnetnamadr.c b/c/src/exec/libnetworking/libc/getnetnamadr.c deleted file mode 100644 index 4d6597f98c..0000000000 --- a/c/src/exec/libnetworking/libc/getnetnamadr.c +++ /dev/null @@ -1,190 +0,0 @@ -/*- - * Copyright (c) 1994, Garrett Wollman - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef _PATH_NETCONF -#define _PATH_NETCONF "/etc/host.conf" -#endif - -enum service_type { - SERVICE_NONE = 0, - SERVICE_BIND, - SERVICE_TABLE, - SERVICE_NIS }; -#define SERVICE_MAX SERVICE_NIS - -static struct { - const char *name; - enum service_type type; -} service_names[] = { - { "hosts", SERVICE_TABLE }, - { "/etc/hosts", SERVICE_TABLE }, - { "hosttable", SERVICE_TABLE }, - { "htable", SERVICE_TABLE }, - { "bind", SERVICE_BIND }, - { "dns", SERVICE_BIND }, - { "domain", SERVICE_BIND }, - { "yp", SERVICE_NIS }, - { "yellowpages", SERVICE_NIS }, - { "nis", SERVICE_NIS }, - { 0, SERVICE_NONE } -}; - -static enum service_type service_order[SERVICE_MAX + 1]; -static int service_done = 0; - -static enum service_type -get_service_name(const char *name) { - int i; - for(i = 0; service_names[i].type != SERVICE_NONE; i++) { - if(!strcasecmp(name, service_names[i].name)) { - return service_names[i].type; - } - } - return SERVICE_NONE; -} - -static void -init_services() -{ - char *cp, *p, buf[BUFSIZ]; - register int cc = 0; - FILE *fd; - - if ((fd = (FILE *)fopen(_PATH_NETCONF, "r")) == NULL) { - /* make some assumptions */ - service_order[0] = SERVICE_TABLE; - service_order[1] = SERVICE_NONE; - } else { - while (fgets(buf, BUFSIZ, fd) != NULL && cc < SERVICE_MAX) { - if(buf[0] == '#') - continue; - - p = buf; - while ((cp = strsep(&p, "\n \t,:;")) != NULL && *cp == '\0') - ; - if (cp == NULL) - continue; - do { - if (isalpha(cp[0])) { - service_order[cc] = get_service_name(cp); - if(service_order[cc] != SERVICE_NONE) - cc++; - } - while ((cp = strsep(&p, "\n \t,:;")) != NULL && *cp == '\0') - ; - } while(cp != NULL && cc < SERVICE_MAX); - } - service_order[cc] = SERVICE_NONE; - fclose(fd); - } - service_done = 1; -} - -struct netent * -getnetbyname(const char *name) -{ - struct netent *hp = 0; - int nserv = 0; - - if (!service_done) - init_services(); - - while (!hp) { - switch (service_order[nserv]) { - case SERVICE_NONE: - return NULL; - case SERVICE_TABLE: - hp = _getnetbyhtname(name); - break; - case SERVICE_BIND: - hp = _getnetbydnsname(name); - break; - case SERVICE_NIS: - hp = _getnetbynisname(name); - break; - } - nserv++; - } - return hp; -} - -struct netent * -getnetbyaddr(addr, af) - u_long addr; - int af; -{ - struct netent *hp = 0; - int nserv = 0; - - if (!service_done) - init_services(); - - while (!hp) { - switch (service_order[nserv]) { - case SERVICE_NONE: - return 0; - case SERVICE_TABLE: - hp = _getnetbyhtaddr(addr, af); - break; - case SERVICE_BIND: - hp = _getnetbydnsaddr(addr, af); - break; - case SERVICE_NIS: - hp = _getnetbynisaddr(addr, af); - break; - } - nserv++; - } - return hp; -} - -void -setnetent(stayopen) - int stayopen; -{ - _setnethtent(stayopen); - _setnetdnsent(stayopen); -} - -void -endnetent() -{ - _endnethtent(); - _endnetdnsent(); -} diff --git a/c/src/exec/libnetworking/libc/getproto.c b/c/src/exec/libnetworking/libc/getproto.c deleted file mode 100644 index c2a653f4b4..0000000000 --- a/c/src/exec/libnetworking/libc/getproto.c +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getproto.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include - -extern int _proto_stayopen; - -struct protoent * -getprotobynumber(proto) - register int proto; -{ - register struct protoent *p; - - setprotoent(_proto_stayopen); - while ( (p = getprotoent()) ) - if (p->p_proto == proto) - break; - if (!_proto_stayopen) - endprotoent(); - return (p); -} diff --git a/c/src/exec/libnetworking/libc/getprotoent.3 b/c/src/exec/libnetworking/libc/getprotoent.3 deleted file mode 100644 index 784461d7e3..0000000000 --- a/c/src/exec/libnetworking/libc/getprotoent.3 +++ /dev/null @@ -1,147 +0,0 @@ -.\" Copyright (c) 1983, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)getprotoent.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd June 4, 1993 -.Dt GETPROTOENT 3 -.Os BSD 4.2 -.Sh NAME -.Nm getprotoent , -.Nm getprotobynumber , -.Nm getprotobyname , -.Nm setprotoent , -.Nm endprotoent -.Nd get protocol entry -.Sh SYNOPSIS -.Fd #include -.Ft struct protoent * -.Fn getprotoent void -.Ft struct protoent * -.Fn getprotobyname "const char *name" -.Ft struct protoent * -.Fn getprotobynumber "int proto" -.Ft void -.Fn setprotoent "int stayopen" -.Ft void -.Fn endprotoent void -.Sh DESCRIPTION -The -.Fn getprotoent , -.Fn getprotobyname , -and -.Fn getprotobynumber -functions -each return a pointer to an object with the -following structure -containing the broken-out -fields of a line in the network protocol data base, -.Pa /etc/protocols . -.Bd -literal -offset indent -.Pp -struct protoent { - char *p_name; /* official name of protocol */ - char **p_aliases; /* alias list */ - int p_proto; /* protocol number */ -}; -.Ed -.Pp -The members of this structure are: -.Bl -tag -width p_aliases -.It Fa p_name -The official name of the protocol. -.It Fa p_aliases -A zero terminated list of alternate names for the protocol. -.It Fa p_proto -The protocol number. -.El -.Pp -The -.Fn getprotoent -function -reads the next line of the file, opening the file if necessary. -.Pp -The -.Fn setprotoent -function -opens and rewinds the file. If the -.Fa stayopen -flag is non-zero, -the net data base will not be closed after each call to -.Fn getprotobyname -or -.Fn getprotobynumber . -.Pp -The -.Fn endprotoent -function -closes the file. -.Pp -The -.Fn getprotobyname -function -and -.Fn getprotobynumber -sequentially search from the beginning -of the file until a matching -protocol name or -protocol number is found, -or until -.Dv EOF -is encountered. -.Sh RETURN VALUES -Null pointer -(0) returned on -.Dv EOF -or error. -.Sh FILES -.Bl -tag -width /etc/protocols -compact -.It Pa /etc/protocols -.El -.Sh SEE ALSO -.Xr protocols 5 -.Sh HISTORY -The -.Fn getprotoent , -.Fn getprotobynumber , -.Fn getprotobyname , -.Fn setprotoent , -and -.Fn endprotoent -functions appeared in -.Bx 4.2 . -.Sh BUGS -These functions use a static data space; -if the data is needed for future use, it should be -copied before any subsequent calls overwrite it. -Only the Internet -protocols are currently understood. diff --git a/c/src/exec/libnetworking/libc/getprotoent.c b/c/src/exec/libnetworking/libc/getprotoent.c deleted file mode 100644 index 0b9cefec68..0000000000 --- a/c/src/exec/libnetworking/libc/getprotoent.c +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getprotoent.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include - -#define MAXALIASES 35 - -static FILE *protof = NULL; -static char line[BUFSIZ+1]; -static struct protoent proto; -static char *proto_aliases[MAXALIASES]; -int _proto_stayopen; - -void -setprotoent(f) - int f; -{ - if (protof == NULL) - protof = fopen(_PATH_PROTOCOLS, "r" ); - else - rewind(protof); - _proto_stayopen |= f; -} - -void -endprotoent() -{ - if (protof) { - fclose(protof); - protof = NULL; - } - _proto_stayopen = 0; -} - -struct protoent * -getprotoent() -{ - char *p; - register char *cp, **q; - - if (protof == NULL && (protof = fopen(_PATH_PROTOCOLS, "r" )) == NULL) - return (NULL); -again: - if ((p = fgets(line, BUFSIZ, protof)) == NULL) - return (NULL); - if (*p == '#') - goto again; - cp = strpbrk(p, "#\n"); - if (cp == NULL) - goto again; - *cp = '\0'; - proto.p_name = p; - cp = strpbrk(p, " \t"); - if (cp == NULL) - goto again; - *cp++ = '\0'; - while (*cp == ' ' || *cp == '\t') - cp++; - p = strpbrk(cp, " \t"); - if (p != NULL) - *p++ = '\0'; - proto.p_proto = atoi(cp); - q = proto.p_aliases = proto_aliases; - if (p != NULL) { - cp = p; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &proto_aliases[MAXALIASES - 1]) - *q++ = cp; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - } - } - *q = NULL; - return (&proto); -} diff --git a/c/src/exec/libnetworking/libc/getprotoname.c b/c/src/exec/libnetworking/libc/getprotoname.c deleted file mode 100644 index 46880eb005..0000000000 --- a/c/src/exec/libnetworking/libc/getprotoname.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getprotoname.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -extern int _proto_stayopen; - -struct protoent * -getprotobyname(name) - register const char *name; -{ - register struct protoent *p; - register char **cp; - - setprotoent(_proto_stayopen); - while ( (p = getprotoent()) ) { - if (strcmp(p->p_name, name) == 0) - break; - for (cp = p->p_aliases; *cp != 0; cp++) - if (strcmp(*cp, name) == 0) - goto found; - } -found: - if (!_proto_stayopen) - endprotoent(); - return (p); -} diff --git a/c/src/exec/libnetworking/libc/getservbyname.c b/c/src/exec/libnetworking/libc/getservbyname.c deleted file mode 100644 index 19936907d3..0000000000 --- a/c/src/exec/libnetworking/libc/getservbyname.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getservbyname.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -extern int _serv_stayopen; - -struct servent * -getservbyname(name, proto) - const char *name, *proto; -{ - register struct servent *p; - register char **cp; - -#ifdef YP - extern char *___getservbyname_yp; - extern char *___getservbyproto_yp; - - ___getservbyname_yp = (char *)name; - ___getservbyproto_yp = (char *)proto; -#endif - - setservent(_serv_stayopen); - while ( (p = getservent()) ) { - if (strcmp(name, p->s_name) == 0) - goto gotname; - for (cp = p->s_aliases; *cp; cp++) - if (strcmp(name, *cp) == 0) - goto gotname; - continue; -gotname: - if (proto == 0 || strcmp(p->s_proto, proto) == 0) - break; - } - if (!_serv_stayopen) - endservent(); - -#ifdef YP - ___getservbyname_yp = NULL; - ___getservbyproto_yp = NULL; -#endif - - return (p); -} diff --git a/c/src/exec/libnetworking/libc/getservbyport.c b/c/src/exec/libnetworking/libc/getservbyport.c deleted file mode 100644 index c8433954e1..0000000000 --- a/c/src/exec/libnetworking/libc/getservbyport.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getservbyport.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -extern int _serv_stayopen; - -struct servent * -getservbyport(port, proto) - int port; - const char *proto; -{ - register struct servent *p; - -#ifdef YP - extern int ___getservbyport_yp; - extern char *___getservbyproto_yp; - - ___getservbyport_yp = port; - ___getservbyproto_yp = (char *)proto; -#endif - - setservent(_serv_stayopen); - while ( (p = getservent()) ) { - if (p->s_port != port) - continue; - if (proto == 0 || strcmp(p->s_proto, proto) == 0) - break; - } - if (!_serv_stayopen) - endservent(); - -#ifdef YP - ___getservbyport_yp = 0; - ___getservbyproto_yp = NULL; -#endif - - return (p); -} diff --git a/c/src/exec/libnetworking/libc/getservent.3 b/c/src/exec/libnetworking/libc/getservent.3 deleted file mode 100644 index 79c18a3beb..0000000000 --- a/c/src/exec/libnetworking/libc/getservent.3 +++ /dev/null @@ -1,156 +0,0 @@ -.\" Copyright (c) 1983, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" From: @(#)getservent.3 8.3 (Berkeley) 1/12/94 -.\" $Id$ -.\" -.Dd July 9, 1995 -.Dt GETSERVENT 3 -.Os BSD 4.2 -.Sh NAME -.Nm getservent , -.Nm getservbyport , -.Nm getservbyname , -.Nm setservent , -.Nm endservent -.Nd get service entry -.Sh SYNOPSIS -.Fd #include -.Ft struct servent * -.Fn getservent -.Ft struct servent * -.Fn getservbyname "const char *name" "const char *proto" -.Ft struct servent * -.Fn getservbyport "int port" "const char *proto" -.Ft void -.Fn setservent "int stayopen" -.Ft void -.Fn endservent void -.Sh DESCRIPTION -The -.Fn getservent , -.Fn getservbyname , -and -.Fn getservbyport -functions -each return a pointer to an object with the -following structure -containing the broken-out -fields of a line in the network services data base, -.Pa /etc/services . -.Bd -literal -offset indent -struct servent { - char *s_name; /* official name of service */ - char **s_aliases; /* alias list */ - int s_port; /* port service resides at */ - char *s_proto; /* protocol to use */ -}; -.Ed -.Pp -The members of this structure are: -.Bl -tag -width s_aliases -.It Fa s_name -The official name of the service. -.It Fa s_aliases -A zero terminated list of alternate names for the service. -.It Fa s_port -The port number at which the service resides. -Port numbers are returned in network byte order. -.It Fa s_proto -The name of the protocol to use when contacting the -service. -.El -.Pp -The -.Fn getservent -function -reads the next line of the file, opening the file if necessary. -.Pp -The -.Fn setservent -function -opens and rewinds the file. If the -.Fa stayopen -flag is non-zero, -the net data base will not be closed after each call to -.Fn getservbyname -or -.Fn getservbyport . -.Pp -The -.Fn endservent -function -closes the file. -.Pp -The -.Fn getservbyname -and -.Fn getservbyport -functions -sequentially search from the beginning -of the file until a matching -protocol name or -port number is found, -or until -.Dv EOF -is encountered. -If a protocol name is also supplied (non- -.Dv NULL ) , -searches must also match the protocol. -.ne 1i -.Sh FILES -.Bl -tag -width /etc/services -compact -.It Pa /etc/services -.El -.Sh DIAGNOSTICS -Null pointer -(0) returned on -.Dv EOF -or error. -.Sh SEE ALSO -.Xr getprotoent 3 , -.Xr services 5 -.Sh HISTORY -The -.Fn getservent , -.Fn getservbyport , -.Fn getservbyname , -.Fn setservent , -and -.Fn endservent -functions appeared in -.Bx 4.2 . -.Sh BUGS -These functions use static data storage; -if the data is needed for future use, it should be -copied before any subsequent calls overwrite it. -Expecting port numbers to fit in a 32 bit -quantity is probably naive. diff --git a/c/src/exec/libnetworking/libc/getservent.c b/c/src/exec/libnetworking/libc/getservent.c deleted file mode 100644 index 08a05c0975..0000000000 --- a/c/src/exec/libnetworking/libc/getservent.c +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)getservent.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#ifdef YP -#include -#include -#include -static int serv_stepping_yp = 0; -extern int _yp_check __P(( char ** )); -#endif - - -#define MAXALIASES 35 - -static FILE *servf = NULL; -static char line[BUFSIZ+1]; -static struct servent serv; -static char *serv_aliases[MAXALIASES]; -int _serv_stayopen; - -#ifdef YP -char *___getservbyname_yp = NULL; -char *___getservbyproto_yp = NULL; -int ___getservbyport_yp = 0; -static char *yp_domain = NULL; - -static int -_getservbyport_yp(line) - char *line; -{ - char *result; - int resultlen; - char buf[YPMAXRECORD + 2]; - int rv; - - snprintf(buf, sizeof(buf), "%d/%s", ntohs(___getservbyport_yp), - ___getservbyproto_yp); - - ___getservbyport_yp = 0; - ___getservbyproto_yp = NULL; - - if(!yp_domain) { - if(yp_get_default_domain(&yp_domain)) - return (0); - } - - /* - * We have to be a little flexible here. Ideally you're supposed - * to have both a services.byname and a services.byport map, but - * some systems have only services.byname. FreeBSD cheats a little - * by putting the services.byport information in the same map as - * services.byname so that either case will work. We allow for both - * possibilities here: if there is no services.byport map, we try - * services.byname instead. - */ - if ((rv = yp_match(yp_domain, "services.byport", buf, strlen(buf), - &result, &resultlen))) { - if (rv == YPERR_MAP) { - if (yp_match(yp_domain, "services.byname", buf, - strlen(buf), &result, &resultlen)) - return(0); - } else - return(0); - } - - /* getservent() expects lines terminated with \n -- make it happy */ - snprintf(line, BUFSIZ, "%.*s\n", resultlen, result); - - free(result); - return(1); -} - -static int -_getservbyname_yp(line) - char *line; -{ - char *result; - int resultlen; - char buf[YPMAXRECORD + 2]; - - if(!yp_domain) { - if(yp_get_default_domain(&yp_domain)) - return (0); - } - - snprintf(buf, sizeof(buf), "%s/%s", ___getservbyname_yp, - ___getservbyproto_yp); - - ___getservbyname_yp = 0; - ___getservbyproto_yp = NULL; - - if (yp_match(yp_domain, "services.byname", buf, strlen(buf), - &result, &resultlen)) { - return(0); - } - - /* getservent() expects lines terminated with \n -- make it happy */ - snprintf(line, BUFSIZ, "%.*s\n", resultlen, result); - - free(result); - return(1); -} - -static int -_getservent_yp(line) - char *line; -{ - static char *key = NULL; - static int keylen; - char *lastkey, *result; - int resultlen; - int rv; - - if(!yp_domain) { - if(yp_get_default_domain(&yp_domain)) - return (0); - } - - if (!serv_stepping_yp) { - if (key) - free(key); - if ((rv = yp_first(yp_domain, "services.byname", &key, &keylen, - &result, &resultlen))) { - serv_stepping_yp = 0; - return(0); - } - serv_stepping_yp = 1; - } else { - lastkey = key; - rv = yp_next(yp_domain, "services.byname", key, keylen, &key, - &keylen, &result, &resultlen); - free(lastkey); - if (rv) { - serv_stepping_yp = 0; - return (0); - } - } - - /* getservent() expects lines terminated with \n -- make it happy */ - snprintf(line, BUFSIZ, "%.*s\n", resultlen, result); - - free(result); - - return(1); -} -#endif - -void -setservent(f) - int f; -{ - if (servf == NULL) - servf = fopen(_PATH_SERVICES, "r" ); - else - rewind(servf); - _serv_stayopen |= f; -} - -void -endservent() -{ - if (servf) { - fclose(servf); - servf = NULL; - } - _serv_stayopen = 0; -} - -struct servent * -getservent() -{ - char *p; - register char *cp, **q; - -#ifdef YP - if (serv_stepping_yp && _getservent_yp(line)) { - p = (char *)&line; - goto unpack; - } -tryagain: -#endif - if (servf == NULL && (servf = fopen(_PATH_SERVICES, "r" )) == NULL) - return (NULL); -again: - if ((p = fgets(line, BUFSIZ, servf)) == NULL) - return (NULL); -#ifdef YP - if (*p == '+' && _yp_check(NULL)) { - if (___getservbyname_yp != NULL) { - if (!_getservbyname_yp(line)) - goto tryagain; - } - else if (___getservbyport_yp != 0) { - if (!_getservbyport_yp(line)) - goto tryagain; - } - else if (!_getservent_yp(line)) - goto tryagain; - } -unpack: -#endif - if (*p == '#') - goto again; - cp = strpbrk(p, "#\n"); - if (cp == NULL) - goto again; - *cp = '\0'; - serv.s_name = p; - p = strpbrk(p, " \t"); - if (p == NULL) - goto again; - *p++ = '\0'; - while (*p == ' ' || *p == '\t') - p++; - cp = strpbrk(p, ",/"); - if (cp == NULL) - goto again; - *cp++ = '\0'; - serv.s_port = htons((u_short)atoi(p)); - serv.s_proto = cp; - q = serv.s_aliases = serv_aliases; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - while (cp && *cp) { - if (*cp == ' ' || *cp == '\t') { - cp++; - continue; - } - if (q < &serv_aliases[MAXALIASES - 1]) - *q++ = cp; - cp = strpbrk(cp, " \t"); - if (cp != NULL) - *cp++ = '\0'; - } - *q = NULL; - return (&serv); -} diff --git a/c/src/exec/libnetworking/libc/herror.c b/c/src/exec/libnetworking/libc/herror.c deleted file mode 100644 index ba1dae934d..0000000000 --- a/c/src/exec/libnetworking/libc/herror.c +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Copyright (c) 1987, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Portions Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)herror.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include - -const char *h_errlist[] = { - "Resolver Error 0 (no error)", - "Unknown host", /* 1 HOST_NOT_FOUND */ - "Host name lookup failure", /* 2 TRY_AGAIN */ - "Unknown server error", /* 3 NO_RECOVERY */ - "No address associated with name", /* 4 NO_ADDRESS */ -}; -int h_nerr = { sizeof h_errlist / sizeof h_errlist[0] }; - -int h_errno; - -/* - * herror -- - * print the error indicated by the h_errno value. - */ -void -herror(s) - const char *s; -{ -#if 0 - struct iovec iov[4]; - register struct iovec *v = iov; - - if (s && *s) { - v->iov_base = (char *)s; - v->iov_len = strlen(s); - v++; - v->iov_base = ": "; - v->iov_len = 2; - v++; - } - v->iov_base = (char *)hstrerror(h_errno); - v->iov_len = strlen(v->iov_base); - v++; - v->iov_base = "\n"; - v->iov_len = 1; - writev(STDERR_FILENO, iov, (v - iov) + 1); -#else - /* - * RTEMS: no writev yet - */ - if (s && *s) { - write (2, s, strlen (s)); - write (2, ": ", 2); - } - s = (char *)hstrerror(h_errno); - write (2, s, strlen (s)); - write (2, "\n", 1); -#endif -} - -const char * -hstrerror(err) - int err; -{ - if (err < 0) - return ("Resolver internal error"); - else if (err < h_nerr) - return (h_errlist[err]); - return ("Unknown resolver error"); -} diff --git a/c/src/exec/libnetworking/libc/inet.3 b/c/src/exec/libnetworking/libc/inet.3 deleted file mode 100644 index 1052f538f2..0000000000 --- a/c/src/exec/libnetworking/libc/inet.3 +++ /dev/null @@ -1,210 +0,0 @@ -.\" Copyright (c) 1983, 1990, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" From: @(#)inet.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd June 17, 1996 -.Dt INET 3 -.Os BSD 4.2 -.Sh NAME -.Nm inet_aton , -.Nm inet_addr , -.Nm inet_network , -.Nm inet_ntoa , -.Nm inet_makeaddr , -.Nm inet_lnaof , -.Nm inet_netof -.Nd Internet address manipulation routines -.Sh SYNOPSIS -.Fd #include -.Fd #include -.Fd #include -.Fd #include -.Ft int -.Fn inet_aton "const char *cp" "struct in_addr *pin" -.Ft unsigned long -.Fn inet_addr "const char *cp" -.Ft unsigned long -.Fn inet_network "const char *cp" -.Ft char * -.Fn inet_ntoa "struct in_addr in" -.Ft struct in_addr -.Fn inet_makeaddr "unsigned long net" "unsigned long lna" -.Ft unsigned long -.Fn inet_lnaof "struct in_addr in" -.Ft unsigned long -.Fn inet_netof "struct in_addr in" -.Sh DESCRIPTION -The routines -.Fn inet_aton , -.Fn inet_addr -and -.Fn inet_network -interpret character strings representing -numbers expressed in the Internet standard -.Ql \&. -notation. -The -.Fn inet_aton -routine interprets the specified character string as an Internet address, -placing the address into the structure provided. -It returns 1 if the string was successfully interpreted, -or 0 if the string is invalid. -The -.Fn inet_addr -and -.Fn inet_network -functions return numbers suitable for use -as Internet addresses and Internet network -numbers, respectively. -The routine -.Fn inet_ntoa -takes an Internet address and returns an -.Tn ASCII -string representing the address in -.Ql \&. -notation. The routine -.Fn inet_makeaddr -takes an Internet network number and a local -network address and constructs an Internet address -from it. The routines -.Fn inet_netof -and -.Fn inet_lnaof -break apart Internet host addresses, returning -the network number and local network address part, -respectively. -.Pp -All Internet addresses are returned in network -order (bytes ordered from left to right). -All network numbers and local address parts are -returned as machine format integer values. -.Sh INTERNET ADDRESSES -Values specified using the -.Ql \&. -notation take one -of the following forms: -.Bd -literal -offset indent -a.b.c.d -a.b.c -a.b -a -.Ed -.Pp -When four parts are specified, each is interpreted -as a byte of data and assigned, from left to right, -to the four bytes of an Internet address. Note -that when an Internet address is viewed as a 32-bit -integer quantity on the -.Tn VAX -the bytes referred to -above appear as -.Dq Li d.c.b.a . -That is, -.Tn VAX -bytes are -ordered from right to left. -.Pp -When a three part address is specified, the last -part is interpreted as a 16-bit quantity and placed -in the right-most two bytes of the network address. -This makes the three part address format convenient -for specifying Class B network addresses as -.Dq Li 128.net.host . -.Pp -When a two part address is supplied, the last part -is interpreted as a 24-bit quantity and placed in -the right most three bytes of the network address. -This makes the two part address format convenient -for specifying Class A network addresses as -.Dq Li net.host . -.Pp -When only one part is given, the value is stored -directly in the network address without any byte -rearrangement. -.Pp -All numbers supplied as -.Dq parts -in a -.Ql \&. -notation -may be decimal, octal, or hexadecimal, as specified -in the C language (i.e., a leading 0x or 0X implies -hexadecimal; otherwise, a leading 0 implies octal; -otherwise, the number is interpreted as decimal). -.Pp -The -.Fn inet_aton -and -.Fn inet_ntoa -functions are semi-deprecated in favor of the -.Xr addr2ascii 3 -family. However, since those functions are not yet widely implemented, -portable programs cannot rely on their presence and will continue -to use the -.Xr inet 3 -functions for some time. -.Sh DIAGNOSTICS -The constant -.Dv INADDR_NONE -is returned by -.Fn inet_addr -and -.Fn inet_network -for malformed requests. -.Sh SEE ALSO -.Xr addr2ascii 3 , -.Xr gethostbyname 3 , -.Xr getnetent 3 , -.Xr hosts 5 , -.Xr networks 5 -.Sh HISTORY -These -functions appeared in -.Bx 4.2 . -.Sh BUGS -The value -.Dv INADDR_NONE -(0xffffffff) is a valid broadcast address, but -.Fn inet_addr -cannot return that value without indicating failure. -The newer -.Fn inet_aton -function does not share this problem. -The problem of host byte ordering versus network byte ordering is -confusing. -The string returned by -.Fn inet_ntoa -resides in a static memory area. -.Pp -Inet_addr should return a -.Fa struct in_addr . diff --git a/c/src/exec/libnetworking/libc/inet_addr.c b/c/src/exec/libnetworking/libc/inet_addr.c deleted file mode 100644 index 225ccc1269..0000000000 --- a/c/src/exec/libnetworking/libc/inet_addr.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * ++Copyright++ 1983, 1990, 1993 - * - - * Copyright (c) 1983, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - - * --Copyright-- - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)inet_addr.c 8.1 (Berkeley) 6/17/93"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include - -/* - * Ascii internet address interpretation routine. - * The value returned is in network order. - */ -u_long -inet_addr(cp) - register const char *cp; -{ - struct in_addr val; - - if (inet_aton(cp, &val)) - return (val.s_addr); - return (INADDR_NONE); -} - -/* - * Check whether "cp" is a valid ascii representation - * of an Internet address and convert to a binary address. - * Returns 1 if the address is valid, 0 if not. - * This replaces inet_addr, the return value from which - * cannot distinguish between failure and a local broadcast address. - */ -int -inet_aton(cp, addr) - register const char *cp; - struct in_addr *addr; -{ - register u_long val; - register int base, n; - register char c; - u_int parts[4]; - register u_int *pp = parts; - - c = *cp; - for (;;) { - /* - * Collect number up to ``.''. - * Values are specified as for C: - * 0x=hex, 0=octal, isdigit=decimal. - */ - if (!isdigit((int)c)) - return (0); - val = 0; base = 10; - if (c == '0') { - c = *++cp; - if (c == 'x' || c == 'X') - base = 16, c = *++cp; - else - base = 8; - } - for (;;) { - if (isascii((int)c) && isdigit((int)c)) { - val = (val * base) + (c - '0'); - c = *++cp; - } else if (base == 16 && isascii((int)c) && isxdigit((int)c)) { - val = (val << 4) | - (c + 10 - (islower((int)c) ? 'a' : 'A')); - c = *++cp; - } else - break; - } - if (c == '.') { - /* - * Internet format: - * a.b.c.d - * a.b.c (with c treated as 16 bits) - * a.b (with b treated as 24 bits) - */ - if (pp >= parts + 3) - return (0); - *pp++ = val; - c = *++cp; - } else - break; - } - /* - * Check for trailing characters. - */ - if (c != '\0' && (!isascii((int)c) || !isspace((int)c))) - return (0); - /* - * Concoct the address according to - * the number of parts specified. - */ - n = pp - parts + 1; - switch (n) { - - case 0: - return (0); /* initial nondigit */ - - case 1: /* a -- 32 bits */ - break; - - case 2: /* a.b -- 8.24 bits */ - if (val > 0xffffff) - return (0); - val |= parts[0] << 24; - break; - - case 3: /* a.b.c -- 8.8.16 bits */ - if (val > 0xffff) - return (0); - val |= (parts[0] << 24) | (parts[1] << 16); - break; - - case 4: /* a.b.c.d -- 8.8.8.8 bits */ - if (val > 0xff) - return (0); - val |= (parts[0] << 24) | (parts[1] << 16) | (parts[2] << 8); - break; - } - if (addr) - addr->s_addr = htonl(val); - return (1); -} diff --git a/c/src/exec/libnetworking/libc/inet_lnaof.c b/c/src/exec/libnetworking/libc/inet_lnaof.c deleted file mode 100644 index 6ec6a9aef1..0000000000 --- a/c/src/exec/libnetworking/libc/inet_lnaof.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)inet_lnaof.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -/* - * Return the local network address portion of an - * internet address; handles class a/b/c network - * number formats. - */ -u_long -inet_lnaof(in) - struct in_addr in; -{ - register u_long i = ntohl(in.s_addr); - - if (IN_CLASSA(i)) - return ((i)&IN_CLASSA_HOST); - else if (IN_CLASSB(i)) - return ((i)&IN_CLASSB_HOST); - else - return ((i)&IN_CLASSC_HOST); -} diff --git a/c/src/exec/libnetworking/libc/inet_makeaddr.c b/c/src/exec/libnetworking/libc/inet_makeaddr.c deleted file mode 100644 index ce84170ed9..0000000000 --- a/c/src/exec/libnetworking/libc/inet_makeaddr.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)inet_makeaddr.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -/* - * Formulate an Internet address from network + host. Used in - * building addresses stored in the ifnet structure. - */ -struct in_addr -inet_makeaddr(net, host) - u_long net, host; -{ - u_long addr; - - if (net < 128) - addr = (net << IN_CLASSA_NSHIFT) | (host & IN_CLASSA_HOST); - else if (net < 65536) - addr = (net << IN_CLASSB_NSHIFT) | (host & IN_CLASSB_HOST); - else if (net < 16777216L) - addr = (net << IN_CLASSC_NSHIFT) | (host & IN_CLASSC_HOST); - else - addr = net | host; - addr = htonl(addr); - return (*(struct in_addr *)&addr); -} diff --git a/c/src/exec/libnetworking/libc/inet_net_ntop.c b/c/src/exec/libnetworking/libc/inet_net_ntop.c deleted file mode 100644 index 4c7893d417..0000000000 --- a/c/src/exec/libnetworking/libc/inet_net_ntop.c +++ /dev/null @@ -1,140 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static const char orig_rcsid[] = "From Id: inet_net_ntop.c,v 8.2 1996/08/08 06:54:44 vixie Exp"; -static const char rcsid[] = "$Id$"; -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include - -#ifdef SPRINTF_CHAR -# define SPRINTF(x) strlen(sprintf/**/x) -#else -# define SPRINTF(x) ((size_t)sprintf x) -#endif - -static char * inet_net_ntop_ipv4 __P((const u_char *src, int bits, - char *dst, size_t size)); - -/* - * char * - * inet_net_ntop(af, src, bits, dst, size) - * convert network number from network to presentation format. - * generates CIDR style result always. - * return: - * pointer to dst, or NULL if an error occurred (check errno). - * author: - * Paul Vixie (ISC), July 1996 - */ -char * -inet_net_ntop(af, src, bits, dst, size) - int af; - const void *src; - int bits; - char *dst; - size_t size; -{ - switch (af) { - case AF_INET: - return (inet_net_ntop_ipv4(src, bits, dst, size)); - default: - errno = EAFNOSUPPORT; - return (NULL); - } -} - -/* - * static char * - * inet_net_ntop_ipv4(src, bits, dst, size) - * convert IPv4 network number from network to presentation format. - * generates CIDR style result always. - * return: - * pointer to dst, or NULL if an error occurred (check errno). - * note: - * network byte order assumed. this means 192.5.5.240/28 has - * 0x11110000 in its fourth octet. - * author: - * Paul Vixie (ISC), July 1996 - */ -static char * -inet_net_ntop_ipv4(src, bits, dst, size) - const u_char *src; - int bits; - char *dst; - size_t size; -{ - char *odst = dst; - char *t; - u_int m; - int b; - - if (bits < 0 || bits > 32) { - errno = EINVAL; - return (NULL); - } - if (bits == 0) { - if (size < sizeof "0") - goto emsgsize; - *dst++ = '0'; - *dst = '\0'; - } - - /* Format whole octets. */ - for (b = bits / 8; b > 0; b--) { - if (size < sizeof "255.") - goto emsgsize; - t = dst; - dst += SPRINTF((dst, "%u", *src++)); - if (b > 1) { - *dst++ = '.'; - *dst = '\0'; - } - size -= (size_t)(dst - t); - } - - /* Format partial octet. */ - b = bits % 8; - if (b > 0) { - if (size < sizeof ".255") - goto emsgsize; - t = dst; - if (dst != odst) - *dst++ = '.'; - m = ((1 << b) - 1) << (8 - b); - dst += SPRINTF((dst, "%u", *src & m)); - size -= (size_t)(dst - t); - } - - /* Format CIDR /width. */ - if (size < sizeof "/32") - goto emsgsize; - dst += SPRINTF((dst, "/%u", bits)); - return (odst); - - emsgsize: - errno = EMSGSIZE; - return (NULL); -} diff --git a/c/src/exec/libnetworking/libc/inet_net_pton.c b/c/src/exec/libnetworking/libc/inet_net_pton.c deleted file mode 100644 index 8915c2a5be..0000000000 --- a/c/src/exec/libnetworking/libc/inet_net_pton.c +++ /dev/null @@ -1,207 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static const char orig_rcsid[] = "From Id: inet_net_pton.c,v 1.8 1996/11/21 10:28:12 vixie Exp $"; -static const char rcsid[] = "$Id$"; -#endif - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#ifdef SPRINTF_CHAR -# define SPRINTF(x) strlen(sprintf/**/x) -#else -# define SPRINTF(x) ((size_t)sprintf x) -#endif - -static int inet_net_pton_ipv4 __P((const char *src, u_char *dst, - size_t size)); - -/* - * static int - * inet_net_pton(af, src, dst, size) - * convert network number from presentation to network format. - * accepts hex octets, hex strings, decimal octets, and /CIDR. - * "size" is in bytes and describes "dst". - * return: - * number of bits, either imputed classfully or specified with /CIDR, - * or -1 if some failure occurred (check errno). ENOENT means it was - * not a valid network specification. - * author: - * Paul Vixie (ISC), June 1996 - */ -int -inet_net_pton(af, src, dst, size) - int af; - const char *src; - void *dst; - size_t size; -{ - switch (af) { - case AF_INET: - return (inet_net_pton_ipv4(src, dst, size)); - default: - errno = EAFNOSUPPORT; - return (-1); - } -} - -/* - * static int - * inet_net_pton_ipv4(src, dst, size) - * convert IPv4 network number from presentation to network format. - * accepts hex octets, hex strings, decimal octets, and /CIDR. - * "size" is in bytes and describes "dst". - * return: - * number of bits, either imputed classfully or specified with /CIDR, - * or -1 if some failure occurred (check errno). ENOENT means it was - * not an IPv4 network specification. - * note: - * network byte order assumed. this means 192.5.5.240/28 has - * 0x11110000 in its fourth octet. - * author: - * Paul Vixie (ISC), June 1996 - */ -static int -inet_net_pton_ipv4(src, dst, size) - const char *src; - u_char *dst; - size_t size; -{ - static const char - xdigits[] = "0123456789abcdef", - digits[] = "0123456789"; - int n, ch, tmp, dirty, bits; - const u_char *odst = dst; - - ch = *src++; - if (ch == '0' && (src[0] == 'x' || src[0] == 'X') - && isascii(src[1]) && isxdigit(src[1])) { - /* Hexadecimal: Eat nybble string. */ - if (size <= 0) - goto emsgsize; - *dst = 0, dirty = 0; - src++; /* skip x or X. */ - while ((ch = *src++) != '\0' && - isascii(ch) && isxdigit(ch)) { - if (isupper(ch)) - ch = tolower(ch); - n = strchr(xdigits, ch) - xdigits; - assert(n >= 0 && n <= 15); - *dst |= n; - if (!dirty++) - *dst <<= 4; - else if (size-- > 0) - *++dst = 0, dirty = 0; - else - goto emsgsize; - } - if (dirty) - size--; - } else if (isascii(ch) && isdigit(ch)) { - /* Decimal: eat dotted digit string. */ - for (;;) { - tmp = 0; - do { - n = strchr(digits, ch) - digits; - assert(n >= 0 && n <= 9); - tmp *= 10; - tmp += n; - if (tmp > 255) - goto enoent; - } while ((ch = *src++) != '\0' && - isascii(ch) && isdigit(ch)); - if (size-- <= 0) - goto emsgsize; - *dst++ = (u_char) tmp; - if (ch == '\0' || ch == '/') - break; - if (ch != '.') - goto enoent; - ch = *src++; - if (!isascii(ch) || !isdigit(ch)) - goto enoent; - } - } else - goto enoent; - - bits = -1; - if (ch == '/' && isascii(src[0]) && isdigit(src[0]) && dst > odst) { - /* CIDR width specifier. Nothing can follow it. */ - ch = *src++; /* Skip over the /. */ - bits = 0; - do { - n = strchr(digits, ch) - digits; - assert(n >= 0 && n <= 9); - bits *= 10; - bits += n; - } while ((ch = *src++) != '\0' && isascii(ch) && isdigit(ch)); - if (ch != '\0') - goto enoent; - if (bits > 32) - goto emsgsize; - } - - /* Firey death and destruction unless we prefetched EOS. */ - if (ch != '\0') - goto enoent; - - /* If nothing was written to the destination, we found no address. */ - if (dst == odst) - goto enoent; - /* If no CIDR spec was given, infer width from net class. */ - if (bits == -1) { - if (*odst >= 240) /* Class E */ - bits = 32; - else if (*odst >= 224) /* Class D */ - bits = 4; - else if (*odst >= 192) /* Class C */ - bits = 24; - else if (*odst >= 128) /* Class B */ - bits = 16; - else /* Class A */ - bits = 8; - /* If imputed mask is narrower than specified octets, widen. */ - if (bits >= 8 && bits < ((dst - odst) * 8)) - bits = (dst - odst) * 8; - } - /* Extend network to cover the actual mask. */ - while (bits > ((dst - odst) * 8)) { - if (size-- <= 0) - goto emsgsize; - *dst++ = '\0'; - } - return (bits); - - enoent: - errno = ENOENT; - return (-1); - - emsgsize: - errno = EMSGSIZE; - return (-1); -} diff --git a/c/src/exec/libnetworking/libc/inet_neta.c b/c/src/exec/libnetworking/libc/inet_neta.c deleted file mode 100644 index 59b156f7f6..0000000000 --- a/c/src/exec/libnetworking/libc/inet_neta.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static const char orig_rcsid[] = "From Id: inet_neta.c,v 8.2 1996/08/08 06:54:44 vixie Exp"; -static const char rcsid[] = "$Id$"; -#endif - -#include -#include -#include -#include - -#include -#include -#include - -#ifdef SPRINTF_CHAR -# define SPRINTF(x) strlen(sprintf/**/x) -#else -# define SPRINTF(x) ((size_t)sprintf x) -#endif - -/* - * char * - * inet_neta(src, dst, size) - * format a u_long network number into presentation format. - * return: - * pointer to dst, or NULL if an error occurred (check errno). - * note: - * format of ``src'' is as for inet_network(). - * author: - * Paul Vixie (ISC), July 1996 - */ -char * -inet_neta(src, dst, size) - u_long src; - char *dst; - size_t size; -{ - char *odst = dst; - char *tp; - - while (src & 0xffffffff) { - u_char b = (src & 0xff000000) >> 24; - - src <<= 8; - if (b) { - if (size < sizeof "255.") - goto emsgsize; - tp = dst; - dst += SPRINTF((dst, "%u", b)); - if (src != 0L) { - *dst++ = '.'; - *dst = '\0'; - } - size -= (size_t)(dst - tp); - } - } - if (dst == odst) { - if (size < sizeof "0.0.0.0") - goto emsgsize; - strcpy(dst, "0.0.0.0"); - } - return (odst); - - emsgsize: - errno = EMSGSIZE; - return (NULL); -} diff --git a/c/src/exec/libnetworking/libc/inet_netof.c b/c/src/exec/libnetworking/libc/inet_netof.c deleted file mode 100644 index 179731efc3..0000000000 --- a/c/src/exec/libnetworking/libc/inet_netof.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)inet_netof.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -/* - * Return the network number from an internet - * address; handles class a/b/c network #'s. - */ -u_long -inet_netof(in) - struct in_addr in; -{ - register u_long i = ntohl(in.s_addr); - - if (IN_CLASSA(i)) - return (((i)&IN_CLASSA_NET) >> IN_CLASSA_NSHIFT); - else if (IN_CLASSB(i)) - return (((i)&IN_CLASSB_NET) >> IN_CLASSB_NSHIFT); - else - return (((i)&IN_CLASSC_NET) >> IN_CLASSC_NSHIFT); -} diff --git a/c/src/exec/libnetworking/libc/inet_network.c b/c/src/exec/libnetworking/libc/inet_network.c deleted file mode 100644 index ac0073bf0a..0000000000 --- a/c/src/exec/libnetworking/libc/inet_network.c +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)inet_network.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include - -/* - * Internet network address interpretation routine. - * The library routines call this routine to interpret - * network numbers. - */ -u_long -inet_network(cp) - register const char *cp; -{ - register u_long val, base, n, i; - register char c; - u_long parts[4], *pp = parts; - -again: - val = 0; base = 10; - if (*cp == '0') - base = 8, cp++; - if (*cp == 'x' || *cp == 'X') - base = 16, cp++; - while ((c = *cp) != 0) { - if (isdigit(c)) { - val = (val * base) + (c - '0'); - cp++; - continue; - } - if (base == 16 && isxdigit(c)) { - val = (val << 4) + (c + 10 - (islower(c) ? 'a' : 'A')); - cp++; - continue; - } - break; - } - if (*cp == '.') { - if (pp >= parts + 3) - return (INADDR_NONE); - *pp++ = val, cp++; - goto again; - } - if (*cp && !isspace(*cp)) - return (INADDR_NONE); - *pp++ = val; - n = pp - parts; - for (val = 0, i = 0; i < n; i++) { - val <<= 8; - val |= parts[i] & 0xff; - } - return (val); -} diff --git a/c/src/exec/libnetworking/libc/inet_ntoa.c b/c/src/exec/libnetworking/libc/inet_ntoa.c deleted file mode 100644 index 44b686f0b3..0000000000 --- a/c/src/exec/libnetworking/libc/inet_ntoa.c +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright (c) 1983, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)inet_ntoa.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include - -/* - * Convert network-format internet address - * to base 256 d.d.d.d representation. - */ -char * -inet_ntoa(in) - struct in_addr in; -{ - static char ret[18]; - - strcpy(ret, "[inet_ntoa error]"); - (void) inet_ntop(AF_INET, &in, ret, sizeof ret); - return (ret); -} diff --git a/c/src/exec/libnetworking/libc/inet_ntop.c b/c/src/exec/libnetworking/libc/inet_ntop.c deleted file mode 100644 index 76a538755a..0000000000 --- a/c/src/exec/libnetworking/libc/inet_ntop.c +++ /dev/null @@ -1,191 +0,0 @@ -/* Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define SPRINTF(x) ((size_t)sprintf x) - -/* - * WARNING: Don't even consider trying to compile this on a system where - * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. - */ - -static const char *inet_ntop4 __P((const u_char *src, char *dst, size_t size)); -static const char *inet_ntop6 __P((const u_char *src, char *dst, size_t size)); - -/* char * - * inet_ntop(af, src, dst, size) - * convert a network format address to presentation format. - * return: - * pointer to presentation format address (`dst'), or NULL (see errno). - * author: - * Paul Vixie, 1996. - */ -const char * -inet_ntop(af, src, dst, size) - int af; - const void *src; - char *dst; - size_t size; -{ - switch (af) { - case AF_INET: - return (inet_ntop4(src, dst, size)); - case AF_INET6: - return (inet_ntop6(src, dst, size)); - default: - errno = EAFNOSUPPORT; - return (NULL); - } - /* NOTREACHED */ -} - -/* const char * - * inet_ntop4(src, dst, size) - * format an IPv4 address, more or less like inet_ntoa() - * return: - * `dst' (as a const) - * notes: - * (1) uses no statics - * (2) takes a u_char* not an in_addr as input - * author: - * Paul Vixie, 1996. - */ -static const char * -inet_ntop4(src, dst, size) - const u_char *src; - char *dst; - size_t size; -{ - static const char fmt[] = "%u.%u.%u.%u"; - char tmp[sizeof "255.255.255.255"]; - - if (SPRINTF((tmp, fmt, src[0], src[1], src[2], src[3])) > size) { - errno = ENOSPC; - return (NULL); - } - strcpy(dst, tmp); - return (dst); -} - -/* const char * - * inet_ntop6(src, dst, size) - * convert IPv6 binary address into presentation (printable) format - * author: - * Paul Vixie, 1996. - */ -static const char * -inet_ntop6(src, dst, size) - const u_char *src; - char *dst; - size_t size; -{ - /* - * Note that int32_t and int16_t need only be "at least" large enough - * to contain a value of the specified size. On some systems, like - * Crays, there is no such thing as an integer variable with 16 bits. - * Keep this in mind if you think this function should have been coded - * to use pointer overlays. All the world's not a VAX. - */ - char tmp[sizeof "ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255"], *tp; - struct { int base, len; } best, cur; - u_int words[NS_IN6ADDRSZ / NS_INT16SZ]; - int i; - - /* - * Preprocess: - * Copy the input (bytewise) array into a wordwise array. - * Find the longest run of 0x00's in src[] for :: shorthanding. - */ - memset(words, '\0', sizeof words); - for (i = 0; i < NS_IN6ADDRSZ; i++) - words[i / 2] |= (src[i] << ((1 - (i % 2)) << 3)); - best.base = -1; - cur.base = -1; - for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) { - if (words[i] == 0) { - if (cur.base == -1) - cur.base = i, cur.len = 1; - else - cur.len++; - } else { - if (cur.base != -1) { - if (best.base == -1 || cur.len > best.len) - best = cur; - cur.base = -1; - } - } - } - if (cur.base != -1) { - if (best.base == -1 || cur.len > best.len) - best = cur; - } - if (best.base != -1 && best.len < 2) - best.base = -1; - - /* - * Format the result. - */ - tp = tmp; - for (i = 0; i < (NS_IN6ADDRSZ / NS_INT16SZ); i++) { - /* Are we inside the best run of 0x00's? */ - if (best.base != -1 && i >= best.base && - i < (best.base + best.len)) { - if (i == best.base) - *tp++ = ':'; - continue; - } - /* Are we following an initial run of 0x00s or any real hex? */ - if (i != 0) - *tp++ = ':'; - /* Is this address an encapsulated IPv4? */ - if (i == 6 && best.base == 0 && - (best.len == 6 || (best.len == 5 && words[5] == 0xffff))) { - if (!inet_ntop4(src+12, tp, sizeof tmp - (tp - tmp))) - return (NULL); - tp += strlen(tp); - break; - } - tp += SPRINTF((tp, "%x", words[i])); - } - /* Was it a trailing run of 0x00's? */ - if (best.base != -1 && (best.base + best.len) == - (NS_IN6ADDRSZ / NS_INT16SZ)) - *tp++ = ':'; - *tp++ = '\0'; - - /* - * Check for overflow, copy, and we're done. - */ - if ((size_t)(tp - tmp) > size) { - errno = ENOSPC; - return (NULL); - } - strcpy(dst, tmp); - return (dst); -} diff --git a/c/src/exec/libnetworking/libc/inet_pton.c b/c/src/exec/libnetworking/libc/inet_pton.c deleted file mode 100644 index 8d21111cfa..0000000000 --- a/c/src/exec/libnetworking/libc/inet_pton.c +++ /dev/null @@ -1,214 +0,0 @@ -/* Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include - -/* - * WARNING: Don't even consider trying to compile this on a system where - * sizeof(int) < 4. sizeof(int) > 4 is fine; all the world's not a VAX. - */ - -static int inet_pton4 __P((const char *src, u_char *dst)); -static int inet_pton6 __P((const char *src, u_char *dst)); - -/* int - * inet_pton(af, src, dst) - * convert from presentation format (which usually means ASCII printable) - * to network format (which is usually some kind of binary format). - * return: - * 1 if the address was valid for the specified address family - * 0 if the address wasn't valid (`dst' is untouched in this case) - * -1 if some other error occurred (`dst' is untouched in this case, too) - * author: - * Paul Vixie, 1996. - */ -int -inet_pton(af, src, dst) - int af; - const char *src; - void *dst; -{ - switch (af) { - case AF_INET: - return (inet_pton4(src, dst)); - case AF_INET6: - return (inet_pton6(src, dst)); - default: - errno = EAFNOSUPPORT; - return (-1); - } - /* NOTREACHED */ -} - -/* int - * inet_pton4(src, dst) - * like inet_aton() but without all the hexadecimal and shorthand. - * return: - * 1 if `src' is a valid dotted quad, else 0. - * notice: - * does not touch `dst' unless it's returning 1. - * author: - * Paul Vixie, 1996. - */ -static int -inet_pton4(src, dst) - const char *src; - u_char *dst; -{ - static const char digits[] = "0123456789"; - int saw_digit, octets, ch; - u_char tmp[NS_INADDRSZ], *tp; - - saw_digit = 0; - octets = 0; - *(tp = tmp) = 0; - while ((ch = *src++) != '\0') { - const char *pch; - - if ((pch = strchr(digits, ch)) != NULL) { - u_int new = *tp * 10 + (pch - digits); - - if (new > 255) - return (0); - *tp = new; - if (! saw_digit) { - if (++octets > 4) - return (0); - saw_digit = 1; - } - } else if (ch == '.' && saw_digit) { - if (octets == 4) - return (0); - *++tp = 0; - saw_digit = 0; - } else - return (0); - } - if (octets < 4) - return (0); - - memcpy(dst, tmp, NS_INADDRSZ); - return (1); -} - -/* int - * inet_pton6(src, dst) - * convert presentation level address to network order binary form. - * return: - * 1 if `src' is a valid [RFC1884 2.2] address, else 0. - * notice: - * (1) does not touch `dst' unless it's returning 1. - * (2) :: in a full address is silently ignored. - * credit: - * inspired by Mark Andrews. - * author: - * Paul Vixie, 1996. - */ -static int -inet_pton6(src, dst) - const char *src; - u_char *dst; -{ - static const char xdigits_l[] = "0123456789abcdef", - xdigits_u[] = "0123456789ABCDEF"; - u_char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp; - const char *xdigits, *curtok; - int ch, saw_xdigit; - u_int val; - - memset((tp = tmp), '\0', NS_IN6ADDRSZ); - endp = tp + NS_IN6ADDRSZ; - colonp = NULL; - /* Leading :: requires some special handling. */ - if (*src == ':') - if (*++src != ':') - return (0); - curtok = src; - saw_xdigit = 0; - val = 0; - while ((ch = *src++) != '\0') { - const char *pch; - - if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL) - pch = strchr((xdigits = xdigits_u), ch); - if (pch != NULL) { - val <<= 4; - val |= (pch - xdigits); - if (val > 0xffff) - return (0); - saw_xdigit = 1; - continue; - } - if (ch == ':') { - curtok = src; - if (!saw_xdigit) { - if (colonp) - return (0); - colonp = tp; - continue; - } - if (tp + NS_INT16SZ > endp) - return (0); - *tp++ = (u_char) (val >> 8) & 0xff; - *tp++ = (u_char) val & 0xff; - saw_xdigit = 0; - val = 0; - continue; - } - if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) && - inet_pton4(curtok, tp) > 0) { - tp += NS_INADDRSZ; - saw_xdigit = 0; - break; /* '\0' was seen by inet_pton4(). */ - } - return (0); - } - if (saw_xdigit) { - if (tp + NS_INT16SZ > endp) - return (0); - *tp++ = (u_char) (val >> 8) & 0xff; - *tp++ = (u_char) val & 0xff; - } - if (colonp != NULL) { - /* - * Since some memmove()'s erroneously fail to handle - * overlapping regions, we'll do the shift by hand. - */ - const int n = tp - colonp; - int i; - - for (i = 1; i <= n; i++) { - endp[- i] = colonp[n - i]; - colonp[n - i] = 0; - } - tp = endp; - } - if (tp != endp) - return (0); - memcpy(dst, tmp, NS_IN6ADDRSZ); - return (1); -} diff --git a/c/src/exec/libnetworking/libc/iso_addr.3 b/c/src/exec/libnetworking/libc/iso_addr.3 deleted file mode 100644 index 0c9973bef4..0000000000 --- a/c/src/exec/libnetworking/libc/iso_addr.3 +++ /dev/null @@ -1,111 +0,0 @@ -.\" Copyright (c) 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)iso_addr.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd June 4, 1993 -.Dt ISO_ADDR 3 -.Os -.Sh NAME -.Nm iso_addr , -.Nm iso_ntoa -.Nd "elementary network address conversion routines for Open System Interconnection -.Sh SYNOPSIS -.Fd #include -.Fd #include -.Ft struct iso_addr * -.Fn iso_addr "char *cp" -.Ft char * -.Fn iso_ntoa "struct iso_addr *isoa" -.Sh DESCRIPTION -The routine -.Fn iso_addr -interprets character strings representing -.Tn OSI -addresses, returning binary information suitable -for use in system calls. -The routine -.Fn iso_ntoa -takes -.Tn OSI -addresses and returns -.Tn ASCII -strings representing NSAPs (network service -access points) in a -notation inverse to that accepted by -.Fn iso_addr . -.Pp -Unfortunately, no universal standard exists for representing -.Tn OSI -network addresses. -.Pp -The format employed by -.Fn iso_addr -is a sequence of hexadecimal -.Dq digits -(optionally separated by periods), -of the form: -.Bd -filled -offset indent -.. -.Ed -.Pp -Each pair of hexadecimal digits represents a byte -with the leading digit indicating the higher-ordered bits. -A period following an even number of bytes has no -effect (but may be used to increase legibility). -A period following an odd number of bytes has the -effect of causing the byte of address being translated -to have its higher order bits filled with zeros. -.Sh RETURN VALUES -.Fn iso_ntoa -always returns a null terminated string. -.Fn iso_addr -always returns a pointer to a struct iso_addr. -(See -.Sx BUGS . ) -.Sh SEE ALSO -.Xr iso 4 -.Sh HISTORY -The -.Fn iso_addr -and -.Fn iso_ntoa -functions appeared in -.Bx 4.3 Reno . -.Sh BUGS -The returned values -reside in a static memory area. -.Pp -The function -.Fn iso_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. diff --git a/c/src/exec/libnetworking/libc/iso_addr.c b/c/src/exec/libnetworking/libc/iso_addr.c deleted file mode 100644 index eb14e8a72b..0000000000 --- a/c/src/exec/libnetworking/libc/iso_addr.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)iso_addr.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -/* States*/ -#define VIRGIN 0 -#define GOTONE 1 -#define GOTTWO 2 -/* Inputs */ -#define DIGIT (4*0) -#define END (4*1) -#define DELIM (4*2) - -struct iso_addr * -iso_addr(addr) - register const char *addr; -{ - static struct iso_addr out_addr; - register char *cp = out_addr.isoa_genaddr; - char *cplim = cp + sizeof(out_addr.isoa_genaddr); - register int byte = 0, state = VIRGIN, new; - - bzero((char *)&out_addr, sizeof(out_addr)); - do { - if ((*addr >= '0') && (*addr <= '9')) { - new = *addr - '0'; - } else if ((*addr >= 'a') && (*addr <= 'f')) { - new = *addr - 'a' + 10; - } else if ((*addr >= 'A') && (*addr <= 'F')) { - new = *addr - 'A' + 10; - } else if (*addr == 0) - state |= END; - else - state |= DELIM; - addr++; - switch (state /* | INPUT */) { - case GOTTWO | DIGIT: - *cp++ = byte; /*FALLTHROUGH*/ - case VIRGIN | DIGIT: - state = GOTONE; byte = new; continue; - case GOTONE | DIGIT: - state = GOTTWO; byte = new + (byte << 4); continue; - default: /* | DELIM */ - state = VIRGIN; *cp++ = byte; byte = 0; continue; - case GOTONE | END: - case GOTTWO | END: - *cp++ = byte; /* FALLTHROUGH */ - case VIRGIN | END: - break; - } - break; - } while (cp < cplim); - out_addr.isoa_len = cp - out_addr.isoa_genaddr; - return (&out_addr); -} - -static char hexlist[] = "0123456789abcdef"; - -char * -iso_ntoa(isoa) - const struct iso_addr *isoa; -{ - static char tmpbuf[sizeof(isoa->isoa_genaddr)*3]; - const u_char *binary; - char *cp; - int i; - - binary = isoa->isoa_genaddr; - cp = tmpbuf; - - for (i = 0; i < isoa->isoa_len; i++) { - *cp++ = hexlist[*binary >> 4]; - *cp++ = hexlist[*binary++ & 0xf]; - - if ((((i % 2) == 0) && ((i + 1) < isoa->isoa_len))) - *cp++ = '.'; - } - *cp = '\0'; - return tmpbuf; -} diff --git a/c/src/exec/libnetworking/libc/linkaddr.3 b/c/src/exec/libnetworking/libc/linkaddr.3 deleted file mode 100644 index 6999add0e8..0000000000 --- a/c/src/exec/libnetworking/libc/linkaddr.3 +++ /dev/null @@ -1,138 +0,0 @@ -.\" Copyright (c) 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This code is derived from software contributed to Berkeley by -.\" Donn Seeley at BSDI. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" From: @(#)linkaddr.3 8.1 (Berkeley) 7/28/93 -.\" $Id$ -.\" -.Dd June 17, 1996 -.Dt LINK_ADDR 3 -.Os BSD 4.4 -.Sh NAME -.Nm link_addr , -.Nm link_ntoa -.Nd elementary address specification routines for link level access -.Sh SYNOPSIS -.Fd #include -.Fd #include -.Fd #include -.Ft void -.Fn link_addr "const char *addr" "struct sockaddr_dl *sdl" -.Ft char * -.Fn link_ntoa "const struct sockaddr_dl *sdl" -.Sh DESCRIPTION -The routine -.Fn link_addr -interprets character strings representing -link-level addresses, returning binary information suitable -for use in system calls. -The routine -.Fn link_ntoa -takes -a link-level -address and returns an -.Tn ASCII -string representing some of the information present, -including the link level address itself, and the interface name -or number, if present. -This facility is experimental and is -still subject to change. -.Pp -For -.Fn link_addr , -the string -.Fa addr -may contain -an optional network interface identifier of the form -.Dq "name unit-number" , -suitable for the first argument to -.Xr ifconfig 8 , -followed in all cases by a colon and -an interface address in the form of -groups of hexadecimal digits -separated by periods. -Each group represents a byte of address; -address bytes are filled left to right from -low order bytes through high order bytes. -.Pp -.\" A regular expression may make this format clearer: -.\" .Bd -literal -offset indent -.\" ([a-z]+[0-9]+:)?[0-9a-f]+(\e.[0-9a-f]+)* -.\" .Ed -.\" .Pp -Thus -.Li le0:8.0.9.13.d.30 -represents an ethernet address -to be transmitted on the first Lance ethernet interface. -.Pp -The direct use of these functions is deprecated in favor of the -.Xr addr2ascii 3 -interface; however, portable programs cannot rely on the latter as it is -not yet widely implemented. -.Sh RETURN VALUES -.Fn link_ntoa -always returns a null terminated string. -.Fn link_addr -has no return value. -(See -.Sx BUGS . ) -.Sh SEE ALSO -.Xr addr2ascii 3 -.\" .Xr iso 4 -.Sh HISTORY -The -.Fn link_addr -and -.Fn link_ntoa -functions appeared in -.Bx 4.3 Reno . -.Sh BUGS -The returned values for link_ntoa -reside in a static memory area. -.Pp -The function -.Fn link_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. -.Pp -If the -.Va sdl_len -field of the link socket address -.Fa sdl -is 0, -.Fn link_ntoa -will not insert a colon before the interface address bytes. -If this translated address is given to -.Fn link_addr -without inserting an initial colon, -the latter will not interpret it correctly. diff --git a/c/src/exec/libnetworking/libc/linkaddr.c b/c/src/exec/libnetworking/libc/linkaddr.c deleted file mode 100644 index 28c16cff05..0000000000 --- a/c/src/exec/libnetworking/libc/linkaddr.c +++ /dev/null @@ -1,160 +0,0 @@ -/*- - * Copyright (c) 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)linkaddr.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include - -/* States*/ -#define NAMING 0 -#define GOTONE 1 -#define GOTTWO 2 -#define RESET 3 -/* Inputs */ -#define DIGIT (4*0) -#define END (4*1) -#define DELIM (4*2) -#define LETTER (4*3) - -void -link_addr(addr, sdl) - register const char *addr; - register struct sockaddr_dl *sdl; -{ - register char *cp = sdl->sdl_data; - char *cplim = sdl->sdl_len + (char *)sdl; - register int byte = 0, state = NAMING, new; - - bzero((char *)&sdl->sdl_family, sdl->sdl_len - 1); - sdl->sdl_family = AF_LINK; - do { - state &= ~LETTER; - if ((*addr >= '0') && (*addr <= '9')) { - new = *addr - '0'; - } else if ((*addr >= 'a') && (*addr <= 'f')) { - new = *addr - 'a' + 10; - } else if ((*addr >= 'A') && (*addr <= 'F')) { - new = *addr - 'A' + 10; - } else if (*addr == 0) { - state |= END; - } else if (state == NAMING && - (((*addr >= 'A') && (*addr <= 'Z')) || - ((*addr >= 'a') && (*addr <= 'z')))) - state |= LETTER; - else - state |= DELIM; - addr++; - switch (state /* | INPUT */) { - case NAMING | DIGIT: - case NAMING | LETTER: - *cp++ = addr[-1]; - continue; - case NAMING | DELIM: - state = RESET; - sdl->sdl_nlen = cp - sdl->sdl_data; - continue; - case GOTTWO | DIGIT: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | DIGIT: - state = GOTONE; - byte = new; - continue; - case GOTONE | DIGIT: - state = GOTTWO; - byte = new + (byte << 4); - continue; - default: /* | DELIM */ - state = RESET; - *cp++ = byte; - byte = 0; - continue; - case GOTONE | END: - case GOTTWO | END: - *cp++ = byte; - /* FALLTHROUGH */ - case RESET | END: - break; - } - break; - } while (cp < cplim); - sdl->sdl_alen = cp - LLADDR(sdl); - new = cp - (char *)sdl; - if (new > sizeof(*sdl)) - sdl->sdl_len = new; - return; -} - -static char hexlist[] = "0123456789abcdef"; - -char * -link_ntoa(sdl) - register const struct sockaddr_dl *sdl; -{ - static char obuf[64]; - register char *out = obuf; - register int i; - register u_char *in = (u_char *)LLADDR(sdl); - u_char *inlim = in + sdl->sdl_alen; - int firsttime = 1; - - if (sdl->sdl_nlen) { - bcopy(sdl->sdl_data, obuf, sdl->sdl_nlen); - out += sdl->sdl_nlen; - if (sdl->sdl_alen) - *out++ = ':'; - } - while (in < inlim) { - if (firsttime) - firsttime = 0; - else - *out++ = '.'; - i = *in++; - if (i > 0xf) { - out[1] = hexlist[i & 0xf]; - i >>= 4; - out[0] = hexlist[i]; - out += 2; - } else - *out++ = hexlist[i]; - } - *out = 0; - return (obuf); -} diff --git a/c/src/exec/libnetworking/libc/map_v4v6.c b/c/src/exec/libnetworking/libc/map_v4v6.c deleted file mode 100644 index 0f8658e117..0000000000 --- a/c/src/exec/libnetworking/libc/map_v4v6.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * ++Copyright++ 1985, 1988, 1993 - * - - * Copyright (c) 1985, 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - - * --Copyright-- - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -typedef union { - int32_t al; - char ac; -} align; - -void -_map_v4v6_address(src, dst) - const char *src; - char *dst; -{ - u_char *p = (u_char *)dst; - char tmp[INADDRSZ]; - int i; - - /* Stash a temporary copy so our caller can update in place. */ - bcopy(src, tmp, INADDRSZ); - /* Mark this ipv6 addr as a mapped ipv4. */ - for (i = 0; i < 10; i++) - *p++ = 0x00; - *p++ = 0xff; - *p++ = 0xff; - /* Retrieve the saved copy and we're done. */ - bcopy(tmp, (void*)p, INADDRSZ); -} - -void -_map_v4v6_hostent(hp, bpp, lenp) - struct hostent *hp; - char **bpp; - int *lenp; -{ - char **ap; - - if (hp->h_addrtype != AF_INET || hp->h_length != INADDRSZ) - return; - hp->h_addrtype = AF_INET6; - hp->h_length = IN6ADDRSZ; - for (ap = hp->h_addr_list; *ap; ap++) { - int i = sizeof(align) - ((u_long)*bpp % sizeof(align)); - - if (*lenp < (i + IN6ADDRSZ)) { - /* Out of memory. Truncate address list here. XXX */ - *ap = NULL; - return; - } - *bpp += i; - *lenp -= i; - _map_v4v6_address(*ap, *bpp); - *ap = *bpp; - *bpp += IN6ADDRSZ; - *lenp -= IN6ADDRSZ; - } -} diff --git a/c/src/exec/libnetworking/libc/ns.3 b/c/src/exec/libnetworking/libc/ns.3 deleted file mode 100644 index e621ad2d90..0000000000 --- a/c/src/exec/libnetworking/libc/ns.3 +++ /dev/null @@ -1,131 +0,0 @@ -.\" Copyright (c) 1986, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)ns.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd June 4, 1993 -.Dt NS 3 -.Os BSD 4.3 -.Sh NAME -.Nm ns_addr , -.Nm ns_ntoa -.Nd Xerox -.Tn NS Ns (tm) -address conversion routines -.Sh SYNOPSIS -.Fd #include -.Fd #include -.Ft struct ns_addr -.Fn ns_addr "char *cp" -.Ft char * -.Fn ns_ntoa "struct ns_addr ns" -.Sh DESCRIPTION -The routine -.Fn ns_addr -interprets character strings representing -.Tn XNS -addresses, returning binary information suitable -for use in system calls. -The routine -.Fn ns_ntoa -takes -.Tn XNS -addresses and returns -.Tn ASCII -strings representing the address in a -notation in common use in the Xerox Development Environment: -.Bd -filled -offset indent -.. -.Ed -.Pp -Trailing zero fields are suppressed, and each number is printed in hexadecimal, -in a format suitable for input to -.Fn ns_addr . -Any fields lacking super-decimal digits will have a -trailing -.Ql H -appended. -.Pp -Unfortunately, no universal standard exists for representing -.Tn XNS -addresses. -An effort has been made to insure that -.Fn ns_addr -be compatible with most formats in common use. -It will first separate an address into 1 to 3 fields using a single delimiter -chosen from -period -.Ql \&. , -colon -.Ql \&: -or pound-sign -.Ql \&# . -Each field is then examined for byte separators (colon or period). -If there are byte separators, each subfield separated is taken to be -a small hexadecimal number, and the entirety is taken as a network-byte-ordered -quantity to be zero extended in the high-network-order bytes. -Next, the field is inspected for hyphens, in which case -the field is assumed to be a number in decimal notation -with hyphens separating the millenia. -Next, the field is assumed to be a number: -It is interpreted -as hexadecimal if there is a leading -.Ql 0x -(as in C), -a trailing -.Ql H -(as in Mesa), or there are any super-decimal digits present. -It is interpreted as octal is there is a leading -.Ql 0 -and there are no super-octal digits. -Otherwise, it is converted as a decimal number. -.Sh RETURN VALUES -None. (See -.Sx BUGS . ) -.Sh SEE ALSO -.Xr hosts 5 , -.Xr networks 5 -.Sh HISTORY -The -.Fn ns_addr -and -.Fn ns_toa -functions appeared in -.Bx 4.3 . -.Sh BUGS -The string returned by -.Fn ns_ntoa -resides in a static memory area. -The function -.Fn ns_addr -should diagnose improperly formed input, and there should be an unambiguous -way to recognize this. diff --git a/c/src/exec/libnetworking/libc/ns_addr.c b/c/src/exec/libnetworking/libc/ns_addr.c deleted file mode 100644 index 18fabe91f1..0000000000 --- a/c/src/exec/libnetworking/libc/ns_addr.c +++ /dev/null @@ -1,229 +0,0 @@ -/* - * Copyright (c) 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * J.Q. Johnson. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)ns_addr.c 8.1 (Berkeley) 6/7/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include - -static struct ns_addr addr, zero_addr; - -static void Field(), cvtbase(); - -struct ns_addr -ns_addr(name) - const char *name; -{ - char separator; - char *hostname, *socketname, *cp; - char buf[50]; - - (void)strncpy(buf, name, sizeof(buf) - 1); - buf[sizeof(buf) - 1] = '\0'; - - /* - * First, figure out what he intends as a field separtor. - * Despite the way this routine is written, the prefered - * form 2-272.AA001234H.01777, i.e. XDE standard. - * Great efforts are made to insure backward compatability. - */ - if ((hostname = strchr(buf, '#')) != NULL) - separator = '#'; - else { - hostname = strchr(buf, '.'); - if ((cp = strchr(buf, ':')) && - ((hostname && cp < hostname) || (hostname == 0))) { - hostname = cp; - separator = ':'; - } else - separator = '.'; - } - if (hostname) - *hostname++ = 0; - - addr = zero_addr; - Field(buf, addr.x_net.c_net, 4); - if (hostname == 0) - return (addr); /* No separator means net only */ - - socketname = strchr(hostname, separator); - if (socketname) { - *socketname++ = 0; - Field(socketname, (u_char *)&addr.x_port, 2); - } - - Field(hostname, addr.x_host.c_host, 6); - - return (addr); -} - -static void -Field(buf, out, len) - char *buf; - u_char *out; - int len; -{ - register char *bp = buf; - int i, ibase, base16 = 0, base10 = 0, clen = 0; - int hb[6], *hp; - char *fmt; - - /* - * first try 2-273#2-852-151-014#socket - */ - if ((*buf != '-') && - (1 < (i = sscanf(buf, "%d-%d-%d-%d-%d", - &hb[0], &hb[1], &hb[2], &hb[3], &hb[4])))) { - cvtbase(1000L, 256, hb, i, out, len); - return; - } - /* - * try form 8E1#0.0.AA.0.5E.E6#socket - */ - if (1 < (i = sscanf(buf,"%x.%x.%x.%x.%x.%x", - &hb[0], &hb[1], &hb[2], &hb[3], &hb[4], &hb[5]))) { - cvtbase(256L, 256, hb, i, out, len); - return; - } - /* - * try form 8E1#0:0:AA:0:5E:E6#socket - */ - if (1 < (i = sscanf(buf,"%x:%x:%x:%x:%x:%x", - &hb[0], &hb[1], &hb[2], &hb[3], &hb[4], &hb[5]))) { - cvtbase(256L, 256, hb, i, out, len); - return; - } - /* - * This is REALLY stretching it but there was a - * comma notation separting shorts -- definitely non standard - */ - if (1 < (i = sscanf(buf,"%x,%x,%x", - &hb[0], &hb[1], &hb[2]))) { - hb[0] = htons(hb[0]); hb[1] = htons(hb[1]); - hb[2] = htons(hb[2]); - cvtbase(65536L, 256, hb, i, out, len); - return; - } - - /* Need to decide if base 10, 16 or 8 */ - while (*bp) switch (*bp++) { - - case '0': case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '-': - break; - - case '8': case '9': - base10 = 1; - break; - - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - base16 = 1; - break; - - case 'x': case 'X': - *--bp = '0'; - base16 = 1; - break; - - case 'h': case 'H': - base16 = 1; - /* fall into */ - - default: - *--bp = 0; /* Ends Loop */ - } - if (base16) { - fmt = "%3x"; - ibase = 4096; - } else if (base10 == 0 && *buf == '0') { - fmt = "%3o"; - ibase = 512; - } else { - fmt = "%3d"; - ibase = 1000; - } - - for (bp = buf; *bp++; ) clen++; - if (clen == 0) clen++; - if (clen > 18) clen = 18; - i = ((clen - 1) / 3) + 1; - bp = clen + buf - 3; - hp = hb + i - 1; - - while (hp > hb) { - (void)sscanf(bp, fmt, hp); - bp[0] = 0; - hp--; - bp -= 3; - } - (void)sscanf(buf, fmt, hp); - cvtbase((long)ibase, 256, hb, i, out, len); -} - -static void -cvtbase(oldbase,newbase,input,inlen,result,reslen) - long oldbase; - int newbase; - int input[]; - int inlen; - unsigned char result[]; - int reslen; -{ - int d, e; - long sum; - - e = 1; - while (e > 0 && reslen > 0) { - d = 0; e = 0; sum = 0; - /* long division: input=input/newbase */ - while (d < inlen) { - sum = sum*oldbase + (long) input[d]; - e += (sum > 0); - input[d++] = sum / newbase; - sum %= newbase; - } - result[--reslen] = sum; /* accumulate remainder */ - } - for (d=0; d < reslen; d++) - result[d] = 0; -} diff --git a/c/src/exec/libnetworking/libc/ns_name.c b/c/src/exec/libnetworking/libc/ns_name.c deleted file mode 100644 index af10d2f062..0000000000 --- a/c/src/exec/libnetworking/libc/ns_name.c +++ /dev/null @@ -1,595 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if !defined(__rtems__) -#if !defined(LINT) && !defined(CODECENTER) -static char rcsid[] = "$Id$"; -#endif /* not lint */ -#endif /* not rtems */ - -#include - -#include -#include - -#include -#include -#include - -/* Data. */ - -static char digits[] = "0123456789"; - -/* Forward. */ - -static int special(int); -static int printable(int); -static int dn_find(const u_char *, const u_char *, - const u_char * const *, - const u_char * const *); - -/* Public. */ - -/* - * ns_name_ntop(src, dst, dstsiz) - * Convert an encoded domain name to printable ascii as per RFC1035. - * return: - * Number of bytes written to buffer, or -1 (with errno set) - * notes: - * The root is returned as "." - * All other domains are returned in non absolute form - */ -int -ns_name_ntop(const u_char *src, char *dst, size_t dstsiz) { - const u_char *cp; - char *dn, *eom; - u_char c; - u_int n; - - cp = src; - dn = dst; - eom = dst + dstsiz; - - while ((n = *cp++) != 0) { - if ((n & NS_CMPRSFLGS) != 0) { - /* Some kind of compression pointer. */ - errno = EMSGSIZE; - return (-1); - } - if (dn != dst) { - if (dn >= eom) { - errno = EMSGSIZE; - return (-1); - } - *dn++ = '.'; - } - if (dn + n >= eom) { - errno = EMSGSIZE; - return (-1); - } - for ((void)NULL; n > 0; n--) { - c = *cp++; - if (special(c)) { - if (dn + 1 >= eom) { - errno = EMSGSIZE; - return (-1); - } - *dn++ = '\\'; - *dn++ = (char)c; - } else if (!printable(c)) { - if (dn + 3 >= eom) { - errno = EMSGSIZE; - return (-1); - } - *dn++ = '\\'; - *dn++ = digits[c / 100]; - *dn++ = digits[(c % 100) / 10]; - *dn++ = digits[c % 10]; - } else { - if (dn >= eom) { - errno = EMSGSIZE; - return (-1); - } - *dn++ = (char)c; - } - } - } - if (dn == dst) { - if (dn >= eom) { - errno = EMSGSIZE; - return (-1); - } - *dn++ = '.'; - } - if (dn >= eom) { - errno = EMSGSIZE; - return (-1); - } - *dn++ = '\0'; - return (dn - dst); -} - -/* - * ns_name_pton(src, dst, dstsiz) - * Convert a ascii string into an encoded domain name as per RFC1035. - * return: - * -1 if it fails - * 1 if string was fully qualified - * 0 is string was not fully qualified - * notes: - * Enforces label and domain length limits. - */ - -int -ns_name_pton(const char *src, u_char *dst, size_t dstsiz) { - u_char *label, *bp, *eom; - int c, n, escaped; - char *cp; - - escaped = 0; - bp = dst; - eom = dst + dstsiz; - label = bp++; - - while ((c = *src++) != 0) { - if (escaped) { - if ((cp = strchr(digits, c)) != NULL) { - n = (cp - digits) * 100; - if ((c = *src++) == 0 || - (cp = strchr(digits, c)) == NULL) { - errno = EMSGSIZE; - return (-1); - } - n += (cp - digits) * 10; - if ((c = *src++) == 0 || - (cp = strchr(digits, c)) == NULL) { - errno = EMSGSIZE; - return (-1); - } - n += (cp - digits); - if (n > 255) { - errno = EMSGSIZE; - return (-1); - } - c = n; - } - escaped = 0; - } else if (c == '\\') { - escaped = 1; - continue; - } else if (c == '.') { - c = (bp - label - 1); - if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */ - errno = EMSGSIZE; - return (-1); - } - if (label >= eom) { - errno = EMSGSIZE; - return (-1); - } - *label = c; - /* Fully qualified ? */ - if (*src == '\0') { - if (c != 0) { - if (bp >= eom) { - errno = EMSGSIZE; - return (-1); - } - *bp++ = '\0'; - } - if ((bp - dst) > MAXCDNAME) { - errno = EMSGSIZE; - return (-1); - } - return (1); - } - if (c == 0) { - errno = EMSGSIZE; - return (-1); - } - label = bp++; - continue; - } - if (bp >= eom) { - errno = EMSGSIZE; - return (-1); - } - *bp++ = (u_char)c; - } - c = (bp - label - 1); - if ((c & NS_CMPRSFLGS) != 0) { /* Label too big. */ - errno = EMSGSIZE; - return (-1); - } - if (label >= eom) { - errno = EMSGSIZE; - return (-1); - } - *label = c; - if (c != 0) { - if (bp >= eom) { - errno = EMSGSIZE; - return (-1); - } - *bp++ = 0; - } - if ((bp - dst) > MAXCDNAME) { /* src too big */ - errno = EMSGSIZE; - return (-1); - } - return (0); -} - -/* - * ns_name_unpack(msg, eom, src, dst, dstsiz) - * Unpack a domain name from a message, source may be compressed. - * return: - * -1 if it fails, or consumed octets if it succeeds. - */ -int -ns_name_unpack(const u_char *msg, const u_char *eom, const u_char *src, - u_char *dst, size_t dstsiz) -{ - const u_char *srcp, *dstlim; - u_char *dstp; - int n, len, checked; - - len = -1; - checked = 0; - dstp = dst; - srcp = src; - dstlim = dst + dstsiz; - if (srcp < msg || srcp >= eom) { - errno = EMSGSIZE; - return (-1); - } - /* Fetch next label in domain name. */ - while ((n = *srcp++) != 0) { - /* Check for indirection. */ - switch (n & NS_CMPRSFLGS) { - case 0: - /* Limit checks. */ - if (dstp + n + 1 >= dstlim || srcp + n >= eom) { - errno = EMSGSIZE; - return (-1); - } - checked += n + 1; - *dstp++ = n; - memcpy(dstp, srcp, n); - dstp += n; - srcp += n; - break; - - case NS_CMPRSFLGS: - if (srcp >= eom) { - errno = EMSGSIZE; - return (-1); - } - if (len < 0) - len = srcp - src + 1; - srcp = msg + (((n & 0x3f) << 8) | (*srcp & 0xff)); - if (srcp < msg || srcp >= eom) { /* Out of range. */ - errno = EMSGSIZE; - return (-1); - } - checked += 2; - /* - * Check for loops in the compressed name; - * if we've looked at the whole message, - * there must be a loop. - */ - if (checked >= eom - msg) { - errno = EMSGSIZE; - return (-1); - } - break; - - default: - errno = EMSGSIZE; - return (-1); /* flag error */ - } - } - *dstp = '\0'; - if (len < 0) - len = srcp - src; - return (len); -} - -/* - * ns_name_pack(src, dst, dstsiz, dnptrs, lastdnptr) - * Pack domain name 'domain' into 'comp_dn'. - * return: - * Size of the compressed name, or -1. - * notes: - * 'dnptrs' is an array of pointers to previous compressed names. - * dnptrs[0] is a pointer to the beginning of the message. The array - * ends with NULL. - * 'lastdnptr' is a pointer to the end of the array pointed to - * by 'dnptrs'. - * Side effects: - * The list of pointers in dnptrs is updated for labels inserted into - * the message as we compress the name. If 'dnptr' is NULL, we don't - * try to compress names. If 'lastdnptr' is NULL, we don't update the - * list. - */ -int -ns_name_pack(const u_char *src, u_char *dst, int dstsiz, - const u_char **dnptrs, const u_char **lastdnptr) -{ - u_char *dstp; - const u_char **cpp, **lpp, *eob, *msg; - const u_char *srcp; - int n, l; - - srcp = src; - dstp = dst; - eob = dstp + dstsiz; - lpp = cpp = NULL; - if (dnptrs != NULL) { - if ((msg = *dnptrs++) != NULL) { - for (cpp = dnptrs; *cpp != NULL; cpp++) - (void)NULL; - lpp = cpp; /* end of list to search */ - } - } else - msg = NULL; - - /* make sure the domain we are about to add is legal */ - l = 0; - do { - n = *srcp; - if ((n & NS_CMPRSFLGS) != 0) { - errno = EMSGSIZE; - return (-1); - } - l += n + 1; - if (l > MAXCDNAME) { - errno = EMSGSIZE; - return (-1); - } - srcp += n + 1; - } while (n != 0); - - srcp = src; - do { - /* Look to see if we can use pointers. */ - n = *srcp; - if (n != 0 && msg != NULL) { - l = dn_find(srcp, msg, (const u_char * const *)dnptrs, - (const u_char * const *)lpp); - if (l >= 0) { - if (dstp + 1 >= eob) { - errno = EMSGSIZE; - return (-1); - } - *dstp++ = (l >> 8) | NS_CMPRSFLGS; - *dstp++ = l % 256; - return (dstp - dst); - } - /* Not found, save it. */ - if (lastdnptr != NULL && cpp < lastdnptr - 1 && - (dstp - msg) < 0x4000) { - *cpp++ = dstp; - *cpp = NULL; - } - } - /* copy label to buffer */ - if (n & NS_CMPRSFLGS) { /* Should not happen. */ - errno = EMSGSIZE; - return (-1); - } - if (dstp + 1 + n >= eob) { - errno = EMSGSIZE; - return (-1); - } - memcpy(dstp, srcp, n + 1); - srcp += n + 1; - dstp += n + 1; - } while (n != 0); - - if (dstp > eob) { - if (msg != NULL) - *lpp = NULL; - errno = EMSGSIZE; - return (-1); - } - return (dstp - dst); -} - -/* - * ns_name_uncompress(msg, eom, src, dst, dstsiz) - * Expand compressed domain name to presentation format. - * return: - * Number of bytes read out of `src', or -1 (with errno set). - * note: - * Root domain returns as "." not "". - */ -int -ns_name_uncompress(const u_char *msg, const u_char *eom, const u_char *src, - char *dst, size_t dstsiz) -{ - u_char tmp[NS_MAXCDNAME]; - int n; - - if ((n = ns_name_unpack(msg, eom, src, tmp, sizeof tmp)) == -1) - return (-1); - if (ns_name_ntop(tmp, dst, dstsiz) == -1) - return (-1); - return (n); -} - -/* - * ns_name_compress(src, dst, dstsiz, dnptrs, lastdnptr) - * Compress a domain name into wire format, using compression pointers. - * return: - * Number of bytes consumed in `dst' or -1 (with errno set). - * notes: - * 'dnptrs' is an array of pointers to previous compressed names. - * dnptrs[0] is a pointer to the beginning of the message. - * The list ends with NULL. 'lastdnptr' is a pointer to the end of the - * array pointed to by 'dnptrs'. Side effect is to update the list of - * pointers for labels inserted into the message as we compress the name. - * If 'dnptr' is NULL, we don't try to compress names. If 'lastdnptr' - * is NULL, we don't update the list. - */ -int -ns_name_compress(const char *src, u_char *dst, size_t dstsiz, - const u_char **dnptrs, const u_char **lastdnptr) -{ - u_char tmp[NS_MAXCDNAME]; - - if (ns_name_pton(src, tmp, sizeof tmp) == -1) - return (-1); - return (ns_name_pack(tmp, dst, dstsiz, dnptrs, lastdnptr)); -} - -/* - * ns_name_skip(ptrptr, eom) - * Advance *ptrptr to skip over the compressed name it points at. - * return: - * 0 on success, -1 (with errno set) on failure. - */ -int -ns_name_skip(const u_char **ptrptr, const u_char *eom) { - const u_char *cp; - u_int n; - - cp = *ptrptr; - while (cp < eom && (n = *cp++) != 0) { - /* Check for indirection. */ - switch (n & NS_CMPRSFLGS) { - case 0: /* normal case, n == len */ - cp += n; - continue; - case NS_CMPRSFLGS: /* indirection */ - cp++; - break; - default: /* illegal type */ - errno = EMSGSIZE; - return (-1); - } - break; - } - if (cp > eom) { - errno = EMSGSIZE; - return (-1); - } - *ptrptr = cp; - return (0); -} - -/* Private. */ - -/* - * special(ch) - * Thinking in noninternationalized USASCII (per the DNS spec), - * is this characted special ("in need of quoting") ? - * return: - * boolean. - */ -static int -special(int ch) { - switch (ch) { - case 0x22: /* '"' */ - case 0x2E: /* '.' */ - case 0x3B: /* ';' */ - case 0x5C: /* '\\' */ - /* Special modifiers in zone files. */ - case 0x40: /* '@' */ - case 0x24: /* '$' */ - return (1); - default: - return (0); - } -} - -/* - * printable(ch) - * Thinking in noninternationalized USASCII (per the DNS spec), - * is this character visible and not a space when printed ? - * return: - * boolean. - */ -static int -printable(int ch) { - return (ch > 0x20 && ch < 0x7f); -} - -/* - * Thinking in noninternationalized USASCII (per the DNS spec), - * convert this character to lower case if it's upper case. - */ -static int -mklower(int ch) { - if (ch >= 0x41 && ch <= 0x5A) - return (ch + 0x20); - return (ch); -} - -/* - * dn_find(domain, msg, dnptrs, lastdnptr) - * Search for the counted-label name in an array of compressed names. - * return: - * offset from msg if found, or -1. - * notes: - * dnptrs is the pointer to the first name on the list, - * not the pointer to the start of the message. - */ -static int -dn_find(const u_char *domain, const u_char *msg, - const u_char * const *dnptrs, - const u_char * const *lastdnptr) -{ - const u_char *dn, *cp, *sp; - const u_char * const *cpp; - u_int n; - - for (cpp = dnptrs; cpp < lastdnptr; cpp++) { - dn = domain; - sp = cp = *cpp; - while ((n = *cp++) != 0) { - /* - * check for indirection - */ - switch (n & NS_CMPRSFLGS) { - case 0: /* normal case, n == len */ - if (n != *dn++) - goto next; - for ((void)NULL; n > 0; n--) - if (mklower(*dn++) != mklower(*cp++)) - goto next; - /* Is next root for both ? */ - if (*dn == '\0' && *cp == '\0') - return (sp - msg); - if (*dn) - continue; - goto next; - - case NS_CMPRSFLGS: /* indirection */ - cp = msg + (((n & 0x3f) << 8) | *cp); - break; - - default: /* illegal type */ - errno = EMSGSIZE; - return (-1); - } - } - next: ; - } - errno = ENOENT; - return (-1); -} diff --git a/c/src/exec/libnetworking/libc/ns_netint.c b/c/src/exec/libnetworking/libc/ns_netint.c deleted file mode 100644 index 3c09da8f8c..0000000000 --- a/c/src/exec/libnetworking/libc/ns_netint.c +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if !defined(__rtems__) -#if !defined(LINT) && !defined(CODECENTER) -static char rcsid[] = "$Id$"; -#endif /* not lint */ -#endif /* not rtems */ - -/* Import. */ - -#include -#include - -#include -#include - -u_int -ns_get16(const u_char *src) { - u_int dst; - - NS_GET16(dst, src); - return (dst); -} - -u_long -ns_get32(const u_char *src) { - u_long dst; - - NS_GET32(dst, src); - return (dst); -} - -void -ns_put16(u_int src, u_char *dst) { - NS_PUT16(src, dst); -} - -void -ns_put32(u_long src, u_char *dst) { - NS_PUT32(src, dst); -} diff --git a/c/src/exec/libnetworking/libc/ns_ntoa.c b/c/src/exec/libnetworking/libc/ns_ntoa.c deleted file mode 100644 index 9d0be2e1dc..0000000000 --- a/c/src/exec/libnetworking/libc/ns_ntoa.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 1986, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)ns_ntoa.c 8.1 (Berkeley) 6/4/93"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -char * -ns_ntoa(addr) - struct ns_addr addr; -{ - static char obuf[40]; - union { union ns_net net_e; u_long long_e; } net; - u_short port = htons(addr.x_port); - register char *cp; - char *cp2; - register u_char *up = addr.x_host.c_host; - u_char *uplim = up + 6; - static char *spectHex(); - - net.net_e = addr.x_net; - sprintf(obuf, "%lx", (u_long)ntohl(net.long_e)); - cp = spectHex(obuf); - cp2 = cp + 1; - while (*up==0 && up < uplim) up++; - if (up == uplim) { - if (port) { - sprintf(cp, ".0"); - cp += 2; - } - } else { - sprintf(cp, ".%x", *up++); - while (up < uplim) { - while (*cp) cp++; - sprintf(cp, "%02x", *up++); - } - cp = spectHex(cp2); - } - if (port) { - sprintf(cp, ".%x", port); - spectHex(cp + 1); - } - return (obuf); -} - -static char * -spectHex(p0) - char *p0; -{ - int ok = 0; - int nonzero = 0; - register char *p = p0; - for (; *p; p++) switch (*p) { - - case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': - *p += ('A' - 'a'); - /* fall into . . . */ - case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': - ok = 1; - case '1': case '2': case '3': case '4': case '5': - case '6': case '7': case '8': case '9': - nonzero = 1; - } - if (nonzero && !ok) { *p++ = 'H'; *p = 0; } - return (p); -} diff --git a/c/src/exec/libnetworking/libc/ns_parse.c b/c/src/exec/libnetworking/libc/ns_parse.c deleted file mode 100644 index cc1f070156..0000000000 --- a/c/src/exec/libnetworking/libc/ns_parse.c +++ /dev/null @@ -1,192 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if !defined(__rtems__) -#if !defined(LINT) && !defined(CODECENTER) -static char rcsid[] = "$Id$"; -#endif /* not lint */ -#endif /* not rtems */ - -#include - -#include -#include - -#include -#include -#include - -/* These need to be in the same order as the nres.h:ns_flag enum. */ -struct _ns_flagdata _ns_flagdata[16] = { - { 0x8000, 15 }, /* qr. */ - { 0x7800, 11 }, /* opcode. */ - { 0x0400, 10 }, /* aa. */ - { 0x0200, 9 }, /* tc. */ - { 0x0100, 8 }, /* rd. */ - { 0x0080, 7 }, /* ra. */ - { 0x0040, 6 }, /* z. */ - { 0x0020, 5 }, /* ad. */ - { 0x0010, 4 }, /* cd. */ - { 0x000f, 0 }, /* rcode. */ - { 0x0000, 0 }, /* expansion (1/6). */ - { 0x0000, 0 }, /* expansion (2/6). */ - { 0x0000, 0 }, /* expansion (3/6). */ - { 0x0000, 0 }, /* expansion (4/6). */ - { 0x0000, 0 }, /* expansion (5/6). */ - { 0x0000, 0 }, /* expansion (6/6). */ -}; - -static int -skiprr(const u_char *ptr, const u_char *eom, ns_sect section, int count) { - const u_char *optr = ptr; - - for ((void)NULL; count > 0; count--) { - int b, rdlength; - - b = dn_skipname(ptr, eom); - if (b < 0) - goto emsgsize; - ptr += b/*Name*/ + NS_INT16SZ/*Type*/ + NS_INT16SZ/*Class*/; - if (section != ns_s_qd) { - if (ptr + NS_INT32SZ > eom) - goto emsgsize; - ptr += NS_INT32SZ/*TTL*/; - if (ptr + NS_INT16SZ > eom) - goto emsgsize; - NS_GET16(rdlength, ptr); - ptr += rdlength/*RData*/; - } - } - if (ptr > eom) - goto emsgsize; - return (ptr - optr); - emsgsize: - errno = EMSGSIZE; - return (-1); -} - -int -ns_initparse(const u_char *msg, int msglen, ns_msg *handle) { - const u_char *eom = msg + msglen; - int i; - - memset(handle, 0x5e, sizeof *handle); - handle->_msg = msg; - handle->_eom = eom; - if (msg + NS_INT16SZ > eom) - goto emsgsize; - NS_GET16(handle->_id, msg); - if (msg + NS_INT16SZ > eom) - goto emsgsize; - NS_GET16(handle->_flags, msg); - for (i = 0; i < ns_s_max; i++) { - if (msg + NS_INT16SZ > eom) - goto emsgsize; - NS_GET16(handle->_counts[i], msg); - } - for (i = 0; i < ns_s_max; i++) - if (handle->_counts[i] == 0) - handle->_sections[i] = NULL; - else { - int b = skiprr(msg, eom, (ns_sect)i, - handle->_counts[i]); - - if (b < 0) - return (-1); - handle->_sections[i] = msg; - msg += b; - } - if (msg != eom) - goto emsgsize; - handle->_sect = ns_s_max; - handle->_rrnum = -1; - handle->_ptr = NULL; - return (0); - emsgsize: - errno = EMSGSIZE; - return (-1); -} - -int -ns_parserr(ns_msg *handle, ns_sect section, int rrnum, ns_rr *rr) { - int b; - - /* Make section right. */ - if (section < 0 || section >= ns_s_max) - goto enodev; - if ((int)section != (int)handle->_sect) { - handle->_sect = section; - handle->_rrnum = 0; - handle->_ptr = handle->_sections[(int)section]; - } - - /* Make rrnum right. */ - if (rrnum == -1) - rrnum = handle->_rrnum; - if (rrnum < 0 || rrnum >= handle->_counts[(int)section]) - goto enodev; - if (rrnum < handle->_rrnum) { - handle->_rrnum = 0; - handle->_ptr = handle->_sections[(int)section]; - } - - b = skiprr(handle->_msg, handle->_eom, section, - rrnum - handle->_rrnum); - if (b < 0) - return (-1); - handle->_ptr += b; - handle->_rrnum = rrnum; - - /* Do the parse. */ - b = dn_expand(handle->_msg, handle->_eom, - handle->_ptr, rr->name, NS_MAXDNAME); - if (b < 0) - return (-1); - handle->_ptr += b; - if (handle->_ptr + NS_INT16SZ > handle->_eom) - goto emsgsize; - NS_GET16(rr->type, handle->_ptr); - if (handle->_ptr + NS_INT16SZ > handle->_eom) - goto emsgsize; - NS_GET16(rr->class, handle->_ptr); - if (section == ns_s_qd) { - rr->ttl = 0; - rr->rdlength = 0; - rr->rdata = NULL; - } else { - if (handle->_ptr + NS_INT32SZ > handle->_eom) - goto emsgsize; - NS_GET32(rr->ttl, handle->_ptr); - if (handle->_ptr + NS_INT16SZ > handle->_eom) - goto emsgsize; - NS_GET16(rr->rdlength, handle->_ptr); - if (handle->_ptr + rr->rdlength > handle->_eom) - goto emsgsize; - rr->rdata = handle->_ptr; - handle->_ptr += rr->rdlength; - } - handle->_rrnum++; - - /* All done. */ - return (0); - enodev: - errno = ENODEV; - return (-1); - emsgsize: - errno = EMSGSIZE; - return (-1); -} diff --git a/c/src/exec/libnetworking/libc/ns_print.c b/c/src/exec/libnetworking/libc/ns_print.c deleted file mode 100644 index f7d7d16c64..0000000000 --- a/c/src/exec/libnetworking/libc/ns_print.c +++ /dev/null @@ -1,745 +0,0 @@ -/* - * Copyright (c) 1996, 1998 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if !defined(__rtems__) -#if !defined(LINT) && !defined(CODECENTER) -static char rcsid[] = "$Id$"; -#endif /* not lint */ -#endif /* not rtems */ - -/* Import. */ - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#define SPRINTF(x) ((size_t)sprintf x) - -/* Forward. */ - -static size_t prune_origin(const char *name, const char *origin); -static int charstr(const u_char *rdata, const u_char *edata, - char **buf, size_t *buflen); -static int addname(const u_char *msg, size_t msglen, - const u_char **p, const char *origin, - char **buf, size_t *buflen); -static void addlen(size_t len, char **buf, size_t *buflen); -static int addstr(const char *src, size_t len, - char **buf, size_t *buflen); -static int addtab(size_t len, size_t target, int spaced, - char **buf, size_t *buflen); - -/* Macros. */ - -#define T(x) \ - do { \ - if ((x) < 0) \ - return (-1); \ - } while (0) - -/* Public. */ - -/* - * int - * ns_sprintrr(handle, rr, name_ctx, origin, buf, buflen) - * Convert an RR to presentation format. - * return: - * Number of characters written to buf, or -1 (check errno). - */ -int -ns_sprintrr(const ns_msg *handle, const ns_rr *rr, - const char *name_ctx, const char *origin, - char *buf, size_t buflen) -{ - int n; - - n = ns_sprintrrf(ns_msg_base(*handle), ns_msg_size(*handle), - ns_rr_name(*rr), ns_rr_class(*rr), ns_rr_type(*rr), - ns_rr_ttl(*rr), ns_rr_rdata(*rr), ns_rr_rdlen(*rr), - name_ctx, origin, buf, buflen); - return (n); -} - -/* - * int - * ns_sprintrrf(msg, msglen, name, class, type, ttl, rdata, rdlen, - * name_ctx, origin, buf, buflen) - * Convert the fields of an RR into presentation format. - * return: - * Number of characters written to buf, or -1 (check errno). - */ -int -ns_sprintrrf(const u_char *msg, size_t msglen, - const char *name, ns_class class, ns_type type, - u_long ttl, const u_char *rdata, size_t rdlen, - const char *name_ctx, const char *origin, - char *buf, size_t buflen) -{ - const char *obuf = buf; - const u_char *edata = rdata + rdlen; - int spaced = 0; - - const char *comment; - char tmp[100]; - int len, x; - - /* - * Owner. - */ - if (name_ctx != NULL && strcasecmp(name_ctx, name) == 0) { - T(addstr("\t\t\t", 3, &buf, &buflen)); - } else { - len = prune_origin(name, origin); - if (len == 0) { - T(addstr("@\t\t\t", 4, &buf, &buflen)); - } else { - T(addstr(name, len, &buf, &buflen)); - /* Origin not used and no trailing dot? */ - if ((!origin || !origin[0] || name[len] == '\0') && - name[len - 1] != '.') { - T(addstr(".", 1, &buf, &buflen)); - len++; - } - T(spaced = addtab(len, 24, spaced, &buf, &buflen)); - } - } - - /* - * TTL, Class, Type. - */ - T(x = ns_format_ttl(ttl, buf, buflen)); - addlen(x, &buf, &buflen); - len = SPRINTF((tmp, " %s %s", p_class(class), p_type(type))); - T(addstr(tmp, len, &buf, &buflen)); - T(spaced = addtab(x + len, 16, spaced, &buf, &buflen)); - - /* - * RData. - */ - switch (type) { - case ns_t_a: - if (rdlen != NS_INADDRSZ) - goto formerr; - (void) inet_ntop(AF_INET, rdata, buf, buflen); - addlen(strlen(buf), &buf, &buflen); - break; - - case ns_t_cname: - case ns_t_mb: - case ns_t_mg: - case ns_t_mr: - case ns_t_ns: - case ns_t_ptr: - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - break; - - case ns_t_hinfo: - case ns_t_isdn: - /* First word. */ - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len == 0) - goto formerr; - rdata += len; - T(addstr(" ", 1, &buf, &buflen)); - - /* Second word. */ - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len == 0) - goto formerr; - rdata += len; - break; - - case ns_t_soa: { - u_long t; - - /* Server name. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - T(addstr(" ", 1, &buf, &buflen)); - - /* Administrator name. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - T(addstr(" (\n", 3, &buf, &buflen)); - spaced = 0; - - if ((edata - rdata) != 5*NS_INT32SZ) - goto formerr; - - /* Serial number. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - T(addstr("\t\t\t\t\t", 5, &buf, &buflen)); - len = SPRINTF((tmp, "%lu", t)); - T(addstr(tmp, len, &buf, &buflen)); - T(spaced = addtab(len, 16, spaced, &buf, &buflen)); - T(addstr("; serial\n", 9, &buf, &buflen)); - spaced = 0; - - /* Refresh interval. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - T(addstr("\t\t\t\t\t", 5, &buf, &buflen)); - T(len = ns_format_ttl(t, buf, buflen)); - addlen(len, &buf, &buflen); - T(spaced = addtab(len, 16, spaced, &buf, &buflen)); - T(addstr("; refresh\n", 10, &buf, &buflen)); - spaced = 0; - - /* Retry interval. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - T(addstr("\t\t\t\t\t", 5, &buf, &buflen)); - T(len = ns_format_ttl(t, buf, buflen)); - addlen(len, &buf, &buflen); - T(spaced = addtab(len, 16, spaced, &buf, &buflen)); - T(addstr("; retry\n", 8, &buf, &buflen)); - spaced = 0; - - /* Expiry. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - T(addstr("\t\t\t\t\t", 5, &buf, &buflen)); - T(len = ns_format_ttl(t, buf, buflen)); - addlen(len, &buf, &buflen); - T(spaced = addtab(len, 16, spaced, &buf, &buflen)); - T(addstr("; expiry\n", 9, &buf, &buflen)); - spaced = 0; - - /* Minimum TTL. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - T(addstr("\t\t\t\t\t", 5, &buf, &buflen)); - T(len = ns_format_ttl(t, buf, buflen)); - addlen(len, &buf, &buflen); - T(addstr(" )", 2, &buf, &buflen)); - T(spaced = addtab(len, 16, spaced, &buf, &buflen)); - T(addstr("; minimum\n", 10, &buf, &buflen)); - - break; - } - - case ns_t_mx: - case ns_t_afsdb: - case ns_t_rt: { - u_int t; - - if (rdlen < NS_INT16SZ) - goto formerr; - - /* Priority. */ - t = ns_get16(rdata); - rdata += NS_INT16SZ; - len = SPRINTF((tmp, "%u ", t)); - T(addstr(tmp, len, &buf, &buflen)); - - /* Target. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - - break; - } - - case ns_t_px: { - u_int t; - - if (rdlen < NS_INT16SZ) - goto formerr; - - /* Priority. */ - t = ns_get16(rdata); - rdata += NS_INT16SZ; - len = SPRINTF((tmp, "%u ", t)); - T(addstr(tmp, len, &buf, &buflen)); - - /* Name1. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - T(addstr(" ", 1, &buf, &buflen)); - - /* Name2. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - - break; - } - - case ns_t_x25: - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len == 0) - goto formerr; - rdata += len; - break; - - case ns_t_txt: - while (rdata < edata) { - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len == 0) - goto formerr; - rdata += len; - if (rdata < edata) - T(addstr(" ", 1, &buf, &buflen)); - } - break; - - case ns_t_nsap: { - char t[255*3]; - - (void) inet_nsap_ntoa(rdlen, rdata, t); - T(addstr(t, strlen(t), &buf, &buflen)); - break; - } - - case ns_t_aaaa: - if (rdlen != NS_IN6ADDRSZ) - goto formerr; - (void) inet_ntop(AF_INET6, rdata, buf, buflen); - addlen(strlen(buf), &buf, &buflen); - break; - - case ns_t_loc: { - char t[255]; - - /* XXX protocol format checking? */ - (void) loc_ntoa(rdata, t); - T(addstr(t, strlen(t), &buf, &buflen)); - break; - } - - case ns_t_naptr: { - u_int order, preference; - char t[50]; - - if (rdlen < 2*NS_INT16SZ) - goto formerr; - - /* Order, Precedence. */ - order = ns_get16(rdata); rdata += NS_INT16SZ; - preference = ns_get16(rdata); rdata += NS_INT16SZ; - len = SPRINTF((t, "%u %u ", order, preference)); - T(addstr(t, len, &buf, &buflen)); - - /* Flags. */ - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len == 0) - goto formerr; - rdata += len; - T(addstr(" ", 1, &buf, &buflen)); - - /* Service. */ - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len == 0) - goto formerr; - rdata += len; - T(addstr(" ", 1, &buf, &buflen)); - - /* Regexp. */ - T(len = charstr(rdata, edata, &buf, &buflen)); - if (len < 0) - return (-1); - if (len == 0) - goto formerr; - rdata += len; - T(addstr(" ", 1, &buf, &buflen)); - - /* Server. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - break; - } - - case ns_t_srv: { - u_int priority, weight, port; - char t[50]; - - if (rdlen < NS_INT16SZ*3) - goto formerr; - - /* Priority, Weight, Port. */ - priority = ns_get16(rdata); rdata += NS_INT16SZ; - weight = ns_get16(rdata); rdata += NS_INT16SZ; - port = ns_get16(rdata); rdata += NS_INT16SZ; - len = SPRINTF((t, "%u %u %u ", priority, weight, port)); - T(addstr(t, len, &buf, &buflen)); - - /* Server. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - break; - } - - case ns_t_minfo: - case ns_t_rp: - /* Name1. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - T(addstr(" ", 1, &buf, &buflen)); - - /* Name2. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - - break; - - case ns_t_wks: { - int n, lcnt; - - if (rdlen < NS_INT32SZ + 1) - goto formerr; - - /* Address. */ - (void) inet_ntop(AF_INET, rdata, buf, buflen); - addlen(strlen(buf), &buf, &buflen); - rdata += NS_INADDRSZ; - - /* Protocol. */ - len = SPRINTF((tmp, " %u ( ", *rdata)); - T(addstr(tmp, len, &buf, &buflen)); - rdata += NS_INT8SZ; - - /* Bit map. */ - n = 0; - lcnt = 0; - while (rdata < edata) { - u_int c = *rdata++; - do { - if (c & 0200) { - if (lcnt == 0) { - T(addstr("\n\t\t\t\t", 5, - &buf, &buflen)); - lcnt = 10; - spaced = 0; - } - len = SPRINTF((tmp, "%d ", n)); - T(addstr(tmp, len, &buf, &buflen)); - lcnt--; - } - c <<= 1; - } while (++n & 07); - } - T(addstr(")", 1, &buf, &buflen)); - - break; - } - - case ns_t_key: { - char base64_key[NS_MD5RSA_MAX_BASE64]; - u_int keyflags, protocol, algorithm; - const char *leader; - int n; - - if (rdlen < NS_INT16SZ + NS_INT8SZ + NS_INT8SZ) - goto formerr; - - /* Key flags, Protocol, Algorithm. */ - keyflags = ns_get16(rdata); rdata += NS_INT16SZ; - protocol = *rdata++; - algorithm = *rdata++; - len = SPRINTF((tmp, "0x%04x %u %u", - keyflags, protocol, algorithm)); - T(addstr(tmp, len, &buf, &buflen)); - - /* Public key data. */ - len = b64_ntop(rdata, edata - rdata, - base64_key, sizeof base64_key); - if (len < 0) - goto formerr; - if (len > 15) { - T(addstr(" (", 2, &buf, &buflen)); - leader = "\n\t\t"; - spaced = 0; - } else - leader = " "; - for (n = 0; n < len; n += 48) { - T(addstr(leader, strlen(leader), &buf, &buflen)); - T(addstr(base64_key + n, MIN(len - n, 48), - &buf, &buflen)); - } - if (len > 15) - T(addstr(" )", 2, &buf, &buflen)); - - break; - } - - case ns_t_sig: { - char base64_key[NS_MD5RSA_MAX_BASE64]; - u_int type, algorithm, labels, footprint; - const char *leader; - u_long t; - int n; - - if (rdlen < 22) - goto formerr; - - /* Type covered, Algorithm, Label count, Original TTL. */ - type = ns_get16(rdata); rdata += NS_INT16SZ; - algorithm = *rdata++; - labels = *rdata++; - t = ns_get32(rdata); rdata += NS_INT32SZ; - len = SPRINTF((tmp, " %s %d %lu ", - p_type(type), algorithm, t)); - T(addstr(tmp, len, &buf, &buflen)); - if (labels != (u_int)dn_count_labels(name)) - goto formerr; - - /* Signature expiry. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - len = SPRINTF((tmp, "%s ", p_secstodate(t))); - T(addstr(tmp, len, &buf, &buflen)); - - /* Time signed. */ - t = ns_get32(rdata); rdata += NS_INT32SZ; - len = SPRINTF((tmp, "%s ", p_secstodate(t))); - T(addstr(tmp, len, &buf, &buflen)); - - /* Signature Footprint. */ - footprint = ns_get16(rdata); rdata += NS_INT16SZ; - len = SPRINTF((tmp, "%u ", footprint)); - T(addstr(tmp, len, &buf, &buflen)); - - /* Signer's name. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - - /* Signature. */ - len = b64_ntop(rdata, edata - rdata, - base64_key, sizeof base64_key); - if (len > 15) { - T(addstr(" (", 2, &buf, &buflen)); - leader = "\n\t\t"; - spaced = 0; - } else - leader = " "; - if (len < 0) - goto formerr; - for (n = 0; n < len; n += 48) { - T(addstr(leader, strlen(leader), &buf, &buflen)); - T(addstr(base64_key + n, MIN(len - n, 48), - &buf, &buflen)); - } - if (len > 15) - T(addstr(" )", 2, &buf, &buflen)); - - break; - } - - case ns_t_nxt: { - int n, c; - - /* Next domain name. */ - T(addname(msg, msglen, &rdata, origin, &buf, &buflen)); - - /* Type bit map. */ - n = edata - rdata; - for (c = 0; c < n*8; c++) - if (NS_NXT_BIT_ISSET(c, rdata)) { - len = SPRINTF((tmp, " %s", p_type(c))); - T(addstr(tmp, len, &buf, &buflen)); - } - break; - } - - default: - comment = "unknown RR type"; - goto hexify; - } - return (buf - obuf); - formerr: - comment = "RR format error"; - hexify: { - int n, m; - char *p; - - len = SPRINTF((tmp, "\\#(\t\t; %s", comment)); - T(addstr(tmp, len, &buf, &buflen)); - while (rdata < edata) { - p = tmp; - p += SPRINTF((p, "\n\t")); - spaced = 0; - n = MIN(16, edata - rdata); - for (m = 0; m < n; m++) - p += SPRINTF((p, "%02x ", rdata[m])); - T(addstr(tmp, p - tmp, &buf, &buflen)); - if (n < 16) { - T(addstr(")", 1, &buf, &buflen)); - T(addtab(p - tmp + 1, 48, spaced, &buf, &buflen)); - } - p = tmp; - p += SPRINTF((p, "; ")); - for (m = 0; m < n; m++) - *p++ = (isascii(rdata[m]) && isprint(rdata[m])) - ? rdata[m] - : '.'; - T(addstr(tmp, p - tmp, &buf, &buflen)); - rdata += n; - } - return (buf - obuf); - } -} - -/* Private. */ - -/* - * size_t - * prune_origin(name, origin) - * Find out if the name is at or under the current origin. - * return: - * Number of characters in name before start of origin, - * or length of name if origin does not match. - * notes: - * This function should share code with samedomain(). - */ -static size_t -prune_origin(const char *name, const char *origin) { - const char *oname = name; - - while (*name != '\0') { - if (origin != NULL && strcasecmp(name, origin) == 0) - return (name - oname - (name > oname)); - while (*name != '\0') { - if (*name == '\\') { - name++; - /* XXX need to handle \nnn form. */ - if (*name == '\0') - break; - } else if (*name == '.') { - name++; - break; - } - name++; - } - } - return (name - oname); -} - -/* - * int - * charstr(rdata, edata, buf, buflen) - * Format a into the presentation buffer. - * return: - * Number of rdata octets consumed - * 0 for protocol format error - * -1 for output buffer error - * side effects: - * buffer is advanced on success. - */ -static int -charstr(const u_char *rdata, const u_char *edata, char **buf, size_t *buflen) { - const u_char *odata = rdata; - size_t save_buflen = *buflen; - char *save_buf = *buf; - - if (addstr("\"", 1, buf, buflen) < 0) - goto enospc; - if (rdata < edata) { - int n = *rdata; - - if (rdata + 1 + n <= edata) { - rdata++; - while (n-- > 0) { - if (strchr("\n\"\\", *rdata) != NULL) - if (addstr("\\", 1, buf, buflen) < 0) - goto enospc; - if (addstr((const char *)rdata, 1, - buf, buflen) < 0) - goto enospc; - rdata++; - } - } - } - if (addstr("\"", 1, buf, buflen) < 0) - goto enospc; - return (rdata - odata); - enospc: - errno = ENOSPC; - *buf = save_buf; - *buflen = save_buflen; - return (-1); -} - -static int -addname(const u_char *msg, size_t msglen, - const u_char **pp, const char *origin, - char **buf, size_t *buflen) -{ - size_t newlen, save_buflen = *buflen; - char *save_buf = *buf; - int n; - - n = dn_expand(msg, msg + msglen, *pp, *buf, *buflen); - if (n < 0) - goto enospc; /* Guess. */ - newlen = prune_origin(*buf, origin); - if ((origin == NULL || origin[0] == '\0' || (*buf)[newlen] == '\0') && - (newlen == 0 || (*buf)[newlen - 1] != '.')) { - /* No trailing dot. */ - if (newlen + 2 > *buflen) - goto enospc; /* No room for ".\0". */ - (*buf)[newlen++] = '.'; - (*buf)[newlen] = '\0'; - } - if (newlen == 0) { - /* Use "@" instead of name. */ - if (newlen + 2 > *buflen) - goto enospc; /* No room for "@\0". */ - (*buf)[newlen++] = '@'; - (*buf)[newlen] = '\0'; - } - *pp += n; - addlen(newlen, buf, buflen); - **buf = '\0'; - return (newlen); - enospc: - errno = ENOSPC; - *buf = save_buf; - *buflen = save_buflen; - return (-1); -} - -static void -addlen(size_t len, char **buf, size_t *buflen) { - assert(len <= *buflen); - *buf += len; - *buflen -= len; -} - -static int -addstr(const char *src, size_t len, char **buf, size_t *buflen) { - if (len > *buflen) { - errno = ENOSPC; - return (-1); - } - memcpy(*buf, src, len); - addlen(len, buf, buflen); - **buf = '\0'; - return (0); -} - -static int -addtab(size_t len, size_t target, int spaced, char **buf, size_t *buflen) { - size_t save_buflen = *buflen; - char *save_buf = *buf; - int t; - - if (spaced || len >= target - 1) { - T(addstr(" ", 2, buf, buflen)); - spaced = 1; - } else { - for (t = (target - len - 1) / 8; t >= 0; t--) - if (addstr("\t", 1, buf, buflen) < 0) { - *buflen = save_buflen; - *buf = save_buf; - return (-1); - } - spaced = 0; - } - return (spaced); -} diff --git a/c/src/exec/libnetworking/libc/ns_ttl.c b/c/src/exec/libnetworking/libc/ns_ttl.c deleted file mode 100644 index 75093c1dbc..0000000000 --- a/c/src/exec/libnetworking/libc/ns_ttl.c +++ /dev/null @@ -1,153 +0,0 @@ -/* - * Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if !defined(__rtems__) -#if !defined(LINT) && !defined(CODECENTER) -static char rcsid[] = "$Id$"; -#endif /* not lint */ -#endif /* not rtems */ - -/* Import. */ - -#include - -#include -#include -#include -#include - -#define SPRINTF(x) ((size_t)sprintf x) - -/* Forward. */ - -static int fmt1(int t, char s, char **buf, size_t *buflen); - -/* Macros. */ - -#define T(x) if ((x) < 0) return (-1); else (void)NULL - -/* Public. */ - -int -ns_format_ttl(u_long src, char *dst, size_t dstlen) { - char *odst = dst; - int secs, mins, hours, days, weeks, x; - char *p; - - secs = src % 60; src /= 60; - mins = src % 60; src /= 60; - hours = src % 24; src /= 24; - days = src % 7; src /= 7; - weeks = src; src = 0; - - x = 0; - if (weeks) { - T(fmt1(weeks, 'W', &dst, &dstlen)); - x++; - } - if (days) { - T(fmt1(days, 'D', &dst, &dstlen)); - x++; - } - if (hours) { - T(fmt1(hours, 'H', &dst, &dstlen)); - x++; - } - if (mins) { - T(fmt1(mins, 'M', &dst, &dstlen)); - x++; - } - if (secs || !(weeks || days || hours || mins)) { - T(fmt1(secs, 'S', &dst, &dstlen)); - x++; - } - - if (x > 1) { - int ch; - - for (p = odst; (ch = *p) != '\0'; p++) - if (isascii(ch) && isupper(ch)) - *p = tolower(ch); - } - - return (dst - odst); -} - -int -ns_parse_ttl(const char *src, u_long *dst) { - u_long ttl, tmp; - int ch, digits, dirty; - - ttl = 0; - tmp = 0; - digits = 0; - dirty = 0; - while ((ch = *src++) != '\0') { - if (!isascii(ch) || !isprint(ch)) - goto einval; - if (isdigit(ch)) { - tmp *= 10; - tmp += (ch - '0'); - digits++; - continue; - } - if (digits == 0) - goto einval; - if (islower(ch)) - ch = toupper(ch); - switch (ch) { - case 'W': tmp *= 7; - case 'D': tmp *= 24; - case 'H': tmp *= 60; - case 'M': tmp *= 60; - case 'S': break; - default: goto einval; - } - ttl += tmp; - tmp = 0; - digits = 0; - dirty = 1; - } - if (digits > 0) { - if (dirty) - goto einval; - else - ttl += tmp; - } - *dst = ttl; - return (0); - - einval: - errno = EINVAL; - return (-1); -} - -/* Private. */ - -static int -fmt1(int t, char s, char **buf, size_t *buflen) { - char tmp[50]; - size_t len; - - len = SPRINTF((tmp, "%d%c", t, s)); - if (len + 1 > *buflen) - return (-1); - strcpy(*buf, tmp); - *buf += len; - *buflen -= len; - return (0); -} diff --git a/c/src/exec/libnetworking/libc/nsap_addr.c b/c/src/exec/libnetworking/libc/nsap_addr.c deleted file mode 100644 index a7af57a266..0000000000 --- a/c/src/exec/libnetworking/libc/nsap_addr.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Copyright (c) 1996, 1998 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include - -static char -xtob(c) - register int c; -{ - return (c - (((c >= '0') && (c <= '9')) ? '0' : '7')); -} - -u_int -inet_nsap_addr(ascii, binary, maxlen) - const char *ascii; - u_char *binary; - int maxlen; -{ - u_char c, nib; - u_int len = 0; - - while ((c = *ascii++) != '\0' && len < (u_int)maxlen) { - if (c == '.' || c == '+' || c == '/') - continue; - if (!isascii(c)) - return (0); - if (islower(c)) - c = toupper(c); - if (isxdigit(c)) { - nib = xtob(c); - c = *ascii++; - if (c != '\0') { - c = toupper(c); - if (isxdigit(c)) { - *binary++ = (nib << 4) | xtob(c); - len++; - } else - return (0); - } - else - return (0); - } - else - return (0); - } - return (len); -} - -char * -inet_nsap_ntoa(binlen, binary, ascii) - int binlen; - register const u_char *binary; - register char *ascii; -{ - register int nib; - int i; - static char tmpbuf[255*3]; - char *start; - - if (ascii) - start = ascii; - else { - ascii = tmpbuf; - start = tmpbuf; - } - - if (binlen > 255) - binlen = 255; - - for (i = 0; i < binlen; i++) { - nib = *binary >> 4; - *ascii++ = nib + (nib < 10 ? '0' : '7'); - nib = *binary++ & 0x0f; - *ascii++ = nib + (nib < 10 ? '0' : '7'); - if (((i % 2) == 0 && (i + 1) < binlen)) - *ascii++ = '.'; - } - *ascii = '\0'; - return (start); -} diff --git a/c/src/exec/libnetworking/libc/rcmd.3 b/c/src/exec/libnetworking/libc/rcmd.3 deleted file mode 100644 index e25057fa4e..0000000000 --- a/c/src/exec/libnetworking/libc/rcmd.3 +++ /dev/null @@ -1,204 +0,0 @@ -.\" Copyright (c) 1983, 1991, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" From: @(#)rcmd.3 8.1 (Berkeley) 6/4/93 -.\" $Id$ -.\" -.Dd February 15, 1996 -.Dt RCMD 3 -.Os BSD 4.2 -.Sh NAME -.Nm rcmd , -.Nm rresvport , -.Nm iruserok , -.Nm ruserok -.Nd routines for returning a stream to a remote command -.Sh SYNOPSIS -.Fd #include -.Ft int -.Fn rcmd "char **ahost" "int inport" "const char *locuser" "const char *remuser" "const char *cmd" "int *fd2p" -.Ft int -.Fn rresvport "int *port" -.Ft int -.Fn iruserok "u_long raddr" "int superuser" "const char *ruser" "const char *luser" -.Ft int -.Fn ruserok "const char *rhost" "int superuser" "const char *ruser" "const char *luser" -.Sh DESCRIPTION -The -.Fn rcmd -function -is used by the super-user to execute a command on -a remote machine using an authentication scheme based -on reserved port numbers. -The -.Fn rresvport -function -returns a descriptor to a socket -with an address in the privileged port space. -The -.Fn ruserok -function -is used by servers -to authenticate clients requesting service with -.Fn rcmd . -All three functions are present in the same file and are used -by the -.Xr rshd 8 -server (among others). -.Pp -The -.Fn rcmd -function -looks up the host -.Fa *ahost -using -.Xr gethostbyname 3 , -returning \-1 if the host does not exist. -Otherwise -.Fa *ahost -is set to the standard name of the host -and a connection is established to a server -residing at the well-known Internet port -.Fa inport . -.Pp -If the connection succeeds, -a socket in the Internet domain of type -.Dv SOCK_STREAM -is returned to the caller, and given to the remote -command as -.Em stdin -and -.Em stdout . -If -.Fa fd2p -is non-zero, then an auxiliary channel to a control -process will be set up, and a descriptor for it will be placed -in -.Fa *fd2p . -The control process will return diagnostic -output from the command (unit 2) on this channel, and will also -accept bytes on this channel as being -.Tn UNIX -signal numbers, to be -forwarded to the process group of the command. -If -.Fa fd2p -is 0, then the -.Em stderr -(unit 2 of the remote -command) will be made the same as the -.Em stdout -and no -provision is made for sending arbitrary signals to the remote process, -although you may be able to get its attention by using out-of-band data. -.Pp -The protocol is described in detail in -.Xr rshd 8 . -.Pp -The -.Fn rresvport -function is used to obtain a socket with a privileged -address bound to it. This socket is suitable for use -by -.Fn rcmd -and several other functions. Privileged Internet ports are those -in the range 0 to 1023. Only the super-user -is allowed to bind an address of this sort to a socket. -.Pp -The -.Fn iruserok -and -.Fn ruserok -functions take a remote host's IP address or name, as returned by the -.Xr gethostbyname 3 -routines, two user names and a flag indicating whether the local user's -name is that of the super-user. -Then, if the user is -.Em NOT -the super-user, it checks the -.Pa /etc/hosts.equiv -file. -If that lookup is not done, or is unsuccessful, the -.Pa .rhosts -in the local user's home directory is checked to see if the request for -service is allowed. -.Pp -If this file does not exist, is not a regular file, is owned by anyone -other than the user or the super-user, or is writable by anyone other -than the owner, the check automatically fails. -Zero is returned if the machine name is listed in the -.Dq Pa hosts.equiv -file, or the host and remote user name are found in the -.Dq Pa .rhosts -file; otherwise -.Fn iruserok -and -.Fn ruserok -return \-1. -If the local domain (as obtained from -.Xr gethostname 3 ) -is the same as the remote domain, only the machine name need be specified. -.Pp -The -.Fn iruserok -function is strongly preferred for security reasons. -It requires trusting the local DNS at most, while the -.Fn ruserok -function requires trusting the entire DNS, which can be spoofed. -.Sh DIAGNOSTICS -The -.Fn rcmd -function -returns a valid socket descriptor on success. -It returns \-1 on error and prints a diagnostic message on the standard error. -.Pp -The -.Fn rresvport -function -returns a valid, bound socket descriptor on success. -It returns \-1 on error with the global value -.Va errno -set according to the reason for failure. -The error code -.Dv EAGAIN -is overloaded to mean ``All network ports in use.'' -.Sh SEE ALSO -.Xr rlogin 1 , -.Xr rsh 1 , -.Xr intro 2 , -.Xr rexec 3 , -.Xr rexecd 8 , -.Xr rlogind 8 , -.Xr rshd 8 -.Sh HISTORY -These -functions appeared in -.Bx 4.2 . diff --git a/c/src/exec/libnetworking/libc/rcmd.c b/c/src/exec/libnetworking/libc/rcmd.c deleted file mode 100644 index 32e4953e9b..0000000000 --- a/c/src/exec/libnetworking/libc/rcmd.c +++ /dev/null @@ -1,520 +0,0 @@ -/* - * Copyright (c) 1983, 1993, 1994 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)rcmd.c 8.3 (Berkeley) 3/26/94"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifdef YP -#include -#include -#include -#endif - -extern int innetgr __P(( const char *, const char *, const char *, const char * )); - -#define max(a, b) ((a > b) ? a : b) - -int __ivaliduser __P((FILE *, u_long, const char *, const char *)); -static int __icheckhost __P((u_long, char *)); - -int -rcmd(ahost, rport, locuser, remuser, cmd, fd2p) - char **ahost; - u_short rport; - const char *locuser, *remuser, *cmd; - int *fd2p; -{ - struct hostent *hp; - struct sockaddr_in sin, from; - fd_set reads; - long oldmask; - pid_t pid; - int s, lport, timo; - char c; - - pid = getpid(); - hp = gethostbyname(*ahost); - if (hp == NULL) { - herror(*ahost); - return (-1); - } - *ahost = hp->h_name; - oldmask = sigblock(sigmask(SIGURG)); - for (timo = 1, lport = IPPORT_RESERVED - 1;;) { - s = rresvport(&lport); - if (s < 0) { - if (errno == EAGAIN) - (void)fprintf(stderr, - "rcmd: socket: All ports in use\n"); - else - (void)fprintf(stderr, "rcmd: socket: %s\n", - strerror(errno)); - sigsetmask(oldmask); - return (-1); - } - fcntl(s, F_SETOWN, pid); - bzero(&sin, sizeof sin); - sin.sin_len = sizeof(struct sockaddr_in); - sin.sin_family = hp->h_addrtype; - sin.sin_port = rport; - bcopy(hp->h_addr_list[0], &sin.sin_addr, MIN(hp->h_length, sizeof sin.sin_addr)); - if (connect(s, (struct sockaddr *)&sin, sizeof(sin)) >= 0) - break; - (void)close(s); - if (errno == EADDRINUSE) { - lport--; - continue; - } - if (errno == ECONNREFUSED && timo <= 16) { - (void)sleep(timo); - timo *= 2; - continue; - } - if (hp->h_addr_list[1] != NULL) { - int oerrno = errno; - - (void)fprintf(stderr, "connect to address %s: ", - inet_ntoa(sin.sin_addr)); - errno = oerrno; - perror(0); - hp->h_addr_list++; - bcopy(hp->h_addr_list[0], &sin.sin_addr, MIN(hp->h_length, sizeof sin.sin_addr)); - (void)fprintf(stderr, "Trying %s...\n", - inet_ntoa(sin.sin_addr)); - continue; - } - (void)fprintf(stderr, "%s: %s\n", hp->h_name, strerror(errno)); - sigsetmask(oldmask); - return (-1); - } - lport--; - if (fd2p == 0) { - write(s, "", 1); - lport = 0; - } else { - char num[8]; - int s2 = rresvport(&lport), s3; - int len = sizeof(from); - int nfds; - - if (s2 < 0) - goto bad; - listen(s2, 1); - (void)snprintf(num, sizeof(num), "%d", lport); - if (write(s, num, strlen(num)+1) != strlen(num)+1) { - (void)fprintf(stderr, - "rcmd: write (setting up stderr): %s\n", - strerror(errno)); - (void)close(s2); - goto bad; - } - nfds = max(s, s2)+1; - if(nfds > FD_SETSIZE) { - fprintf(stderr, "rcmd: too many files\n"); - (void)close(s2); - goto bad; - } -again: - FD_ZERO(&reads); - FD_SET(s, &reads); - FD_SET(s2, &reads); - errno = 0; - if (select(nfds, &reads, 0, 0, 0) < 1 || !FD_ISSET(s2, &reads)){ - if (errno != 0) - (void)fprintf(stderr, - "rcmd: select (setting up stderr): %s\n", - strerror(errno)); - else - (void)fprintf(stderr, - "select: protocol failure in circuit setup\n"); - (void)close(s2); - goto bad; - } - s3 = accept(s2, (struct sockaddr *)&from, &len); - /* - * XXX careful for ftp bounce attacks. If discovered, shut them - * down and check for the real auxiliary channel to connect. - */ - if (from.sin_family == AF_INET && from.sin_port == htons(20)) { - close(s3); - goto again; - } - (void)close(s2); - if (s3 < 0) { - (void)fprintf(stderr, - "rcmd: accept: %s\n", strerror(errno)); - lport = 0; - goto bad; - } - *fd2p = s3; - from.sin_port = ntohs((u_short)from.sin_port); - if (from.sin_family != AF_INET || - from.sin_port >= IPPORT_RESERVED || - from.sin_port < IPPORT_RESERVED / 2) { - (void)fprintf(stderr, - "socket: protocol failure in circuit setup.\n"); - goto bad2; - } - } - (void)write(s, locuser, strlen(locuser)+1); - (void)write(s, remuser, strlen(remuser)+1); - (void)write(s, cmd, strlen(cmd)+1); - if (read(s, &c, 1) != 1) { - (void)fprintf(stderr, - "rcmd: %s: %s\n", *ahost, strerror(errno)); - goto bad2; - } - if (c != 0) { - while (read(s, &c, 1) == 1) { - (void)write(STDERR_FILENO, &c, 1); - if (c == '\n') - break; - } - goto bad2; - } - sigsetmask(oldmask); - return (s); -bad2: - if (lport) - (void)close(*fd2p); -bad: - (void)close(s); - sigsetmask(oldmask); - return (-1); -} - -int -rresvport(alport) - int *alport; -{ - struct sockaddr_in sin; - int s; - - bzero(&sin, sizeof sin); - sin.sin_len = sizeof(struct sockaddr_in); - sin.sin_family = AF_INET; - sin.sin_addr.s_addr = INADDR_ANY; - s = socket(AF_INET, SOCK_STREAM, 0); - if (s < 0) - return (-1); -#if 0 /* compat_exact_traditional_rresvport_semantics */ - sin.sin_port = htons((u_short)*alport); - if (bind(s, (struct sockaddr *)&sin, sizeof(sin)) >= 0) - return (s); - if (errno != EADDRINUSE) { - (void)close(s); - return (-1); - } -#endif - sin.sin_port = 0; - if (bindresvport(s, &sin) == -1) { - (void)close(s); - return (-1); - } - *alport = (int)ntohs(sin.sin_port); - return (s); -} - -int __check_rhosts_file = 1; -char *__rcmd_errstr; - -int -ruserok(rhost, superuser, ruser, luser) - const char *rhost, *ruser, *luser; - int superuser; -{ - struct hostent *hp; - u_long addr; - char **ap; - - if ((hp = gethostbyname(rhost)) == NULL) - return (-1); - for (ap = hp->h_addr_list; *ap; ++ap) { - bcopy(*ap, &addr, sizeof(addr)); - if (iruserok(addr, superuser, ruser, luser) == 0) - return (0); - } - return (-1); -} - -/* - * New .rhosts strategy: We are passed an ip address. We spin through - * hosts.equiv and .rhosts looking for a match. When the .rhosts only - * has ip addresses, we don't have to trust a nameserver. When it - * contains hostnames, we spin through the list of addresses the nameserver - * gives us and look for a match. - * - * Returns 0 if ok, -1 if not ok. - */ -int -iruserok(raddr, superuser, ruser, luser) - u_long raddr; - int superuser; - const char *ruser, *luser; -{ - register char *cp; - struct stat sbuf; - struct passwd *pwd; - FILE *hostf; - uid_t uid; - int first; - char pbuf[MAXPATHLEN]; - - first = 1; - hostf = superuser ? NULL : fopen(_PATH_HEQUIV, "r"); -again: - if (hostf) { - if (__ivaliduser(hostf, raddr, luser, ruser) == 0) { - (void)fclose(hostf); - return (0); - } - (void)fclose(hostf); - } - if (first == 1 && (__check_rhosts_file || superuser)) { - first = 0; - if ((pwd = getpwnam(luser)) == NULL) - return (-1); - (void)strcpy(pbuf, pwd->pw_dir); - (void)strcat(pbuf, "/.rhosts"); - - /* - * Change effective uid while opening .rhosts. If root and - * reading an NFS mounted file system, can't read files that - * are protected read/write owner only. - */ - uid = geteuid(); - (void)seteuid(pwd->pw_uid); - hostf = fopen(pbuf, "r"); - (void)seteuid(uid); - - if (hostf == NULL) - return (-1); - /* - * If not a regular file, or is owned by someone other than - * user or root or if writeable by anyone but the owner, quit. - */ - cp = NULL; - if (lstat(pbuf, &sbuf) < 0) - cp = ".rhosts lstat failed"; - else if (!S_ISREG(sbuf.st_mode)) - cp = ".rhosts not regular file"; - else if (fstat(fileno(hostf), &sbuf) < 0) - cp = ".rhosts fstat failed"; - else if (sbuf.st_uid && sbuf.st_uid != pwd->pw_uid) - cp = "bad .rhosts owner"; - else if (sbuf.st_mode & (S_IWGRP|S_IWOTH)) - cp = ".rhosts writeable by other than owner"; - /* If there were any problems, quit. */ - if (cp) { - __rcmd_errstr = cp; - (void)fclose(hostf); - return (-1); - } - goto again; - } - return (-1); -} - -/* - * XXX - * Don't make static, used by lpd(8). - * - * Returns 0 if ok, -1 if not ok. - */ -int -__ivaliduser(hostf, raddr, luser, ruser) - FILE *hostf; - u_long raddr; - const char *luser, *ruser; -{ - register char *user, *p; - int ch; - char buf[MAXHOSTNAMELEN + 128]; /* host + login */ - char hname[MAXHOSTNAMELEN]; - struct hostent *hp; - /* Presumed guilty until proven innocent. */ - int userok = 0, hostok = 0; -#ifdef YP - char *ypdomain; - - if (yp_get_default_domain(&ypdomain)) - ypdomain = NULL; -#else -#define ypdomain NULL -#endif - /* We need to get the damn hostname back for netgroup matching. */ - if ((hp = gethostbyaddr((char *)&raddr, sizeof(u_long), - AF_INET)) == NULL) - return (-1); - strncpy(hname, hp->h_name, sizeof(hname)); - hname[sizeof(hname) - 1] = '\0'; - - while (fgets(buf, sizeof(buf), hostf)) { - p = buf; - /* Skip lines that are too long. */ - if (strchr(p, '\n') == NULL) { - while ((ch = getc(hostf)) != '\n' && ch != EOF); - continue; - } - if (*p == '\n' || *p == '#') { - /* comment... */ - continue; - } - while (*p != '\n' && *p != ' ' && *p != '\t' && *p != '\0') { - *p = isupper(*p) ? tolower(*p) : *p; - p++; - } - if (*p == ' ' || *p == '\t') { - *p++ = '\0'; - while (*p == ' ' || *p == '\t') - p++; - user = p; - while (*p != '\n' && *p != ' ' && - *p != '\t' && *p != '\0') - p++; - } else - user = p; - *p = '\0'; - /* - * Do +/- and +@/-@ checking. This looks really nasty, - * but it matches SunOS's behavior so far as I can tell. - */ - switch(buf[0]) { - case '+': - if (!buf[1]) { /* '+' matches all hosts */ - hostok = 1; - break; - } - if (buf[1] == '@') /* match a host by netgroup */ - hostok = innetgr((char *)&buf[2], - (char *)&hname, NULL, ypdomain); - else /* match a host by addr */ - hostok = __icheckhost(raddr,(char *)&buf[1]); - break; - case '-': /* reject '-' hosts and all their users */ - if (buf[1] == '@') { - if (innetgr((char *)&buf[2], - (char *)&hname, NULL, ypdomain)) - return(-1); - } else { - if (__icheckhost(raddr,(char *)&buf[1])) - return(-1); - } - break; - default: /* if no '+' or '-', do a simple match */ - hostok = __icheckhost(raddr, buf); - break; - } - switch(*user) { - case '+': - if (!*(user+1)) { /* '+' matches all users */ - userok = 1; - break; - } - if (*(user+1) == '@') /* match a user by netgroup */ - userok = innetgr(user+2, NULL, ruser, ypdomain); - else /* match a user by direct specification */ - userok = !(strcmp(ruser, user+1)); - break; - case '-': /* if we matched a hostname, */ - if (hostok) { /* check for user field rejections */ - if (!*(user+1)) - return(-1); - if (*(user+1) == '@') { - if (innetgr(user+2, NULL, - ruser, ypdomain)) - return(-1); - } else { - if (!strcmp(ruser, user+1)) - return(-1); - } - } - break; - default: /* no rejections: try to match the user */ - if (hostok) - userok = !(strcmp(ruser,*user ? user : luser)); - break; - } - if (hostok && userok) - return(0); - } - return (-1); -} - -/* - * Returns "true" if match, 0 if no match. - */ -static int -__icheckhost(raddr, lhost) - u_long raddr; - register char *lhost; -{ - register struct hostent *hp; - register u_long laddr; - register char **pp; - - /* Try for raw ip address first. */ - if (isdigit(*lhost) && (long)(laddr = inet_addr(lhost)) != -1) - return (raddr == laddr); - - /* Better be a hostname. */ - if ((hp = gethostbyname(lhost)) == NULL) - return (0); - - /* Spin through ip addresses. */ - for (pp = hp->h_addr_list; *pp; ++pp) - if (!bcmp(&raddr, *pp, sizeof(u_long))) - return (1); - - /* No match. */ - return (0); -} diff --git a/c/src/exec/libnetworking/libc/recv.c b/c/src/exec/libnetworking/libc/recv.c deleted file mode 100644 index a842244caf..0000000000 --- a/c/src/exec/libnetworking/libc/recv.c +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 1988, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)recv.c 8.2 (Berkeley) 2/21/94"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include - -#include - -ssize_t -recv(s, buf, len, flags) - int s, flags; - size_t len; - void *buf; -{ - return (recvfrom(s, buf, len, flags, NULL, 0)); -} diff --git a/c/src/exec/libnetworking/libc/res_comp.c b/c/src/exec/libnetworking/libc/res_comp.c deleted file mode 100644 index 93043276f2..0000000000 --- a/c/src/exec/libnetworking/libc/res_comp.c +++ /dev/null @@ -1,258 +0,0 @@ -/* - * Copyright (c) 1985, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -/* - * Portions Copyright (c) 1993 by Digital Equipment Corporation. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies, and that - * the name of Digital Equipment Corporation not be used in advertising or - * publicity pertaining to distribution of the document or software without - * specific, written prior permission. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL - * WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT - * CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -/* - * Portions Copyright (c) 1996 by Internet Software Consortium. - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS - * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE - * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL - * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR - * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS - * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char sccsid[] = "@(#)res_comp.c 8.1 (Berkeley) 6/4/93"; -static char orig_rcsid[] = "From: Id: res_comp.c,v 8.11 1997/05/21 19:31:04 halley Exp $"; -static char rcsid[] = "$Id$"; -#endif /* LIBC_SCCS and not lint */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BIND_4_COMPAT - -/* - * Expand compressed domain name 'comp_dn' to full domain name. - * 'msg' is a pointer to the begining of the message, - * 'eomorig' points to the first location after the message, - * 'exp_dn' is a pointer to a buffer of size 'length' for the result. - * Return size of compressed name or -1 if there was an error. - */ -int -dn_expand(const u_char *msg, const u_char *eom, const u_char *src, - char *dst, int dstsiz) -{ - int n = ns_name_uncompress(msg, eom, src, dst, (size_t)dstsiz); - - if (n > 0 && dst[0] == '.') - dst[0] = '\0'; - return (n); -} - -/* - * Pack domain name 'exp_dn' in presentation form into 'comp_dn'. - * Return the size of the compressed name or -1. - * 'length' is the size of the array pointed to by 'comp_dn'. - */ -int -dn_comp(const char *src, u_char *dst, int dstsiz, - u_char **dnptrs, u_char **lastdnptr) -{ - return (ns_name_compress(src, dst, (size_t)dstsiz, - (const u_char **)dnptrs, - (const u_char **)lastdnptr)); -} - -/* - * Skip over a compressed domain name. Return the size or -1. - */ -int -dn_skipname(const u_char *ptr, const u_char *eom) { - const u_char *saveptr = ptr; - - if (ns_name_skip(&ptr, eom) == -1) - return (-1); - return (ptr - saveptr); -} - -/* - * Verify that a domain name uses an acceptable character set. - */ - -/* - * Note the conspicuous absence of ctype macros in these definitions. On - * non-ASCII hosts, we can't depend on string literals or ctype macros to - * tell us anything about network-format data. The rest of the BIND system - * is not careful about this, but for some reason, we're doing it right here. - */ -#define PERIOD 0x2e -#define hyphenchar(c) ((c) == 0x2d) -#define bslashchar(c) ((c) == 0x5c) -#define periodchar(c) ((c) == PERIOD) -#define asterchar(c) ((c) == 0x2a) -#define alphachar(c) (((c) >= 0x41 && (c) <= 0x5a) \ - || ((c) >= 0x61 && (c) <= 0x7a)) -#define digitchar(c) ((c) >= 0x30 && (c) <= 0x39) - -#define borderchar(c) (alphachar(c) || digitchar(c)) -#define middlechar(c) (borderchar(c) || hyphenchar(c)) -#define domainchar(c) ((c) > 0x20 && (c) < 0x7f) - -int -res_hnok(dn) - const char *dn; -{ - int ppch = '\0', pch = PERIOD, ch = *dn++; - - while (ch != '\0') { - int nch = *dn++; - - if (periodchar(ch)) { - (void)NULL; - } else if (periodchar(pch)) { - if (!borderchar(ch)) - return (0); - } else if (periodchar(nch) || nch == '\0') { - if (!borderchar(ch)) - return (0); - } else { - if (!middlechar(ch)) - return (0); - } - ppch = pch, pch = ch, ch = nch; - } - return (1); -} - -/* - * hostname-like (A, MX, WKS) owners can have "*" as their first label - * but must otherwise be as a host name. - */ -int -res_ownok(dn) - const char *dn; -{ - if (asterchar(dn[0])) { - if (periodchar(dn[1])) - return (res_hnok(dn+2)); - if (dn[1] == '\0') - return (1); - } - return (res_hnok(dn)); -} - -/* - * SOA RNAMEs and RP RNAMEs can have any printable character in their first - * label, but the rest of the name has to look like a host name. - */ -int -res_mailok(dn) - const char *dn; -{ - int ch, escaped = 0; - - /* "." is a valid missing representation */ - if (*dn == '\0') - return (1); - - /* otherwise