Compare commits

...

2307 Commits

Author SHA1 Message Date
cvs2git
a6b6f0c130 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 <joel.sherrill@OARcorp.com> '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
1998-10-28 17:38:23 +00:00
Joel Sherrill
3662240e9f changed version to 4.0.0 1998-10-28 17:38:22 +00:00
Joel Sherrill
ecbba5fc87 Version changed. 1998-10-27 23:45:52 +00:00
Joel Sherrill
b4bbd1e58b fixes from David Fiddes 1998-10-27 23:34:52 +00:00
Joel Sherrill
23235365f1 Minor change to ease debugging. 1998-10-27 21:29:46 +00:00
Joel Sherrill
b95914f9ee Spacing. 1998-10-27 21:29:30 +00:00
Joel Sherrill
9fc4ed06dc Updated for beta4b 1998-10-27 20:40:41 +00:00
Joel Sherrill
829a116614 Corrected 2nd invocation of texi2dvi so indices are built. 1998-10-27 20:40:22 +00:00
Joel Sherrill
c19a48472f changed version to 4.0.0 1998-10-27 19:33:26 +00:00
Joel Sherrill
cdf30abaa2 Update from David Fiddes. 1998-10-27 19:28:20 +00:00
Joel Sherrill
71e120790d Clarifed description of driver name. 1998-10-27 17:44:11 +00:00
Joel Sherrill
0ed55ed659 Version changed. 1998-10-27 17:43:48 +00:00
Joel Sherrill
0a74154a4b Version change. 1998-10-27 17:43:37 +00:00
Joel Sherrill
1e4f7ec647 Spacing. 1998-10-27 15:59:59 +00:00
Joel Sherrill
f3e13a1eb8 Merged base line score603e BSP 1998-10-26 23:31:02 +00:00
Joel Sherrill
7bf3aa9bdb changed version to 4.0.0-beta4b 1998-10-26 16:25:30 +00:00
Joel Sherrill
415ea6a350 changed version to 4.0.0-beta4b 1998-10-26 16:24:59 +00:00
Joel Sherrill
db88957493 Patches done in conjunction with Juan Zamorano Flores
<jzamora@avellano.datsi.fi.upm.es>.  He debugged enough to let me
know what was wrong and I supplied the code. :)
1998-10-26 16:18:58 +00:00
Joel Sherrill
2f3692ee72 Updated for mvme136. 1998-10-26 15:46:09 +00:00
Joel Sherrill
e7a273f699 Updated the date. 1998-10-26 15:45:41 +00:00
Joel Sherrill
6e0721ad0e Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:
Please find attached a new i386ex.cfg.  It has been altered to change
    the files that get generated with the .nxe extension to .coff.   This
    change is necessary to align the file names generated by "make-exe" to
    the those referred to in the GDB.HOWTO found in the
    i386/shared/comm directory.  It has been successfully tested on ticker (
    without GDB), and base_sp( with GDB ) .  I just set a breakpoint and
    continue...
1998-10-22 18:16:25 +00:00
Joel Sherrill
c77b2ca565 Typos spotted by Ian Lance Taylor <ian@airs.com>. 1998-10-22 17:30:12 +00:00
Joel Sherrill
db538d8bca Added missing .rodata and *(.gnu.linkonce.r*) section. 1998-10-22 17:28:38 +00:00
Joel Sherrill
6278b8b2a3 Patch from Ian Lance Taylor <ian@airs.com>:
I noticed that in the 4.0.0-beta4a tar file, the file
        c/src/lib/libbsp/i386/pc386/startup/linkcmds
    was changed so that it no longer handles the .gnu.linkonce.r*
    sections.  The appended patch was applied to the file.  I'm not sure
    why.  I think this patch should probably be backed out, although it's
    not critical for the release.
1998-10-22 17:27:14 +00:00
Joel Sherrill
396286a914 Patch from Eric Norum. 1998-10-22 16:23:45 +00:00
Joel Sherrill
d3b34d259e Changed all of these to stubs. 1998-10-22 16:15:40 +00:00
Joel Sherrill
c4cbe175e7 Corrections from Jennifer and Jeff plus additions to the initialization
chapter.
1998-10-21 20:21:51 +00:00
Joel Sherrill
b43744a69d Spell checked. 1998-10-20 20:36:28 +00:00
Joel Sherrill
71f575e510 Added much text to the linkcmds chapter.
Cleaned up sections in the target dependent info file.
1998-10-20 20:34:12 +00:00
Joel Sherrill
051ab3b1e9 Links between chapters up to Linker Script in place.
First draft of chapters up to and include Makefiles written.
1998-10-20 19:27:13 +00:00
Joel Sherrill
ee3dd9ae99 Significant additions. 1998-10-20 16:25:29 +00:00
Joel Sherrill
acee84c7c1 Renamed the target dependent code chapter. 1998-10-20 16:25:08 +00:00
Joel Sherrill
3912f39159 Added some links between chapters. 1998-10-20 16:24:46 +00:00
Joel Sherrill
a355848958 Spacing changed. 1998-10-20 15:06:02 +00:00
Joel Sherrill
8c1aaa9b5a Added new chapters. 1998-10-20 15:05:51 +00:00
Joel Sherrill
2dce00e0a0 Added multiple chapters and reordered them somewhat. 1998-10-20 15:05:36 +00:00
Joel Sherrill
49267ee4a8 New files. 1998-10-20 15:00:33 +00:00
Joel Sherrill
4ed0f06d82 Added numerous comments to the linker script.
Now this chapter has no two column stuff in it.
1998-10-20 13:49:43 +00:00
Joel Sherrill
5e8a37c78d Added initial cut at some of the libc chapters. 1998-10-20 12:51:15 +00:00
Joel Sherrill
4e40853440 Removed KA9Q manual. 1998-10-20 12:35:47 +00:00
Joel Sherrill
3bf5c6cea1 New picture. 1998-10-20 12:34:47 +00:00
Joel Sherrill
9df94ec69b Updated. 1998-10-20 12:34:32 +00:00
Joel Sherrill
c9c605f136 Added more disk space to the requirements and included information
indicating that it was per target.
1998-10-20 12:34:27 +00:00
Joel Sherrill
00be3747ba Minor cleanup. 1998-10-20 12:34:00 +00:00
Joel Sherrill
3fccbb34cc Added information about the bit_rtems script. 1998-10-20 12:33:48 +00:00
Joel Sherrill
b7ea3ec92a Added information about the new build scripts.
Added host OS specific notes.
1998-10-20 12:33:33 +00:00
Joel Sherrill
a5ef387f24 Added sections and had to change build menu commands. 1998-10-20 12:32:41 +00:00
Joel Sherrill
0749d85854 Increased required disk space along with information about the required
disk space.

Added information about GNU makeinfo minimum version.
1998-10-20 12:32:11 +00:00
Joel Sherrill
e8e2cf13c0 Added information about the bit_gdb script. 1998-10-20 12:30:59 +00:00
Joel Sherrill
77ea5d30d8 Added information about the new build scripts. The biggest thing was
describing the user.cfg file.

Added a section on Solaris 2.x.
1998-10-20 12:30:06 +00:00
Joel Sherrill
0b5dbf1f6a Added sections so had to change the build menu commands. 1998-10-20 12:28:56 +00:00
Joel Sherrill
77f08533e6 Enhanced times() with copy from the other chapter. 1998-10-19 21:52:56 +00:00
Joel Sherrill
883ffece78 Removed times() since it is duplicated. 1998-10-19 21:52:40 +00:00
Joel Sherrill
ebaeec1113 Updated to reflect the longer list of libraries. 1998-10-19 21:52:15 +00:00
Joel Sherrill
477e06b30f Removed node information. 1998-10-19 21:51:59 +00:00
Joel Sherrill
d23a3e632b Removed node information now that it is automatically generated. 1998-10-19 21:51:42 +00:00
Joel Sherrill
f09e5a6a6a Changed version and date strings. 1998-10-19 21:51:21 +00:00
Joel Sherrill
0d94c26a4f Changed KA9Q to Networking. 1998-10-19 21:50:52 +00:00
Joel Sherrill
b0c34910e3 Cleaned up list of docs. 1998-10-19 21:50:27 +00:00
Joel Sherrill
1e19ef61b2 Removed KA9Q issues. 1998-10-19 21:50:16 +00:00
Joel Sherrill
7e4c8246c6 Changed version. 1998-10-19 21:50:04 +00:00
Joel Sherrill
62cd76e527 Moved things around so html and clean were above stanzas which generate
chapters.
1998-10-19 21:49:36 +00:00
Joel Sherrill
03889c1a1e All of the Supplemental manuals are now generated as automatically
as possible.
1998-10-19 21:46:32 +00:00
Joel Sherrill
2df2befc33 No node info 1998-10-19 19:53:26 +00:00
Joel Sherrill
17c26806a4 Renamed. 1998-10-19 19:46:30 +00:00
Joel Sherrill
69b5f9d261 Renamed memmodel.texi to memmodel.t. 1998-10-19 19:39:55 +00:00
Joel Sherrill
34f058eef5 Renamed fatalerr.texi to fatalerr.t. 1998-10-19 19:39:54 +00:00
Joel Sherrill
bbdec14234 Renamed cputable.texi to cputable.t. 1998-10-19 19:39:53 +00:00
Joel Sherrill
024bcb82e0 Renamed cpumodel.texi to cpumodel.t. 1998-10-19 19:39:52 +00:00
Joel Sherrill
b4d53c04ae Renamed callconv.texi to callconv.t. 1998-10-19 19:39:50 +00:00
Joel Sherrill
cb773a5558 Renamed bsp.texi to bsp.t. 1998-10-19 19:39:49 +00:00
Joel Sherrill
f0c38647c1 Renamed a lot and got as much as possible automatically generated. 1998-10-19 19:38:19 +00:00
Joel Sherrill
2b768e30e9 Renamed. 1998-10-19 19:32:57 +00:00
Joel Sherrill
9d10023164 Renamed 1998-10-19 19:31:22 +00:00
Joel Sherrill
88b1c14e03 Renamed memmodel.texi to memmodel.t. 1998-10-19 19:24:46 +00:00
Joel Sherrill
ca57ebbbe7 Renamed fatalerr.texi to fatalerr.t. 1998-10-19 19:24:45 +00:00
Joel Sherrill
6a912a1e8d Renamed cputable.texi to cputable.t. 1998-10-19 19:24:43 +00:00
Joel Sherrill
a6191365eb Renamed cpumodel.texi to cpumodel.t. 1998-10-19 19:24:42 +00:00
Joel Sherrill
f3cd926b7b Renamed callconv.texi to callconv.t. 1998-10-19 19:24:41 +00:00
Joel Sherrill
915d502831 Renamed bsp.texi to bsp.t. 1998-10-19 19:24:40 +00:00
Joel Sherrill
d4c057df1d Renamed preface.texi to preface.t. 1998-10-19 19:10:06 +00:00
Joel Sherrill
3180fbc555 Renamed m68k.texi to m68k.t. 1998-10-19 19:10:04 +00:00
Joel Sherrill
5ab187b256 Much renamed, most stuff automatically generated now. 1998-10-19 18:59:35 +00:00
Joel Sherrill
16a1fd9c33 Renamed a lot of files. 1998-10-19 18:30:26 +00:00
Joel Sherrill
8eba4708f0 Nearly everything that can be is now automatically generated. 1998-10-19 18:25:16 +00:00
Joel Sherrill
3a5676e721 All files as automatically generated as possible. 1998-10-19 17:56:29 +00:00
Joel Sherrill
65d5650485 Renamed. 1998-10-19 17:55:48 +00:00
Joel Sherrill
3f8e567700 New file. 1998-10-19 17:46:54 +00:00
Joel Sherrill
5424a119ca Removed. 1998-10-19 17:37:34 +00:00
Joel Sherrill
dcc1a53020 More automatically generated. Many files renamed behind the scenes. 1998-10-19 17:30:01 +00:00
Joel Sherrill
e4f7860f54 Makefiles in much better shape even though not all files have automatically
generated menus yet.
1998-10-19 17:17:42 +00:00
Joel Sherrill
bf37bef082 Timing Chapter is now shared and menu structure generated.
Cpumodel.texi is now generated.
1998-10-19 17:17:18 +00:00
Joel Sherrill
210931dd0f Renamed so the menu structure can be built on the fly. 1998-10-19 17:11:10 +00:00
Joel Sherrill
629612c53a Now completed generated with build menu. 1998-10-19 15:57:18 +00:00
Joel Sherrill
8876043af0 New file 1998-10-19 15:56:10 +00:00
Joel Sherrill
c59eb6164d Worksheets now generated from a common file and the node info structure
is generated automatically.
1998-10-19 15:06:22 +00:00
Joel Sherrill
fdf9cb6032 Added chapter. 1998-10-19 13:27:13 +00:00
Joel Sherrill
f91974dd47 Added chapter. 1998-10-19 13:03:04 +00:00
Joel Sherrill
99899da43d Added chapter. 1998-10-19 13:03:03 +00:00
Joel Sherrill
ad0f33160f Added chapter. 1998-10-19 13:01:33 +00:00
Joel Sherrill
887173dd8c Added chapter. 1998-10-19 12:59:10 +00:00
Joel Sherrill
3fdfd51466 Added. 1998-10-19 12:52:31 +00:00
Joel Sherrill
81423a1ad0 Added 2 chapters 1998-10-19 12:49:37 +00:00
Joel Sherrill
a9d74246cc Changed reference to KA9Q driver.
Cleaned up description of the make/custom file.
1998-10-15 21:21:53 +00:00
Joel Sherrill
fcbc051cbd Cleaned up where Geoffroy had this in 2-column format. 1998-10-15 21:21:18 +00:00
Joel Sherrill
57cb542448 Added more to the list of chapters. 1998-10-15 21:20:56 +00:00
Joel Sherrill
3351d41fbf Redid sections to have right depth. 1998-10-15 21:20:42 +00:00
Joel Sherrill
d067648dda Removed bsp structure as chapter and renamed some other chapters. 1998-10-15 21:19:56 +00:00
Joel Sherrill
286f01a475 Removed bspstruct.t.
Commented lines which installed files.
1998-10-15 21:19:27 +00:00
Joel Sherrill
abcec17b20 Cleaned up bad line wrap which was only a long sequence of ??? 1998-10-15 21:18:55 +00:00
Joel Sherrill
7595ae6749 Merged bsp structure into target dependent files chapter. 1998-10-15 21:18:24 +00:00
Joel Sherrill
0a5e510c6d changed version to 4.0.0-beta4a 1998-10-15 19:58:32 +00:00
Joel Sherrill
fae18771ec Removed unnecessary settings. 1998-10-15 19:19:35 +00:00
Joel Sherrill
4b378c298e Updated for the i386ex and deprecated BSPs. 1998-10-15 19:18:50 +00:00
Joel Sherrill
adb5185904 Added bare bsp, mini-glue layer for POSIX port, and bare bsp information. 1998-10-15 19:18:36 +00:00
Joel Sherrill
405d5a9fe8 Added pre_install_src as a dependency to debug and profile per Ralf Corsepius'
recommendation.
1998-10-15 19:18:03 +00:00
Joel Sherrill
0294cd4f2e Regenerated. 1998-10-15 19:16:41 +00:00
Joel Sherrill
39bc8fdfd8 Patch from Thomas Doerfler <td@imd.m.isar.de> to include the
ppc403 interrupt control libcpu component.
1998-10-15 18:47:09 +00:00
Joel Sherrill
4cfdf32107 Uncommented the conditional stuff for "good gas 16 bit code". 1998-10-15 14:38:10 +00:00
Joel Sherrill
11cfb6f7f6 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
1. Rtems contains some perl scripts that use hard-coded paths to
      /usr/bin/perl or /usr/local/bin/perl I have already fixed these
      problems by adding some checks to configure.in.   While doing this,
      I also cleaned up some more autoconf related problems for generating
      shell scripts.  This patch might seem a bit scary to you, but I am
      quite confident it won't break something (I've been testing it for
      almost a week now, however it might introduce typos for a limited
      number configurations I don't have access to - But it shouldn't be
      a problem for you to test them :-).

   I expect to get this finished tonight, hence you will very likely
   have the patch when you get up tomorrow.

   Changes:

   * Check for PERL and disable all PERL scripts if perl wasn't found.
   * Generate all KSHELL-scripts with autoconf instead of make-script
   * Automatic dependency handling for autoconf generated KSHELL or PERL
     scripts (make/rtems.cfg)

   Notes:
   * this patch contains new files and deletes some other files.
   * The patch is relative to rtems-4.0.0-beta4 with my previous
     rtems-rc-981014-1.diff patch applied.

   Testing:
      I tested it with sh-rtems and posix under linux. Now all targets
      which are touched by this patch and which are not used while building
      for sh-rtems and posix still need to be tested. AFAIS, only the
      sparc/erc32 BSP should be affected by this criterion. And if you
      like to, you should also consider testing it on a Cygwin32 and a
      Solaris host for one arbitrary BSP.
1998-10-14 20:19:30 +00:00
Joel Sherrill
946b3cb0cf Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
2. "make profile" doesn't work. It aborts when building host-tools
        for embedded targets. I didn't yet have enough time to fix this
        problem.  AFAIS this problem is related to handling of
        LDFLAGS_PROFILE[|_V] in gcc.cfg.in.  For host applications, we use
        gcc for linking host applications, too. With profiling enabled
        CFLAGS_PROFILE_V contains -pg and is used to compile, but
        LDFLAGS_PROFILE_V is empty, hence -pg will not be passed to the
        linker causing gcc to fail to link, because it can't resolve some
        symbols introduced by compiling with -pg.

    I am not sure if I can provide a patch for this - Ether it is trivial
    to fix or requires basic work on host configuration ;-

    Fixing this one was trivial - But hard to trace.

    LDFLAGS_PROFILE_V needs to contain the same flags as CFLAGS_PROFILE_V,
    if gcc is used for linking (What else should have been expected ?,
    :-). The same problem was present for *_DEBUG_V, but apparently wasn't
    noticed by anybody, because things didn't break, but were silently
    ignored.

    I fixed these problems by setting these flags in configure.in whenever
    gcc is reported to be the host-compiler. For non-gcc host compilers
    "make debug" and "make profile" now becomes the same as an ordinary
    "make". This is a hack and addressing this problen could be more
    sophisticated, but I don't think it gives much sense to support
    compile variants for any host program (Who will ever try to
    profile/debug host tools?).  Therefore I don't think it's useful
    to invest more effort into this problem.
1998-10-14 19:42:45 +00:00
Joel Sherrill
cb160321fe Updated. 1998-10-14 15:29:05 +00:00
Joel Sherrill
0cd2bd96c3 Added rest of opendir family and made it compile. 1998-10-13 18:04:16 +00:00
Joel Sherrill
928395ea56 New files. 1998-10-13 16:07:38 +00:00
Joel Sherrill
5b1f23c4eb Added missing BSPs. 1998-10-13 15:03:43 +00:00
Joel Sherrill
714137ef7c Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to correct minor
cosmetic things.
1998-10-13 15:03:27 +00:00
Joel Sherrill
fbd532080c Modified to avoid building certain files under UNIX. 1998-10-13 14:59:35 +00:00
Joel Sherrill
4934fe62d1 New file 1998-10-12 21:50:44 +00:00
Joel Sherrill
a1c57e451c Added idle_task_stack_size field to CPU Table. 1998-10-12 21:27:10 +00:00
Joel Sherrill
68c460269a Added message to "return -1 and set errno". 1998-10-12 21:26:39 +00:00
Joel Sherrill
99b0787fa6 Fixed typo. 1998-10-12 21:26:13 +00:00
Joel Sherrill
5f4c1097fa Updated to reflect MG-10 IMFS effort. 1998-10-12 21:25:52 +00:00
Joel Sherrill
4b8bf95209 Added some fields and changed last KA9Q reference to FreeBSD. 1998-10-12 21:25:10 +00:00
Joel Sherrill
abfbfa7c5a Changed section numbers. 1998-10-12 21:24:52 +00:00
Joel Sherrill
ff460e586e Changed commands for installing numerous files to include $(SRCDIR). 1998-10-12 21:24:26 +00:00
Joel Sherrill
e2e52a4a2a Changed command for installing the footer. 1998-10-12 21:23:46 +00:00
Joel Sherrill
91356bcb50 Typo which prevented baud rate changes from Thomas Doerfler <td@imd.m.isar.de>. 1998-10-12 20:47:09 +00:00
Joel Sherrill
70b45c643d changed version to 4.0.0-beta4 1998-10-12 17:40:25 +00:00
Joel Sherrill
22bb7cd136 New files. 1998-10-12 17:28:33 +00:00
Joel Sherrill
df26332500 Regenerated. 1998-10-12 17:24:29 +00:00
Joel Sherrill
d2018142ce Removed fork(), execv(), and wait() since they are now stubbed in the
POSIX API.
1998-10-12 17:23:28 +00:00
Joel Sherrill
f7f64f630d Added opendir and readdir. 1998-10-12 17:23:03 +00:00
Joel Sherrill
7c0ee06983 Added helas403 and changed column spacing. 1998-10-12 17:22:41 +00:00
Joel Sherrill
b19cb179ab Added header files per request from Chris Johns to avoid problems
in include file order.
1998-10-12 17:21:12 +00:00
Joel Sherrill
87dea1e4d1 Fixed typo spotted by Jeff Mayes. 1998-10-09 16:47:24 +00:00
Joel Sherrill
42c0b9ee13 NEXT_GAS should have been NEW_GAS. Spotted by Emmanuel Raguet <raguet@crf.canon.fr>. 1998-10-07 14:54:02 +00:00
Joel Sherrill
959d75263b Corrected typo pointed out by Pollak Leon <leonp@plris.com>. 1998-10-07 14:39:58 +00:00
Joel Sherrill
5ee9068634 changed version to 981006 1998-10-06 21:45:33 +00:00
Joel Sherrill
72640a330e Removed files pc386uart.h and pcibio.h from Makefile since they are
now installed from the shared directory.
1998-10-06 20:56:13 +00:00
Joel Sherrill
d171f8a814 Corrected assembly language to use constants instead of addresses.
Thanks to Rod Barman for this one.
1998-10-06 20:55:28 +00:00
Joel Sherrill
dff5b40d92 Added missing field (idle_task_stack_size) to CPU Table. 1998-10-06 20:54:36 +00:00
Joel Sherrill
dc6763c88f Patch from Emmanuel Raguet <raguet@crf.canon.fr> to add networking
information to this file to be more like the gen68360.
1998-10-06 13:02:51 +00:00
Joel Sherrill
0ebbf66b0e Large patch from Erik Ivanenko <erik.ivanenko@utoronto.ca> which
moves pieces of the pc386 bsp up to a shared level for all i386 BSPs
and modifies the i386ex BSP to use those shared pieces.  Serial remote
debugging is included for both targets.  Erik's notes:

    There are several workarounds in it:

     1) #define NEXT_GAS is hardcoded in pc386/start/start.s
     2)  #define NEXT_GAS is hardcoded in i386ex/start/start.s
     3) #define NEW_GAS is hardcoded in pc386/start16.s
     4) #undef __assert and redeclare _assert hardcoded in console.c for
        both pc386 and i386ex due to my egcs1.1b ~ newlib problem. Should have
        modified t-rtems.cfg ( no time )

    I've tested pc386 with both video and serial consoles and GDB remote.
    All work fine, except that GDB acts weird. ( re: other posting)

    I hope this will work for you.  It took quite some time to locate the
    autoconf error.  The remainder was just grunt work.
    Unfortunately, I think I've unwound the removal of the IBMPCInitVideo
    stuff. Sorry. I REALLY can't spend more time... I've been at this
    conversion to 4.0 locally and updating the release since Sept. 8th, and
    have yet to compile my network driver.... This is as much as I can do
    right now.

    I look forward to the next patch to really test i368ex.  I did make sure
    that the sample tests worked for pc386.
1998-10-05 22:36:06 +00:00
Joel Sherrill
711a2a1133 New file based on information from Eric Norum <eric@skatter.usask.ca>. 1998-10-05 21:26:07 +00:00
Joel Sherrill
41a890a381 Commented out line which ran psim tests twice. 1998-10-05 19:45:04 +00:00
Joel Sherrill
86dc490ac4 Update from Thomas Doerfler <td@imd.m.isar.de>. 1998-10-05 18:21:11 +00:00
Joel Sherrill
fe64e9f42d Regenerated. 1998-10-05 15:22:38 +00:00
Joel Sherrill
09213ec317 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
As mentioned in other mails before, there is are minor inconsistencies in the
  posix custom/*cfg files.

    Linux-posix.cfg sets RTEMS_BSP=posix
    FreeBSD-posix.cfg sets RTEMS_BSP=posix
    Solaris-posix.cfg first sets RTEMS_BSP=posix, later it sets
       RTEMS_BSP=solaris2

    1. Setting RTEMS_BSP=posix is redunant to settings in default.cfg
    2. The solaris variant of setting RTEMS_BSP is merely non-functional.

    The patch attached to this mail should clean up this issue.

    The patch was tested by building the posix bsp under
    i686-pc-linux-glibc1/glibc2 and Solaris2.6 (I did not run any
    rtems program, however) The HPUX9 and FreeBSD configuration files
    were adapted in analogy to the solaris and linux configurations.
1998-10-05 13:53:16 +00:00
Joel Sherrill
bf1ef5ba1d Regenerated after fixing a typo. 1998-10-05 13:50:53 +00:00
Joel Sherrill
f44a81b761 Modifed i386 gas test to put each directive on its own line per
problem report from Erik Ivanenko <erik.ivanenko@utoronto.ca>.
1998-10-05 12:52:31 +00:00
Joel Sherrill
082fc2d5d2 Fixed use of incorrect macro for minimum stack size. 1998-10-05 12:45:53 +00:00
Joel Sherrill
388be68fbc Patch from Ian Lance Taylor <ian@airs.com>:
The reentrant versions of the malloc functions in
        c/src/lib/libc/malloc.c
    do not match the definitions in newlib.  These will be used if you use
    newlib routines such as fdopen.  I believe this patch to malloc.c is
    needed to provide the correct versions.
1998-10-01 21:44:31 +00:00
Joel Sherrill
f0bca9fb67 changed version to 981001 1998-10-01 20:22:37 +00:00
Joel Sherrill
086836e10e Patch from Thomas Doerfler <td@imd.m.isar.de> to improve 403 support.
- c/src/exec/score/cpu/powerpc/ppc.h: some small changes
      (added ppc403 characteristics like a exception vector prefix
      register, some special register definitions). I am quite sure, they
      are compatible with the existing sources, although I did not check

    - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
      limitation in the exception entries: Due to the current code
      arrangement, the "branch absolute" to the ISR handler may only
      jump to the first 128MByte or the last 128MByte of the 4GByte
      address range. When the ppc403 is running out of ROM, the ROM
      functions are located in the last 128MByte (0xFFF00000 and up).
      These addresses were not handled correctly (sign reduced) in
      "install_raw_handler". The change I added should work on existing
      ppc BSPs aswell...
1998-10-01 18:50:43 +00:00
Joel Sherrill
1c82336395 Regenerated. 1998-10-01 18:49:16 +00:00
Joel Sherrill
e125ad3471 Switched from HAS_KA9Q=no to HAS_NETWORKING=no. 1998-10-01 18:48:43 +00:00
Joel Sherrill
a0b7a078db Patch from Eric Norum <eric@skatter.usask.ca>:
Here's a patch to get rid of the `#define RTEMS__mcpu32p__ 1' when
    gen68360.cfg is being used as a companion for gen68360_040.cfg.  The
    old version worked because of the order of the conditional tests in
    m68k.h (the check for __mc68040__ is before the test for
    RTEMS__mcpu32p__) , but I think it might have been a little confusing
    to others just getting started.
1998-10-01 18:38:53 +00:00
Joel Sherrill
02c14a0bfc Updated to reflect Thomas Doerfler (td@imd.m.isar.de) submitting the
helas403 BSP.
1998-10-01 13:13:33 +00:00
Joel Sherrill
aecfa2bf09 BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:
Finally I am through: I have found the last bugs that made RTEMS-
    4.0-beta3 start on my ppc403 board from ROM. So now the '403
    support is up to date again.

    Roughly I have added the following features:
    - support for the on-chip interrupt controller (in a separate module)
    - interrupt support for the console device
    - termios support for the console device

    ==============================================
    Since the BSP behaivour changed in some details (console no
    longer is polling, other memory layout etc) I have created a new
    BSP "helas403" rather than changing the "papyrus" BSP. The old
    "polled" console driver still sticks around in "console.c.polled"

    To get the BSP up and running, I had to create the new BSP files
    (derived from papyrus). Besides that, the following source areas
    have been changed:

    - c/src/lib/libcpu/powerpc/ppc403: changes to console driver, small
    changes to clock driver, new "ictrl" interrupt controller driver

    - c/src/exec/score/cpu/powerpc/ppc.h: some small changes
    (added ppc403 characteristics like a exception vector prefix
    register, some special register definitions). I am quite sure, they
    are compatible with the existing sources, although I did not check

    - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
    limitation in the exception entries: Due to the current code
    arrangement, the "branch absolute" to the ISR handler may only
    jump to the first 128MByte or the last 128MByte of the 4GByte
    address range. When the ppc403 is running out of ROM, the ROM
    functions are located in the last 128MByte (0xFFF00000 and up).
    These addresses were not handled correctly (sign reduced) in
    "install_raw_handler". The change I added should work on existing
    ppc BSPs aswell...

    - c/src/lib/libc/termios.c: During my tests, I added one change you
    sent me, so this patch will already be incorporated in the current
    source tree.

    There are some smaller changes, see the attached diff file.

    =========================================
    Concerning the GNU toolchain:

    I tried several tool chains. Finally I almost succeeded with

    egcs-1.0.3a with patch  egcs-1.0.3-rtems-diff-19980527

    I had to add the following lines to the egcs files. Without them
    configure complaint that the cross compiler could not generate
    executable output.
    - additional lines needed in egcs distribution in file
      gcc/config/rs6000/rtems.h:

    +++ lines start
    #undef STARTFILE_DEFAULT_SPEC
    #define STARTFILE_DEFAULT_SPEC "ecrti.o%s"

    #undef  ENDFILE_DEFAULT_SPEC
    #define ENDFILE_DEFAULT_SPEC "ecrtn.o%s"
    ++++ lines end

    As far as I have seen in the Changelog of egcs, you have recently
    sent two patches affecting the powerpc support, but they were
    added in the wrong order.... :-(

    egcs-19980628 with patch egcs-19980628-rtems-diff-19980707 does
    not work!

    I used binutils 2.9.1 with patch binutils-2.9.1-rtems-diff-19980515
     (binutils 2.8.1 does not work, internal error in gas)
    and newlib-1.8.0 with patch newlib-1.8.0-rtems-diff-19980707

    Finally I had to poke a line in the "bit" script, since, on my LINUX
    machine, the GNU make is only available as "make", not as
    "gmake"...

    For all the tools and newlib I selected configuration "powerpc-
    rtems".

--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    td@imd.m.isar.de
1998-09-30 21:55:53 +00:00
Joel Sherrill
be4284d0f2 BSP submitted by Thomas Doerfler <td@imd.m.isar.de>:
Finally I am through: I have found the last bugs that made RTEMS-
    4.0-beta3 start on my ppc403 board from ROM. So now the '403
    support is up to date again.

    Roughly I have added the following features:
        - support for the on-chip interrupt controller (in a separate module)
        - interrupt support for the console device
        - termios support for the console device

    ==============================================
    Since the BSP behaivour changed in some details (console no
    longer is polling, other memory layout etc) I have created a new
    BSP "helas403" rather than changing the "papyrus" BSP. The old
    "polled" console driver still sticks around in "console.c.polled"
    To get the BSP up and running, I had to create the new BSP files
    (derived from papyrus). Besides that, the following source areas
    have been changed:

    - c/src/lib/libcpu/powerpc/ppc403: changes to console driver, small
    changes to clock driver, new "ictrl" interrupt controller driver

    - c/src/exec/score/cpu/powerpc/ppc.h: some small changes
    (added ppc403 characteristics like a exception vector prefix
    register, some special register definitions). I am quite sure, they
    are compatible with the existing sources, although I did not check

    - c/src/exec/score/cpu/powerpc/cpu.c: There is one severe
    limitation in the exception entries: Due to the current code
    arrangement, the "branch absolute" to the ISR handler may only
    jump to the first 128MByte or the last 128MByte of the 4GByte
    address range. When the ppc403 is running out of ROM, the ROM
    functions are located in the last 128MByte (0xFFF00000 and up).
    These addresses were not handled correctly (sign reduced) in
    "install_raw_handler". The change I added should work on existing
    ppc BSPs aswell...

    - c/src/lib/libc/termios.c: During my tests, I added one change you
    sent me, so this patch will already be incorporated in the current
    source tree.

    There are some smaller changes, see the attached diff file.

    =========================================
    Concerning the GNU toolchain:

    I tried several tool chains. Finally I almost succeeded with

    egcs-1.0.3a with patch  egcs-1.0.3-rtems-diff-19980527

    I had to add the following lines to the egcs files. Without them
    configure complaint that the cross compiler could not generate
    executable output.
    - additional lines needed in egcs distribution in file
      gcc/config/rs6000/rtems.h:

    +++ lines start
    #undef STARTFILE_DEFAULT_SPEC
    #define STARTFILE_DEFAULT_SPEC "ecrti.o%s"

    #undef  ENDFILE_DEFAULT_SPEC
    #define ENDFILE_DEFAULT_SPEC "ecrtn.o%s"
    ++++ lines end

    As far as I have seen in the Changelog of egcs, you have recently
    sent two patches affecting the powerpc support, but they were
    added in the wrong order.... :-(

    egcs-19980628 with patch egcs-19980628-rtems-diff-19980707 does
    not work!

    I used binutils 2.9.1 with patch binutils-2.9.1-rtems-diff-19980515
     (binutils 2.8.1 does not work, internal error in gas)
    and newlib-1.8.0 with patch newlib-1.8.0-rtems-diff-19980707

    Finally I had to poke a line in the "bit" script, since, on my LINUX
    machine, the GNU make is only available as "make", not as
    "gmake"...

    For all the tools and newlib I selected configuration "powerpc-
    rtems".

--------------------------------------------
IMD Ingenieurbuero fuer Microcomputertechnik
Thomas Doerfler           Herbststrasse 8
D-82178 Puchheim          Germany
email:    td@imd.m.isar.de
1998-09-30 21:50:42 +00:00
Wade A Smith
05d499280c Corrected TYPO error in the file. 1998-09-30 21:18:46 +00:00
Wade A Smith
b8ea1c8eb5 Corrected TYPO errors in the file 1998-09-30 21:15:23 +00:00
Joel Sherrill
2c3840b563 Added new autoconf test for i386 code16/code32 support. The guts of the
test were suggested by Ian Taylor <ian@airs.com> and Joel did the
hard part of putting it in aclocal and editting all the offending
Makefiles and source code which could use this feature.
1998-09-30 20:58:39 +00:00
Wade A Smith
2405b76726 Corrected TYPOs in the file 1998-09-30 20:52:43 +00:00
Joel Sherrill
f65b0903f5 New file from Ralf. 1998-09-30 20:51:54 +00:00
Wade A Smith
8dd54b6363 Updated the STATUS CODE section for the routines in this file. 1998-09-30 20:21:45 +00:00
Joel Sherrill
b931d05af0 Added Id's. 1998-09-30 19:51:39 +00:00
Joel Sherrill
5620149cd6 New configure test from Ian Lance Taylor <ian@airs.com>:
If the target is an i386, this test checks whether or not the binutils
  is new enough to have good support for code16.
1998-09-30 19:51:31 +00:00
Wade A Smith
1dedfde98f Updated the STATUS CODE section of the routines in this file. 1998-09-30 19:39:56 +00:00
Wade A Smith
8ed58e6547 Made formatting changes to the file 1998-09-30 18:19:40 +00:00
Joel Sherrill
4ca5bd8b93 Changed based on patch from pc386 linkcmds from Ian Lance Taylor
<ian@airs.com>:

    The pc386 linker scripts omits .gnu.linkonce.r* sections.  It's not a
    big deal, but they should be treated like .rodata sections.  ELF
    versions of g++ generate them for static constants defined in template
    classes, such as string::npos.
1998-09-30 17:27:57 +00:00
Joel Sherrill
d1d4766494 Patch from Ian Lance Taylor <ian@airs.com>:
The pc386 linker scripts omits .gnu.linkonce.r* sections.  It's not a
    big deal, but they should be treated like .rodata sections.  ELF
    versions of g++ generate them for static constants defined in template
    classes, such as string::npos.
1998-09-30 17:17:23 +00:00
Wade A Smith
c11f51269b Updated the DESCRIPTION section of the times routine. 1998-09-30 15:45:08 +00:00
Wade A Smith
a65c28e785 Documented the fsync and fdatasync routines in this file. 1998-09-30 15:42:46 +00:00
Wade A Smith
9dd238772f Updated the STATUS CODE section for the truncate routine. 1998-09-30 15:40:47 +00:00
Joel Sherrill
17408b901b Patch from Eric Norum <eric@skatter.USask.Ca>:
I found that my 68040/68360 test programs would not run even after
    I fixed the `wrong BSP' problem.

    It seems that there's a bug in the interrupt handling code for
    processors with hardware interrupt stacks (e.g. 68040).  The wrong
    status register was getting pushed on the stack for the `return
    from exception' to call _ISR__Dispatch.   This ended up making
    the context switch code run on the interrupt stack, so interrupt-driven
    context switches would always fail.

    I guess that no one has tried running any of the RTEMS-4.0 snapshots
    on a 68040 machine!

    Anyhow, here are the patches for
        1) gen68360.cfg   ---   to fix the `wrong-BSP' problem.
        2) m68k/cpu_asm.s ---   to fix the hardware interrupt stack problem.

    With these patches in place, the network demo programs run on my
    68040/68360 system.  The paranoia program runs with no failures,
    defects nor flaws.
1998-09-30 13:02:30 +00:00
Wade A Smith
982ed3f825 Made cosmetic changes and documented routines in this file 1998-09-29 21:53:08 +00:00
Wade A Smith
6e62b72e39 Made cosmetic changes and documented routines in file. 1998-09-29 21:52:24 +00:00
Wade A Smith
80189ac259 Made cosmetic changes, and document routines in the file. 1998-09-29 21:51:52 +00:00
Wade A Smith
f1ccfde628 Made cosmetic changes to the file and documented the time, times, and
getimeofday routines.
1998-09-29 21:51:08 +00:00
Joel Sherrill
21bfd93aaf Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Please find enclosed a patch which enables me to build the bare-bsp for
    sh-rtems.

    Changes:
        1. Add preinstall to libbsp/bare/include/Makefile.in
        2. Removed FORCEIT, add preinstall to
        libbsp/sh/gensh1/include/Makefile.in
        3. Disabled support of set_vector from sh code (shared/setvec.c is still
        present but isn't used anymore), set_vector replaced with standard rtems
        functions.

    Problems still present:
        1. Support of spin-delays in bare bsp
        2. Proper support of cpu frequency

    To configure I used:
        <srcdir>/configure \
        --target=sh-rtems \
        --prefix=<instdir>/sh-bare \
        --enable-bare-cpu-model=sh7032 \
        --enable-bare-cpu-cflags='-Wall -m1 -DMHZ=20
        -DCPU_CONSOLE_DEVNAME="\"/dev/null\""'
        --enable-rtemsbsp=bare \
        --disable-networking \
        --disable-cxx \
        --disable-posix \
        --disable-tests

    IMO, if there are no objections to this patch, a similar approach should
    be applied to all CPUs/BSPs (esp. hppa1.1, mips64orion, ppc403, because
    they apply set_vector inside of libcpu).
1998-09-29 12:40:33 +00:00
Joel Sherrill
766ed7c0f1 Patch from Eric Norum <eric@skatter.usask.ca>:
Remember the test to see if a socket could be read and written at
    the same time by two different tasks?  I discovered that if both
    tasks attempt to close the socket a panic can occur from inside the
    BSD code.

    Closing the same socket twice from two different threads is
    certainly an error, but a panic is not the greatest error reporting
    method :-)

    The following small change to the socket close routine should reduce
    the chances of the panic.
1998-09-29 12:15:08 +00:00
Joel Sherrill
d7fcc1d40a Added sentence to indicate sections were deliberately empty.
Added NONE to Notes sections and "-" to make this easier to fill out later.
1998-09-29 00:05:40 +00:00
Joel Sherrill
241e4c7c0a Added sentence to indicate sections were deliberately empty. 1998-09-29 00:04:53 +00:00
Joel Sherrill
2341410c7a Fleshed out considerably. This is almost a passable manual now. 1998-09-29 00:02:53 +00:00
Joel Sherrill
68e8f631a9 Updated to reference the standards. 1998-09-28 22:54:48 +00:00
Wade A Smith
0f58ab42b6 Documented the mount and umount routines. 1998-09-28 22:09:12 +00:00
Wade A Smith
487c5d58d7 Documented the ftruncate and opendir routines. Removed reference to the
readdir_r routine.
1998-09-28 22:08:41 +00:00
Joel Sherrill
cb646cb936 New files. 1998-09-27 16:37:16 +00:00
Wade A Smith
e21f7d8d48 Documented the following routines: dup, dup2, close, read, write, and fcntl.f 1998-09-27 16:00:18 +00:00
Wade A Smith
389c3e904f Documented the following routines in this file: rewinddir, pathconf,
fpathconf, fchmod, fstat, mkfifo, and telldir
1998-09-26 19:33:58 +00:00
Wade A Smith
64183e20f0 Documented the creat, scandir, and access routines. 1998-09-25 20:11:51 +00:00
Wade A Smith
9a0b0089c3 Docmumented the access routine in for this file. 1998-09-25 16:20:52 +00:00
Joel Sherrill
165988d735 Fixed typos so this would build. 1998-09-25 13:29:19 +00:00
Joel Sherrill
b965227fa1 Now compiles. 1998-09-25 13:28:28 +00:00
Joel Sherrill
1ee9a1a715 Added information on every service in this chapter. Most of them are
ENOSYS stubs at this time.
1998-09-25 13:24:00 +00:00
Joel Sherrill
97149ba590 Added ENOSYS stubs for a number of process routines. 1998-09-25 13:17:32 +00:00
Joel Sherrill
1d2366e5ea Stuff added by Kerwin. 1998-09-25 12:50:36 +00:00
Joel Sherrill
7a86dc4404 Improved missing directory message. 1998-09-24 20:30:09 +00:00
Joel Sherrill
85420c8e32 Removed blank line. 1998-09-24 20:29:52 +00:00
Joel Sherrill
da38d8a3df Removed superfluous initialization of PC video. 1998-09-24 15:43:38 +00:00
Joel Sherrill
32f3e34d4d Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:
Please find attached a start.s that includes a cli prior to the hlt
    instruction.  This ensures that external interrupts cannot restart
    the system after returning to the startup code.  ( According to the hlt
    docs, they will! )

    Also find a new timer.c.   ( I forgot to update the countdowm value
    in the timer when I changed the PSCLK frequency in start.s) .  This
    improves timer accuracy.

    The raw_idt_notify messages are no longer infinite, I tested sp11 and
    sp05, both which were bad, and I have seen the message print once in
    one test.  I think it's ok if it prints out once.  In fact, I don't
    think you can effectively stop it!
1998-09-24 13:55:18 +00:00
Joel Sherrill
287e958464 New version from Erik Ivanenko <erik.ivanenko@utoronto.ca>. 1998-09-24 13:46:27 +00:00
Joel Sherrill
1fd26a529c Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1998-09-23 16:46:52 +00:00
Joel Sherrill
ecc3fe3181 IDLE task stack size now specified as a field in the CPU Table for all
ports.
1998-09-23 16:41:00 +00:00
Joel Sherrill
3b93a2dee1 Modifed to zero out the C heap if the CPU Table indicates that the
RTEMS workspace is to be zeroed out.
1998-09-23 16:34:23 +00:00
Joel Sherrill
87c857a983 changed version to 980923 1998-09-23 13:43:44 +00:00
Joel Sherrill
5d17a64258 Updated to remove bad comment. 1998-09-23 13:43:14 +00:00
Joel Sherrill
1cf2df40cb Removed printk() references. 1998-09-23 13:25:37 +00:00
Joel Sherrill
479c86ddbd Patch from Erik Ivanenko <erik.ivanenko@utoronto.ca>:
Please find attached the two files that have been changed  relative to
    980921 .  The changes here are in the handling of the counter-timer used
    as the basis for the rtems executive clock.  For the most part, these
    are housekeeping changes.

    The PSCLK frequency change in start.s... was a part of several
    bug-fixes.  The fix improves executive clock and timer accuracy.

    changes :

    start.s --  All timers are disabled by the initialization routine
            -- PSCLK ( used by clock and timers ) frequency changed to 1MHz

    The clock_initialize routine now assumes that the PSCLK frequency is
    exactly 1 MHz.

    ckinit.c

    Clock_isr            -- removed division by 1000.  Now use 'static'
    variable -- clock_intial_isr_value -- to reset Clock_isrs variable.
    clock_initialize -- moved counter timer initialization here.  Values
    used to configure the timer are totally dependent on
    BSP_configuration.microseconds_per_tick ( and the PSCLK assumption).
    Initializes clock_initial_isr_value used by th Clock_isr to reset
    Clock_isrs.

     clock_on -- no longer configures the timer, just enables it.

    Since altering the number of sections in the BSP, I decided to give it a
    good "once over" .   The clock handling is now cleaner.
1998-09-23 13:22:43 +00:00
Joel Sherrill
8a496e462e Patch from Aleksey (Quality Quorum <qqi@world.std.com>):
1. Finally fixes raw interrupts for pc386
    2. Makes some minor cleanup in console and startup
    3. Makes rtems_termios_dequeue_characters() to return count of
       outstanding chars - it allows to simplify console isrs a little
       bit.
    4. pc386 uart modified to be friendlier to termios parameter changes,
       to have minor performance improvement and to take advantage of
       of above termios modification.
1998-09-23 13:20:34 +00:00
Joel Sherrill
362b88ebb5 Switched "NEW_GAS" flag. 1998-09-23 13:17:23 +00:00
Joel Sherrill
f26f58289e Regenerated. 1998-09-23 13:17:10 +00:00
Wade A Smith
6385cbd430 Updated file based upon red-lines received. 1998-09-21 22:04:07 +00:00
Wade A Smith
98bdf7a125 Updated file based upon read_lines received. 1998-09-21 21:34:04 +00:00
Wade A Smith
f8c5badb5c Updated file based upon red-lines received. 1998-09-21 21:31:59 +00:00
Joel Sherrill
af973e57f3 changed version to 980921 1998-09-21 16:38:20 +00:00
Wade A Smith
219aedad8f Modified sentences in the file to avoid using "shall" statements. 1998-09-21 15:27:03 +00:00
Wade A Smith
f9b0efb045 Described the constants used by the admin_type in the background section
of this file.
1998-09-21 15:17:00 +00:00
Joel Sherrill
42424efe9b Corrected ColdFire port information. 1998-09-21 01:45:14 +00:00
Joel Sherrill
e62488d4dd New file from Emmanuel Raguet <raguet@crf.canon.fr>. 1998-09-21 01:29:19 +00:00
Joel Sherrill
718dc95384 Patch from Eric Norum <eric@skatter.usask.ca>:
Here's a patch to make the rtems_showroute routine a little more
    useful.  For `host' route table entries the link-level address is now
    displayed.  This is equivalent to the old `show arp table'
    information displayed by the KA9Q code.
1998-09-21 00:46:00 +00:00
Joel Sherrill
7ddcfb8cd4 Patch from Eric Norum and David Fiddes to put ColdFire support in
the inet checksum routine.
1998-09-21 00:42:07 +00:00
Joel Sherrill
97d7b068cb Update from Aleksey (Quality Quorum <qqi@world.std.com>) to pick up some
patches missing from 980911.
1998-09-21 00:40:18 +00:00
Joel Sherrill
75e44fa33f Removed by patch from Aleksey. 1998-09-21 00:39:47 +00:00
Joel Sherrill
3f92975714 Patches from Aleksey which were not in 980911.
I am sending you patch which was lost. As far as I remember there
    were minor patches on top of it, either by Eric Valette or
    by Eric Norum or by both.
1998-09-21 00:38:13 +00:00
Joel Sherrill
c610a1f300 Update from Eric Valette <valette@crf.canon.fr>:
Here are patches that bring 980911 back to what I think is a correct
    version of raw IDT management as well as a correct initialisation
    of video console and rtems managed interrupts.
1998-09-21 00:24:51 +00:00
Joel Sherrill
04bc5d97f1 Update from Erik Ivanenko <erik.ivanenko@utoronto.ca> to bring the
i386ex bsp up to date.

1) A 'hlt' instruction is coded in case of a return from boot_card in
  start.s.
1998-09-21 00:23:02 +00:00
Joel Sherrill
30ba7529f1 Patch from Eric Norum:
I fixed the problems noted by Victor Vengerov.

    1) Fix typo in cfsetispeed().
    2) In rtems_termios_open, ensure that args->iop->data1 is set before calling
    device-specific open routine.
1998-09-21 00:01:26 +00:00
Joel Sherrill
6bd0fe402d Patch from Eric Valette <valette@crf.canon.fr>:
Compiled and booted without problem. However console was set on COM2.
  At least for 4.0 it should be video :-)
1998-09-20 23:52:43 +00:00
Wade A Smith
6c455f37fb Remove many of the shall verbs and replaced them with present tense verbs 1998-09-16 15:15:41 +00:00
Wade A Smith
433c558577 Changes the name of readdir, umask, mkdir, chmod, chown to cfg_readdir,
cfg_umask, cfg_mkdir, cfg_chmod, cfg_chown respectively.
1998-09-13 13:44:28 +00:00
Wade A Smith
08142b486b Documented the following routines added to the Configuration Space
Management: readdir, open, umask, link, mkdir, unlink, chmod, and chown.,
1998-09-12 15:57:18 +00:00
Joel Sherrill
bfcf4cb3db Updates to tree to make it build with all desired changes and the conversion
of the SONIC driver to the new FreeBSD stack instead of KA9Q.
1998-09-11 23:35:09 +00:00
Wade A Smith
23f014af5b Added documentation for the log_facilityisvalid routine and add thew
status code EINVAL to the log_seek routine.
1998-09-11 19:21:41 +00:00
Joel Sherrill
b29378e052 Corrected spelling error. 1998-09-11 19:17:49 +00:00
Joel Sherrill
c5bb1e02b6 changed version to 980911 1998-09-11 15:40:41 +00:00
Joel Sherrill
b39563695d Patch from "David J. Fiddes" <D.J@fiddes.surfaid.org>:
I've fixed a few minor probs with the optimised version that Eric put
    together for me the other day and sent the fixes back to him. Provided he
    doesn't have a problem with it we've got a pretty solid in_cksum for the
    ColdFire as well as straight m68k. I've enclosed my updated in_cksum_m68k.c

    At the moment my own bottlenecks are elsewhere...as my driver is pulling
    16bit data chunks through a libchip-esq access routine from the chip which
    for a polled I/O device is never going to be quick.
1998-09-11 13:12:04 +00:00
Joel Sherrill
0ea9829786 Fixed back so it would build. 1998-09-10 13:07:31 +00:00
Joel Sherrill
d2b120444e Added references. 1998-09-10 13:07:20 +00:00
Joel Sherrill
bd3dec56a6 Patch from Eric Norum <eric@skatter.usask.ca>:
If you're getting close to a new snaphot, here's something that
    might be useful to add to the BSP README notes for systems with
    networking.
1998-09-10 12:46:41 +00:00
Joel Sherrill
23cdd84cff Patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to make this compile
for the ColdFire.
1998-09-10 12:43:00 +00:00
Joel Sherrill
b67245d03b Patch from Chris Johns <ccj@acm.org>:
I have managed to build the bsp ods68302 and the rtti test case I made
    with egcs-1.1b and binutils-2.9.1.

    I have built our C++ application and got no link errors so it looks like
    this is now working. I am yet to test the code but getting the thing to
    link was the problem.

    Please find a patch attached which removes the -fno-rtti option.
1998-09-10 12:31:27 +00:00
Joel Sherrill
b7e3949f67 Patch from Eric Valette <valette@crf.canon.fr>. Most of this was included
in a previous patch.  Comments from Eric:

    patch_com2 was before your own fixes of raw IDT vector management
    routine.
    It mainly use human readable constants for the serial line driver code
    + the patch you gave me for com2 write routine.

    I applied your patch for raw IDT mngt on top of that. Then made minor
    cleaning in  patch_idt_mngt. I hope this helps.
1998-09-10 12:28:59 +00:00
Joel Sherrill
109b17f4ad Patch from Eric Norum <eric@skatter.usask.ca> to fix a cryptic error
message after comments from Eric Valette <valette@crf.canon.fr>.
1998-09-10 12:23:08 +00:00
Joel Sherrill
eff217e095 Patch from Emmanuel Raguet <raguet@crf.canon.fr>:
After some good comments from Eric Norum [thanks, Eric !],
    I have added some modifications to my previous driver patch :

        - wait for transmitter ready before sending a packet,

        - new delay management in case of ring-overwritting.
1998-09-10 12:16:39 +00:00
Joel Sherrill
c7cb6bbb5e Added section on format of the configuration space file. 1998-09-09 18:09:23 +00:00
Joel Sherrill
c247120af7 Added gettimeofday(). 1998-09-09 18:09:02 +00:00
Joel Sherrill
8d0ea20e11 New file 1998-09-08 15:19:21 +00:00
Joel Sherrill
62e508fe6d Removed chapter names from automatically generated node names. 1998-09-08 13:17:21 +00:00
Joel Sherrill
d778b4a64f Fixed include file path. 1998-09-08 13:17:08 +00:00
Jennifer Averett
251f8b1fb9 Added text to describe System log, Non-system logs,facility, and severity. 1998-09-02 14:22:40 +00:00
Joel Sherrill
4cf89a8ca7 Fixed spacing. More comments from Eric Norum need to be addressed. 1998-08-31 23:09:17 +00:00
Joel Sherrill
d9d75fce47 Patch from Emmanuel Raguet <raguet@crf.canon.fr>:
I have reworked the ethernet driver for the BSP pc386 and
  here is the patch to apply.
1998-08-31 23:06:50 +00:00
Joel Sherrill
b285860989 Patch from Eric Valette <valette@crf.canon.fr>:
Eric> NB : there is still a bug on PC386 serial line : exit does not
    Eric> flush the remaining output queue. As this is not a bug in the
    Eric> driver itself but somewhere in PC386 initialization/termios
    Eric> relationship it will be part of another patch.

    Eric> NB2 : As Emmanuel excerced the exception hanlder code, while
    Eric> porting the SMC driver to the new BSD stack, we found a bug
    Eric> in the exception handler : it shall not delete the current
    Eric> thread in case we are running at interrupt level. This will
    Eric> be part of another patch...

    So here is the patch. This patch fixes the two problems mentionned above

    + it use vpath mechanism intead of copying the irq related files in
      the right directory.  This avoid to compile them each time and is
      more homogenous with other Makefiles.
1998-08-31 23:03:45 +00:00
Joel Sherrill
de9edc4b52 Patch from Eric Valette <valette@crf.canon.fr>:
Here is a brief description of the attached patch :

    1) There was a bug in the code for the COM2 serial line driver. Aleksey
    gave me a fix that fixes the driver code itself. I would like to thank
    him again publicly,

    2) I introduced constants in the serial driver code because I had a hard
    time reading the meanning of hexadecimal values in the NS data book :)

    3)You can now mix printk and printf on serial line (tested on COM2).
    There is a #ifdef PRINTK_ON_SERIAL in console.c that enables to have
    printk on console while printf on serial line,
    4) Removed call to displayCpuInfo because anyway if was at the wrong
    place for serial line console (too early). It can anyway be called at
    application level,

    5) The original printk was unable to display negative integer values
    and was also recursive. It now works corectly,

    All the modifications have been tested here on the COM2 port from
    a PC running RTEMS to a PC running linux,

    NB : there is still a bug on PC386 serial line : exit does not flush the
    remaining output queue. As this is not a bug in the driver itself but
    somewhere in PC386 initialization/termios relationship it will be part
    of another patch.

    NB2 : As Emmanuel excerced the exception hanlder code, while porting the
    SMC driver to the new BSD stack, we found a bug in the exception
    handler : it shall not delete the current thread in case we are running
    at interrupt level. This will be part of another patch...
1998-08-31 22:56:20 +00:00
Joel Sherrill
85734b3c8f Patch from Eric Norum <eric@skatter.usask.ca>:
I think I figured out why rtems_panic was locking up instead of
    shutting down the executive and returning to the code that called
    boot_card().

    Later on there is code to print some messages on the standard error
    stream, a recursive call back to rtems_verror (through rtems_error)
    and finally a call to _exit().

    I think that the _Thread_Disable_dispatch() is preventing the final
    context switch back to the boot_card() code.  Does this sound right
    to you?
1998-08-31 22:53:42 +00:00
Wade A Smith
90c60f7931 Updated the descriptions section for the log_create and log_sys_create
functions.d
1998-08-31 15:39:03 +00:00
Joel Sherrill
82db2d3ade Reviewed log_read(). 1998-08-28 19:59:44 +00:00
Joel Sherrill
566669f5f1 Reviewed and corrected log_write(), log_write_any(), and log_write_entry(). 1998-08-28 16:48:45 +00:00
Joel Sherrill
b67f7946c9 Added log_write_any and part of log_copy.
Reviewed log_close.
1998-08-28 14:32:01 +00:00
Joel Sherrill
61b1b37c0d Added author credit. 1998-08-28 13:31:40 +00:00
Joel Sherrill
f96e8ee0f5 Added CVS Ids. 1998-08-28 13:27:36 +00:00
Joel Sherrill
e061a0074d Added top level file and cleaned up chapter names 1998-08-28 13:27:05 +00:00
Joel Sherrill
6968c9eb04 Undid renaming. 1998-08-28 13:26:25 +00:00
Joel Sherrill
0918cc421d Renamed intro to preface. 1998-08-28 13:25:22 +00:00
Joel Sherrill
07b3693f17 Base files 1998-08-28 13:21:53 +00:00
Joel Sherrill
a44a927b21 New file 1998-08-28 13:09:54 +00:00
Joel Sherrill
af5a571ea8 Updated log_seek() per review. 1998-08-27 20:53:21 +00:00
Joel Sherrill
6520befebb Modified log_open() to reflect review. 1998-08-27 20:16:39 +00:00
Joel Sherrill
d65d22a096 Corrected descriptions of log facility set manipulation routines as
part of the review.
1998-08-27 18:53:34 +00:00
Joel Sherrill
c5568160cb Corrected log_severity_before as part of reviewing the code. 1998-08-27 18:28:17 +00:00
Wade A Smith
9c79229d33 Incorporated the "#include <dump.h>" statement in file. 1998-08-26 14:18:36 +00:00
Wade A Smith
3e6eb1dd20 Incorporated the "#include cfg.h" statement in document 1998-08-26 14:13:48 +00:00
Wade A Smith
984e5c1d18 Incorporated the "#include <admin.h>" statement in file 1998-08-26 14:11:48 +00:00
Wade A Smith
30cc2e0722 Corrected mispelled words. 1998-08-26 14:08:20 +00:00
Joel Sherrill
571a9155fe Added some background and operations subsections. 1998-08-25 22:09:13 +00:00
Joel Sherrill
a99ea16bed Fixed spelling mistakes. 1998-08-25 21:02:58 +00:00
Joel Sherrill
142f6a5125 Fixed spelling mistake. 1998-08-25 20:56:43 +00:00
Joel Sherrill
d1a859c0c2 Cleaned up formatting.
Added notes on background and operations sections.

Added NOTE to indicate the feature flag defined.
1998-08-25 20:54:47 +00:00
Joel Sherrill
d5ef5bd16f Commit for review 1998-08-25 19:49:51 +00:00
Wade A Smith
2a23c28060 Documented the log_create and log_sys_create routines 1998-08-25 15:26:19 +00:00
Joel Sherrill
fd001d6fdb Posix users manual now makes multiple info files. 1998-08-24 17:38:00 +00:00
Joel Sherrill
755923238d changed version to 980824 1998-08-24 17:32:58 +00:00
Joel Sherrill
564d2c3a6b Patch from Eric Valette <valette@crf.canon.fr> to add an extra newline. 1998-08-24 16:59:20 +00:00
Joel Sherrill
69036586b5 Patch from Eric Valette <valette@crf.canon.fr>:
Celso Labinaz <labinaz@tin.it> pointed to me thatthe console on serial
    line was not working. After spending quite a time to find the right
    cable and software, I confirm this.

    I'm going to debug this in the next days because I want to use the
    serial line for debugging. In the meantime, in order to be sure that
    this was a driver initialization/bug, I made printk work on the serial
    line in order to be sure the receiver part and configuration was OK.

    Here is the for printk on serial line. BTW, does anyone else use the
    serial line facilities for PC? printf seems to output nothing (hello.exe
    output everything that has a printk but application printf seems to be
    broken).
1998-08-24 16:58:39 +00:00
Joel Sherrill
16f2037643 Regenerated 1998-08-24 14:50:23 +00:00
Joel Sherrill
ff0b0082b1 Added __RTEMS_INSIDE__ macro to insure that ".inl" files are ALWAYS included
when building the executive source.
1998-08-24 14:50:00 +00:00
Joel Sherrill
9a95524f29 Cleanup patch from Eric Norum. 1998-08-24 14:47:19 +00:00
Joel Sherrill
dffa3046d2 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
The patch (rtems-rc-980821.diff) I had sent recently to fix the "make
    install" problem in rtems-980821/make/ still contained a bug (Thanks to
    Eric N. for reporting it).

    The patch enclosed to this mail is a corrected version of this patch,
    which finally should fix this problem.
1998-08-24 14:44:54 +00:00
Joel Sherrill
4baa0f58cc changed version to 980821 1998-08-21 18:19:29 +00:00
Joel Sherrill
4de817dfd2 Added i386 specific version of in_cksum.c and restructured the main
file to switch out to CPU specific implementations.
1998-08-21 18:14:27 +00:00
Joel Sherrill
cce81a748f A patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Here is another patch to hopefully enhance rtems' configuration.

    Motivation: Try to support other c-compilers besides gcc (I tried to
    build rtems under Solaris using sun's WSPro c-compiler).

    Here is a couple of small patches concerning the host compiler
    configuration, which fix/work-around the worst problems when using sun's
    WSPro c-compiler.

    Changes:
        * Replaced make/compilers/gcc.cfg with make/compilers/gcc.cfg.in, ie.
          gcc.cfg is generated by configure now.
        * Removed a line containing a hard-coded "gcc" from gcc.cfg (BUG-fix).
        * Add -g to host compiler flags only if configure reported -g to work
        * Add -Wall to host compiler flags only if configure reported that the
          host compiler is gcc (WSPro's cc chokes on -Wall).
        * Some modifications to make/Makefile.in
        * Adapted make/custom/default.cfg to the new location of gcc.cfg

    BTW, gcc.cfg/gcc.cfg.in seems to be full of unused code (DEBUG-VARIANTS
    etc.) which deserves to be cleaned up, IMO.

    IMO, a similar patch should be applied to gcc-target-default.cfg
1998-08-21 17:43:22 +00:00
Joel Sherrill
aa2171bd13 Modified version number to recut snapshot. 1998-08-21 17:42:25 +00:00
Joel Sherrill
617a1a2db1 Another missing piece. Thanks Eric. 1998-08-21 17:37:01 +00:00
Joel Sherrill
025eb96e78 changed version to 980821 1998-08-21 17:09:04 +00:00
Joel Sherrill
7a035ebcc0 Added system task attribute to allow one to create a task with "0" priority
via the user api.
1998-08-21 16:54:17 +00:00
Joel Sherrill
eb562f2c86 Patch from Eric Valette <valette@crf.canon.fr>:
Here is a patch that enables to catch exception
    and get message before crashing RTEMS :)

    It should be generic to any Intel port although enabled
    only for pc386 BSP...

    [Joel] I fixed the bug I introduced in irq_asm.s...
1998-08-21 16:39:52 +00:00
Joel Sherrill
2938140589 Spacing changes 1998-08-21 16:16:00 +00:00
Joel Sherrill
b3fd16416c Fix from Eric Norum <eric@skatter.usask.ca>:
"Thomas Doerfler" <td@imd.m.isar.de> wrote:
>
> While implementing/testing the console/termios support for
> PPC403 in RTEMS-4.0.0-beta3, I am stuck at a certain location in
> termios.c:
>
> During "rtems_termios_initialize", the main control data structure
> "*tty" is allocated using malloc(). (Note, that malloc does not
> clear the allocated memory and my BSP does not clear memory during
> startup). Furtheron, a lot of fields of that structure are
> initialized, but the field "rawOutBufState" is not, and therefore
> keeps an arbitrary contents.
>
> When "osend()" is called the first time(with the serial device
> driver working in interrupt mode), termios gets stuck and will not
> call the device drivers output function.
>
> My questions now are:
>
> - anybody already experienced this bug?
> - is it a bug at all or did I do anything fundamentally wrong?
> - is there already a common bugfix for that?
>
> I don't like poking around in other people code, as long as I am
> not absolutely sure, what I do...

Yes, there's a bug there.
I thought that Joel had patched this already, but here's a patch to
fix this.  This patch also addresses a concern that many others have
raised regarding enabling and disabling of transmitter interrupts.

First, here's the example I've been using of a simple UART-style
interrupt-driven driver:
===============================================================
void
device_write_routine (int minor, char *buf, int count)
{
        UART->control_register &= ~UART_TRANSMITTER_READY;
        UART->output_register = *buf;
        UART->control_register |= UART_TRANSMIT_INTERRUPT_ENABLE;
}

void
device_transmit_interrupt_routine (int vector)
{
        UART->control_register &= ~UART_TRANSMIT_INTERRUPT_ENABLE;
        rtems_termios_dequeue_characters (device_ttyp, 1);
}
==============================================================


Several people have expressed their concern about the disable/enable
of transmitter interrupts for every character.  On some machines
this disable/enable is an expensive operation.  With the attached
patch applied you can write the two routines as:
==============================================================
void
device_write_routine (int minor, char *buf, int count)
{
        code_to_clear_transmitter_ready_status ();
        if (device_ttyp->rawOutBufState == rob_idle)
                code_to_enable_transmitter_interrupts ();
        code_to_send_one_character_to_transmitter (*buf);
}

void
device_transmit_interrupt_routine (int vector)
{
        rtems_termios_dequeue_characters (device_ttyp, 1);
        if (device_ttyp->rawOutBufState == rob_idle)
                code_to_disable_transmitter_interrupts ();
}
===============================================================
1998-08-21 15:32:19 +00:00
Joel Sherrill
d47de32ff7 Update from Eric Norum. 1998-08-21 14:04:31 +00:00
Joel Sherrill
3c7f112a9e Regenerated 1998-08-21 13:05:18 +00:00
Joel Sherrill
33679ec46e All warnings removed. 1998-08-21 13:04:55 +00:00
Joel Sherrill
c3a1c0585c Removed networkconfig.h since it reflects target specific initialization. 1998-08-21 13:04:36 +00:00
Joel Sherrill
a83dd86106 Patch from Eric Norum 1998-08-21 12:59:04 +00:00
Joel Sherrill
d9de76f670 Update from Eric Norum. 1998-08-21 12:55:03 +00:00
Joel Sherrill
dd89471b86 Changed version. 1998-08-21 12:54:51 +00:00
Joel Sherrill
bd89c6c5a4 Added Networking and Obsoleted KA9Q manual. 1998-08-21 12:54:39 +00:00
Joel Sherrill
7c32af798e Added networking to public documents. 1998-08-21 12:54:19 +00:00
Joel Sherrill
6b384d927f Changed date/version. 1998-08-21 12:54:02 +00:00
Joel Sherrill
bbdab89563 Added initialization of missing termios structure entries. 1998-08-21 12:52:08 +00:00
Joel Sherrill
ab09043a27 Fixed warning about pointer/integer conversion which turned out to be
a missed "&" on a write.
1998-08-21 12:51:29 +00:00
Joel Sherrill
fd808baef4 Fixed discrepancies noted by John Oleynick <johno@sirius.com>. 1998-08-21 12:48:44 +00:00
Joel Sherrill
3f6b1baa92 Made the description of timeing generation more accurate. 1998-08-20 22:37:47 +00:00
Joel Sherrill
1e291bb060 Changed wording to read better for PSIM. 1998-08-20 22:37:12 +00:00
Joel Sherrill
7ddc6484ab New times. 1998-08-20 22:36:45 +00:00
Joel Sherrill
829c0c1964 Changed distribution level for this document. 1998-08-20 22:36:38 +00:00
Joel Sherrill
53c3f5fe24 Switched from generating tables based on CPU model to BSP. 1998-08-20 22:35:54 +00:00
Joel Sherrill
6a31f1dd2b Changed version. 1998-08-20 22:35:25 +00:00
Joel Sherrill
3866cd6ab4 PowerPC Supplement now part of support documentation. 1998-08-20 22:34:50 +00:00
Joel Sherrill
895dd076f0 rtems_support.html added. 1998-08-20 22:34:25 +00:00
Joel Sherrill
ad5074e3da New file 1998-08-20 22:32:06 +00:00
Joel Sherrill
3dd11faadf rtems_full.html sed'ed to get right version number. 1998-08-20 22:30:46 +00:00
Joel Sherrill
d7ee43ffb3 PowerPC now part of customer support version. 1998-08-20 22:30:28 +00:00
Joel Sherrill
a9cfa2380f changed version to 980820pm-BSD 1998-08-20 22:11:31 +00:00
Joel Sherrill
28e7d7faed Patches from Eric Norum 1998-08-20 22:04:22 +00:00
Joel Sherrill
96b3916409 Added CVS Ids 1998-08-20 21:56:40 +00:00
Joel Sherrill
ff0f694d46 Fixed many warnings. 1998-08-20 21:47:37 +00:00
Joel Sherrill
50ea4814aa changed version to 980820-BSD 1998-08-20 16:04:58 +00:00
Joel Sherrill
7c16a331ed Regenerated. 1998-08-20 16:02:47 +00:00
Joel Sherrill
2394b5abec Changed to avoid use of gets(). 1998-08-20 15:56:57 +00:00
Joel Sherrill
dcc240473f Updated to reflect TCP/IP stack transition. 1998-08-20 15:46:13 +00:00
Joel Sherrill
f205fe6d1c Updated to reflect stack transition. 1998-08-20 15:46:07 +00:00
Joel Sherrill
d9e62248e4 Temporarily leave strsep out of the build. 1998-08-20 15:38:30 +00:00
Joel Sherrill
4e1d5c69f6 Added missing file. 1998-08-20 15:38:15 +00:00
Joel Sherrill
53ee76b453 Removed stub implementation 1998-08-20 15:37:42 +00:00
Joel Sherrill
0280cb66f5 FreeBSD stack compiles for the first time (except libc/strsep.c) 1998-08-20 14:39:09 +00:00
Joel Sherrill
3f098aed45 FreeBSD stack compiles for the first time (except libc/strsep.c). 1998-08-20 14:37:17 +00:00
Joel Sherrill
c197b6c2ec Base files 1998-08-20 12:54:04 +00:00
Joel Sherrill
888497d232 Base files 1998-08-20 12:45:04 +00:00
Joel Sherrill
f31f46d2b2 Base version. 1998-08-20 12:37:35 +00:00
Joel Sherrill
39e6e65a2c Base files 1998-08-19 21:32:28 +00:00
Joel Sherrill
4328ba112f First version produced. 1998-08-19 20:50:47 +00:00
Joel Sherrill
071536e655 Renamed files ... just about to produce the first copy of the manual. 1998-08-19 20:45:19 +00:00
Joel Sherrill
ab0c6890bf Baseline 1998-08-19 20:29:35 +00:00
Joel Sherrill
26b5c77fb1 changed version to 980819 1998-08-19 20:25:21 +00:00
Joel Sherrill
8b2ee37c38 Patch from Eric Valette <valette@crf.canon.fr>:
- Use the "hlt" instruction for the Idle thread,
        - Optimise interrupt PATH leadding to thread wakeup,
        - Preparation for Intel exception management that should
        come before the end of the week...
1998-08-19 20:09:59 +00:00
Joel Sherrill
7549e147ae Fixed obsolete reference to BSDINSTALL. 1998-08-19 20:02:10 +00:00
Joel Sherrill
0375c72aaa Patch from Aleksey <qqi@world.std.com>:
This patch has same changes as one I sent to you earlier plus
    it fixes _heap_size problem for pc386 we had discussed earlier.

    Now, _heap_size is defined and set to 0 in pc386/startup/bspstart.c

    It can be patched to desireable value in binary image. If it is
    left unpatched, then startup code will determine size of memory
    (on the assumption that at least 2MB are present) and use
    max possible heap.
1998-08-19 14:47:39 +00:00
Joel Sherrill
2d7d605fdf Patch from Aleksey <qqi@world.std.com>:
It fixes netboot build problem, KA9Q configuration
    for pc386, some compiler wardning, it also removed some stuff
    ifdef'ed with '#if 0'.
1998-08-19 14:41:23 +00:00
Joel Sherrill
06fa582130 Patches from Ralf Corsepius <corsepiu@faw.uni-ulm.de> and myself to
make solaris target buildable.

    > 1.  The ipc check fails since solaris does not define union semun.
    > The unix port code actually defines this type itself on solaris.  Doing
    > the same thing lets it get configured.  Then...

    > 2.  It looks like BSDINSTALL is not defined properly.

    BSDINSTALL is defined in make/host.cfg.in as
    BSDINSTALL=@INSTALL@

    @INSTALL@ is generated by autoconf's standard macro AC_PROG_INSTALL, which
    is widely used in almost any autoconf/automake configured package. In case
    there is really something wrong with it, then it must be considered a bug
    in autoconf.

    I can see a doubious fragment in AC_PROG_INSTALL, which is used when no
    appropriate bsd-install is found.

Finally Ralf saw a problem with the find on solaris which I also saw and
fixed.
1998-08-19 12:56:20 +00:00
Joel Sherrill
b93a1ab9ff Cleaned up the ka9q definition. 1998-08-19 12:42:35 +00:00
Joel Sherrill
f2226f4422 Added 68060 definition from Chris Johns. 1998-08-19 12:41:22 +00:00
Joel Sherrill
e013fe3cd0 If 0 out the code which touches the chip in questionable ways for processing
a giant packet.
1998-08-14 16:55:50 +00:00
Joel Sherrill
7ba7108101 Changed tm27 clear interrupt macro on all PPC BSPs except the papyrus. 1998-08-14 15:24:09 +00:00
Joel Sherrill
db8e8a8bef Added information on caching. 1998-08-14 15:23:33 +00:00
Joel Sherrill
0088e39c49 Updated. 1998-08-14 15:23:22 +00:00
Joel Sherrill
2097470057 Fixed version reference 1998-08-13 22:46:59 +00:00
Joel Sherrill
3978eec2e8 Updated. 1998-08-13 22:46:35 +00:00
Joel Sherrill
83c1360255 New times for 4.0.0-lmco 1998-08-13 22:22:12 +00:00
Joel Sherrill
43abd4d525 Fixed preinstall stanza so the prebuild works. 1998-08-13 22:03:14 +00:00
Joel Sherrill
6ddf0543b4 Switched from presenting timing data based on CPU models to presenting it
based on board model.
1998-08-13 21:24:50 +00:00
Joel Sherrill
fba4a16cb0 New file 1998-08-13 21:18:03 +00:00
Joel Sherrill
abb3c7557e Added DMV177 times files and made this all regenerate with two timing
chapters.
1998-08-13 21:17:35 +00:00
Joel Sherrill
eac2c4e05f Added text to clarify the queueing of multiple events. 1998-08-13 18:18:18 +00:00
Joel Sherrill
3e6d74967d Added bswap feature. 1998-08-13 18:17:49 +00:00
Joel Sherrill
f6f0b30a28 Updated version information. 1998-08-13 18:17:05 +00:00
Joel Sherrill
ee056f7163 Updated the disk space required.
Fixed a typo in the hello world example.
1998-08-13 18:16:55 +00:00
Joel Sherrill
5d7eafea36 Corrected name of build script and other minor things in the list of
needed tools.

Corrected path to patches.

Added warning about putting the install point under the build tree.
1998-08-13 18:16:03 +00:00
Joel Sherrill
5144c6db89 Added a warning about positioning the INSTALL_POINT under the build
tree.
1998-08-13 18:14:46 +00:00
Joel Sherrill
bf36029692 Added RTEMS.src stanza dn commands to run it. 1998-08-13 18:14:00 +00:00
Joel Sherrill
af24ac45c0 Changed settings for RPREFIX and DIRPREFIX. 1998-08-13 18:13:35 +00:00
Joel Sherrill
c82e1eabfd Updated version number 1998-08-13 18:13:05 +00:00
Joel Sherrill
d0e5f650e5 Updated to include standard number. 1998-08-13 18:11:21 +00:00
Joel Sherrill
368d64ae5f Updated. 1998-08-13 18:10:26 +00:00
Joel Sherrill
61b9f5d0bd New dates and versions. 1998-08-13 18:10:09 +00:00
Joel Sherrill
db99b6c321 Changed phone number to reflect new area code. 1998-08-13 18:09:44 +00:00
Joel Sherrill
8626d6dd79 base line -- copied from erc32 1998-08-13 17:46:27 +00:00
Joel Sherrill
af3e81c994 Enable TX interrupts only when we need TDAs. 1998-08-13 16:53:37 +00:00
Joel Sherrill
1253f39fd5 Cleaned up some debugging stuff.
Redid interrupt handler to read imr/isr once and to write the imr once.
1998-08-13 16:20:14 +00:00
Joel Sherrill
70502bc4c5 Don't disable the RX/TX on close in polled mode.
Fixed a comment.
1998-08-13 15:52:40 +00:00
Joel Sherrill
579fc6a3a3 Per request from Chris Johns <ccj@acm.org>, I added code to detect
when the bare bsp was enabled without setting both --enable-cpu-model
and --enable-cpu-cflags.
1998-08-13 14:47:18 +00:00
Joel Sherrill
9898425921 Patch from Chris Johns <ccj@acm.org> to change the way in which the initial
stack pointers are saved.
1998-08-13 14:28:22 +00:00
Joel Sherrill
26e5cd406a Patch from Chris Johns <ccj@acm.org>. Comments follow:
Here is a small patch which allows the m68060 to be used. I have not
    tested the FP switching stuff which we know is broken. This is taken
    against the libchip snapshot but should merge without problems. If you
    have any problems please let me know.

    There are other smaller issues such as superscalar enable and cache
    control which I have not addressed yet. They are different to all other
    m68k processors. These can wait IMO.
1998-08-13 14:23:37 +00:00
Joel Sherrill
7e19c72b13 fixed spacing 1998-08-13 14:22:48 +00:00
Joel Sherrill
ae320e0f3c Removed spurious prints and cleaned up XXX. 1998-08-12 23:53:23 +00:00
Joel Sherrill
9693fac4d7 Added more debug information. There are probably debug prints left in.
Fixed one important bug.  After wrapping the RX Descriptors all had the
EOL bit set which resulted in everything slowing down massively.
1998-08-12 23:10:38 +00:00
Wade A Smith
3f9da79a0a Updated the description section of the cfg_open and cfg_read routines 1998-08-12 16:57:27 +00:00
Joel Sherrill
4f38b71397 Fixed bug where the last link of the RDA was not initialized properly. 1998-08-12 16:28:17 +00:00
Wade A Smith
b032c170af Updated the description section of the admin_shutdown routine. 1998-08-11 22:50:07 +00:00
Wade A Smith
c40ad43d4e Updated the description section for the dump_setpath routine. 1998-08-11 22:34:41 +00:00
Wade A Smith
2dd561a3f6 Updated the description section for the following routines:
log_close, log_seek, log_severity_before, log_facilityemptyset,
   log_facilityfillset, log_facilityaddset, log_facilitydelset,
   and log_facilityismember
1998-08-11 22:10:51 +00:00
Wade A Smith
09470e0f69 Updated the Description section for the following routines:
log_notify, log_read, log_open, and log_write.
1998-08-11 20:38:09 +00:00
Joel Sherrill
7d07970eed Added SONIC_DEBUG_DESCRIPTORS and changed debug level. 1998-08-11 14:20:26 +00:00
Joel Sherrill
339737bad7 Survives 16-20 packets. Appears to be ok on TX buffer management.
Problem appears to be on the RX buffer initialization side.
1998-08-10 23:20:25 +00:00
Wade A Smith
0cac61eaf5 Update the description section for the log_write function. 1998-08-10 22:35:04 +00:00
Joel Sherrill
3fbd528781 Added prints 1998-08-10 22:23:33 +00:00
Wade A Smith
df8d36014c Updated the Description section for the Configuration Space Management
routines.
1998-08-10 22:01:23 +00:00
Joel Sherrill
7344fba988 Can now reply to multiple successive pings successfully without being in
promiscuous mode.

It still dies somewhere between 16 and 20 pings.
1998-08-10 21:45:01 +00:00
Joel Sherrill
c153a7bd9e replies to ping -- forced into prosmiscuous mode 1998-08-10 21:27:33 +00:00
Wade A Smith
988629063c Added to the description section of the Configuration Space Operations. 1998-08-10 16:41:46 +00:00
Wade A Smith
b044905b12 Documented the admin_shutdown function 1998-08-10 14:54:01 +00:00
Wade A Smith
ebc67925f5 Documented the following Event Logging routines:
log_write, log_open, log_read, log_notify, log_close, log_seek,
log_severity_before, log_facilityemptyset, log_facilityfillset,
log_facilityaddset, log_facilitydelset, and log_facilityismember
1998-08-10 14:53:01 +00:00
Wade A Smith
8c82d8d1d9 Documented the dump_setpath function. 1998-08-10 14:48:01 +00:00
Wade A Smith
e6bfa70c80 Added documentation for the following Configuration Space Operations:
cfg_mount, cfg_unmount, cfg_mknod, cfg_set, cfg_get, cfg_link, cfg_unlink,
cfg_open, cfg_read, cfg_children, cfg_mark, and cfg_close
1998-08-10 14:44:39 +00:00
Joel Sherrill
0c0419a1f1 Reordered some stuff. 1998-08-08 17:57:23 +00:00
Joel Sherrill
18c2320c6e changed version to 980808 1998-08-08 16:51:16 +00:00
Joel Sherrill
870284d103 Corrected spacing. 1998-08-08 16:37:43 +00:00
Joel Sherrill
301a2a3c0b Changed debug level.
Moved CAM Descriptor types to sonic.h.

CAM memory is now malloced to insure it shares the same upper address bits.

Removed increment of RX interrupt count on TX interrupt path.

Added SONIC_DEBUG_FRAGMENTS and SONIC_DEBUG_CAM conditionals.

Fixed bugs in fragment manipulation.  First bug was that the pad overwrote
the last fragment.  The second bug was that the link information overwrote
the size of the last fragment.

Rewrote initialization of TDA to simplify it.
1998-08-08 16:37:25 +00:00
Joel Sherrill
7e2187f4ad changed version to 9800808 1998-08-08 16:26:35 +00:00
Joel Sherrill
13451a384b Removed SonicRegisters structure since we now use register indices
and access routines.

Added revision constants.

Added in_use and EOL field values.
1998-08-06 19:01:03 +00:00
Joel Sherrill
e70a8f16b5 Enabled specific types of debug info.
Added pointer to RDA to sonic structure.

Added macro names for values used in the in_use field of RDA entries.

Rewrote the RX Descriptor Area initialization loop.

Added a check to barf if this is a Rev B sonic chip.

Enabled check that the CAM was properly loaded.
1998-08-06 19:01:02 +00:00
Joel Sherrill
e995f3a1ac Changed debug enable macros to support individually enabling different
types of debug information.

Removed call to rtems_panic which was based on checking a variable which
was no longer being set.
1998-08-06 15:27:08 +00:00
Joel Sherrill
c23118b036 Card Resource Register was a 16-bit register not a 32-bit one.
Used existing constants for bits on the register.
1998-08-06 15:05:59 +00:00
Joel Sherrill
308e18c397 Added support for the Card Resource Register. The new probe routines
check for the presence of the DUART, SCC, and RTC.  The SONIC check
needs to be added in the future as the network driver is libchip'ed.
1998-08-06 00:24:52 +00:00
Joel Sherrill
0eb85ae3e7 Commented out the code which yields the CPU when the serial controller is
busy.  This type of behavior perturbs the tests and many of them will
not pass.
1998-08-05 23:57:35 +00:00
Joel Sherrill
d4bf16c50f Added constants which made the multiple bit settings more readable
for the Data Configuration Register (DCR).
1998-08-05 23:56:48 +00:00
Joel Sherrill
dddc0557e5 DCR setting changed to match what the DY-4 Firmware initialized it to.
This primarily included setting the state of the programmable outputs
and the RX and TX FIFO depths.

Moved all of the TX, RX, and RRA data structure initialization to before
the hardware initialization.  As part of this, the hardware initialization
was consolidated.  More than likely, some of this movement broke stuff.

Used constants added to sonic.h which gave more logical names to some
of the register bit settings.

Switched to calloc to insure the data areas where initialized to 0.

Commented out a panic check in the RX server which may or may not have
been right.

Increased the size of the CAM initialization area.  It is possible
that this could be decreased or code added to handle the management
of multiple hardware addresses.

Added sonic read and write register routines which aid greatly in
debugging and provide the core for the eventual movement of this
driver to libchip.

Added debug code to the read and write register routines which can
print the value read from or written to a register.  This code also
prints the register name which significantly eases reading the log.
1998-08-05 23:56:13 +00:00
Joel Sherrill
bd8c8b2a85 Patch from Eric Valette <valette@crf.canon.fr> which brings the i386ex BSP
inline with the new IRQ structure.
1998-08-05 16:51:39 +00:00
Joel Sherrill
0e3c009625 changed load address 1998-08-05 15:44:09 +00:00
Joel Sherrill
ab0df696d0 Automatic CPU type detection code from Eric Valette <valette@crf.canon.fr>.
Enabled on the pc386.
1998-08-05 15:15:46 +00:00
Joel Sherrill
50947110ec Fixed name of Buffer so this would compile. 1998-08-05 15:12:03 +00:00
Joel Sherrill
4d11a92f3e Redid Makefiles to properly do a preinstall. There was remnants of the
old way of setting th cpu family and model string names.
1998-08-05 15:11:33 +00:00
Joel Sherrill
b31fdf8d03 Added print of the order in which the directories are preinstalled. 1998-08-05 15:10:18 +00:00
Joel Sherrill
16bed8add3 More complete shells generated. 1998-08-04 19:25:14 +00:00
Joel Sherrill
7fc5d54e27 Switched to read/write register routines and added some basic debug
help.
1998-08-03 21:01:21 +00:00
Joel Sherrill
832e33c5ec Added many new chapters 1998-08-03 18:30:21 +00:00
Joel Sherrill
92ef2252b8 Under allcoated task stacks. 1998-08-03 15:06:27 +00:00
Joel Sherrill
f1316c4ba0 Changed to be posix users "new" 1998-08-01 17:03:13 +00:00
Joel Sherrill
f6b9fc698c Added files and directories. 1998-08-01 17:03:01 +00:00
Joel Sherrill
2a41ab814d Fixed to add files and directories.
Fixed so this is installed as "POSIX Users New"
1998-08-01 17:02:50 +00:00
Joel Sherrill
c76d52770d Added process and procenv. 1998-08-01 16:36:26 +00:00
Joel Sherrill
d502c1525a Added language variables. 1998-08-01 16:36:14 +00:00
Joel Sherrill
45c00d4090 Now generates complete template for chapters. 1998-08-01 16:36:03 +00:00
Joel Sherrill
aa72f368ce New files -- automatically gnerated templates. 1998-08-01 16:35:43 +00:00
Joel Sherrill
8ced79b315 New file 1998-08-01 16:09:29 +00:00
Joel Sherrill
dfef768f3c Removed items which are now automatically generated. 1998-08-01 15:59:56 +00:00
Joel Sherrill
3c562515f3 New file. 1998-08-01 15:50:54 +00:00
Joel Sherrill
4ebb4862d2 Removed all node and menu information since this information is now
automatically generated.

Removed any attempts to link across chapter boundaries since the manual
is incomplete.
1998-08-01 15:49:38 +00:00
Joel Sherrill
c89fdeacda Modified so chapters are automatically generated. 1998-08-01 15:48:29 +00:00
Joel Sherrill
6b16b465eb New file 1998-08-01 15:47:46 +00:00
Joel Sherrill
02d8713bfd Don't automatically generate this one. 1998-08-01 15:43:28 +00:00
Joel Sherrill
89e5a583db Moved to thread.t and node information automatically generated 1998-08-01 15:37:48 +00:00
Joel Sherrill
3dc05f7f76 Moved to signal.t and node information automatically generated 1998-08-01 15:37:47 +00:00
Joel Sherrill
06f8ea6653 Moved to sched.t and node information automatically generated 1998-08-01 15:37:46 +00:00
Joel Sherrill
ea16ebc895 Moved to preface.t and node information automatically generated 1998-08-01 15:37:45 +00:00
Joel Sherrill
0574b92c7d Moved to mutex.t and node information automatically generated 1998-08-01 15:37:44 +00:00
Joel Sherrill
090378d02a Moved to key.t and node information automatically generated 1998-08-01 15:37:43 +00:00
Joel Sherrill
ed7ce41613 Moved to cond.t and node information automatically generated 1998-08-01 15:37:42 +00:00
Joel Sherrill
f4e6ea3fe0 Moved to clock.t and node information automatically generated 1998-08-01 15:37:41 +00:00
Joel Sherrill
6c914e928c Added automatic generation of files. 1998-08-01 15:31:49 +00:00
Joel Sherrill
93e3b8a36e Moved to network demos 1998-08-01 15:01:59 +00:00
Joel Sherrill
8c6e195ae3 Patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to make ASFLAGS include the
CPU_ASFLAGS.
1998-08-01 14:41:45 +00:00
Joel Sherrill
906577f4f6 Patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to not use this file for
ColdFires.  It is just too wrong to fix.
1998-08-01 14:41:20 +00:00
Joel Sherrill
5ef4fae650 Merged patch from David Fiddes <D.J.Fiddes@hw.ac.uk> to add ColdFire
specific register macros and correct code in rtems.s.
1998-08-01 14:40:51 +00:00
Joel Sherrill
f177865318 Added Rod Barman (rodb@cs.ubc.ca) in credits for ColdFire. 1998-08-01 14:39:24 +00:00
Joel Sherrill
2889189580 Changed name of network driver. 1998-07-30 22:57:21 +00:00
Joel Sherrill
fa6552075f Added temporary include of dmv170.h 1998-07-30 22:57:12 +00:00
Joel Sherrill
4fbf114e90 Added SONIC configuration information. 1998-07-30 22:56:56 +00:00
Joel Sherrill
56392179dd Added a hint to continue writing this. 1998-07-30 22:56:17 +00:00
Joel Sherrill
d9bc023acf Updated. 1998-07-30 21:30:46 +00:00
Joel Sherrill
509dc7c18d Added getRealTime() and setRealTime().
Reimplemented checkRealTime() to use RTEMS internal routine.
1998-07-30 21:27:51 +00:00
Joel Sherrill
91af3e499b Changed clock rate from 32 Khz to 1 Mhz.
Registers are at 8 byte boundaries NOT 4 as initially configured.
1998-07-30 21:27:01 +00:00
Joel Sherrill
a47bca7cb1 Changed comment to be more polite. 1998-07-30 21:26:25 +00:00
Joel Sherrill
8e992e1cea Updating to make more readable. 1998-07-30 21:26:11 +00:00
Joel Sherrill
192a1e0af2 New files. 1998-07-30 19:51:03 +00:00
Joel Sherrill
1aa41860d8 Spacing corrected. 1998-07-30 19:41:46 +00:00
Joel Sherrill
1a256e3f3d New file based on email from DY-4 technical support. 1998-07-30 19:41:41 +00:00
Joel Sherrill
1c5f4e1457 Fixed spacing. 1998-07-30 19:26:47 +00:00
Joel Sherrill
8751f800c5 Updated to accurately reflect the dmv177. 1998-07-30 19:25:54 +00:00
Joel Sherrill
41d0743964 Patch from Eric Valette <valette@crf.canon.fr>:
Now that Joel told me how to compile outside the tree,
    I have found a few more bugs. Here is a small patch
    to fix them.
1998-07-30 18:06:51 +00:00
Joel Sherrill
7fd864163f Made chain.h shared 1998-07-30 16:07:54 +00:00
Joel Sherrill
3fdde4ce27 Made tod.h shared 1998-07-30 16:05:14 +00:00
Joel Sherrill
032c100ec2 Added HAS_RTC and enabled KA9Q. 1998-07-30 15:56:59 +00:00
Joel Sherrill
02733a9613 New file. Based on merged of shared libchip style console.c and the
existing TOD interface.
1998-07-29 00:38:51 +00:00
Joel Sherrill
acac0e8b42 Cleaned up comment.
Modified open so it uses a local variable rather than modifying a parameter.
1998-07-29 00:38:14 +00:00
Joel Sherrill
6a0f5ac2ed Added reference to shared TOD driver. 1998-07-29 00:37:37 +00:00
Joel Sherrill
c95e927ca9 Added prototype for default register access routines to header files.
Corrected prototypes to reflect unsigned32 values being passed around
instead of unsigned8's.
1998-07-29 00:18:11 +00:00
Joel Sherrill
ee306fde14 Corrected to reflect the ICM7170 which is really on this board. 1998-07-29 00:17:01 +00:00
Joel Sherrill
55dcdfdcfe Added config.c and deleted tod.c. 1998-07-29 00:16:44 +00:00
Joel Sherrill
e74735b290 Simplified RTC base address. 1998-07-29 00:16:32 +00:00
Joel Sherrill
5217d5aa05 Changed cast on RTC address and added base address of RTC fields as opposed
to entire RTC with NVRAM included.
1998-07-29 00:16:11 +00:00
Joel Sherrill
fb339a8ed3 Deleted probe routine as device specific.
Renamed port table.
1998-07-29 00:04:02 +00:00
Joel Sherrill
866c9dd5b6 Added function table. 1998-07-29 00:03:12 +00:00
Joel Sherrill
cb5e6f681d Renamed control register constants.
Set time->ticks to 0.

Added function table.
1998-07-29 00:03:07 +00:00
Joel Sherrill
1177cda0d3 New files for Harris Semiconductor ICM7170. 1998-07-29 00:02:11 +00:00
Joel Sherrill
8d6e7120d5 New files. 1998-07-29 00:01:56 +00:00
Joel Sherrill
677943a93e Added new files. 1998-07-29 00:01:44 +00:00
Joel Sherrill
9968efbc7e First cut at configuration table for libchip RTC. At this point, we
are pretending that the DMV177 has an M48T08.
1998-07-28 23:16:34 +00:00
Joel Sherrill
a1f514f197 First cut implementation of real-time clock support in libchip. This
version compiles cleanly but there is not a BSP with a configuration
table to utilize it.
1998-07-28 23:03:40 +00:00
Joel Sherrill
009c235613 Corrected spacing. 1998-07-28 21:18:17 +00:00
Joel Sherrill
07e9180893 Added rtc directory. 1998-07-28 21:18:11 +00:00
Joel Sherrill
30cde042bb Added missing parts of patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1998-07-28 16:50:14 +00:00
Joel Sherrill
bd7c547d20 Closed window thanks to patch from Eric Norum. 1998-07-28 16:49:36 +00:00
Joel Sherrill
5752f93066 New file -- copied from dmv177 but same as ppcn_60x. 1998-07-25 17:34:41 +00:00
Joel Sherrill
749c54ecbf Added comments and corrected spacing. 1998-07-25 17:22:58 +00:00
Joel Sherrill
cae05041f2 Corrected spacing and added headers. 1998-07-25 17:19:45 +00:00
Joel Sherrill
8739322c10 Added ns16550_set_attributes. 1998-07-25 17:17:46 +00:00
Joel Sherrill
b636d5639b Corrected spacing and added a comment. 1998-07-25 17:17:36 +00:00
Joel Sherrill
ccfa60b4ad Updated to reflect set attributes. 1998-07-25 17:17:05 +00:00
Joel Sherrill
70a94515a7 Rewrote NS16550 TX interrupt processing to use termios for the buffer
and manage the interrupt sources like the other drivers.  This
let use remove the ns16550_flush() routine.
1998-07-25 16:53:21 +00:00
Joel Sherrill
adedb057d5 Removed TX ring buffer. 1998-07-25 16:52:17 +00:00
Joel Sherrill
cb27f05cc7 Changed variable to hold received data to unsigned. 1998-07-25 16:52:00 +00:00
Joel Sherrill
db29826d0f Switching console interrupts on and off as we test. 1998-07-25 16:20:57 +00:00
Joel Sherrill
dfb16ce24d Added constants for z85c30_enable_interrupts. 1998-07-25 16:20:33 +00:00
Joel Sherrill
04c5ac7112 Removed z85c30_flush().
Reworked transmit interrupt processing to remove ring buffer and
to mask the TX empty interrupt when it was not expected.  This code
now uses termios to buffer TX output.
1998-07-25 16:20:14 +00:00
Joel Sherrill
c1da2504fb Changed comment on TxBuffer. 1998-07-25 16:18:46 +00:00
Joel Sherrill
b070d69a0f Removed mc68681_flush and corrected spacing. 1998-07-25 16:18:27 +00:00
Joel Sherrill
f600da3fca Added information on Chris Johns' suggestion to use pointers internally
rather than doing repeated table lookups.
1998-07-25 16:17:33 +00:00
Joel Sherrill
3d2c161c4d Removed "if 0" used to switch between serial ports. 1998-07-25 16:16:10 +00:00
Joel Sherrill
da8ac60afd New file. 1998-07-25 16:02:21 +00:00
Joel Sherrill
c68b990b99 Changed to utilize return status from rtems_termios_dequeue_characters()
and to correctly set the TX active indicator.
1998-07-25 14:51:57 +00:00
Joel Sherrill
a3c9f0dc58 Moved console.c to libbsp/shared. 1998-07-25 14:50:07 +00:00
Joel Sherrill
f246caf6f9 Interrupts were incorrectly managed with a disable/disable pair rather
than with a disable/enable pair.
1998-07-25 14:13:34 +00:00
Joel Sherrill
bf21172de8 changed version to 980724 1998-07-24 18:30:50 +00:00
Joel Sherrill
03c09610e5 Patch from David Fiddes <D.J.Fiddes@hw.ac.uk>:
Here's a small patch I forgot about from earlier in the week that removes
    the hack fix Geoffroy had to use to get his BSP to work properly.

The termios osend() fix took care of this.
1998-07-24 16:18:39 +00:00
Joel Sherrill
dbab462feb Patch from Eric Valette <valette@crf.canon.fr> and Emmanuel Raguet
<raguet@crf.canon.fr> to make their patches work together.
1998-07-24 16:09:51 +00:00
Joel Sherrill
1501809c67 changed version to 980723 1998-07-23 22:13:46 +00:00
Joel Sherrill
dbaf51a44b Patch from Emmanuel Raguet <raguet@crf.canon.fr>:
Here is a patch for KA9Q stack.

    This patch contains an Ethernet Driver for Western Digital,
    some fixes for the UDP and TCP protocols (for endian conversion)
    and some little programs which allow the test of UDP and TCP
    sockets via Ethernet.

    I have tested that on an Intel machine. If someone can test it
    on a big-endian machine, ...
1998-07-23 22:13:10 +00:00
Joel Sherrill
67a2288991 Patch from Eric VALETTE <valette@crf.canon.fr>:
Here is a enhanced version of my previous patch. This patch enables
    to potentially share the new interrupt management code for all Intel targets
    (pc386, go32 and force386) bsp.

    Note :  this patch is complete only for pc386. It still needs to
            be completed for go32 and force386. I carrefully checked
            that anything needed is in for force386 (only some function
            name changes for IDT manipulation and GDT segment
            manipulation). But anyway I will not be able to test any
            of theses targets...
1998-07-23 22:02:34 +00:00
Joel Sherrill
73452854c0 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Here is a pure sh-rtems bug-fix patch.

  The defines to enable the network to host conversion macros in
  netinet/in.h were missing in sh/cpu.h
1998-07-23 20:04:55 +00:00
Joel Sherrill
613ab621df Patch from Dario Alcocer <alcocer@connectnet.com> and Ralf Corsepius
<corsepiu@faw.uni-ulm.de> which attempts to detect when the UNIX port
is being configured on a system without System V IPC support.  This
is an optional component on both FreeBSD and Linux systems.  Most
Linux 2.x kernels ship with it enabled but it is still a real risk.

This test may have undesirable side-effects on some hosts.  We will
address those conflicts as they arise.
1998-07-23 19:39:25 +00:00
Joel Sherrill
c91e0325cc Removed consolex from build list. This file should be obsoleted by the
libchip, libio, and termios efforts.
1998-07-23 19:32:01 +00:00
Joel Sherrill
92fc5a5db7 Fix from Chris Johns <ccj@acm.org>. Comments:
Mask interrupts and save the current USP and MSP for all 68000 processor
    variants.
1998-07-21 13:59:12 +00:00
Joel Sherrill
bced36ddf0 Changed so we could test interrupts on port 3. 1998-07-18 18:44:12 +00:00
Joel Sherrill
c14a619709 Removed use of data port for z8530.
Move some code around.
1998-07-18 18:35:34 +00:00
Joel Sherrill
3652929e61 Removed use of data port for z8530.
Tested all four ports.  MC68681 as both polled and interrupt.  Z8530 as
polled only.
1998-07-18 18:35:07 +00:00
Joel Sherrill
91f16d5c40 New file 1998-07-18 18:34:04 +00:00
Joel Sherrill
a4d34dd20d Added z85c30 specific probe routine to decide what the clock rate was.
This routines could be enhanced to determine if the SCC is present
since it appears from the DY-4 manual that a status registers indicates
this.
1998-07-18 17:47:50 +00:00
Joel Sherrill
f8a5d54ea8 Addresses for SCC were wrong. A and B ports were swapped.
Deleted CSS interface related items.

Added items required to access DMA Control and Status Register so we
could figure out dynamically what the clock speed of the SCC really is.
1998-07-18 17:46:33 +00:00
Joel Sherrill
c53e1df40b Swapped RX and TX since doing this makes the lights blink on the
RS-422 converter.  We now see the TD light blink when typing
characters in HyperTerminal and when the board is reset we see
the RD light blink.  This leads us to believe the cabling is
basically right.
1998-07-18 16:56:16 +00:00
Joel Sherrill
fe05ec5ede Added RS-422 converter information and cable building information. 1998-07-18 16:11:13 +00:00
Joel Sherrill
cc3d33ac9b Added information on the MC68681. 1998-07-18 15:34:03 +00:00
Joel Sherrill
f7d6e57e09 Added background and setup to add section on RS-422. 1998-07-18 15:24:14 +00:00
Joel Sherrill
f77670be93 Reworked to removed dependency on DY-4 CSS ROM monitor interface. 1998-07-18 15:23:56 +00:00
Joel Sherrill
e286479ae8 Removed css_iface. 1998-07-18 15:23:24 +00:00
Joel Sherrill
6d4062f1ec Removed. We are no longer dependent on DY-4 CSS interface code. 1998-07-18 15:22:54 +00:00
Joel Sherrill
cce1200e43 New file. 1998-07-18 15:19:28 +00:00
Joel Sherrill
4555bc1eb5 Initialized tty->refcount to 0. When (for whatever reason) malloc()
returned a buffer which was not zero-filled, the reference count
was not correct.  When the application exitted, the "lastClose"
handler was not being called to flush the output.  This problem
had manifested itself on a variety of platforms.

The function rtems_termios_dequeue_characters() incorrectly incremented
the buffer pointers when it was invoked and there were no characters
in the ring buffer.  This problem had also manifested itself on a
variety of platforms.  The symptom was a strange repeating of the
data in the transmitter buffer when the transmitter serial device
was supposed to go idle.
1998-07-17 22:34:54 +00:00
Joel Sherrill
4fb08fd89e Regenerated. 1998-07-17 22:30:38 +00:00
Joel Sherrill
f95d2b53f2 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. Comments:
* Added support for bsd "install" ($(BSDINSTALL)) to host.cfg.in, i.e.
    the standard "install" program that most packages (including automake)
    use. In Makefiles outside of rtems, "install" normally is referenced by
    $(INSTALL), but rtems already uses $(INSTALL) for install-if-change,
    hence I used $(BSDINSTALL) instead to keep up backward compatibility.

    * Removed references to @GREP@ etc. from host.cfg.in, as configure.in
    doesn't check for them (Minor cleanup).

    * Added installation flags INST*FLAGS to host.cfg.in, which should
    replace -m XXXX flags for installation calls.

    *Changes to gcc.cfg to enable it to build host programs from multiple
    sources files.
    Should not disturb existing sources, but neccessary.

    * There was a not-so-minor bug in the configuration files: "make
    install" and "make debug_install" don't work in all subdirectories!! I
    tried to fix this by adding "install" to MTARGETS in main.cfg, which
    seems to solve most of the problems. But there still seem to be rare (?)
    cases where "make debug_install" still seems to have problems.

    * Changes to many host related tool-Makefiles to demonstrate the
    abilities of INST*FLAGS, BSDINSTALL and the new rules in gcc.cfg.
    ..of cause ... but BSDINSTALL is THE standard method to install files
    in most program packages besides rtems. This part of the patch fixes
    some minor protection setting problems, but doesn't support
    TARGET_VARIANTS

    NOTE:
    I hope you will like the BSDINSTALL, INST*FLAGS stuff. It is a step to
    get rid of "install-if-change" and to rely on a more standard
    installation procedure. If you don't like BSDINSTALL, removing it from
    the patch isn't  difficult-  just grep for BSDINSTALL and replace
    BSDINSTALL with INSTALL or MKDIR.


    FINALLY:
    I still have another patch pending (well, not a complete patch yet, it's
    a partial patch to demonstrate the principle), which adds automatic
    rebuilding of files generated by autoconf/configure. At the moment I
    don't dare to submit it, because integrating this patch would require to
    modify all Makefile.ins because we'd need to add a new "include " line
    to each Makefile.in.
1998-07-17 15:49:12 +00:00
Joel Sherrill
8123c63506 Added scitab directory. 1998-07-17 15:43:42 +00:00
Joel Sherrill
a56e475f25 Turned stack checker on. 1998-07-17 15:42:39 +00:00
Joel Sherrill
bdba552f7a Patch fromalf Corsepius <corsepiu@faw.uni-ulm.de>:
* c/src/lib/libbsp/sh/gensh1/scitab - NEW DIRECTORY
    Location for building the table generated by shgen
1998-07-17 15:19:04 +00:00
Joel Sherrill
9305e52a18 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
Changes to make/custom/gensh1.cfg. Needed for shgen support
1998-07-17 15:18:08 +00:00
Joel Sherrill
fa21a8439f New files from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. His comments:
* c/src/exec/score/tools/sh - NEW DIRECTORY - contains shgen
    Most of it should be self-explanatory. I am a little bit concerned about
    host-dependent features (getopt, floating point libraries). This
    shouldn't disturb much now, as this tool should be compileable on all
    gnu-based hosts and is only applicable for the sh. But in case somebody
    complains, we may need to add autoconf checks or even restructurize
    parts of rtems (IMO, rtems needs to be restructurized - remember the
    "turning rtems upside down" issue).
1998-07-17 15:17:29 +00:00
Joel Sherrill
6e65840670 Patch from Dario Alcocer <alcocer@connectnet.com>. His comments:
Haven't had a chance to do an extensive shake-out of 980710, but it
  builds just fine on FreeBSD 2.2.5 (after termios is fixed using the
  attached patch), and the tests run fine.  FYI: FreeBSD doesn't support
  System V IPC out of the box, but one only needs to add three options
  to the kernel build configuration file, recompile the kernel, and
  you're ready.
1998-07-17 13:05:03 +00:00
Joel Sherrill
16d0e63538 Corrected header files. 1998-07-16 00:16:22 +00:00
Joel Sherrill
a6f441b825 Minor corrections for typos to get it to compile. 1998-07-16 00:16:11 +00:00
Joel Sherrill
dd5d2f041f Split default baud rate table into its own file. This shrinks the
size of the minimum mc68681 driver.  The clock speed field can not
now be configured as NULL but must instead specify the address of
the default table.
1998-07-16 00:03:01 +00:00
Joel Sherrill
4a11d8c1b2 Fixed typo in which last port did not get switched to default
register access routines.
1998-07-15 23:58:08 +00:00
Joel Sherrill
849dc10756 Fixed typos. 1998-07-15 23:57:41 +00:00
Joel Sherrill
670d0378e7 Switched to usign the default z8530 and mc68681 register access routines. 1998-07-15 23:55:04 +00:00
Joel Sherrill
8414c033e2 Added default z85c30 register access routines. 1998-07-15 23:54:24 +00:00
Joel Sherrill
cce93220ec Added default mc68681 register access routines. 1998-07-15 23:54:08 +00:00
Joel Sherrill
991a1ab400 Added check for proper deviceType to interrupt processing code. 1998-07-15 23:21:55 +00:00
Joel Sherrill
efaf85faf1 Added interrupt mask and interrupt status register bit constants.
Added prototype for mc68681_build_imr(), mc68681_process(), and
mc68681_enable_interrupts().
1998-07-15 23:21:30 +00:00
Joel Sherrill
49370cd68c Added default mc68681 register access routines. 1998-07-15 23:20:50 +00:00
Joel Sherrill
198d851c77 Switched from driver's own buffering to using termios. This eliminated
the need for the ringbuffer manipulation in this driver.  It should
also allow the removal of mc68681_flush.  This greatly simplified the
interrupt processing.

Reworked Interrupt Mask Register handling.  Added imr field to the device
context.  This handling makes sure that the IMR accurately reflects the
state of the port in use and its mate.  This required the reworking of
the mc68681_enable_interrupts() routine to allow for the specification
of which interrupt sources were being enabled/disabled.

Reworked initialization to reset using port address rather than chip
base address.  Basically we were always resetting port 0.

Added deviceType field which allows for multiple chips of the same
class to have the same vector number.
1998-07-15 23:20:33 +00:00
Joel Sherrill
27a66bd999 Added information on the deviceType field. 1998-07-15 23:15:49 +00:00
Joel Sherrill
66f95fc621 Added default mc68681 register access routines. 1998-07-15 23:15:32 +00:00
Joel Sherrill
8a2e9c417f Added SCV64_Get_Interrupt_Enable().
Added proper headers to routines.
1998-07-15 21:43:28 +00:00
Joel Sherrill
d0cff6dc67 Added SCV64_Get_Interrupt_Enable(). 1998-07-15 21:43:00 +00:00
Joel Sherrill
38e717fe8b Added chip type identifier field. This was necessary because a single
interrupt vector can be shared by multiple chips of varying types.
1998-07-15 21:42:26 +00:00
Joel Sherrill
c0573d7e5d Added comment to remove use of TxBuffer ring buffer in all libchip drivers.
The scheme used in the mc68681 is the one to follow.
1998-07-15 21:40:42 +00:00
Joel Sherrill
0f613361b7 Added comments. 1998-07-15 19:28:29 +00:00
Joel Sherrill
a69f0ad9ca Added comments. 1998-07-15 19:20:20 +00:00
Joel Sherrill
100a4e53fc Masked out interrupts not being used prior to processing the status register. 1998-07-15 19:19:14 +00:00
Joel Sherrill
6c45da17cf Added routine to return interrupt mask. Added comments. 1998-07-15 19:12:11 +00:00
Joel Sherrill
01e54b8f9c Added scv64 subdirectory. 1998-07-15 14:06:37 +00:00
Joel Sherrill
e49ef37cdf Switched to SCV64. 1998-07-15 14:06:08 +00:00
Joel Sherrill
8f563b9b3c Added CSCV64 functions and addresses. 1998-07-15 14:05:51 +00:00
Joel Sherrill
30a3f76b29 Switched from polling to interrupts and in the process added a conditional
compilation section which used CONSOLE_USE_INTERRUPTS to switch all
ports between interrupt and polled mode.
1998-07-15 14:04:31 +00:00
Joel Sherrill
437b5a7dcc Added scv64 subdirectory. 1998-07-15 14:00:23 +00:00
Joel Sherrill
090a351181 New files. 1998-07-15 14:00:09 +00:00
Joel Sherrill
25e3f9a1c6 Switched CONSOLE_USE_INTERRUPTS to "1" so console would use interrupts.
Switched PPC_USE_SPRG to "0" so RTEMS use of sprg would not conflict with
any possible sprg usage by the DY-4 ROM monitor.
1998-07-15 13:59:36 +00:00
Joel Sherrill
be8cbbf54a Switched deviceOutputUsesInterrupts to TRUE so output would be interrupt
driven.

Redid "mate determination" code to check that the chip base address was
the same but the port address was different.

Moved mc68681_process and mc68681_build_imr to the bottom of the file
so they would not be inlined.

Removed the code which forced mc68681_build_imr to always return 0 which
resulted in interrupts never being enabled from the chip.

Corrected spacing in prototype of mc68681_write_support_int.
1998-07-15 13:58:23 +00:00
Joel Sherrill
e283140cac Switched to "deviceOutput = TRUE" which made device output use interrupts. 1998-07-15 13:53:58 +00:00
Joel Sherrill
5b8c1b7041 Yet another EXEEXT patch. This one is from Ralf Corsepius
<corsepiu@faw.uni-ulm.de> and his comments are below:

  Joel, obviously you did apply my previous patch to
  gcc-target-default.cfg -- This should have been gcc.cfg
  (gcc-target-default.cfg should NOT contain any EXEEXT).
1998-07-11 14:23:53 +00:00
Joel Sherrill
3a447c3b36 changed version to 980710 1998-07-10 19:05:20 +00:00
Joel Sherrill
dbfa314823 Patch from Quality Quorum <qqi@world.std.com>. Comments:
c/src/lib/libbsp/i386/pc386/console/console.c
        __assert() modified so it prints on selected console instead of
        PC console

    c/src/lib/libbsp/i386/pc386/console/inch.c
        inch_sleep() modified, so it does not depend upon tmacros.h

    c/src/lib/libbsp/i386/pc386/pc386dev/GDB.HOWTO
        description updated

    c/src/lib/libbsp/i386/pc386/startup/exit.c
        last output before call to exit() will be printed properly on
        serial console

    c/src/lib/libbsp/i386/pc386/startup/irq.c
        re-submitted bug fix for problem in irqs over 7.
1998-07-10 15:43:18 +00:00
Joel Sherrill
cc8a388aac Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. Comments:
> It seems that rules for %{EXEEXT} don't exist in gcc-target-default.cfg

    No, gcc-target-default.cfg is used to compile executables for the target
    only, not for the host.

    EXEEXT may only be used for programs to be run on the host.

    > What should I add please?

    This was a bug in my initial configuration patch to rtems-980616. A
    correction to this patch I had sent to Joel at 26.06.98 doesn't seem to
    have made it into the snapshot.

    Please find attached the patch I had sent to Joel, hopefully this patch
    fixes this problem.
1998-07-10 14:13:59 +00:00
Joel Sherrill
32067a3083 Regenerated after patch from David Fiddes <D.J.Fiddes@hw.ac.uk> for
one of the aclocal macros.
1998-07-10 13:22:48 +00:00
Joel Sherrill
8555ddbe76 Patch from David Fiddes <D.J.Fiddes@hw.ac.uk>. Comments below:
With a bit of help from Ralf I was able to trace the problem with sed. It
    was a typo, sed should have had it's params surrounded by 's rather than "s
    which bash picked up and discarded. The patch is enclosed.

    Ralf and I aren't sure why configure didn't just stop at this point... The
    rest of configure/build went OK because there are two sections where the
    \\-for-/ hack is implemented and the other one is more important and worked
    just fine.
1998-07-10 13:22:23 +00:00
Joel Sherrill
fb32356ba6 Added set attributes routine but did not hook it in to the table.
Switched to shared default probe.
1998-07-09 23:32:07 +00:00
Joel Sherrill
abd8c82b9e Added new files. 1998-07-09 23:31:48 +00:00
Joel Sherrill
31cad72c86 Renamed so we could have one file per routine. 1998-07-09 23:31:26 +00:00
Joel Sherrill
064b9be457 Switched to shared default probe routine. 1998-07-09 23:30:32 +00:00
Joel Sherrill
693b5b8850 Switched to default probe routine. 1998-07-09 23:30:02 +00:00
Joel Sherrill
61ff7ac825 Added new baud rate to number function and default serial probe routine.
Renamed sersupp.c so we could have one routine per file to decrease
the baggage pulled into an application by default.
1998-07-09 23:29:33 +00:00
Joel Sherrill
11c6a92d77 Commented out the system call invocation since we don't know what works
with this ROM monitor.
1998-07-09 22:59:32 +00:00
Joel Sherrill
a6e36dfffe Removed call back to exit() since that has already been called. 1998-07-09 22:59:13 +00:00
Joel Sherrill
e78c474b0d Added proper handling of extended baud rate table selection at boot time.
Still need to address default terminal settings.
1998-07-09 22:21:54 +00:00
Joel Sherrill
2c5ea019fa Properly handle extended baud rate set commands.
Temporarily "if 0" of code which enables interrupts.

Moved setting of command registers at open but the current implementation
is questionable.

Added reset of RX errors while polling TX.

Read polled character as unsigned.

Baud rate mask must be in upper and lower nibble.
1998-07-09 22:16:27 +00:00
Joel Sherrill
e3c59ddb35 Corrected definition of MC68681_RX_BUFFER. 1998-07-09 22:11:49 +00:00
Joel Sherrill
d7d51376cb Now strip elf executables so they are much smaller and quicker to
read from and write to a floppy.
1998-07-09 18:52:07 +00:00
Joel Sherrill
2ba0a0c2a8 Corrected z85c30 address and clock constants. 1998-07-09 18:50:13 +00:00
Joel Sherrill
459c1d2350 Added board specific baud rate table and set driver function table
to polled.
1998-07-09 18:49:49 +00:00
Joel Sherrill
2d8e51aade Changed static to MC68681_STATIC to make all data and routines
globally visiable to ease debugging.

Added support for mc68681 "2 column" style baud rate table as
well as the Exar 88681 "4 column" style baud rate table.

Added support for user override of the default baud rate table.
1998-07-09 18:45:28 +00:00
Joel Sherrill
b2ec38c852 Removed commented out line. 1998-07-09 18:44:10 +00:00
Joel Sherrill
8f6f641efa Added sersupp.c. 1998-07-09 18:41:49 +00:00
Joel Sherrill
d94d47b336 New files to contain generally needed serial driver support routines. 1998-07-09 18:41:33 +00:00
Joel Sherrill
37e8259727 Changed static to MC68681_STATIC to make all routines and data global
to ease debugging.
1998-07-09 18:40:27 +00:00
Joel Sherrill
8b2492f9cb Added support for the Extended Baud Rate set control found in the
Exar 88681 but not in the base 68681.

Added support for user provided baud rate tables.  This is needed
when the board does not use the standard baud rate clock.
1998-07-09 18:39:50 +00:00
Joel Sherrill
27045a82af Changed static to NS16550_STATIC to make all routines and data global
to ease debugging.
1998-07-09 18:38:18 +00:00
Joel Sherrill
677a503916 Changed static to Z85C30_STATIC so all data and routines could be global
for debugging purposes.
1998-07-09 18:37:47 +00:00
Joel Sherrill
80b1c2f87f Added information to README.mc68681.
Created the basic README and the README.z85c30.
1998-07-09 18:36:19 +00:00
Joel Sherrill
0d1184ffec changed version to 980707 1998-07-07 19:05:55 +00:00
Joel Sherrill
d859b5fb22 changed version to 9800707 1998-07-07 19:00:26 +00:00
Joel Sherrill
57c9bc284e Removed rtems-glom as a generated file. Regenerated aclocal.m4 and configure. 1998-07-07 18:35:01 +00:00
Joel Sherrill
030ff41790 Conditionals for CONSOLE_USE_INTERRUPTS should have been "if" not
"if defined".
1998-07-07 16:38:18 +00:00
Joel Sherrill
270d58fe4c New file to satisfy readdir() family. 1998-07-06 19:00:33 +00:00
Joel Sherrill
a90b9905c9 Missed this file in the initial merge. 1998-07-06 18:44:32 +00:00
Joel Sherrill
b5bb3d6f59 Update from Geoffroy Montel (g_montel@yahoo.com) to get in sync with termios
and eliminate warnings.
1998-07-06 14:52:30 +00:00
Joel Sherrill
1d22b037e3 Added Geoffroy Montel (g_montel@yahoo.com) for the gen68340 BSP. 1998-07-06 14:51:39 +00:00
Joel Sherrill
5ae415b394 Added include of termios.h.
Also added a block of comments above the console_tbl structure to explain
each entry.
1998-07-05 11:04:31 +00:00
Joel Sherrill
bc2ebb46e2 Added some address constants for the SCC and DUART to make it easier
to fill in the configuration table.
1998-07-05 11:01:21 +00:00
Joel Sherrill
e7ff2b2798 New file added in the process of converting the console driver to
libchip/serial.
1998-07-05 11:00:57 +00:00
Joel Sherrill
92a6454654 Converted the console driver to use libchip/serial and added support
for the z85c30 found on the DMV177.  This effort started with the
console driver from the Radstone PPC2.  But some simplifications were
made in the hope that console.c can be made a shared file at some point
in the near future.

Split the debugio from console.  This was done so at some point in the
future printk support as is found in the pc386 BSP can be shared
across all BSPs.
1998-07-05 11:00:00 +00:00
Joel Sherrill
0e8c200051 Renamed old_start340.s to startfor340only.s 1998-07-02 18:07:09 +00:00
Joel Sherrill
132f19405b Initial submission of gen68340 BSP (should run on a 68349) from
Geoffroy Montel <g_montel@yahoo.com>.
1998-07-01 22:03:20 +00:00
Joel Sherrill
a05de51283 Added _stat_r and changed spacing. 1998-07-01 21:33:38 +00:00
Joel Sherrill
dd6dddcf1e Fixed typo. 1998-07-01 21:33:11 +00:00
Joel Sherrill
4f0fc115d9 Correction from Aleksey Romanov <qqi@world.std.com> to finish off his patch.
I had trouble merging his original patch and this corrected a reject.
1998-06-29 17:52:43 +00:00
Joel Sherrill
dc95ee8dce Changed prototype for console_write_support to eliminate a warning. 1998-06-29 17:51:50 +00:00
Joel Sherrill
cf65c40819 Bare BSP patch from Chris Johns <cjohns@plessey.com.au>. He also
sent an example bare bsp but we have not decided how to integrate it yet.
1998-06-27 20:01:28 +00:00
Joel Sherrill
5d18fb057a PC386 BSP enhancements from Aleksey Romanov (Quality Quorum
<qqi@world.std.com>).   Unfortunately after merging these,
the pc386 will not boot using grub for for.  It still does not
work using netboot for me.  Here is his summary of changes:


  rtems/c/src/lib/libbsp/i386/pc386/Makefile.in
  	Added support for new sub-directory

  rtems/c/src/lib/libbsp/i386/pc386/bsp_specs
  	Made possible to build COFF image

  rtems/c/src/lib/libbsp/i386/pc386/console/console.c
  	Added support for serial consoles, selectable by patching
  	binary image, added __assert(), use _IBMPC_inch_sleep()
  	instaed of _IMBPC_inch()

  rtems/c/src/lib/libbsp/i386/pc386/console/inch.c
  	Added _IMBPC_inch_sleep()

  rtems/c/src/lib/libbsp/i386/pc386/console/outch.c
  	Oops - just formatting

  rtems/c/src/lib/libbsp/i386/pc386/include/Makefile.in
  	Added support for new files

  rtems/c/src/lib/libbsp/i386/pc386/include/bsp.h
  	Added support for new features

  rtems/c/src/lib/libbsp/i386/pc386/include/pc386uart.h
  	New file: definitions for serial ports

  rtems/c/src/lib/libbsp/i386/pc386/include/pcibios.h
  	New file: definitions for PCI BIOS

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/Makefile.in
  	New file: makefile in new directory

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub-glue.c
  	New file: i386-stub interface

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/i386-stub.c
  	New file: i386-stub itself

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pc386uart.c
  	New file: serial ports

  rtems/c/src/lib/libbsp/i386/pc386/pc386dev/pcibios.c
  	New file: PCI BIOS support

  rtems/c/src/lib/libbsp/i386/pc386/start/start.s
  	Commented out DEBUG_EARLY stuff, everything is working fine

  rtems/c/src/lib/libbsp/i386/pc386/start/start16.s
  	Cleaned up

  rtems/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
  	Added call to console_resereve_resources

  rtems/c/src/lib/libbsp/i386/pc386/startup/exit.c
  	Added support for serial console

  rtems/c/src/lib/libbsp/i386/pc386/startup/ldsegs.s
  	Fixed typo in comments

  rtems/c/src/lib/libbsp/i386/pc386/tools/Makefile.in
  	Changed to reflect cnages in code

  rtems/c/src/lib/libbsp/i386/pc386/tools/bin2boot.c
  	Trivialized, problem - I do not know how to make patch
  	remove obsolete files - there are a lot of them there

  rtems/c/src/lib/libbsp/i386/pc386/tools/binpatch.c
  	New file: utility to do binary patches

  rtems/c/src/lib/libbsp/i386/pc386/wrapup/Makefile.in
  	Added support for new directory

  rtems/make/custom/pc386.cfg
  	Add COFF image building
1998-06-27 18:51:49 +00:00
Joel Sherrill
98100d275f Monstrous patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. I have
made no attempt to divide the comments up and place them with just
the appropriate files.  Here is an excerpt from Ralf's email:

Changes including comments on changes I made after cycling through
all the targets:

  * Added ranlib support. Now all targets use "ranlib" instead of "ar -s"
    to build an index for a library. If ranlib isn't detected during
    configuration, check if ar -s is working and try "ar -s" instead of

  * Removed $(XXX_FOR_TARGET) from make/target.cfg.in, use $(XXX) instead now.

  * gcc-target-default.cfg: LINK_XXXX-defines reworked to solve the -l
    problem under posix (cf gcc-target-default.cfg)

  * rtems-glom replaced by Makefile-rules inside of the wrapup/Makefile.in
    that has been using rtems-glom until now.

  * Removed CCC and friends in gcc-target-default.cfg, as they have been
    breaking CXX support.

  * Removed CONFIG.$(TARGET_ARCH).CC lines from several custom/*.cfg
    files, because this is now set in custom/default.cfg.

  * Added aclocal/ar-s.m4, check whether "ar -s" is working

  * Added aclocal/cygwin.m4 and aclocal/exeext.m4.

  * Reworked aclocal/canonicalize-tools.m4: Added ar -s check; fixes for
    problems when  XXX_FOR_TARGET is given via environment variables (didn't
    work for gcc until now), adding cygwin check, improved autoconf-cache
    handling.

  * Removed -l from make rule dependencies. LINK_LIBS is now allowed to
    contain -L and -l. LINK_OBJS and LINK_FILES must not contain -L or -l.
    gcc28 make-exe rules now link using $(LINK_OBJS) $(LINK_LIBS) => Almost
    all custom/*.cfg are modified. This is very likely to break something
    because of typos or having missed to edit a file.

  Open problems, known bugs, things I didn't do:

  * custom/p4000.cfg seems to be out of date and requires to be reviewed.

    (JRS NOTE: It is subordinate p4650 and p4600 -- both of which build ok
               after minor changes.)

  * custom/psim.cfg needs to be reviewed, I added some changes to it, I am
    insecure about.

    (JRS NOTE: psim had a minor problem endif/endef swapped but runs fine.)

  * rtems-glom.in can now be removed.

  * gcc*.cfg files "make depend" rules don't honor language specific flags
    (e.g CXXFLAGS is ignored for *.cc) - Nothing to worry about now, but may
    cause problems for hosts/targets not using gcc or rtems-add-ons that use
    external packages.

  * AFAIS, the no_bsp BSP can't be build anymore, i.e. configure refused
    to configure for it whatever I tried.

  * The toplevel and toplevel+1 README files are quite out-dated

  * cygwin.m4 isn't of much use for rtems. In most cases (cf.
    aclocal/*.m4) it is worked around by directly using $host_os. I think
    I'll remove it soon after the next snapshot

  * Before release the cygwin patch needs to be tested under cygwin. I may
    have broken/missed something (esp. the sed-pattern to convert \\ into /
    may be broken).

  * You should try to build/run the posix-BSP under solaris - I don't
    expect problems, but I am not 100% sure, esp. with regard to ranlib/ar -s.

  * You should consider to convert all make/compilers/*.cfg files into
    make/compilers/*.cfg.in files and let autoconf generate the *.cfg. This
    may help getting rid of some if/then/else statements and help
    hard-coding some defines into those files in future and shouldn't
    disturb now.

  * Not having installed libc.a/libm.a on a host may still break building
    rtems, esp. when using -disable-gcc28 as the gcc27-configuration scheme
    directly accesses libc.a and libm.a. The problem should not appear when
    using gcc28 because it references libc/libm only through -lc and -lm
    which may be static or dynamic (I didn't test this).

  * shgen is not yet included (I didn't yet have enough time to integrate it).

  * I know about a few more configure-probs (esp. cross-checking
    --enable-* flags).
     + warn/refuse to configure when --enable-libcdir and
       --enable-gcc28 are given.
     + force --enable-libcdir when --disable-gcc28 is given

  * Replaced KSHELL with @KSH@ in some shell scripts generated by configure.in.

  * Added a dependency to aclocal/*.m4 in the toplevel Makefile => configure
    and aclocal.m4 will now be rebuild when any aclocal/*.m4 file is changed

  * Some changes to aclocal/gcc-pipe.m4 and aclocal/gcc-specs.m4

  * Replaced i[[3456]]86-unknown-freebsd2.[[12]] with i[[3456]]86-*freebsd2.*
    in configure.in, as I suppose there might exist a variety of valid vendors
    (2nd field of the name-tripple)

  * Disabled override MAKEFLAGS in toplevel Makefile.in - Potential
    side-effects are not really clear to me.

  * In mvme162.cfg, $(LINK_LIBS) is missing in the CC line in gcc28's make-exe
    rule (yet another one I missed to edit). Just append $(LINK_LIBS) to
    the "CC" line, like I hopefully did to ALL other custom/*.cfg files.

  * the problem with mvme162lx.cfg is a follow-up problem of the
    mvme162.cfg-bug.

  * mvme162/console and idp/console had variables named Buffer which
    conflicted with similarly named variables in some tests.
1998-06-27 17:09:47 +00:00
Joel Sherrill
d13b247131 Clean up from Aleksey Romanov (Quality Quorum <qqi@world.std.com>).
Here are his comments:

  I removed all unnecessary stuff from start16.s - setting idt and
  setting 16-bit stack using .code32 istructions.
1998-06-25 18:42:30 +00:00
Joel Sherrill
7252f65668 Added David Fiddes for ColdFire. 1998-06-25 16:54:08 +00:00
Joel Sherrill
b22b1294a6 Coldfire support patch from David Fiddes <D.J.Fiddes@hw.ac.uk>. 1998-06-25 16:26:43 +00:00
Joel Sherrill
a5400c06d6 Bare bsp patch from Chris Johns and regenerated files. 1998-06-25 16:21:31 +00:00
Joel Sherrill
43b78f15ae Added definition of RTEMS__mcpu32p__ per patch from Robin Kirkham. 1998-06-25 16:21:07 +00:00
Joel Sherrill
924e17ac81 Patch from Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au> to distinguish
between CPU32 and CPU32+ cores.  Commentary follows:

    Unfortunately c/src/exec/score/cpu/m68k/m68k.h incorrectly defines
    M68K_HAS_MISALIGNED for the plain old CPU32 (it is correct for the CPU32+).
    As a consequence, the recently-relocated m68k memcpy() may still attempt
    misaligned memory accesses.

    I suggest that until such time as egcs/gcc differentiates these cores
    that we invent a new preprocessor symbol, RTEMS__mcpu32p__ for this
    purpose, on the assumption that egcs may one day grow a -mcpu32+ option
    which will define a __mcpu32p__ symbol (whether this option would also
    define __mcpu32__ is yet to be resolved).

    BSPs that have a CPU32+ (like gen68360) would for the time being define
    RTEMS__mcpu32p__ using -D. The symbol is `RTEMS__mcpu32p__' because
    symbols of the form __xxx__ should only be defined by the compiler
    itself.

    Note that the patch tests for RTEMS__mcpu32p__ *before* __mcpu32__, since
    __mcpu32__ is still defined for the CPU32+. It does not change the
    gen68360 BSP.

    An aside:
    Note that in egcs-1.0.3a, the option -m68332 is identical to -mcpu32,
    except it defines __mc68332__ as well as __mcpu32__. This is only
    for the sake of compatibility. The story with -m68302 is similar;
    it defines __mc68302__ and __mc68000__. In my opinion these options
    are depreciated and ought to be avoided in RTEMS.
1998-06-25 16:10:45 +00:00
Joel Sherrill
803de4133b Suggestion from Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au> to improve
clarity.
1998-06-24 17:58:56 +00:00
Joel Sherrill
414ab59a1e Updated. 1998-06-24 14:51:09 +00:00
Joel Sherrill
4f0ffa57d8 Removed RTS and DTR handling code since the MC68681 seems to only have
automatic handling of RTS/CTS.  This only protects the on-chip buffers
and FIFOs -- not the termios queues as the RTS/CTS code in here did.  It
may be necessary in the future to enable this automatic support.

Interrupt processing code added.

In some places, channel and duart base addresses were swapped.
1998-06-23 17:42:46 +00:00
Joel Sherrill
ae21568caa New file describing mc68681 libchip driver. 1998-06-23 17:40:00 +00:00
Joel Sherrill
beaaf49f4b Added numerous comments. 1998-06-23 16:02:52 +00:00
Joel Sherrill
a5d0c7cf07 Added concept of "mate" -- the other port on the same DUART. This is
needed to properly handle the interrupt mask register since it is
shared.
1998-06-23 15:54:33 +00:00
Joel Sherrill
b7ebcea33e Added close. 1998-06-23 14:59:26 +00:00
Joel Sherrill
25c3ff91a5 Added set attributes and written initialize and first open. 1998-06-23 14:55:21 +00:00
Joel Sherrill
790d4211ae Added more registers. 1998-06-23 14:54:42 +00:00
Joel Sherrill
9eef52b95f Added set attributes prototype. 1998-06-23 14:54:30 +00:00
Joel Sherrill
8a2d4f2bb9 Added NULL entry for setAttributes. 1998-06-23 14:54:09 +00:00
Joel Sherrill
7deeb16840 Added initial part of iniitialization. 1998-06-22 11:49:38 +00:00
Joel Sherrill
ab2dbd7e94 Added mc68681 stuff to the makefile.
Added numerous constants to mc68681_p.h.

Changed spacing.

At this point the polled support is in but nothing else is right except the
structure.
1998-06-22 11:09:32 +00:00
Joel Sherrill
36152b0e4b Moved get and set register/data typedefs to this file. 1998-06-22 11:08:16 +00:00
Joel Sherrill
4cd4c5a092 Moved set and get Register and Data type defininitions to serial.h.
Cleaned up spacing.
1998-06-22 11:07:51 +00:00
Joel Sherrill
58b1e95f18 Corrected spacing 1998-06-22 10:34:34 +00:00
Joel Sherrill
424e23ee48 spacing changes 1998-06-22 10:17:14 +00:00
Joel Sherrill
547de5d956 Removed blank lines and bad debug stuff 1998-06-22 10:15:14 +00:00
Joel Sherrill
e4acf68ace Added comments and corrected spacing. 1998-06-22 09:59:22 +00:00
Joel Sherrill
aa0da6b2c2 Added a comment and cleaned up spacing 1998-06-22 09:56:09 +00:00
Joel Sherrill
cd58d821b0 Initial version of these files. 1998-06-22 09:28:03 +00:00
Joel Sherrill
ce17a7245c changed version to 980618 1998-06-18 19:14:36 +00:00
Joel Sherrill
8ed1f8d0b8 New file from Dario Alcocer <alcocer@connectnet.com>. 1998-06-18 19:05:08 +00:00
Joel Sherrill
cb1b853d0b All task delete API level services were incorrectly assuming that the
task to be deleted was created via the same API (i.e. were of the object
class created by this API).  For example, a POSIX thread calling
the rtems_task_delete(SELF) directive would incorrectly update the RTEMS
object local pointer table.

Jennifer discovered this when moving tests implemented in C using the
Classic RTEMS API into a tree of Ada tests.  The Ada tests were implicitly
using POSIX services.  This lead to some unexpected behavior.
1998-06-18 19:01:57 +00:00
Joel Sherrill
7e4c3d8b1d Modified _Objects_Is_class_valid() to correctly report that 0 was
not a valid object class.  This was discovered while looking for
a bug reported by Jennifer.
1998-06-18 18:58:42 +00:00
Joel Sherrill
9a6994b490 Added freebsd support from Dario Alcocer <alcocer@connectnet.com>. 1998-06-18 15:22:35 +00:00
Joel Sherrill
ce691c51fd Corrected so it returns the correct date. Previously was getting the number
of seconds since 1988 from RTEMS and not adding in the 1970-1988 correction
factor.  Plus removed checks for data/time set since POSIX does not permit
this call to fail.  GNAT 3.12 depends on this.
1998-06-18 15:14:48 +00:00
Joel Sherrill
bdb1057668 Spacing changes. 1998-06-18 15:13:29 +00:00
Joel Sherrill
ecc9737f40 Added a public interface to the chain handler. 1998-06-18 15:12:27 +00:00
Joel Sherrill
fe52766e81 Corrected compilation problems. 1998-06-16 19:06:35 +00:00
Joel Sherrill
8bf609527b Added initialization of css routines. 1998-06-16 19:05:50 +00:00
Joel Sherrill
1efeb61c56 Added css_iface -- assumes ../include/dy_supplied. 1998-06-16 18:22:54 +00:00
Joel Sherrill
ee3b242bb2 Initial incarnation of libchip compiles. 1998-06-13 16:03:57 +00:00
Joel Sherrill
0737710b2b Base code from ppcn_60x BSP 1998-06-13 15:48:25 +00:00
Joel Sherrill
23f5cdb5bb Adding interrupt handling routine. 1998-06-13 13:34:09 +00:00
Joel Sherrill
510524c61c Removed bad comments. 1998-06-13 13:34:08 +00:00
Joel Sherrill
8d83075595 Added IRQ information. 1998-06-13 13:33:38 +00:00
Joel Sherrill
a12d7fd72f Updated to add -qrtems_debug and -qnolinkcmds. 1998-06-13 13:33:11 +00:00
Joel Sherrill
e5727f3921 Added PPC_USE_DATA_CACHE. 1998-06-13 10:05:15 +00:00
Joel Sherrill
773890639c Added optimized version of memcpy.c to this directory since RTEMS makes
important distinctions between CPU models which are not made by gcc.
These distinctions help give us a more optimized memcpy().  This is important
for message queues and KA9Q.
1998-06-12 21:12:12 +00:00
Joel Sherrill
9b413eaef6 Patch from Eric Norum to avoid printing from context switch user extension.
The array is too long and needs to be shortened.
1998-06-12 20:55:21 +00:00
Joel Sherrill
2a53f31023 Fixed comment block at the beginning of the file for a copyright date
problem and an English problem.
1998-06-09 15:23:38 +00:00
Joel Sherrill
9456087368 Added rule for .cxx and .cpp per suggestion from Geoffroy Montel
<g_montel@yahoo.com>.
1998-06-09 14:21:21 +00:00
Joel Sherrill
cec1095101 changed version to 980604 1998-06-04 15:15:30 +00:00
Joel Sherrill
1388d19eea Regenerated aclocal and configure after cleaning up the check that
a BSP source directory was present to eliminate a chunk of redundant code.
1998-06-04 15:15:08 +00:00
Joel Sherrill
70b0d6634d Added support for -qrtems_debug flag. 1998-06-04 13:08:02 +00:00
Joel Sherrill
ea57368f1b Removed PPC_Get_timebase_register() as this is now provided by the PowerPC
port itself.
1998-06-03 19:01:21 +00:00
Joel Sherrill
3c7916f21c Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt> with an attempt
to fix start16.s.  It does not work locally.
1998-06-03 19:00:57 +00:00
Joel Sherrill
937a6f3cef Added CPU_ISR_PASSES_FRAME_POINTER so some ports could pass just the
vector number to user ISR's and other ports could pass both the vector
number and a pointer to the ISF.
1998-06-03 19:00:17 +00:00
Joel Sherrill
75d0b0b83a Corrected macros for assembly language program sections. 1998-06-03 18:49:38 +00:00
Joel Sherrill
5184958afe Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt> which replaces C++
versions of these utilities with C implementations.
1998-06-03 18:47:44 +00:00
Joel Sherrill
1ce50e0e50 Changed spacing 1998-06-03 18:40:21 +00:00
Joel Sherrill
3ac5966643 Changed BSP name to posix. 1998-06-03 18:40:10 +00:00
Joel Sherrill
b938d3d43b Changed ppc to PowerPC in comments. 1998-06-03 18:39:53 +00:00
Joel Sherrill
d7c9cbe449 ppc-rtems is now an alias for powerpc-rtems. 1998-06-03 11:22:18 +00:00
Joel Sherrill
64be9d4673 Added some missing files per Eric Norum. 1998-06-02 17:38:16 +00:00
Joel Sherrill
3b0f7cc3a3 Added text from Erik Ivanenko <erik.ivanenko@utoronto.ca> describing
transition from real to protected mode and modified the spacing.
1998-06-01 15:14:36 +00:00
Joel Sherrill
2785eab264 Changed calculaction for Clock_Decrementer_value to use the
BSP_configuration table.
1998-05-30 16:01:12 +00:00
Joel Sherrill
95a683b57b Set console to port 2.
Changed #if defined to a #if check for CONSOLE_USE_INTERRUPTS.
1998-05-30 15:58:37 +00:00
Joel Sherrill
a874427306 Made Debug defination a null routine. 1998-05-30 15:55:46 +00:00
Joel Sherrill
b317117a71 clicks_per_usec had to be cut in half (unknown reason).
fixed starting address.
1998-05-30 15:53:19 +00:00
Joel Sherrill
dc104a4039 Updated to current source and removed warnings. 1998-05-30 11:46:21 +00:00
Joel Sherrill
a38b9f89ac Used shared sbrk.c. 1998-05-30 10:42:01 +00:00
Joel Sherrill
825a2bb573 Use shared initialization. 1998-05-30 10:41:21 +00:00
Joel Sherrill
55b517cb4e Rewrote in C to avoid Makefile problems. 1998-05-30 10:32:19 +00:00
Joel Sherrill
9c559accc0 New file -- from rtems-LM-980406 based on a 12/97 RTEMS snapshot. 1998-05-30 10:17:57 +00:00
Joel Sherrill
c932d85019 New files -- from rtems-LM-980406 which was based on an RTEMS from 12/97.
This was called the dmv170 BSP in that source tree but since the DMV171
is now obsolete, we have transitioned to the DMV177 and have no intention
of checking compatibility with any other models.
1998-05-30 10:09:14 +00:00
Joel Sherrill
2e4b3d03da changed version to 980527 1998-05-27 22:10:10 +00:00
Joel Sherrill
1278ea1b37 Deleted blank lines. 1998-05-27 22:09:47 +00:00
Joel Sherrill
bb6d368d02 Added "speaker on" debug code. 1998-05-27 22:09:39 +00:00
Joel Sherrill
27291bcc55 Changed invocation of bin2boot to match gcc 2.8 rule. 1998-05-27 22:07:40 +00:00
Joel Sherrill
4050a7fb50 Numerous changes including the following:
+ DEBUG_EARLY_START re-added (Eric Valette)
  + segment register initialization (Aleksey/Quality Quorum)
  + heap size use correction
  + more debug printk's
  + increased heap size.

Now works with grub boot on all systems I have access to including
desktops and a laptop.  This is with the i386-rtems tools.
Neither i386-rtemself nor netboot produces a working executable.
1998-05-27 19:34:37 +00:00
Joel Sherrill
c2c9c7e58f Added names for C++ compilers. 1998-05-27 19:26:09 +00:00
Joel Sherrill
339cc25c20 Moved rtemsReboot() to console/inch.c. 1998-05-27 19:24:57 +00:00
Joel Sherrill
a92adc63d6 Deleted HEAP_SIZE constant. 1998-05-27 19:20:55 +00:00
Joel Sherrill
37eacd7158 Removed illegally formatted comments. 1998-05-27 19:20:38 +00:00
Joel Sherrill
8d62ece80e Moved rtemsReboot() to here from exit.c. This appears to have been
necessary because a patch did not apply cleanly.
1998-05-27 19:19:31 +00:00
Joel Sherrill
71d07b9ddf Corrected interrupt stack allocation. 1998-05-27 19:18:02 +00:00
Joel Sherrill
6bb69304d2 Regenerated. 1998-05-27 19:17:32 +00:00
Joel Sherrill
448ba47a4c Fixed spacing 1998-05-27 12:26:07 +00:00
Joel Sherrill
139e6efe3c Fix from Jiri Gaisler <jgais@ws.estec.esa.nl> for a problem in which
external interrupt priorities were not being honored.  Here is some
of his original report:

    using rtems/erc32, I have a problem with interrupt priority when
    interrupts occure simultaneously. Erc32 has an interrupt force
    register where interrupts can be generated. If more than one
    interrupt is generated, the interrupt handlers are scheduled in
    the wrong order, i.e. with the lowest priority first.

    I have attched a program that generates three interrupts, 0x11, 0x12
    and 0x13. Interrupt 0x13 should be handled first, but is actually
    handled last. Below is the output from sis:

        sis> go
        resuming at 0x02000000
        RAM size: 4096 K, ROM size: 2048 K
        Watchdog disabled
        Waitstates = RAM read: 0, RAM write: 0, ROM read: 0, ROM write: 0
        Power-down mode enabled
        infinite UART baudrate
        External interrupt received with vector 0x11
        External interrupt received with vector 0x12
        External interrupt received with vector 0x13

    I have verified that sis generates the interrupts in the correct
    order, i.e. 0x13 first, then 0x12 and then 0x11. So the problem
    seems to be in the rtems interrupt handler. Do you use the PIL field
    in the %psr register to mask lower priority interrupts or are all
    external interrupts considered to have the same priority ..?

Here is a description of the fix:

  it turned out that lower priority interrupts were not at all masked
  off during interrupt handling. I made the following fix to cpu_asm.s:
       ... fix is in the code ...
  There might be a simpler way of doing this, but this works...
1998-05-27 12:21:32 +00:00
Joel Sherrill
a31f0643f6 Changed process group routines to unimplementable. 1998-05-22 15:05:33 +00:00
Joel Sherrill
9cc86e291c Updated after addition of some routines by Eric Norum. 1998-05-22 15:02:53 +00:00
Joel Sherrill
119bced0fd Added tcdrain(), cfgetospeed(0, cfsetospeed(), cfgetispeed(), and
cfsetispeed().
1998-05-22 14:51:11 +00:00
Joel Sherrill
e2476ed4d1 Added tcdrain(), cfgetospeed(), cfsetospeed(), cfgetispeed(), and cfsetispeed(). 1998-05-22 14:49:49 +00:00
Joel Sherrill
cdf6fcbccb Now uses BSP specific configure variables and compiles for i486 and m68k. 1998-05-22 12:30:19 +00:00
Joel Sherrill
6fa12899c4 Renamed bare BSP specific options to make the dependency obvious. 1998-05-22 12:29:13 +00:00
Joel Sherrill
06e326b67f UNIX port now builds and runs cleanly with both C++ support enabled
and disabled.
1998-05-22 12:28:35 +00:00
Joel Sherrill
c19a29b458 Added call to console_reserve_resources back in. 1998-05-22 12:27:51 +00:00
Joel Sherrill
082214d0c8 Regenerated after removing SIZE_FOR_TARGET change after Ralf
pointed out that gcc does not properly report it all the time.
1998-05-22 12:27:08 +00:00
Joel Sherrill
232429f6cc Removed SIZE_FOR_TARGET change after Ralf pointed out that gcc does
not properly report it all the time.
1998-05-22 12:26:47 +00:00
Joel Sherrill
550ca7d5e4 hppa1.1 -> hppa1_1 remapping crept back in somehow -- gona again.
Bare BSP is now only enabled when explicitly specified.

Bare BSP options and variables are clearly named so as to be obviously
BSP specific.  This should avoid conflicts.
1998-05-22 12:25:52 +00:00
Joel Sherrill
9d09d13808 Added main() which did not require C++ support. A different main
is used based on whether C++ is enabled or disabled.
1998-05-22 11:03:03 +00:00
Joel Sherrill
7e93af11ce changed version to 980521 1998-05-21 19:11:24 +00:00
Joel Sherrill
31668a6756 Use gcc to look for size also 1998-05-21 18:46:36 +00:00
Joel Sherrill
bd5e4f3baf Added bare bsp from Chris Johns <cjohns@plessey.com.au>. 1998-05-21 18:26:58 +00:00
Joel Sherrill
90cf4cc734 Corrected license notices per Eric's permission 1998-05-21 16:49:51 +00:00
Joel Sherrill
6207ea2986 New file from Ralf Corsepius 1998-05-21 16:46:24 +00:00
Joel Sherrill
941f6f3c5e New file from Eric Valette 1998-05-21 16:46:05 +00:00
Joel Sherrill
1e9c9d4643 Per patch from Ralf Corsepius removed redundant lines. 1998-05-21 16:41:56 +00:00
Joel Sherrill
dd84f129c8 Removed undesirable space in TARGET_ARCH assignment line.
Cleaned up command line macro definitions.

Per patch from Ralf Corsepius UNIX ports always needs C++ for rtems-ctor.cc.
1998-05-21 16:41:40 +00:00
Joel Sherrill
d494eeb429 Per patch from Ralf Corsepius UNIX ports always needs C++ for rtems-ctor.cc. 1998-05-21 16:40:46 +00:00
Joel Sherrill
d7588efc2f Per suggestion from Ralf Corsepius made all macros solaris2 -- not solaris
or solaris2.
1998-05-21 16:39:51 +00:00
Joel Sherrill
0d48220948 Remove --start-group/--end-group pair to support non-GNU ld's. 1998-05-21 16:38:54 +00:00
Joel Sherrill
fe2401b239 Regenerated. 1998-05-21 16:38:17 +00:00
Joel Sherrill
27dccaec15 Patch to add return status to rtems_termios_enqueue_raw_characters from
Eric Norum per request from Geoffroy Montel:

   > The rtems_termios_enqueue_raw_characters function type is void.
   > The problem is that I can't return an error message if the input
   > buffer is full.
   > Could we add a return value?

   Sure, but what would you do with the overflow indication?  POSIX says,
   ``when the input limit is reached, the saved characters are thrown away
   without notice''.

   Anyhow, the change is so small I've done it and enclosed the patch.
1998-05-20 17:09:12 +00:00
Joel Sherrill
2efdd08b40 Patch from Ralf Corseipus to fix latent configure problems suddenly triggered:
The breakdown:
        * CC_FOR_TARGET and CXX_FOR_TARGET were not correctly re-read
          from autoconf's configuration cache (config.cache)

        * If <target>-[gcc|g++] was not found while running configure,
          the config macros tried to use other (wrong) compilers (e.g. cc).

    Changes:
        * New RTEMS_PROG_CC macro (aclocal/prog-cc.m4).
        * New RTEMS_PROG_CXX macro (aclocal/prog-cxx.m4)
        * Moved a shell script fragment from configure.in to a
          new m4-autoconf macro (New file: aclocal/tool-prefix.m4)
        * Minor changes to configure.in

    I tested it with linux/posix (native gcc/primary libc) and
    sh-rtems/gensh1 on a linux host and didn't notice any bugs
    related to the problems mentioned above.  There seem to be
    more bugs with the posix bsp, but I consider them minor as
    the build run completed successfully. It is just too late
    for me to attempt to fix them now.
1998-05-20 17:06:57 +00:00
Joel Sherrill
17a8d60365 Some patches in place from Brian Stevens which help the Solaris port
build.  It does not link successfully for him.  It does not compile
for me locally.
1998-05-20 17:02:29 +00:00
Joel Sherrill
7aa10b005e Copied gcc 2.7.2 style make-exe rule to gcc 2.8 conditional. This
lets the makefile work in both cases.
1998-05-20 17:01:39 +00:00
Joel Sherrill
5dd4212fec Changed CPP rule per patch from Ralf Corsepius. 1998-05-20 17:01:04 +00:00
Joel Sherrill
603d706083 Added tcdrain() from Eric Norum 1998-05-20 17:00:22 +00:00
Joel Sherrill
7139415434 Regenerated 1998-05-20 16:34:15 +00:00
Joel Sherrill
9c3b406b4d Addition of tcdrain() from Eric Norum. 1998-05-19 11:34:04 +00:00
Joel Sherrill
3ac8e59c93 Removed prototype of rtems_libio_config() per Chris Johns' eagle eye. 1998-05-19 10:53:12 +00:00
Joel Sherrill
8dc5d00f2c changed version to 980518 1998-05-18 17:35:24 +00:00
Joel Sherrill
98c7389586 New file from Pedro Romano 1998-05-18 16:43:36 +00:00
Joel Sherrill
ca0bafa734 Added much stuff formerly in multiple compiler files. 1998-05-18 16:40:13 +00:00
Joel Sherrill
0500c342e1 Added conditional around TARGET_ARCH to prevent accidental overrides. 1998-05-18 16:39:49 +00:00
Joel Sherrill
7ebfa9347d Switched to using shared gcc-target-default.cfg. 1998-05-18 16:39:21 +00:00
Joel Sherrill
6ee6abb40d Added C++ rule.
Added CROSS_TARGET conditionals so unix port can share this file.
1998-05-18 16:38:38 +00:00
Joel Sherrill
60fa630576 Added RTEMS_CROSS_TARGET. 1998-05-18 16:37:50 +00:00
Joel Sherrill
64876e33f4 Added bsp_specs. 1998-05-18 16:37:32 +00:00
Joel Sherrill
bac7b61449 Include memory for Ada task stacks. 1998-05-18 16:37:00 +00:00
Joel Sherrill
38093c0b8e Modified to find C++ compilers. 1998-05-18 16:36:31 +00:00
Joel Sherrill
0b767238bc Support bsp_specs style building for linux and solaris. Improved C++
support.
1998-05-18 16:36:09 +00:00
Joel Sherrill
158f211023 Regenerated. 1998-05-18 16:35:00 +00:00
Joel Sherrill
185fab0b5a Added proper reference now that Embedded Systems Programming's WWW site
is available and has the code available.
1998-05-18 16:32:35 +00:00
Joel Sherrill
5c844076a2 Update from Ralf Corsepius. 1998-05-18 14:41:33 +00:00
Joel Sherrill
a863c500cc Updates from Pedro Romano. 1998-05-18 14:41:15 +00:00
Joel Sherrill
7d78f404ae New file. 1998-05-18 14:40:59 +00:00
Joel Sherrill
027f1af4c6 New file. 1998-05-15 12:35:11 +00:00
Joel Sherrill
5970fc210c Added test case for table -- barfs when optimization is enabled 1998-05-12 15:28:33 +00:00
Joel Sherrill
9caa3e3175 Cleaned up to remove warnings. 1998-05-11 17:41:00 +00:00
Joel Sherrill
4fca3ea023 regenerated automatically 1998-05-11 17:40:37 +00:00
Joel Sherrill
c4638fff39 new file to support execv family support in newlib 1998-05-11 17:39:59 +00:00
Joel Sherrill
d37ea46231 execv*() now comes from newlib. 1998-05-11 17:39:38 +00:00
Joel Sherrill
7123d3b77f Modified objcopy to remove extra sections.
Modified gcc 2.8 style link rule to provide start address correctly.
1998-05-04 13:19:29 +00:00
Joel Sherrill
47d1f5d8f9 Fixed prototype of Fatal_Extension.
Fixed interface to cofndefs.h for initial extension set.
1998-05-04 12:41:42 +00:00
Joel Sherrill
161e1b3f6a Patch from Eric Norum to switch to termios callback structure, add
support for device driver support on tcsetattr(), and hardware
flow control callbacks.
1998-05-04 12:41:07 +00:00
Joel Sherrill
55951bc1e6 Switched to termios callback structure. 1998-05-04 12:40:21 +00:00
Joel Sherrill
f35abd4863 Corrected and added sections to link cleanly under powerpc-rtems (ELF). 1998-05-04 12:40:09 +00:00
Joel Sherrill
f69d686dd5 Removed warning for unnecessary reference to start as entry point. 1998-05-04 12:39:21 +00:00
Joel Sherrill
36a14a9699 Patch from Eric Norum to switch to termios callback structure and
add support for changing the baudrate.
1998-05-04 12:38:53 +00:00
Joel Sherrill
5ee559acd2 Corrected and added sections to link cleanly under i386-rtemself. 1998-05-04 12:37:35 +00:00
Joel Sherrill
b77b26742e fixed swap of unsigned16 1998-05-04 12:36:59 +00:00
Joel Sherrill
10b3c9b3ef Added default value for CONFIGURE_MAXIMUM_POSIX_THREADS since it is
used to calculate the amount of memory used by tasks whether the
POSIX API is enabled or disabled.
1998-05-04 12:35:22 +00:00
Joel Sherrill
3e3674522b removed warning for implicit declaration of idtsim__exit() 1998-05-02 12:12:14 +00:00
Joel Sherrill
36aba21e13 removed warning for implicit declaration of resolve() 1998-05-02 12:11:23 +00:00
Joel Sherrill
269707e6f7 removed warning for `#ifdef' argument starts with a digit 1998-05-02 12:10:18 +00:00
Joel Sherrill
17f57736d5 removed warning for implicit declaration of boot_card() 1998-05-02 12:09:11 +00:00
Joel Sherrill
d74daf9d45 Fixed case where wrong variable was used. 1998-04-30 16:48:40 +00:00
Joel Sherrill
3d4e5906dd Changed default target architecture name 1998-04-30 16:45:55 +00:00
Joel Sherrill
5f92a6a38c Modified objcopy invocation to ignore more sections. 1998-04-30 16:45:08 +00:00
Joel Sherrill
990f857543 botched file -- removed from repository and readded 1998-04-30 14:14:12 +00:00
Joel Sherrill
2e34f4ad4f Removed tripling of workspace API when POSIX API is enabled. confdefs.h
is now correct enough where this is not necessary.  This was in to
cover up the deficiencies in figuring out how much memory a GNAT/RTEMS
application required.  There is a good stab at this now.
1998-04-30 11:43:19 +00:00
Joel Sherrill
ba05e31c3c Added wildcard to switch for monitor and termios. 1998-04-30 11:41:57 +00:00
Joel Sherrill
b7be9c30d2 Removed redundant "* 1024" which exploded the size of the workspace. 1998-04-30 11:41:09 +00:00
Joel Sherrill
a524c00cfc Added sections and redirected some to RAM to avoid warnings. 1998-04-30 11:40:28 +00:00
Joel Sherrill
1ca488b55d Added sections to remove warnings 1998-04-30 11:40:07 +00:00
Joel Sherrill
c719991664 moved tools to bsp directory 1998-04-30 10:46:52 +00:00
Joel Sherrill
2993cd3f60 Added support for debug variants on tests. 1998-04-29 18:41:53 +00:00
Joel Sherrill
96d56b3690 Update from Pedro Romano <pmcnr@camoes.rnl.ist.utl.pt>. 1998-04-27 18:42:04 +00:00
Joel Sherrill
0c508af979 Added I386_HAS_BSWAP cpu model feature flag so swap u32 could take
advantage of this instruction.

Also up conditionals mapping cpu models to feature flags by having a
section which defaults all the i386 family feature flags to the most
common value.
1998-04-27 18:18:13 +00:00
Joel Sherrill
b0aba4c46b Added swap of unsigned16 1998-04-27 16:10:16 +00:00
Joel Sherrill
eac9871aa2 Fixed spelling errors. 1998-04-27 15:30:59 +00:00
Joel Sherrill
0153d180b3 Fixed trace bit manipulation per requests from Eric Norum and Chris Johns.
Actual patch was from Eric Norum.
1998-04-27 15:28:43 +00:00
Joel Sherrill
baa876a409 Cosmetic fix from Eric Norum:
This makes the headings line up above the columns a little better.
    Now that it's so easy to include/exclude the stack check code I find
    myself adding it to all my `debug' targets.
1998-04-27 15:14:30 +00:00
Joel Sherrill
edbb81d0dc Removed redundant implementation of tcgetattr and tcsetattr. 1998-04-27 14:39:51 +00:00
Joel Sherrill
0e70f60581 Fixes from Ralf Corsepius:
* Posix BSP configuration: Moved some rules from make/custom/*-posix.cfg
      files to make/custom/posix.cfg, Removed references to stdc++ from
      *posix.cfg files (rtems doesn't use/need libstdc++)

    NOTE: Building Posix-BSPs should now work again for native compilation with
    gcc, i..e. linux using primary compiler and primary libc.
    All Posix-BSP configurations that don't use gcc as primary compiler or
    don't use the primary libc don't work, e.g. solaris, linux w/ egcs as
    secondary compiler won't be built correctly.
1998-04-27 14:21:55 +00:00
Joel Sherrill
c1dc8228ca Removed forced enable of POSIX API. Now follow configuration flag. 1998-04-27 14:21:04 +00:00
Joel Sherrill
21c1513f40 Fixed bad CVS Id string.
Removed unnecessary definition of "ED".
1998-04-27 14:20:25 +00:00
Joel Sherrill
36848cee66 Clean up patch from Ralf Corsepius. 1998-04-27 14:19:54 +00:00
Joel Sherrill
cf59d56b07 Fix from Ralf Corsepius:
use a wildcard rule instead of explicit listing all include files
    (I have more libcpu header files than the public version has. This patch
    removes the need to patch this Makefile for my private bsps)
1998-04-27 14:19:25 +00:00
Joel Sherrill
008faafd4c Added shared directory. 1998-04-27 14:18:38 +00:00
Joel Sherrill
7e2cc64450 Removed extra (bad) CVS Id string. 1998-04-27 14:18:11 +00:00
Joel Sherrill
0a3a3ae644 Fixed CVS Id string and removed bogus comment. 1998-04-27 14:17:52 +00:00
Joel Sherrill
6b52fe5c0f Fix from Ralf Corsepius:
+ adding #include <rtems/libio.h> to fix implicit declaration warning
1998-04-27 14:17:16 +00:00
Joel Sherrill
72aa8cf4a8 Fixed CVS Id 1998-04-27 14:16:29 +00:00
Joel Sherrill
9a993ed573 Added CONFIGURE_EXTRA_TASK_STACKS definition to make memory requirements
more accurate.
1998-04-27 13:51:23 +00:00
Joel Sherrill
6ce14e72fb Fixed screen to match actual output. 1998-04-27 13:51:02 +00:00
Joel Sherrill
308aed9b39 Added numerous entries to make the memory calculation more accurate:
+ POSIX threads
  + Ada tasks
  + POSIX threads API support
  + POSIX condition variables
  + POSIX keys (still do not account for data fields)
  + POSIX mutexes
  + POSIX queued signals
  + added macro for extra memory for task stacks
  + default value for CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
  + extra memory for Ada task stacks
1998-04-27 13:49:42 +00:00
Joel Sherrill
20fff72b41 Moved POSIX_signals_Siginfo_node structure definition to headers/psignal.h
so confdefs.h could see it.
1998-04-27 13:46:45 +00:00
Joel Sherrill
9f0dfeafdb Changed __POSIX_SIGNALS_h to __RTEMS_POSIX_SIGNALS_h to avoid conflict with
the system signals.h file.

Moved POSIX_signals_Siginfo_node type definition to this file to allow
confdefs.h to know the size per queued signal.
1998-04-27 13:46:18 +00:00
Joel Sherrill
39b3d876b6 Reset the pthread attributes structure so the proper error would be
generated.
1998-04-27 13:44:54 +00:00
Joel Sherrill
ede7c5f4f7 regenerated 1998-04-27 13:43:50 +00:00
Joel Sherrill
9829978395 Fixed bug where posix tests were not being enabled. 1998-04-27 13:43:46 +00:00
Joel Sherrill
0903597f4f psim now runs in both debug and non-debug mode. 1998-04-18 17:26:41 +00:00
Joel Sherrill
4955afcca5 rtems_libio_number_iops is now defined in confdefs.h so the maximum
file descriptors is user configurable.
1998-04-18 17:25:35 +00:00
Joel Sherrill
4390882539 Changed to account for libio's maximum_semaphores as well as its
memory requirements.

Also added variable to tell libio how many file descriptors to allocate.
1998-04-18 17:24:56 +00:00
Joel Sherrill
b25d3d03df Changed version number so script will work. 1998-04-18 17:24:04 +00:00
Joel Sherrill
180d459615 Used http reference for EGCS index. 1998-04-17 16:55:37 +00:00
Joel Sherrill
5558bd3809 Increased size of archive. 1998-04-17 16:55:23 +00:00
Joel Sherrill
edffc05456 Fixed so this would compile without warning. 1998-04-15 22:16:43 +00:00
Joel Sherrill
8a1636d39f Added bh, ch, dh, bl, cl, and dl register macros. 1998-04-15 22:16:22 +00:00
Joel Sherrill
6bd6c82e7b Updated. 1998-04-15 22:15:38 +00:00
Joel Sherrill
70ad028c82 update from Eric Norum 1998-04-15 22:09:28 +00:00
Joel Sherrill
c0daf8072f New file created by extracting common initialization from every BSP's
bspstart.c file.
1998-04-15 22:09:17 +00:00
Joel Sherrill
bd9c3d1e76 Numerous changes which in total greatly reduced the amount of source
code in each BSP's bspstart.c.  These changes were:

  + confdefs.h now knows libio's semaphore requirements
  + shared/main.c now copies Configuration to BSP_Configuration
  + shared/main.c fills in the Cpu_table with default values

This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP.  Plus now the maximum number of open
files can now be set on the gcc command line.
1998-04-15 20:50:31 +00:00
Joel Sherrill
b6394ae434 Transitioned to shared bsp_libc_init() and cleaned up comments. 1998-04-15 15:13:01 +00:00
Joel Sherrill
b3d3a34edd Stack checker now enabled via initial set of user extensions. This
eliminates the need to build the entire application with the
STACK_CHECKER_ON macro defined.
1998-04-15 15:10:47 +00:00
Joel Sherrill
d07d3eecca Initial sets of user extensions now have memory allocated on the fly
for them.
1998-04-15 15:09:38 +00:00
Joel Sherrill
71f4beb0cd Stack check now initialized as part of initial extension set. 1998-04-15 15:08:49 +00:00
Joel Sherrill
9b64c2d5f7 Per suggestion from Eric Norum, went from one initial extension set
to multiple.  This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.
1998-04-15 00:10:03 +00:00
Joel Sherrill
0451b44f36 Per suggestion from Eric Norum, went from one initial extension set
to multiple.  This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.
1998-04-15 00:02:10 +00:00
Joel Sherrill
7780978058 changed version to ralf-980414 1998-04-14 23:00:33 +00:00
Joel Sherrill
01a49905ae Account for interrupt stack space 1998-04-14 22:56:31 +00:00
Joel Sherrill
4381e50e1e Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg 1998-04-14 22:44:49 +00:00
Joel Sherrill
665335581b Regenerated 1998-04-14 22:43:42 +00:00
Joel Sherrill
2758c9f20b Ralf Corsepius suggested a way to get rid of UNIX compiler files and use gcc-target-default.cfg 1998-04-14 22:13:05 +00:00
Joel Sherrill
1504f71edf Stack checker on 1998-04-14 21:33:20 +00:00
Joel Sherrill
92e15e08c2 Updates from PPC refresh 1998-04-14 21:32:56 +00:00
Joel Sherrill
c244a9ee2c Stack checker extension now accounted for in confdefs.h 1998-04-14 21:32:12 +00:00
Joel Sherrill
ab97da95b3 Added stack checker extension 1998-04-14 21:30:10 +00:00
Joel Sherrill
529b8c1f55 Added src2html directory. 1998-04-14 21:21:40 +00:00
Joel Sherrill
c3820d346f added browseable RTEMS 1998-04-14 21:21:26 +00:00
Joel Sherrill
5fc42c89c9 Added browseable_rtems 1998-04-14 21:20:56 +00:00
Joel Sherrill
7c88bb74e2 RTEMS stuff now browseable for 1st time. Not completed. 1998-04-14 21:20:31 +00:00
Joel Sherrill
b2eca8d22b first cut at browseable RTEMS 1998-04-14 21:19:54 +00:00
Joel Sherrill
a6aa8a9111 "arc" renamed to "archive".
Pictures now in ASCII for maintenance purposes.
1998-04-14 21:19:25 +00:00
Joel Sherrill
ae2e9f2935 "arc" changed to "archive"
Pictures now in ASCII.
1998-04-14 21:17:53 +00:00
Joel Sherrill
3b89891244 Now accounts for region used by RTEMS malloc and extension used
by newlib.
1998-04-14 20:54:26 +00:00
Joel Sherrill
7a75c323e4 Removed recursive call to exit 1998-04-14 20:52:31 +00:00
Joel Sherrill
9c329a5c14 Moved bspclean from assembly to C and made exit act properly. 1998-04-14 20:52:15 +00:00
Joel Sherrill
c8bc6e4567 new file 1998-04-14 20:29:35 +00:00
Joel Sherrill
e6e5e47704 Removed delay macro 1998-04-14 19:56:25 +00:00
Joel Sherrill
b0562e7465 new file 1998-04-14 19:54:38 +00:00
Joel Sherrill
993e1b5c73 Refreshing effort from Avenger. 1998-04-14 19:54:24 +00:00
Joel Sherrill
a34ab1b23a removed shmsupp 1998-04-14 19:54:04 +00:00
Joel Sherrill
22764c0cb5 Corrected comment 1998-04-14 19:53:16 +00:00
Joel Sherrill
89611889fe new files 1998-04-14 19:49:13 +00:00
Joel Sherrill
75dfc7f7ac Changed arc to archive.
Switched self-maintaining ASCII tree picture.
1998-04-14 19:22:35 +00:00
Joel Sherrill
3a781ac70c first cut at src2html and RTEMS 1998-04-14 17:35:30 +00:00
Joel Sherrill
56cab83f90 Added emacs Ada tags stuff 1998-04-14 17:09:26 +00:00
Joel Sherrill
f36caed238 building up src2html 1998-04-14 17:09:06 +00:00
Joel Sherrill
f5ecb312f6 base changes for moving and better error checking 1998-04-14 16:30:23 +00:00
Joel Sherrill
e348edd2aa New file. Copied from Avenger. 1998-04-14 16:10:30 +00:00
Joel Sherrill
49c6428c5a Added Ada support by copying the script from Avenger. 1998-04-14 16:09:02 +00:00
Joel Sherrill
bf09257a95 switched to gcc 1998-04-14 16:08:47 +00:00
Joel Sherrill
52461c5875 New files 1998-04-14 16:03:45 +00:00
Joel Sherrill
dff0a57c2b Now builds for all formats and includes urls 1998-04-14 15:32:28 +00:00
Joel Sherrill
6cede6e403 Added urls as links 1998-04-14 15:17:00 +00:00
Joel Sherrill
7137f8f7c1 Comments from Geoffroy Montel 1998-04-14 15:16:35 +00:00
Joel Sherrill
513196f12b Added rudimentary section on reading the documentation for each tool 1998-04-14 14:21:33 +00:00
Joel Sherrill
c1c5ab930a Comments from Chris Johns 1998-04-14 14:05:10 +00:00
Joel Sherrill
757a75de60 Removed "font -1" command. 1998-04-14 14:04:19 +00:00
Joel Sherrill
fffe92667f Suggestions from Eric Norum 1998-04-14 13:48:33 +00:00
Joel Sherrill
f2cd6a1a8d Changed from Top to index as top node 1998-04-13 20:07:47 +00:00
Joel Sherrill
6e3c36b7b5 added ASCII versions of directory tree figures 1998-04-13 20:03:57 +00:00
Joel Sherrill
4aa6b64d40 Updated to include Steve's figures for the first time. 1998-04-13 19:43:30 +00:00
Joel Sherrill
a178b68d34 Mistake 1998-04-13 19:43:21 +00:00
Joel Sherrill
0df2ab8795 Now builds for all formats.
Updated to include Steve's figures for the first time.
1998-04-13 19:42:55 +00:00
Joel Sherrill
bb5b0467a5 new files 1998-04-13 19:41:07 +00:00
Joel Sherrill
32611a6112 Changed version and date 1998-04-13 18:46:55 +00:00
Joel Sherrill
fdd6a26e68 Added Resources on the Internet section 1998-04-13 17:41:28 +00:00
Joel Sherrill
6f87f00a09 Fixed directory name for gnu tools ftp site 1998-04-13 15:34:05 +00:00
Joel Sherrill
48567c2a93 Updated version of binutils 1998-04-13 15:32:14 +00:00
Joel Sherrill
79bb9221a7 Added Cygwin32 Chapter 1998-04-13 15:31:56 +00:00
Joel Sherrill
4c7cf3ae72 New file based on Word document from Geoffroy Montel <g_montel@yahoo.com>
who was assisted by D.J.Fiddes@hw.ac.uk.
1998-04-13 15:21:30 +00:00
Joel Sherrill
28d056d161 fixed typo 1998-04-11 15:31:44 +00:00
Joel Sherrill
9c748009ab Moved to tools 1998-04-11 15:31:30 +00:00
Joel Sherrill
3d297e9db6 Moved newlib and gcc to newlib-1.8.0 and egcs-1.0.2 under gnu_tools. 1998-04-11 15:28:52 +00:00
Joel Sherrill
1378fcf177 Added Getting Started manuals. 1998-04-11 15:22:02 +00:00
Joel Sherrill
2aaac52858 Corrected paths after moving all supplements into a subdirectory. 1998-04-11 15:20:22 +00:00
Joel Sherrill
c0f503a291 Added Getting Started Manuals 1998-04-11 15:20:00 +00:00
Joel Sherrill
7384b1aefe Corrected Node 1998-04-11 15:19:43 +00:00
Joel Sherrill
57a736ffcb Mostly correcting case of section headings although a few minor things
were corrected as the Getting Started with GNAT/RTEMS manual was
created.
1998-04-11 14:54:58 +00:00
Joel Sherrill
6d3d425dbd Now a passable Ada manual 1998-04-11 14:54:20 +00:00
Joel Sherrill
5741c943d0 Added cross development and real-time embedded systems background. 1998-04-11 14:54:09 +00:00
Joel Sherrill
8e8676daae Base line -- copied from C/C++ 1998-04-11 13:55:14 +00:00
Joel Sherrill
8a3fd66964 Printed copy given to Steve and Mark 1998-04-10 16:44:48 +00:00
Joel Sherrill
bdec27096a In texinfo nicely with all version dependent information
now in variables and some updates already in place.
1998-04-10 16:03:26 +00:00
Joel Sherrill
9c2b0879e2 moved supplements under a subdirectory 1998-04-09 19:48:05 +00:00
Joel Sherrill
6113b3a63d Now builds clean for info, html, and ps. 1998-04-09 19:43:18 +00:00
Joel Sherrill
417fcc7375 base version 1998-04-09 19:18:04 +00:00
Joel Sherrill
7ff01ac4d3 Increased stack space of the monitor task. 1998-04-06 21:41:50 +00:00
Joel Sherrill
45111d773c Increased stack size so test would run in debug mode. 1998-04-06 20:29:58 +00:00
Joel Sherrill
092940bdc4 Purged references to STACK_CHECKER_REPORT_USAGE 1998-04-06 17:09:44 +00:00
Joel Sherrill
1ea9c3f4a5 Purged references to STACK_CHECKER_REPORT_USAGE 1998-04-06 16:33:48 +00:00
Joel Sherrill
a5cb6730b0 Reordered CFLAGS definition so CFLAGS_DEFAULT is before
CFLAGS_$(TARGET_VARIANTS).  This makes sure that -Wall appears
before any individual warnings are disabled during "debug" builds.
1998-04-06 16:26:53 +00:00
Joel Sherrill
c796ea979c More stuff removed as a result of using newlib's isatty() implementation.
These were noticed by Eric Norum.
1998-04-06 15:57:58 +00:00
Joel Sherrill
9d07e59d55 Changed CPU model to mcpu32. 1998-04-06 15:55:37 +00:00
Joel Sherrill
275868b682 Added stanzas for debug_tests and profile_tests. 1998-04-06 15:41:36 +00:00
Joel Sherrill
fa2ce36d87 new ids in aclocal directory 1998-04-06 15:41:17 +00:00
Joel Sherrill
5ed1beb5f1 Fixed improperly named sections for info 1998-04-03 18:50:31 +00:00
Joel Sherrill
5fafa0e2a6 Added test so the build procedure would stop if a directory did not exist.
This typically indicates a bug in a directory level Makefile or a configure
scrip bug.
1998-04-03 18:46:16 +00:00
Joel Sherrill
b82c9578f4 Removed isatty() since we are now using newlib's implementation as
a result of enabling the newlib POSIX directory.
1998-04-03 18:45:42 +00:00
Joel Sherrill
a456074d78 Made these have real constants. 1998-04-03 18:44:44 +00:00
Joel Sherrill
bda1a73bb6 Completed pass at constants. 1998-04-03 18:09:23 +00:00
Joel Sherrill
70dda0eab9 Patch from Samuel Tardieu <sam@inf.enst.fr> so the messages printed
followed GNU conventions.
1998-04-03 18:02:16 +00:00
Joel Sherrill
c6700cd1ff Cleaned up installation of pictures and common html files. 1998-04-03 17:04:40 +00:00
Joel Sherrill
a9a992cbba Moved the terminate node since the "cprev" was being overwritten. 1998-04-03 17:03:05 +00:00
Joel Sherrill
157d351ec1 Moved to tools/texi2www since they are part of that distribution. 1998-04-03 16:51:44 +00:00
Joel Sherrill
0da8d7bdc5 Moved from common directory since they belong to the texi2www distribution. 1998-04-03 16:51:27 +00:00
Joel Sherrill
bfb6bec1c4 Removed incorrect comment. 1998-04-03 16:51:11 +00:00
Joel Sherrill
f568b5d558 Added texi2www to this tree 1998-04-03 16:32:22 +00:00
Joel Sherrill
4fdcf08051 Renamed. 1998-04-03 16:29:29 +00:00
Joel Sherrill
0be992653f Nowbiulds html and ps. Info not supported. 1998-04-03 16:29:23 +00:00
Joel Sherrill
05862b4846 Added shortname generation support with the capability for the user
to specify the base of the name.  BASEnnnn.html
1998-04-03 16:05:16 +00:00
Joel Sherrill
0a46c6dbe4 Added fourth icon which takes user back to the index 1998-04-03 16:02:24 +00:00
Joel Sherrill
3ab325e103 Added -header and -dirfile options. 1998-04-03 15:41:30 +00:00
Joel Sherrill
0bbbf52785 Base file 1998-04-03 15:38:31 +00:00
Joel Sherrill
8e12a8229f Changed Perl executable location 1998-04-03 15:35:52 +00:00
Joel Sherrill
cfdba528f7 Base files from texi2www-960103 1998-04-03 15:35:08 +00:00
Joel Sherrill
180ca02461 Added constants through ch13 1998-04-02 20:02:27 +00:00
Joel Sherrill
bb6c461595 Make sure OAR logo is accessible 1998-04-02 16:50:40 +00:00
Joel Sherrill
32d80abc6d Added egcs 1.0.2 gcc docs 1998-04-02 16:50:07 +00:00
Joel Sherrill
37e077c9dc Corrected wildcard for info files 1998-04-02 16:49:17 +00:00
Joel Sherrill
56061f5d46 Went back to not printing an index. makeinfo does fine if you have indices
but do not print them.  texi2dvi barfs if the entries are even there.
1998-04-02 16:21:08 +00:00
Joel Sherrill
87ed029c79 Added "findex" for all directive pages but it turns out that this
blows up both makeinfo and texi2dvi.  So I have commented them out.
1998-04-02 16:18:26 +00:00
Joel Sherrill
7f70ad7daa Added copy of HELP.html. 1998-04-02 15:31:04 +00:00
Joel Sherrill
6288da8e67 Added newlib to support and ada_user to internal. 1998-04-02 15:30:41 +00:00
Joel Sherrill
9a355cb341 changed version to 4.0.0-beta2 1998-03-31 16:59:07 +00:00
Joel Sherrill
55258b4acd Fixed CUSTOM_FILES rule so it properly picked up files included from
make/custom files.
1998-03-31 16:52:32 +00:00
Joel Sherrill
58933e65f0 Make.config 1998-03-31 14:52:21 +00:00
Joel Sherrill
5e34bf4b95 Added "sigemptyset()" call to insure that the memcmp() would work.
It appears that the new glibc does not clear all the bits of the signal
set with a sigprocmask.
1998-03-31 14:19:27 +00:00
Joel Sherrill
4104db2dd9 Taking care of minor build problems 1998-03-30 15:50:33 +00:00
Joel Sherrill
eff6983de7 Making the stanza right and improving the way the isntall directories are built 1998-03-30 14:58:53 +00:00
Joel Sherrill
ca0b18a1be Corrected distribution levels for html 1998-03-30 14:42:11 +00:00
Joel Sherrill
3754660c97 Added distribution level to each manual 1998-03-30 14:27:11 +00:00
Joel Sherrill
3b50aaf2aa Added 4th icon 1998-03-30 14:26:49 +00:00
Joel Sherrill
266ae228c5 Added directories 1998-03-30 14:26:33 +00:00
Joel Sherrill
55ce02c036 Added support for multiple distribution levels. 1998-03-30 14:25:39 +00:00
Joel Sherrill
47311a164a Mediocre graphic just to use as a place holder to show what it looks like. 1998-03-30 14:06:50 +00:00
Joel Sherrill
c5fcc75ec9 Made the POSIX API option follow the configure line. 1998-03-30 14:05:03 +00:00
Joel Sherrill
26580ff1ee Made the HAS_POSIX_API follow the configure line option. 1998-03-30 14:04:44 +00:00
Joel Sherrill
de0d00512f Made the C++ option follow the configure option. 1998-03-30 14:04:20 +00:00
Joel Sherrill
cbf2f54333 Made HAS_POSIX_API have a "no" definition when it is not enabled. 1998-03-30 14:03:59 +00:00
Joel Sherrill
83997e2ff3 Made C++ follow the configure option. 1998-03-30 14:03:34 +00:00
Joel Sherrill
c895f42a17 Were looking at the wrong C++ variable. 1998-03-30 14:03:04 +00:00
Joel Sherrill
8f95b5f67b Moved bsp_postdriver_hook() to a shared file and made it a common
component.
1998-03-30 14:01:19 +00:00
Joel Sherrill
6937fd82f1 Renamed crt0.o to crt0_go32.o to avoid build problems. 1998-03-30 13:59:07 +00:00
Joel Sherrill
334427722c Update from "erik.ivanenko" <erik.ivanenko@utoronto.ca>.
Also removed bsp_postdriver_hook() from every bsp possible and moved
to shared version.
1998-03-30 13:42:13 +00:00
Joel Sherrill
ece79bb1ab GO32 does not have sockets. 1998-03-27 21:08:59 +00:00
Joel Sherrill
fb94e65fa7 Added dependency so html would build from scratch. 1998-03-27 20:50:31 +00:00
Joel Sherrill
0a702cfbd1 Corrected by adding "end markers". 1998-03-27 20:50:14 +00:00
Joel Sherrill
a30359bbdd Changed int to unsigned32 to match cpu.h. 1998-03-27 19:42:58 +00:00
Joel Sherrill
20515fc1f8 Nodes, menus, etc are automatically generated now 1998-03-27 18:53:17 +00:00
Joel Sherrill
1f020c6577 Renamed extra_manuals to oar_manuals. 1998-03-27 17:34:25 +00:00
Joel Sherrill
9809ab1ed5 Removed ruler line since it is automatically inserted now along with
the buttons at the bottom.
1998-03-27 17:30:42 +00:00
Joel Sherrill
e8f7f83279 Localized for use in doc tree. 1998-03-27 16:49:23 +00:00
Joel Sherrill
b753a34503 Added directive and constant prefixes. 1998-03-27 16:48:50 +00:00
Joel Sherrill
75e22db0d5 Completed sweep adding directive and constant prefixes. 1998-03-27 16:47:53 +00:00
Joel Sherrill
3973e40a54 Should have included <rtems.h> before checking for ifdef RTEMS_UNIX.
Bug report from Olivier Hainque <hainque@inf.enst.fr> on SPARC Solaris 2.6.
1998-03-27 16:34:25 +00:00
Joel Sherrill
f331481c9d Conditionally adding RTEMS_ and rtems_ prefixes. 1998-03-27 13:24:52 +00:00
Joel Sherrill
4fa4ea6512 Added Hitachi SH 1998-03-27 13:24:21 +00:00
Joel Sherrill
a3a7527e1f Attempting to add variable so that in C all constants start with RTEMS_
and all directives start with rtems_.
1998-03-27 13:04:02 +00:00
Joel Sherrill
0ef0ff26fd Added POSIX 1003.1h and PowerPC supplement to internal manuals. 1998-03-27 11:53:51 +00:00
Joel Sherrill
fad4de2b99 New file. Basically m68k version with Hitachi SH comments thrown in. 1998-03-26 20:47:42 +00:00
Joel Sherrill
54fc6fe8e8 The script did not handle public distributions at all. 1998-03-26 20:44:35 +00:00
Joel Sherrill
433a01bd45 Added support for easily building different sets of the manuals
for the public, support, partners, and internal use.
1998-03-26 20:40:34 +00:00
Joel Sherrill
7c8c76749f Better handling of local documentation tools and corrected invocation
of texi2www to correct path information.
1998-03-26 20:34:38 +00:00
Joel Sherrill
5a348d3559 Updated for SH port and variable insertion of version. 1998-03-26 20:33:56 +00:00
Joel Sherrill
bc0307e79d Added build of tools to build procedure.
Automatically insert version information into headers and footers..
1998-03-26 20:33:27 +00:00
Joel Sherrill
c027242b55 rtems.html renamed index.html since that is what httpd looks for
automatically in a directory.

rtems_full.html is an index.html for the full support documentation set.
1998-03-26 20:32:41 +00:00
Joel Sherrill
090f1a42d2 Attempt at separating public, support, partners, and internal. 1998-03-26 20:31:13 +00:00
Joel Sherrill
8a8b751941 Added variables for dates and revision info 1998-03-26 20:30:52 +00:00
Joel Sherrill
9cb1040c02 Enhanced. 1998-03-26 20:30:01 +00:00
Joel Sherrill
2e9dfd596e Installed in partners subdirectory 1998-03-26 20:29:49 +00:00
Joel Sherrill
b317e78c1a removed @ifinfo around something needed for html structure 1998-03-26 20:29:08 +00:00
Joel Sherrill
e8b63db4fa Do not copy headers, use make 1998-03-26 20:28:13 +00:00
Joel Sherrill
9ec289caea More appropriate for public consumption 1998-03-26 17:16:53 +00:00
Joel Sherrill
3c7117d936 Made more appropriate for public consumption. 1998-03-26 17:15:03 +00:00
Joel Sherrill
fb9a80f99d renamed to user's guide. 1998-03-26 17:10:03 +00:00
Joel Sherrill
3cc03ac859 HAS_CPLUSPLUS should have been RTEMS_HAS_CPLUSPLUS. 1998-03-26 12:39:49 +00:00
Joel Sherrill
5e0fbcc15f Moved memcpy to newlib/libc/machine/m68k 1998-03-25 19:02:37 +00:00
Joel Sherrill
c80add4623 m68k software interrupt stack support from Chris Johns and Eric Norum. 1998-03-25 18:46:47 +00:00
Joel Sherrill
059dbcf5f5 Added group and example around tree pictures in html. 1998-03-25 18:36:19 +00:00
Joel Sherrill
c4e090299a Corrected argument passing. 1998-03-25 14:14:46 +00:00
Joel Sherrill
85047f024f Corrected definition of main and boot_card to be more ANSI compliant. 1998-03-25 14:00:41 +00:00
Joel Sherrill
0f262505c3 Corrected invocation of boot_card(). 1998-03-25 13:59:55 +00:00
Joel Sherrill
ddf142da51 Added _XOPEN_SOURCE definition to allow use of UNIX IPC. 1998-03-24 20:53:48 +00:00
Joel Sherrill
abbd5b1bea changed version to 4.0.0-beta1 1998-03-24 19:14:47 +00:00
Joel Sherrill
e6c92eefbd Changed RTEMS cpu to hppa1.1. 1998-03-24 18:44:40 +00:00
Joel Sherrill
526ebe88a8 Added rule to transform hppa1.1 to hppa1_1 since hppa1.1 is not a
valid cpp symbol.
1998-03-24 18:44:25 +00:00
Joel Sherrill
bdac86b583 Real definition for the beginning of the data section per Eric Norum's
suggestion.
1998-03-24 17:13:03 +00:00
Joel Sherrill
72b397aafa Corrected register constraints per suggestion from Thomas Doerfler, IMD
<td@imd.m.isar.de>.
1998-03-24 17:10:44 +00:00
Joel Sherrill
d662fef884 More cpu model flags converted to using cpp predefines. 1998-03-24 16:33:32 +00:00
Joel Sherrill
3ec7bfc7c4 Rename hppa1_1 to hppa1.1 and switched to using __XXX__ macros for
the CPU family name constants.
1998-03-24 16:24:39 +00:00
Joel Sherrill
222788b43d new file 1998-03-24 14:33:28 +00:00
Joel Sherrill
237f8b0d71 Renamed hppa1_1 to hppa1.1 1998-03-24 14:24:57 +00:00
Joel Sherrill
42dc81e206 Renamed hppa1_1 to hppa1.1 1998-03-23 23:08:10 +00:00
Joel Sherrill
e4829a055d renamed ppc to powerpc 1998-03-23 22:54:55 +00:00
Joel Sherrill
d53130befa Updated now that the phony crt0.c in newlib defines all odd symbols
that gcc automatically generates references to.
1998-03-23 19:54:35 +00:00
Joel Sherrill
015183572d *** empty log message *** 1998-03-23 19:53:08 +00:00
Joel Sherrill
5839b0c140 Converted to conditionally uses strerr code to better work with glibc2. 1998-03-23 19:51:40 +00:00
Joel Sherrill
98bcbda39d Patches from Eric Norum:
Here are some patches to the gen68360 BSP.  The improvements include:
        Boot prom run-time selection of DRAM size (1/4/16 Mbytes)
        Full 32-bit ethernet address obtained from boot prom.
        Updated README.
1998-03-23 18:35:41 +00:00
Joel Sherrill
61bbe54311 Update from Eric Norum:
Here are some patches to the gen68360 BSP.  The improvements include:
        Boot prom run-time selection of DRAM size (1/4/16 Mbytes)
        Full 32-bit ethernet address obtained from boot prom.
        Updated README.
1998-03-23 18:35:07 +00:00
Joel Sherrill
4e01c9c496 Added BSP specific start since it had become VERY complex to attempt
to share the start code across i386 BSPs.
1998-03-21 15:44:26 +00:00
Joel Sherrill
77bf1b1a62 Corrected typo in copyright notice. 1998-03-21 15:37:43 +00:00
Joel Sherrill
e2a2ec6016 Switch to using a shared main() for all of the embedded BSPs
based on the GNU tools.  This usually involved correcting the
type of bsp_start(), bsp_cleanup(), adjusting the start code to
call the right start routine (the shared boot_card()), and then
removing code from bsp_start() which was performed in the new
boot_card()/main() path.
1998-03-21 15:37:18 +00:00
Joel Sherrill
2b4aec86fc Fixed spacing to be consistent with other CPUs. 1998-03-21 15:31:13 +00:00
Joel Sherrill
04c99873c9 Fixed RTEMS_PROG_CC_WORKS and RTEMS_PROG_CXX_WORKS so they could
successfully work on powerpc-rtems and hppa1.1-rtems.
1998-03-21 15:27:00 +00:00
Joel Sherrill
5b3cf09202 Added enough symbols to the conftest.c program to make sure it would
successfully link on both the powerpc and hppa1.1.
1998-03-21 15:25:47 +00:00
Joel Sherrill
771dac2a27 POSIX not properly conditionalized 1998-03-21 14:34:58 +00:00
Joel Sherrill
670b2edf77 Fixed typo. 1998-03-20 19:08:26 +00:00
Joel Sherrill
db4aaf8d59 Patch from Eric Norum <eric@skatter.usask.ca>:
I've included a version of make/custom/gen68360.cfg that works with
    this.  Note that I've removed the option of using `-m68020
    -msoft-float -mno-bitfield' as an alternative to using `-mcpu32'.
    The alternative won't work with the new system (since it predefines
    __mc68020__ and not __mcpu32__), and didn't really work before anyway
    (since the newlib that gets linked was built with `-m68020
    -msoft-float' and so could contain bitfield operators).
1998-03-20 17:39:56 +00:00
Joel Sherrill
25804b6077 Patch from Eric Norum <eric@skatter.usask.ca>:
Here is my attempt at bringing m68k.h into line with the predefined
symbols provided by egcs-1.0.2-prerelease (with R. Kirkham's patch so
that -mcpu32, etc. implies -msoft-float).
1998-03-20 17:38:53 +00:00
Joel Sherrill
22393efc82 Added Hitachi SH port info. 1998-03-20 17:22:23 +00:00
Joel Sherrill
f8b27df985 New port from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1998-03-20 17:20:45 +00:00
Joel Sherrill
50cf94da7e SH port submitted from Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1998-03-20 17:16:31 +00:00
Joel Sherrill
a7a08713fb Patch from Ralf Corsepius to properly detect that Cygwin32 does not
support the -pipe option on the compiler.
1998-03-20 16:52:10 +00:00
Joel Sherrill
aa24c61b74 Fixed MANAGERS_NOT_WANTED. 1998-03-20 16:30:51 +00:00
Joel Sherrill
725f310e09 Removed blank line. 1998-03-20 16:28:36 +00:00
Joel Sherrill
7331714cf9 Added Constants, Feature Flags, and Macros (included in Functions).
No status information was included.
1998-03-18 18:15:01 +00:00
Joel Sherrill
c78be42127 First attempt at adding constants and feature flags 1998-03-17 23:10:33 +00:00
Joel Sherrill
6984a19876 Completed status pass on functions and data types. 1998-03-17 18:50:14 +00:00
Joel Sherrill
3cffce87d6 Completed first pass at function status.
Added most data types without status information.
1998-03-17 16:37:57 +00:00
Joel Sherrill
2a087f30a4 Added types, status of functions, cleaned up output of summarize. 1998-03-16 22:43:37 +00:00
Joel Sherrill
3349409381 Added function status and data types 1998-03-16 18:08:38 +00:00
Joel Sherrill
aedf4527f7 Cleaned up format and added data types. 1998-03-16 18:08:25 +00:00
Joel Sherrill
34683feee2 Added Function field. 1998-03-16 17:08:52 +00:00
Joel Sherrill
53d804ff91 summarize now generates a nicely formatted function status summary. 1998-03-16 17:06:12 +00:00
Joel Sherrill
4936b6545f Function implmentation status information correct. 1998-03-16 17:05:47 +00:00
Joel Sherrill
e7acb6028a First time summary chapter is included in the document. 1998-03-16 16:15:32 +00:00
Joel Sherrill
d2865dceeb Fix from Chris Johns for inconsistent invocation of make. 1998-03-16 13:52:11 +00:00
Joel Sherrill
17ab8f5bc8 Added blank lines. 1998-03-14 18:06:27 +00:00
Joel Sherrill
2071990d66 Added summary chapter. 1998-03-14 18:06:08 +00:00
Joel Sherrill
22c9e0ece5 New file. 1998-03-14 18:05:51 +00:00
Joel Sherrill
5e53171dfa Added functions from POSIX standard. 1998-03-14 17:43:56 +00:00
Joel Sherrill
76fa649972 Added functions from POSIX standard. 1998-03-14 17:09:27 +00:00
Joel Sherrill
24331760fa Added copyright header 1998-03-14 16:33:20 +00:00
Joel Sherrill
0874502b51 Added functions from POSIX standard. 1998-03-14 16:31:11 +00:00
Joel Sherrill
68feecfd86 Outline complete and apparently correct. 1998-03-11 22:56:23 +00:00
Joel Sherrill
2d19ed6c69 Baseline 1998-03-11 22:06:41 +00:00
Joel Sherrill
e25b7eecf2 Corrected to indicate test cases which were skipped. 1998-03-03 20:43:14 +00:00
Joel Sherrill
23683dd5fa Changed to remove warning. 1998-03-03 20:42:30 +00:00
Joel Sherrill
607e0a2527 Switched from "extern int errno" to "#include <errno.h>". 1998-03-03 16:20:52 +00:00
Joel Sherrill
79597c724b Removed use of dc. David Fiddes reported that this is part of the
GNU tool bc which is not always installed under Linux and seldom
present under non-UNIX environments like Win32.
1998-02-27 18:18:47 +00:00
Joel Sherrill
0799dec022 Patch from Eric Norum:
Here's another small patch.  The changes to socket.h are to provide
  some definitions that UNIX BSD socket programmers expect.  The
  memcpy.c contains a memcpy routine optimized for the CPU32+.  When I
  run the ttcp benchmark with this routine I get host->68360 transfers
  around 165 kbytes/sec (about a 25% improvement) and 68360->host
    transfers of around 290 kbytes/sec (about a 50% improvement).
1998-02-23 21:33:43 +00:00
Joel Sherrill
9b39bab01d Modified to make it possible for an ISR to return a mutex which did
not use priority ceiling or priority inheritance protocols.
1998-02-20 20:23:57 +00:00
Joel Sherrill
ee7f4e3468 updated 1998-02-20 20:23:12 +00:00
Joel Sherrill
b1b4fd5aa6 Modified to reflect new restrictions on mutex being released. 1998-02-20 19:59:41 +00:00
Joel Sherrill
de76809e19 Removed extra line. 1998-02-20 19:59:23 +00:00
Joel Sherrill
a66186ec6a Added misisng line continuation. 1998-02-20 19:57:53 +00:00
Joel Sherrill
2c45683a02 Increased stack space to let test run to completion. 1998-02-20 19:04:23 +00:00
Joel Sherrill
88a877b30c changed version to 980219 1998-02-19 23:02:45 +00:00
Joel Sherrill
96c73abbc2 Patch from Eric Norum:
While trying to work through this problem I decided that the
  build-time selection of the console I/O operation (polling or
  interrupt) was too clumsy.  Here's a patch that allows run-time
  (actually init-time) selection of the console I/O mode.

  It also shows the need for another `flags' or `options'  field in
  the rtems_driver_address_table structure...
1998-02-19 23:02:16 +00:00
Joel Sherrill
fde74a3e14 Increased stack space of tasks. 1998-02-19 22:55:02 +00:00
Joel Sherrill
b3dcd9a271 Accounted for fixed system overhead. 1998-02-19 22:54:35 +00:00
Joel Sherrill
41f61bcca1 Updated so test tools are installed even when --disable-tests is
specified.  Otherwise a target specific runtest is not installed.
1998-02-19 22:54:14 +00:00
Joel Sherrill
6e73334ecd update from Ralf Corsepius 1998-02-19 22:53:28 +00:00
Joel Sherrill
6eba9b7922 Increased stack size of initialization task. 1998-02-19 22:52:55 +00:00
Joel Sherrill
2617b3450b Restructured so all times are placed in variables and printed in batch
mode at the end of the test.  This eliminates the possibility of IO
blocking a task unexpectedly and messing up the test.
1998-02-19 17:08:54 +00:00
Joel Sherrill
51c195d560 New files missed in previous merge. 1998-02-19 16:23:56 +00:00
Joel Sherrill
00632e5337 changed version to 980218 1998-02-18 20:33:44 +00:00
Joel Sherrill
73249891c8 Went back to polled console. 1998-02-18 20:30:53 +00:00
Joel Sherrill
c7744ee03b Ralf Corsepius noted that there was a dead path in _Thread_Initialize. 1998-02-18 19:34:51 +00:00
Joel Sherrill
bf4cdb70d5 Patch from Chris Johns to add the interrupt class destructure. 1998-02-18 14:11:21 +00:00
Joel Sherrill
60b791ada1 updated copyright to 1998 1998-02-17 23:46:28 +00:00
Joel Sherrill
33b304f949 updated copyright to 1998 1998-02-17 23:45:57 +00:00
Joel Sherrill
f86ec4236f Added .eh_frame, C++ constructor, and C++ destructor sections. 1998-02-17 23:35:54 +00:00
Joel Sherrill
818c361b94 Renamed init.o to exinit.o to avoid naming conflicts with tests. 1998-02-17 23:34:15 +00:00
Joel Sherrill
78fdf2b8c0 Installing sptables with version information. 1998-02-17 23:33:53 +00:00
Joel Sherrill
98401e0a4f mods from Ralf Corsepius 1998-02-17 23:33:16 +00:00
Joel Sherrill
70a88c31dd renamed init.c exinit.c 1998-02-17 22:16:02 +00:00
Joel Sherrill
e810408ea7 First cut at automatic insertion of version information. 1998-02-17 21:39:36 +00:00
Joel Sherrill
5d1ea96d42 added -Wno-unused to debug flags 1998-02-17 20:42:10 +00:00
Joel Sherrill
540292a24d Ralf Corsepius pushing us farther down the autconf path:
"Ladies and Gentlement, we proudly present: a roughly hacked autoconf-ed
  rtems-glom.in" (:-)

  BTW, to follow up to the discussion about installation points, rtems-glom in
  its current shape is an ideal example of a target dependent file. If
  bsp-specific configure-scripts would exist, it might also be a bsp-dependent
  file that contains RTEMS_BSP hard-coded (by configure) into it.
1998-02-17 19:23:47 +00:00
Joel Sherrill
ac61209b11 Added unused warning per discussion on rtems-snapshots list. 1998-02-17 19:16:18 +00:00
Joel Sherrill
9646d5bea1 Patch from Eric Norum <eric@skatter.usask.ca>:
I've gone through and cleaned up the TFTP driver so that it fits
  into the libio system.  Here's the comment from the new driver:

  /*
   * Usage:
   *
   * To open `/bootfiles/image' on `hostname' for reading:
   *         fd = open ("/TFTP/hostname/bootfiles/image", O_RDONLY);
   *
   * The `hostname' can be a symbolic name or four
   * dot-separated decimal values.
   *
   * To open a file on the host which supplied the BOOTP
   * information just leave the `hostname' part empty:
   *         fd = open ("/TFTP//bootfiles/image", O_RDONLY);
   *
   */

  You can `fopen' TFTP files the same way:

                  fp = fopen (fullname, "r");
                  nread = fread (cbuf, sizeof cbuf[0], sizeof cbuf, fp);

  The diff's are included below.  I've also modified the TFTP demo
  program and the bootstrap PROM example.  They should be on my ftp
  site `soon'.

  The one thing I don't like is the way I had to do an end-run on the
  libio routines to get errno passed back from my driver to the
  application (since there are some errno codes that don't map to RTEMS
  status codes).  My approach was to set errno in the driver and have
  the driver routine return an RTEMS status code that I `know' isn't in
  the errno_assoc[] in libio.c.

  Perhaps there should be an RTEMS_TRANPARENT_ERRNO status code (or
  something similar) which driver routines could return to indicate
  that the driver routine has set errno and that the libio routines
  shouldn't attempt to map the returned status code to errno.

  Actually, I think the entire I/O system needs looking at -- as
  you've already mentioned.  The hacks I've dropped in to syscalls.c to
  make fstat work, for example, are *not* shining examples of good
  code......
1998-02-17 18:46:38 +00:00
Joel Sherrill
e81ef51bf1 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
Yep, I have a bunch of bug-fixes and additions pending (Yet another monster
  patch, ... I can hear you scream :-).

  1) configure.in : one AC_CONFIG_HEADER(...) line too much.

  2) configure.in: gcc28 support is enabled by default, i.e. if no
  --enable-gcc28 option is passed on the command line. I am not sure if this
  is intentional.

  IMO, AC_ARG_ENABLE for --enable-gcc28 should look like:

  AC_ARG_ENABLE(gcc28, \
  [  --enable-gcc28                   enable use of gcc 2.8.x features], \
  [case "${enableval}" in
    yes) RTEMS_USE_GCC272=no ;;
    no) RTEMS_USE_GCC272=yes ;;
    *)  AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;;
  esac],[RTEMS_USE_GCC272=yes])

  3) At the end of c/src/exec/score/cpu/m68k/m68k.h
  > #ifdef __cplusplus
  > }
  > #endif
  >
  > #endif /* !ASM */
  in my opinion these two statements should be swapped:
  > #endif /* !ASM */
  >
  > #ifdef __cplusplus
  > }
  > #endif

  I didn't try to compile for m68k, but does't this give an error? Is it
  compensated somewhere else - or didn't I look carefully enough?

  5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as
  gnu-programs use "cxx" to specify C++ specific configure options, while cpp
  is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf
  internally uses $CXX),

  6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly
  contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't
  make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I
  submitted the contents of an old aclocal-directory last time. - Sorry.

  7) For sh-rtems, we currently need to add additional managers to
  MANAGERS_REQUIRED (from inside of custom/*.cfg). Currently MANAGERS_REQUIRED
  is defined in make/compilers/*.cfg. This  seems to prevent overriding
  MANAGERS_REQUIRED from custom/*.cfg files - Obviously the files are included
  in such a way that the settings from compilers/*cfg always override settings
  from custom/*.cfg files.

  Furthermore, I think, defining MANAGERS_* inside gcc-<target>.cfg files is
  not correct - MANAGERS are not gcc-variant-dependent, but depend
  on targets/bsps and therefore should be defined in a bsp/target dependent
  file, e.g. in custom/*.cfg or target.cfg.in.

  I think defining default settings for MANAGERS* in custom/default.cfg could
  be an appropriate location. But this requires all custom/*.cfg files to
  include default.cfg, which *-posix.cfg files don't seem to do.

  Therefore I would like propose to move MANAGERS* to target.cfg.in - they are
  included by all custom/*.cfg files. Perhaps we/you should use this
  opportunity to merge parts from custom/default.cfg into target.cfg.in. This
  ensures to have the setting included once per target makefile and will open
  the opportunity to have autoconf doing additional work on
  bsp-configurations.



  Peanuts sofar, ... but here it comes ... (:-)

  8) I am preparing a major enhancement to autoconf support for
  gnutools/compilers. It is not yet finished, but usable and I'll therefore
  attach a preliminary version to this mail.

  Motivation:
  * Fix problems with --enable-gcc28, if target-cc is not gcc28 compatible
  * Fix -pipe problems
  * Fix problems with hard-coded paths in configuration files (esp. posix)
  * Fix consistency problems with explictly given gnutools and gcc's gnutools

  Currently included:
  * detection and checking of host and target compiler (gcc/g++)
  * checking if target gnutools are in path
  * checking if <target>-gcc -specs works (autodisabling gcc28 if not)
  * checking if <target>-gcc -pipe works

  Todo :
  * *posix.cfg files are not yet adapted => The hard-coded paths for these
  systems are still in use.
  * Check if the host compiler $CC is properly propagated to the Makefiles (I
  doubt it, but this should not matter)
  * Check if rtems' generic tools still work properly (It looks like, but who
  knows)
  * Integrate CXX support into default.cfg or gcc-target-default.cfg (It looks
  like C++ support is only used by posix BSPs)
  * Automatically handle RANLIB/MKLIB  for targets
  *  Plenty ...  (:-)

  Open problems:
  * Untested for non-gcc compatible host and target compilers. This  should be
  no problem if the tools are named follow gnutool's naming convention and are
  included in $PATH while running configure.
  * Intentionally using different tools than that gcc has been configured for,
  e.g. use a different assembler ? This should be still possible if
  XX_FOR_TARGET is hard-coded into custom/*.cfg. I don't see why anybody
  should want to do this, but who knows?

  I have tested this version on linux and solaris hosts, with gcc's
  directories mounted at weird non-standard mount points, using egcs
  (linux/sh-rtemscoff), gcc-2.7.2.2 using native tools (solaris), gcc-2.7.2.3
  w/ gnutools (solaris/linux). I don't expect it to break anything, but of
  cause I can't promise it. It will break most/all *-posix.cfg configuration
  almost for certain, but not more as rtems' current *posix.cfg configurations
  already do (hard-coded configurations).

  I am not sure if this is ready to be included into the next snapshot or not.
  Perhaps you might try this on your systems and if it you don't notice
  serious bugs you might put it into the snapshot for public testing (I don't
  like this, but I don't see another possiblity to test generality).

  I enclose a patch for configure.in and some configuration files which
  comprizes fixes for all items mentioned except of #3 . Don't forget to run
  "aclocal -I aclocal; autoconf;" after applying the patch (:-).
1998-02-17 14:12:01 +00:00
Joel Sherrill
aa8a8c726b Patch from Ralf Corsepius <corsepiu@@faw.uni-ulm.de>:
Yep, I have a bunch of bug-fixes and additions pending (Yet another monster
  patch, ... I can hear you scream :-).

  1) configure.in : one AC_CONFIG_HEADER(...) line too much.

  2) configure.in: gcc28 support is enabled by default, i.e. if no
  --enable-gcc28 option is passed on the command line. I am not sure if this
  is intentional.

  IMO, AC_ARG_ENABLE for --enable-gcc28 should look like:

  AC_ARG_ENABLE(gcc28, \
  [  --enable-gcc28                   enable use of gcc 2.8.x features], \
  [case "${enableval}" in
    yes) RTEMS_USE_GCC272=no ;;
    no) RTEMS_USE_GCC272=yes ;;
    *)  AC_MSG_ERROR(bad value ${enableval} for gcc-28 option) ;;
  esac],[RTEMS_USE_GCC272=yes])

  3) At the end of c/src/exec/score/cpu/m68k/m68k.h
  > #ifdef __cplusplus
  > }
  > #endif
  >
  > #endif /* !ASM */
  in my opinion these two statements should be swapped:
  > #endif /* !ASM */
  >
  > #ifdef __cplusplus
  > }
  > #endif

  I didn't try to compile for m68k, but does't this give an error? Is it
  compensated somewhere else - or didn't I look carefully enough?

  5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as
  gnu-programs use "cxx" to specify C++ specific configure options, while cpp
  is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf
  internally uses $CXX),

  6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly
  contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't
  make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I
  submitted the contents of an old aclocal-directory last time. - Sorry.

  7) For sh-rtems, we currently need to add additional managers to
  MANAGERS_REQUIRED (from inside of custom/*.cfg). Currently MANAGERS_REQUIRED
  is defined in make/compilers/*.cfg. This  seems to prevent overriding
  MANAGERS_REQUIRED from custom/*.cfg files - Obviously the files are included
  in such a way that the settings from compilers/*cfg always override settings
  from custom/*.cfg files.

  Furthermore, I think, defining MANAGERS_* inside gcc-<target>.cfg files is
  not correct - MANAGERS are not gcc-variant-dependent, but depend
  on targets/bsps and therefore should be defined in a bsp/target dependent
  file, e.g. in custom/*.cfg or target.cfg.in.

  I think defining default settings for MANAGERS* in custom/default.cfg could
  be an appropriate location. But this requires all custom/*.cfg files to
  include default.cfg, which *-posix.cfg files don't seem to do.

  Therefore I would like propose to move MANAGERS* to target.cfg.in - they are
  included by all custom/*.cfg files. Perhaps we/you should use this
  opportunity to merge parts from custom/default.cfg into target.cfg.in. This
  ensures to have the setting included once per target makefile and will open
  the opportunity to have autoconf doing additional work on
  bsp-configurations.



  Peanuts sofar, ... but here it comes ... (:-)

  8) I am preparing a major enhancement to autoconf support for
  gnutools/compilers. It is not yet finished, but usable and I'll therefore
  attach a preliminary version to this mail.

  Motivation:
  * Fix problems with --enable-gcc28, if target-cc is not gcc28 compatible
  * Fix -pipe problems
  * Fix problems with hard-coded paths in configuration files (esp. posix)
  * Fix consistency problems with explictly given gnutools and gcc's gnutools

  Currently included:
  * detection and checking of host and target compiler (gcc/g++)
  * checking if target gnutools are in path
  * checking if <target>-gcc -specs works (autodisabling gcc28 if not)
  * checking if <target>-gcc -pipe works

  Todo :
  * *posix.cfg files are not yet adapted => The hard-coded paths for these
  systems are still in use.
  * Check if the host compiler $CC is properly propagated to the Makefiles (I
  doubt it, but this should not matter)
  * Check if rtems' generic tools still work properly (It looks like, but who
  knows)
  * Integrate CXX support into default.cfg or gcc-target-default.cfg (It looks
  like C++ support is only used by posix BSPs)
  * Automatically handle RANLIB/MKLIB  for targets
  *  Plenty ...  (:-)

  Open problems:
  * Untested for non-gcc compatible host and target compilers. This  should be
  no problem if the tools are named follow gnutool's naming convention and are
  included in $PATH while running configure.
  * Intentionally using different tools than that gcc has been configured for,
  e.g. use a different assembler ? This should be still possible if
  XX_FOR_TARGET is hard-coded into custom/*.cfg. I don't see why anybody
  should want to do this, but who knows?

  I have tested this version on linux and solaris hosts, with gcc's
  directories mounted at weird non-standard mount points, using egcs
  (linux/sh-rtemscoff), gcc-2.7.2.2 using native tools (solaris), gcc-2.7.2.3
  w/ gnutools (solaris/linux). I don't expect it to break anything, but of
  cause I can't promise it. It will break most/all *-posix.cfg configuration
  almost for certain, but not more as rtems' current *posix.cfg configurations
  already do (hard-coded configurations).

  I am not sure if this is ready to be included into the next snapshot or not.
  Perhaps you might try this on your systems and if it you don't notice
  serious bugs you might put it into the snapshot for public testing (I don't
  like this, but I don't see another possiblity to test generality).

  I enclose a patch for configure.in and some configuration files which
  comprizes fixes for all items mentioned except of #3 . Don't forget to run
  "aclocal -I aclocal; autoconf;" after applying the patch (:-).
1998-02-17 14:09:30 +00:00
Joel Sherrill
81e0232b13 Update from Ralf Corsepius:
6) The macro files from aclocal/*.m4 contain the buggy sed-rules formerly
  contained in aclocal..m4, i.e. the sed/sort-bug fix to aclocal.m4 didn't
  make it to aclocal/*.m4. I think I should feel guilty for that - Obviously I
  submitted the contents of an old aclocal-directory last time. - Sorry.
1998-02-17 13:49:06 +00:00
Joel Sherrill
3771cc6ee8 Update from Ralf Corsepius:
Yep, I have a bunch of bug-fixes and additions pending (Yet another monster
  patch, ... I can hear you scream :-).

  1) configure.in : one AC_CONFIG_HEADER(...) line too much.

  5) configure.in: --enable-cpp should probably be renamed to --enable-cxx, as
  gnu-programs use "cxx" to specify C++ specific configure options, while cpp
  is used for the preprocessor (e.g egcs uses --with-cxx-includedir, autoconf
  internally uses $CXX),
1998-02-17 13:48:43 +00:00
Joel Sherrill
b4589477a7 Swapped C++ and ASM "endifs" 1998-02-17 13:21:37 +00:00
Joel Sherrill
a858910778 Incorporated Ralf Corsepius' idea for new -q flags to properly support
"gmake debug".
1998-02-11 22:13:46 +00:00
Joel Sherrill
fc56b90cd3 Don't install tools using variant name. 1998-02-11 21:57:20 +00:00
Joel Sherrill
360930c376 Install size info using "standard" suffix. 1998-02-11 21:56:30 +00:00
Joel Sherrill
2bb990f0a5 Fixed hppa1.1 configuration. 1998-02-11 21:20:43 +00:00
Joel Sherrill
c2c5fc23d8 new test cases 1998-02-11 15:03:38 +00:00
Joel Sherrill
94a6c986f7 new directory structure for hwapi 1998-02-11 14:58:23 +00:00
Joel Sherrill
7175b59b43 hwapi added 1998-02-11 14:50:49 +00:00
Joel Sherrill
9aceddaf7c updates 1998-02-11 14:50:31 +00:00
Joel Sherrill
84b0f7c99d Robin Kirkham reported that the install point was incorrect in this file. 1998-02-10 16:22:57 +00:00
Joel Sherrill
b68e057ebe Fixed to correctly operate on target variants like debug and profile. 1998-02-07 19:56:00 +00:00
Joel Sherrill
e496c1f1ed Should not install build-tools using target variant options. 1998-02-07 19:43:38 +00:00
Joel Sherrill
1e52499574 Updated copyrights 1998-02-06 14:14:30 +00:00
Joel Sherrill
5599d6e9e6 Added @table/@end table capability along with the avdas.d test case where
this capability was first used.
1998-02-06 13:48:44 +00:00
Joel Sherrill
f02ffcaa6a Problem report from Brian Cuthie regarding incorrect calculation
of BSS size.  The conversion from a count of u8's to a count of
u32's was shifting in the wrong direction.  This error had been in
the start code a long time.  It had not caused problems because
the BSS is typically much smaller than the C heap which typically
follows it in memory.  Plus since this code was executed at start
time, all that really happened was an extra zeroing of some memory.
1998-02-06 13:47:09 +00:00
Joel Sherrill
02d19d8123 Added code to more correctly process abstract types (handle, range, etc). 1998-02-05 20:05:26 +00:00
Joel Sherrill
b37137b3ea Removed special ix86-rtems stanza. 1998-02-04 15:56:12 +00:00
Joel Sherrill
7a524954fe Change suggested by Ralf Corsepius:
I am not sure if this is related to this problem, but here is an observation:

  All config.sub scripts from rtems' intrastructure packages internally
  transform i386-rtems into i386-pc-rtems

      newlib-1.8.0-rtems/config.sub i386-rtems --> i386-pc-rtems
      egcs-1.0/config.sub i386-rtems ---> i386-pc-rtems
      egcs-1.0.1/config.sub i386-rtems ---> i386-pc-rtems
      bintutils-2.8.1.0.19/config.sub i386-rtems ---> i386-pc-rtems
      gas-98xxxx/config.sub i386-rtems ---> i386-pc-rtems

  The only exception is rtems itself:

      rtems/config.sub i386-rtems ---> i386-rtems

  I am not sure if this influences i386-rtems + c++/posix, but this indicates
  that rtems' config.sub script should to be updated.
  To fix this, simply copying config.sub e.g. from egcs and removing all
  i[3456]-rtems* case statement lines from configure.in should be sufficient.

  BTW, from autoconf's point of view i386-pc-rtems is the correct target
  conforming autoconf's naming conventions, but using i386-rtems for all
  packages (infrastructure and rtems) should make no difference.
1998-02-04 15:54:31 +00:00
Joel Sherrill
e44e678b45 Cleaned up the definition of CONSOLE_USE_POLLED and CONSOLE_USE_INTERRUPTS. 1998-02-04 15:47:44 +00:00
Joel Sherrill
0312defbeb Patch from Ralf Corsepius to reduce the amount of memory consumed by
the workspace by default.
1998-02-04 15:35:26 +00:00
Joel Sherrill
6c77bbab39 New autoconf feature from Ralf Corsepius:
It adds make rules for reconfiguring build-trees ("make Makefile") and
  adds dependency rules for configure and friends (i.e. calls autoconf).
  Most of this code has been "borrowed" from automake and was adapted to
  rtems.

  Addionally, I added automatic generation of the "aclocal.m4"-file by
  "aclocal" (from the automake package). Therefore I splitted aclocal.m4
  into several separate files (attached to this mail), each containing one
  of rtems customized autoconf/m4-macros and have put them into a new
  subdirectory "aclocal". Normal users won't be influenced and won't even
  need this, unless they try to modify configure.in.

  The main advantage of this is: these aclocal/m4-macros become reusable
  and easier to administer. As a disadvantage, rtems becomes dependent of
  having aclocal/automake installed. To keep building rtems functional if
  autoconf or aclocal isn't installed, the related Makefile commands are
  prefixed by "-" -- only an error message should be issued by "make".
1998-02-04 14:54:27 +00:00
Joel Sherrill
77ea27fc16 Ralf Corsepius noticed that generally was spelled incorrectly. 1998-02-04 14:47:23 +00:00
Joel Sherrill
f00d7add72 Added call to libc_wrapup() in _exit. This fixes a problem where
the atexit routines on the global reentrancy structure were not
invoked.  But it does not seem like a 100% correct solution.
1998-02-03 18:30:05 +00:00
Joel Sherrill
52dd75da50 Corrected spelling error so interrupt driven console would work. 1998-02-03 18:29:05 +00:00
Joel Sherrill
594a413fae Fixed so installed Makefile structure work. 1998-02-02 16:55:57 +00:00
Joel Sherrill
5c3511e5cf Big patch form Ralf Corsepius described in this email:
Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working
  with different shells and relative/absolute paths.

  What I did is relatively simple in principle:
  Instead of setting RTEMS_ROOT in configure.in and then let configure
  substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile
  set RTEMS_ROOT from each Makefile's @top_srcdir@ value.

  The difference is subtile, but with enormous side effects:
  - If RTEMS_ROOT is set in configure, then the same single value will be
  propagated to all Makefiles. This breaks using relative paths, as the
  relative path to the root of the source tree is used inside of all
  subdirectory Makefiles.
  - Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@.  top_srcdir  is
  computed individually by configure for each single Makefile.in, hereby
  receiving the correct value, no matter if relative or absolute paths are
  used.

  To get this working, I needed to remove setting RTEMS_ROOT from
  target.cfg.in, because this overrides the value of RTEMS_ROOT from each
  individual Makefile.


  Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all
  "include $(RTEMS_CUSTOM)" directives with"include
  $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this,
  but I think, to have one variable less is clearer and easier to
  understand than having several variables refering to the next one.


  I enclose a small patch to this mail, which
  - fixes the config.h problem (to finally clearify misunderstands)
  - removes assignment/subsitution of RTEMS_ROOT from configure.in
  - contains a workaround for the application Makefile's RTEMS_ROOT
  problem (reported by Eric)
  - removes some unused lines from the toplevel Makefile.in
  - removes assignment of RTEMS_ROOT from make/target.cfg.in
1998-01-30 21:49:51 +00:00
Joel Sherrill
421dfef68e Corrected Linux port for glibc2 1998-01-30 20:59:22 +00:00
Joel Sherrill
243ce5d741 correction 1998-01-30 20:57:53 +00:00
Joel Sherrill
bb9084dba9 configure.in 1998-01-30 20:57:43 +00:00
Joel Sherrill
b4767da586 Modified output of @Example style in MsWord output routine so it would
be one paragraph with manual line breaks rather than multiple paragraphs..
1998-01-30 19:17:25 +00:00
Joel Sherrill
3a85d03d4e Change to remove warning on glibc2 systems per Ralf Corsepius's
suggestion.
1998-01-28 15:39:30 +00:00
Joel Sherrill
16fc19518a Fix from Eric Norum:
There's an explicit invocation of `make' in c/Makefile.in.  This
  breaks for those of us with different `gmake' and `make' programs.
1998-01-27 20:24:52 +00:00
Joel Sherrill
4da42c64d4 Removed some stanzas per Ralf Corsepius:
> 4) The toplevel Makefile.in contains rules named make_subdir and
  > clean_modules, which probably can be deleted, IMO.
  > At least make_subdir doesn't give any sense anymore. (I had removed it
  > im my original patch).
1998-01-27 14:30:01 +00:00
Joel Sherrill
13331814f7 not submitted 1998-01-27 14:14:20 +00:00
Joel Sherrill
35eb035a15 Fixed missing carriage return at the bottom of the file reported
by Ralf Corsepius
1998-01-27 14:02:21 +00:00
Joel Sherrill
2ece449623 new file 1998-01-26 19:53:28 +00:00
Joel Sherrill
2936b425fd Solaris port updates from Chris Johns 1998-01-23 17:45:05 +00:00
Joel Sherrill
48971e5ed0 Cleaned up a bit. 1998-01-23 17:06:36 +00:00
Joel Sherrill
bd620fe64a Added information about multilib problems. 1998-01-23 17:06:17 +00:00
Joel Sherrill
173c59c841 minor updates .. mostly version 1998-01-23 16:57:29 +00:00
Joel Sherrill
1d01241029 Fixed some "NodeNameIncludesChapterName" problems which were uncovered
doing the HWAPI manual.
1998-01-23 16:56:40 +00:00
Joel Sherrill
4a7c0451ad Reverted change ... 1998-01-22 22:46:55 +00:00
Joel Sherrill
fdff6bf20c Added some GRUB information from Phil Wilshire. 1998-01-22 17:50:27 +00:00
Joel Sherrill
ba02475531 Corrected/simplified setting of RTEMS_ROOT. 1998-01-22 15:20:43 +00:00
Joel Sherrill
9ad1f135fa Added autoconf support for strerror/sys_errlist per Ralf Corsepius'
direction.  This fixes a problem reported by Steve Evans of Radstone
since he is using glibc2.
1998-01-21 18:28:09 +00:00
Joel Sherrill
d73ed76b03 Changed reference from PROJECT_ROOT to RTEMS_ROOT. 1998-01-21 16:50:45 +00:00
Joel Sherrill
419fdf1248 Corrected prototypes for main per Ralf Corsepius' report of warnings
generated when egcs is used with "-Wall -pedantic".
1998-01-21 16:50:18 +00:00
Joel Sherrill
972dc40ea7 Added Code to dop the output in a format which a custom Visual Basic
Application Cindy has written can transform into a nice Word document.
1998-01-21 15:15:12 +00:00
Joel Sherrill
6ab91d9724 Removed warning per Chris Johns' suggestion. 1998-01-20 20:32:15 +00:00
Joel Sherrill
fbaf52eb26 Removed warning per Chris John's suggestion. 1998-01-20 20:31:21 +00:00
Joel Sherrill
cb5bfe40fd Removed CONFIG_DIR and PROJECT_HOME directories. 1998-01-20 19:41:09 +00:00
Joel Sherrill
6d6f1b34e1 Fixed libhwapi to reflect eeprom to non volatile memory rename. 1998-01-20 19:30:48 +00:00
Joel Sherrill
bffb938799 Removed PROJECT_HOME and CONFIG_DIR variables. 1998-01-20 19:30:30 +00:00
Joel Sherrill
3294650cc3 Added _times_r. 1998-01-19 22:31:23 +00:00
Joel Sherrill
866c465f53 more info from Eric 1998-01-19 22:27:56 +00:00
Joel Sherrill
4dc0fd685b Patch from Eric Norum:
With this in place, it is possible to fdopen a TCP stream socket and
  getc/fprintf/etc. on the STDIO stream!
1998-01-19 22:22:25 +00:00
Joel Sherrill
6f9c75c322 Ralf Corsepius reported a number of missing CVS Id's:
> RTEMS is under CVS control and has been since rtems 3.1.16 which was
  > around May 1995.  So I just to add the $Id$.  If you notice other files
  > with missing $Id$'s let me know.  I try to keep w\up with it.

  Now that you have asked -- I'll attach a list of files lacking an RCS-Id to
  this mail. This list has been generated by a little sh-script I'll also
  enclose.
1998-01-16 16:56:48 +00:00
Joel Sherrill
3a7782b09e Jennifer found some uninitialized variables:
+ major and minor number elements in rtems_termios_open.

  + arg->ioctl_return in rtems_termios_ioctl routine.
1998-01-16 15:37:20 +00:00
Joel Sherrill
ecacc1196c Ralf Corsepius <corsepiu@faw.uni-ulm.de> suggested removing these
lines so setting RTEMS_BSP in an environment variable works even
from the top level directory.
1998-01-15 22:51:41 +00:00
Joel Sherrill
2f03a608dc Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de>:
RTEMS_CHECK_FILES_IN uses a sequence of find, sort and sed to collect
  all *.in files in a given subdirectory.

  The current version uses : `find $1 -name $2 -print | sed 's%\.in%%' |
  sort` with $1 being a subdirectory $2 set to Makefile.in.

  This works as long all subdirectories start with a letter that is
  lexically bigger than the letter M, but will fail otherwise.
1998-01-15 22:48:30 +00:00
Joel Sherrill
87904ba261 Error reported by Duncan Smith <dds@flavors.com>:
>> >>There is a 30 day error in  _TOD_Days_since_last_leap_year[2..3]
    >> >
    >> >Thanks.
    >> >What's the condition to hit this error?
    >> >Every year 4n+2 and 4n+3 ?
    >> >(i.e. 1998, 1999, 2002, 2003, ...)
    >> >
    >> OK:  96 97       00 01       04 05 ...
    >> Bad:       98 99       02 03       06 07 ...

There is also a problem in newlib 1.7.x reported at the same time:

  >> I found another, that would strike only on 2/29/2000, or other leapyears.
  >> Only a problem on 1 day.
  >>
  >> Joel:  FYI, there is a bug in Newlib localtime.c, localtime or (_tm_time).
  >> Ours is modified for dst and timezones, but the bug was in original source.
  >> I have not looked at the latest public source (nor do I know where to find
  >> it).
1998-01-15 21:39:15 +00:00
Joel Sherrill
300c8a76ff Added "done" to end of list of BSPs found. 1998-01-15 21:31:37 +00:00
Joel Sherrill
566aea7ddb Fixed code for --disable-rtems-inlines so that it would complete
configuration successfully.

Added code to detect configuring macros and POSIX API at the same time.
There is no macro implementation for the POSIX API.
1998-01-15 20:29:51 +00:00
Joel Sherrill
35a1ec9933 Updates from Eric Norum. Changed CPU CFLAG and went to a common name
for the network driver attach entry point.
1998-01-06 20:18:21 +00:00
Joel Sherrill
2872e0bb1c Changed initial settings of first time. 1998-01-06 15:47:37 +00:00
Joel Sherrill
b2225d72ba Fixed spacing. 1998-01-06 15:40:35 +00:00
Joel Sherrill
2934c3e3d8 Updated for the first time in a long while. 1997-12-23 16:24:21 +00:00
Joel Sherrill
4f7fd59a87 Added CONFIGURE_GNAT_KEYS to correct the number of keys configured
for GNAT.  It was the number of Ada tasks when in fact the run-time
only required a single key.

Also added the CONFIGURE_MAXIMUM_FAKE_ADA_TASKS constant to account
for resources allocated for each non-Ada task/thread which invokes
the Ada run-time implicitly through an Ada call.
1997-12-23 16:03:43 +00:00
Joel Sherrill
ede9a6914b Removed reference to CC_FOR_TARGET since I don't want anyone overriding
it anyway. :)

Added hints about --prefix and --program-prefix options.
1997-12-22 22:40:59 +00:00
Joel Sherrill
fcb114c188 Made --enable-gcc28 the default. 1997-12-22 20:33:55 +00:00
Joel Sherrill
c257ec4eb4 Fixes from Eric Norum. C++ support added in previous version was broken:
1) In my haste to add C++ constructor/destructors to the 68360
   linkcmds scripts I managed to break all existing 68360 programs.
   Linker scripts which actually produce a working executable are
   contained below.  The problem was that the constructor/destructors
   weren't included before the etext symbol.

On top of that Eric and I appear to have problems with attachments:

   2) In deciphering the above problem I think I stumbled across the
   reason you've had with patches mailed from me.  I noticed that the
   linkcmds (and linkcmds.bootp) scripts in the latest distribution have
   a control-M (carriage return) at the end of each line.  Could you
   check the files below before installing them in the distribution and
   see that there aren't returns in the files?  Maybe if I send
   everything as a tar attatchment things will work better.
1997-12-22 18:23:58 +00:00
Joel Sherrill
608641e6d2 Corrected prototypes for all termios console write driver entries to
properly reflect the const on the buffer pointer being passed in.
1997-12-22 17:29:51 +00:00
Joel Sherrill
2ab1b3ac52 Now generating this file with autoconf to avoid having to embed so
much target specific information in the script.
1997-12-22 17:28:32 +00:00
Joel Sherrill
86765accd2 Changed invocation of size_rtems to match new autoconf'ed version. 1997-12-22 17:27:49 +00:00
Joel Sherrill
4bf453a349 Changed from .align to .p2align to avoid differences in meaning of
.align between i386-rtems (real number on .align) and i386-go32-rtems
(power of 2).
1997-12-22 17:27:17 +00:00
Joel Sherrill
6d5769fd35 Added size_rtems as a generated file. 1997-12-22 17:26:19 +00:00
Joel Sherrill
bfa613bdf8 Added lines to build sizeinfo.txt which is automatically generated now
by size_rtems.
1997-12-22 15:06:49 +00:00
Joel Sherrill
8fe6d358bf Moved -qnolinkcmds option so arguments passed on the command line are
interpreted at the right point per Eric Norum's discovery:

    The problem with the my previous `fix' for adding linker commands
    was with the ordering of the options to the linker.

    For example, to make a larger heap size, the application Makefile would
    CFLAGS_LD = -Wl,--defsym -Wl,HeapSize=0x40000

    The command passed to the linker would be :
    m68k-rtems-ld .... -T xxx/linkcmds .... --defsym HeapSize=0x40000 .....

    This doesn't work because the script in linkcmds inserts a default
    value for HeapSize if HeapSize is not defined by the time the linker
    looks at the linkcmds script.

    The solution seems to be to move the -T linkcmds%s in the bsp_specs
    file out of the link specfication and into the lib specification -- a
    little unorthodox, perhaps, but it seems to work!
1997-12-20 16:59:11 +00:00
Joel Sherrill
1587af614b Update from Eric Norum to include C++ support. 1997-12-20 16:37:29 +00:00
Joel Sherrill
f7fa7d76ce Modified bsp_specs per Eric Norum's suggestion to handle -qnolinkcmds
switch which lets the user specify a different linker script.
1997-12-19 14:48:19 +00:00
Joel Sherrill
d637822384 Pass in PROJECT_HOME so rtems-glom can run if the make is invoked
just in this directory.
1997-12-16 19:02:12 +00:00
Joel Sherrill
87cec4844b Changed RTEMS_BSP to RTEMS_BSP_LIST. 1997-12-16 18:40:08 +00:00
Joel Sherrill
9e86f6d6df Corrected minor things including changing RTEMSBSP to RTEMS_BSP. 1997-12-16 18:39:28 +00:00
Joel Sherrill
d2632274d6 Switched command line override variable RTEMSBSP to RTEMS_BSP
and internally generated list of BSPs to RTEMS_BSP_LIST to make
BSP override from the top level directory consistent.
1997-12-16 18:33:45 +00:00
Joel Sherrill
674c900f24 Modified a lot of files to take a first cut at supporting building from
any directory in the build tree.  The only variable which must be set
before the command "gmake" is invoked is RTEMS_BSP (e.g. RTEMS_BSP=erc32).
1997-12-10 16:58:00 +00:00
Joel Sherrill
f99d4f83cc Added missing dependency for libmisc.a based on a bug report by Phil Wilshire. 1997-12-07 16:58:59 +00:00
Joel Sherrill
c436b5b84d Fixed indexing bug reported by Phil Wilshire. 1997-12-07 16:58:13 +00:00
Joel Sherrill
80a16ec48d Redid hwapi makefile search to remove need for -follow option to find.
Avoid generating Makefiles for KA9Q and C++ when they are disabled.
1997-12-06 15:44:46 +00:00
Joel Sherrill
af231b4fde Removed need for -follow option to find. 1997-12-06 15:43:26 +00:00
Joel Sherrill
ccb806c59d Changed the uuencode line to work better with VPATH setups. 1997-12-06 15:12:07 +00:00
Joel Sherrill
01a5f6b2c6 Moved include of rtems/score/cpu.h to make sure TRUE and FALSE were defined.
This simple error resulted in the wrong FP context structure being used
for hardware contexts on the m68k.  This was a difficult problem to find.
1997-12-06 15:09:30 +00:00
Joel Sherrill
b5fe39d2a9 Reworked mkdir line to invoke smaller lines. 1997-12-04 18:38:33 +00:00
Joel Sherrill
744df7952d Added better/more correct support for Linux and Solaris simulators. 1997-12-04 18:38:05 +00:00
Jennifer Averett
3013e18f74 Modified SPARC to PowerPC. Modified specific requirements to be
for the PowerPC instead of the SPARC.
1997-12-02 16:27:15 +00:00
Jennifer Averett
bfad6e21ed Added definations for serial_per_sec, serial_rate, and serial_xon_xoff. 1997-12-02 16:02:45 +00:00
Jennifer Averett
ba2d45e6a7 Modified referances to SPARC to PowerPC. Updated the Information Table to
match the one in CPU.H.  Added spurious_handler and exceptions_in_RAM items.
Added definations for clicks_per_usec, spurious_handler,exceptions_in_RAM,
serial_external_clock, serial_cts_rts, timer_average_overhead, and
timer_least_valid.
1997-12-02 15:38:10 +00:00
Joel Sherrill
7150f00f5b Inclusion of PC386 BSP submitted by Pedro Miguel Da Cruz Neto Romano
<pmcnr@camoes.rnl.ist.utl.pt> and Jose Rufino <ruf@asterix.ist.utl.pt>
of NavIST (http://pandora.ist.utl.pt/).
1997-12-01 22:06:48 +00:00
Joel Sherrill
ba1a2af91e Fixed test for RTEMS_HAS_POSIX_API so the executive POSIX API related
Makefiles would be properly generated.
1997-12-01 21:27:24 +00:00
Joel Sherrill
b9ca4ba9c9 Even more cleanup to make sure all the --enable/disable options avoid
generating Makefiles where possible.

Added code to make sure make/custom file and bsp directory exist for
configured bsps.  This code also accounts for "aliased" BSPs.
1997-12-01 17:07:52 +00:00
Joel Sherrill
f4cec63dfa Since test suite Makefiles are not always generated, use wildcard
to determine which directories to descend into.
1997-11-30 18:36:52 +00:00
Joel Sherrill
0f3936522e Corrected call to rtems_termios_open. 1997-11-30 18:36:13 +00:00
Joel Sherrill
68732ef351 Corrected comment. 1997-11-30 18:35:22 +00:00
Joel Sherrill
1f3ec87f55 Do not generate make/os at install point. 1997-11-30 18:34:29 +00:00
Joel Sherrill
377178181c Serious cleanup to reduce the number of explicitly listed Makefiles,
eliminated autoconf looking for commands which are unused, and reduce the
number of Makefiles generated.
1997-11-30 18:34:11 +00:00
Joel Sherrill
bbb281698f Removed warnings. 1997-11-29 18:21:00 +00:00
Joel Sherrill
b4dfd17e64 Added credit for host.cfg stuff from Ralf Corsepius (corsepiu@faw.uni-ulm.de). 1997-11-29 18:20:36 +00:00
Joel Sherrill
1670eede8b Changes from Ralf Corsepius (corsepiu@faw.uni-ulm.de) to automatically
generate the list of Makefiles in the configure script.
1997-11-29 18:20:04 +00:00
Joel Sherrill
80868140c3 Patch from Chris Johns to filter out the trace bit on CPU models
which have hardware support for a separate interrupt stack.
1997-11-29 17:51:27 +00:00
Joel Sherrill
61fc72c9dc Removed warning. 1997-11-18 22:33:32 +00:00
Joel Sherrill
91daf55291 New file. 1997-11-18 22:33:17 +00:00
Joel Sherrill
c7ca28cf37 Removed warning under linux port. 1997-11-18 22:32:55 +00:00
Joel Sherrill
ce41c5bb62 Removed warnings. 1997-11-18 22:32:38 +00:00
Joel Sherrill
405829bdbf Added argument as required by new version of termios_open. 1997-11-18 22:32:25 +00:00
Joel Sherrill
53cea31742 Fixed assignment to dereference ch. 1997-11-18 22:32:00 +00:00
Joel Sherrill
d54de3fd8a Changed from DOS style CR/LF to Unix style. 1997-11-18 22:31:37 +00:00
Joel Sherrill
cb4cf6a75a Added CONFIGURE_MEMORY_USER_OVERHEAD constant per Chris Johns request. 1997-11-18 22:30:51 +00:00
Joel Sherrill
a50148aff1 Merged code from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to generate
the information in the make/os/XYZ.cfg files using autoconf.
1997-11-18 22:29:32 +00:00
Joel Sherrill
83bb7781d7 Modified to rezongize CPU-rtemsXYZ rather than just CPU-rtems. 1997-11-18 22:28:45 +00:00
Joel Sherrill
b5ddb7486e Submitted by Ralf Corsepius <corsepiu@faw.uni-ulm.de>. 1997-11-18 22:28:13 +00:00
Joel Sherrill
d24ceb38f7 interrupt driven change from Eric Norum 1997-11-15 18:15:36 +00:00
Joel Sherrill
a307f79f17 Fixed prototype 1997-11-10 17:50:50 +00:00
Joel Sherrill
52e1708d71 Set return code to avoid spurious errors. 1997-11-10 17:31:11 +00:00
Joel Sherrill
87926ab663 Test document. 1997-10-31 19:44:42 +00:00
Joel Sherrill
f70c6adca3 New test file. 1997-10-31 19:44:32 +00:00
Joel Sherrill
2744eec495 Replaced the algorithm used to build the texinfo nodes and menus. This
was necessary to fix some bugs and to support the "@subsubsection",
"@raise", and "@lower" commands.  The major known bug was that
single section chapters were not being processed correctly.

Added the -c option so chapter names do not always have to included
in the node names.
1997-10-31 19:44:23 +00:00
Joel Sherrill
5a5bd13bac added katsutoshi Shibuya 1997-10-24 19:29:01 +00:00
Joel Sherrill
51eb8d55a0 Changed prototype of read routine. 1997-10-23 18:49:34 +00:00
Joel Sherrill
87d3d02640 Switched to new style for read support routine. 1997-10-23 18:49:02 +00:00
Joel Sherrill
cfefaa6e9e Added TOD driver from Katsutoshi Shibuya. 1997-10-23 18:48:35 +00:00
Joel Sherrill
51961e4211 Removed GEN68360_INIT. 1997-10-23 18:48:01 +00:00
Joel Sherrill
4106f7f74b Update from Eric Norum. 1997-10-23 18:47:43 +00:00
Joel Sherrill
aa239a7ec2 Updated console driver to use new read routine conventions. 1997-10-23 18:47:23 +00:00
Joel Sherrill
208a922cdf Added TOD code for MVME162 BSP from Katsutoshi Shibuya. 1997-10-23 18:46:03 +00:00
Joel Sherrill
514cf30bb5 Added new test for termios style consoles from Eric Norum. 1997-10-23 15:12:46 +00:00
Joel Sherrill
5993d021dc Added console_reserve_resources. 1997-10-23 15:12:08 +00:00
Joel Sherrill
edd1329f41 Overhauled console driver to use termios and to simultaneously support
both ports.
1997-10-23 15:11:27 +00:00
Joel Sherrill
b628637805 Added prototype for console_reserve_resources. 1997-10-23 15:10:13 +00:00
Joel Sherrill
ee9669fc37 Added termios test. 1997-10-23 15:09:50 +00:00
Joel Sherrill
3ee825e830 fixed comment 1997-10-23 15:00:32 +00:00
Joel Sherrill
118a81295d New termios.c from Eric Norum.
Added new entry point to add in per physical port resource requirements.
1997-10-23 13:13:46 +00:00
Joel Sherrill
3dbcece75a Added test case for rtems_interrupt_catch checking that the pointer
for the returned old_isr_handler was non-NULL.
1997-10-21 18:41:36 +00:00
Joel Sherrill
a18ccfe0a7 Fixed a number of warnings regarding comparisons between signed and
unsigned numbers.
1997-10-21 18:39:49 +00:00
Joel Sherrill
48220699fd Fixed endian problem in printing object names. 1997-10-21 18:39:27 +00:00
Joel Sherrill
a7e2729c61 Converted to termios style device driver. 1997-10-21 18:38:24 +00:00
Joel Sherrill
cdfd74a538 Added check that return argument pointer for old_isr_handler was valid. 1997-10-21 18:37:58 +00:00
Joel Sherrill
d7072e56f5 Moved rtems directory up one directory in the install point. It was
formerly under $(target) and is now at the same level.
1997-10-21 18:37:32 +00:00
Joel Sherrill
97faafa58e Added termios submission from Eric Norum and Katsutoshi Shibuya. 1997-10-21 18:36:48 +00:00
Joel Sherrill
a75c783660 Converted from using a message queue for the raw input queue to using a
ring buffer in conjunction with a counting semaphore.
1997-10-21 17:03:18 +00:00
Joel Sherrill
55e13228e3 Added termios submission from Eric Norum and Katsutoshi Shibuya. 1997-10-21 17:03:17 +00:00
Joel Sherrill
ae35953d04 Added termios submission from Eric Norum and Katsutoshi Shibuya. 1997-10-21 16:18:03 +00:00
Joel Sherrill
4fd617952e Added casts and fixed line break. 1997-10-21 16:17:12 +00:00
Joel Sherrill
f33a3f2a76 Control and Data addresses were swapped for port A. 1997-10-16 21:06:47 +00:00
Joel Sherrill
d17d4d2f6a Moved selection of console port to custom file. 1997-10-15 21:27:00 +00:00
Joel Sherrill
84ff8b7bf9 New version of this file from Eric Norum. 1997-10-13 17:38:18 +00:00
Joel Sherrill
d9fe8e230a Fixed some spacing. 1997-10-09 20:21:43 +00:00
Joel Sherrill
f00108f5f7 Fixed incorrect reference to RTEMS_BSP instead of RTEMS_BSP_FAMILY. 1997-10-09 18:35:02 +00:00
Joel Sherrill
a86443fbac Added search of libcpu and fpsp. 1997-10-09 18:33:46 +00:00
Joel Sherrill
c3a0358161 Renamed mlink to make_subdir.
Removed a junk line.
1997-10-08 20:09:58 +00:00
Joel Sherrill
b54624299a Modified to search RTEMS library before Newlib C library. 1997-10-08 19:52:47 +00:00
Joel Sherrill
58e3dc799a Fix from Eric Norum so FPSP is installed before any FP code is actually
exercise.
1997-10-08 18:25:30 +00:00
Joel Sherrill
89f5f5a1d8 Fix from Eric Norum to assemble under COFF. 1997-10-08 18:23:58 +00:00
Joel Sherrill
7de0960c0b Update from Eric Norum:
Change label names so they can be seen from the debugger.
        Provide a start symbol -- gets rid of a loader warning message.
1997-10-08 18:19:43 +00:00
Joel Sherrill
6fd3979f63 Added comment about using --enable-gcc28 and --enable-libcdir
options together.
1997-10-08 17:57:04 +00:00
Joel Sherrill
98e4ebf594 Fixed typo in the pointer to the license terms. 1997-10-08 15:45:54 +00:00
Joel Sherrill
a2016b9965 Removed include directory at "build" point and the link of this directory
to lib/include.

Went to using a PROJECT_INCLUDE variable.
1997-10-08 14:42:08 +00:00
Joel Sherrill
f05f7045a5 Updated information on building your own application. 1997-10-08 14:06:17 +00:00
Joel Sherrill
f5afb698cd Reworked building of make subdirectory and contents in the object
tree.
1997-10-08 14:05:38 +00:00
Joel Sherrill
0c618b67e3 Redid the installation of the "make" directory at the install point.
It is no longer a link.  It is a copy.
1997-10-07 20:47:49 +00:00
Joel Sherrill
3a321e2310 Fixed some weird line duplications. Thanks to Chris Johns. 1997-10-06 21:32:47 +00:00
Joel Sherrill
ffa6183035 Increased interrupt stack space. 1997-10-06 21:30:16 +00:00
Joel Sherrill
b6770d1662 Fixed comment. 1997-10-06 21:29:29 +00:00
Joel Sherrill
7e4938ca42 Make Post an atomic operation. 1997-10-06 21:28:40 +00:00
Joel Sherrill
d14418b6cb Added _Thread_Enable_dispatch to already_timedout path on Wait_support. 1997-10-06 21:28:18 +00:00
Joel Sherrill
7d5566ec7d Fixed bug where include not actually created. 1997-10-06 21:26:11 +00:00
Joel Sherrill
e8ee2f324c If the specified time period is less than a clock tick, then
it is arbitrarily assumed to be 1 clock tick.
1997-10-05 16:26:04 +00:00
Joel Sherrill
8959fccf62 fixed typo 1997-09-30 14:49:56 +00:00
Joel Sherrill
63cebf6ce8 Fixed typos. 1997-09-30 14:44:28 +00:00
Joel Sherrill
f795ca905a Uncommented gettimeofday_r to resolve missing symbol. 1997-09-21 17:44:50 +00:00
Joel Sherrill
8cd3748d70 Removed duplicate listing of install in MTARGETS.
Add monitor test.
1997-09-21 17:44:14 +00:00
Joel Sherrill
5beb562450 Cleaned up as part of adding the Monitor test. 1997-09-21 16:58:57 +00:00
Joel Sherrill
f37e656d55 Added Monitor test. 1997-09-21 16:57:46 +00:00
Joel Sherrill
8f367d6baa Bug fix from Eric Norum:
After weeks of trying to figure why my RTEMS/KASQ server crashes now
    and then I found a nasty bug I introduced in adding multiple-driver
    support to libio.  The bug only affects `add-on' driver classes (like
    the networking code).  Old-style file descriptors were not affected.

    The bug cleared 32 bytes of memory (unspecified location) whenever a
    `close' of a socket was performed!  I was clearing an IOP I hadn't
    allocated -- and the pointer wasn't initiallized, either!
1997-09-19 18:31:05 +00:00
Joel Sherrill
6b4ca3125e Merged changes from Eric Norum:
Enable 68360 watchdog.  The watchdog control register is a
    `write-once' register, so the watchdog has to be enabled in the boot
    roms if it is to be used at all.  To make the change transparent I
    added a default feed of the watchdog to the clock interrupt handler.
    This can be overridden if the application wants to handle the
    watchdog.  The only difficulty with this change is that an
    application has to either include the clock driver or handle the
    watchdog explicitely.  I don't think this is much of a problem since
    I am pretty sure that almost every application includes the clock
    driver.
1997-09-18 16:01:52 +00:00
Joel Sherrill
a72e3dd1cb updated 1997-09-16 13:08:58 +00:00
Joel Sherrill
fc4675f073 syslog added 1997-09-15 19:01:33 +00:00
Joel Sherrill
8f35817acf eliminated potential for overfilling buffer on read 1997-09-15 18:52:26 +00:00
Joel Sherrill
8d053460ff Fix from Eric Norum. Here is the comment:
Enable SDMA operation during FREEZE.  It seems that
        disabling SDMA during freeze makes the SMC channels
        work erratically.
1997-09-03 22:05:51 +00:00
Joel Sherrill
cf5ef6d52d More specific information on error code. 1997-09-03 15:36:05 +00:00
Joel Sherrill
ad9250cfe3 Fixed IO Manager calls to remove an argument which was used in 3.2.1
but not in newer RTEMS.
1997-08-28 22:23:10 +00:00
Joel Sherrill
e9932367e7 Switched to new style which does not require hackspecs.awk. 1997-08-28 21:54:59 +00:00
Joel Sherrill
de5e24f83f Removed hackspecs.awk in move from -mrtems to -qrtems. 1997-08-28 21:52:27 +00:00
Joel Sherrill
7d352a49b7 Added RTEMS_IO_ERROR status code. 1997-08-28 13:59:41 +00:00
Joel Sherrill
b47be20cf5 Added IO_Error status code and fixed No_Memory error number. 1997-08-28 13:57:29 +00:00
Joel Sherrill
d1b60f0f36 Corrected reference to LIBC_LIBM to work on all targets. 1997-08-27 20:34:23 +00:00
Joel Sherrill
3473f60548 Added error numbers and changed default error code from 0 to -1 for
error number mapping.
1997-08-27 20:33:49 +00:00
Joel Sherrill
f80faebea7 Modified to support the BSP family concept. 1997-08-27 20:33:11 +00:00
Joel Sherrill
49c2f58948 Modified to have correct address for vector table on multiple models. 1997-08-27 20:31:34 +00:00
Joel Sherrill
2a1a547092 Added rule so TARGET_VARIANTS are dependent on the environment stuff. 1997-08-27 20:29:26 +00:00
Joel Sherrill
39ffc7da6d Use own pdir option was reversed. 1997-08-26 19:25:20 +00:00
Joel Sherrill
2d60095868 Patches from Chris Johns to clean up test. 1997-08-26 19:24:22 +00:00
Joel Sherrill
588a2382a2 removed -lm 1997-08-26 19:19:21 +00:00
Joel Sherrill
12a17af309 Corrected to compile with egcs. 1997-08-26 18:10:59 +00:00
Joel Sherrill
5316519a3a Added support for TARGET_VARIANTS. 1997-08-26 18:09:16 +00:00
Joel Sherrill
e63e254e4c Corrected bug per Katsutoshi Shibuya's report:
The definition of "BEGIN_DATA" should not be null; should be ".data".
    Also, the definition of "BEGIN_BSS" should be ".bss".  For this error,
    the compiled object has codes that write on the text segment area.
    It is fatal when the code runs on ROM.
1997-08-22 19:19:07 +00:00
Joel Sherrill
b57992a382 Removed assert condition when not initialized or there are 0 periods. 1997-08-22 19:17:54 +00:00
Joel Sherrill
b1459dc199 Moved reentrant wrappers into their own file. 1997-08-22 19:17:09 +00:00
Joel Sherrill
78d87bd3f3 Fixed iop/memory leak bug reported by Dan Dickey. 1997-08-22 19:16:47 +00:00
Joel Sherrill
8affd6f1fc Removed redundant stanza. 1997-08-22 19:16:22 +00:00
Joel Sherrill
9b1f5678c2 Fixed infinite recursion bug in PTHREAD_MUTEX_INITIALIZER. 1997-08-22 19:11:02 +00:00
Joel Sherrill
799a5b9f8d Added commit about missing support for condition initializer. 1997-08-22 19:10:44 +00:00
Joel Sherrill
2d99737533 start no longer a global symbol per Eric Norum's request.
Also, I ran across a nasty problem the first time I tried
    downloading and running an application compiled with the new
    snapshot.  To make a very long story short, the `start' in
    ...../m68k/gen6860/start360/start360.s must not be global.  The
    change is simple -- just remove the
            .globl start
    from start360.s.
1997-08-22 13:08:56 +00:00
Joel Sherrill
5b9ec35166 Added command line options for next, previous, and up node.
Added error check to insure we don't write over a .texi file given
to us as input.
1997-08-15 16:40:21 +00:00
Joel Sherrill
d074e129e8 Switched to new version of mc68681.h 1997-08-04 22:22:59 +00:00
Joel Sherrill
19fd3340b7 moved mc68230.h from main include directory to motorola 1997-08-04 22:22:31 +00:00
Joel Sherrill
0789abefbc new implementation of mc68681.h 1997-08-04 22:17:17 +00:00
Joel Sherrill
89a3278463 Fixed type 1997-08-04 22:12:39 +00:00
Joel Sherrill
3dd837212a Corrected typo 1997-08-04 22:03:03 +00:00
Joel Sherrill
a397c9c1ac Corrected descent to a hardcoded directory and made it dependent on the cpu model 1997-08-04 21:59:14 +00:00
Joel Sherrill
8bc90517d0 Fixed typo and removed duplicated code 1997-08-04 21:58:30 +00:00
Joel Sherrill
4ef9e99b64 First attempt at values for PPC 1997-08-04 21:58:00 +00:00
Joel Sherrill
50b5f9dbad Trying to support all models 1997-08-04 21:57:06 +00:00
Joel Sherrill
c74169bd6d Trying to support all models. 1997-08-04 21:56:48 +00:00
Joel Sherrill
c9647b37a1 consolex built for all models. 1997-08-04 21:56:00 +00:00
Joel Sherrill
81d965778e moved header files into the motorola and zilog subdirectories 1997-08-04 21:55:30 +00:00
Joel Sherrill
669123e1d3 Correcting difference between mvme162lx and mvme162. All versions have
four serial ports.
1997-08-04 21:53:42 +00:00
Joel Sherrill
02d08803b6 moved header files into the motorola and zilog subdirectories 1997-08-04 21:50:35 +00:00
Joel Sherrill
033ec54463 Modified to reflect changes in mc68681.h header file. 1997-08-04 21:49:47 +00:00
Joel Sherrill
b7396176fd Header files moved into zilog subdirectory. 1997-08-04 21:45:27 +00:00
Joel Sherrill
9b02488484 Moved files into the zilog and motorola subdirectories. 1997-08-04 21:44:05 +00:00
Joel Sherrill
b61e6e1b14 Added GNAT configuration parameters. 1997-08-04 21:43:36 +00:00
Joel Sherrill
7510f18c5b Added include/motorola and include/zilog directories to the
install tree and cleaned up spacing.
1997-08-04 21:42:22 +00:00
Joel Sherrill
c46732c700 Added ppc-rtems as alternative name.
Moved files around in list of Makefile's to better support
--disable-tests option.
1997-08-04 21:41:38 +00:00
Joel Sherrill
28a4b1dc17 moved from main include directory 1997-08-04 21:39:07 +00:00
Joel Sherrill
1f552a0efd Fixed wildcard in copy command. 1997-08-04 20:06:33 +00:00
Joel Sherrill
0e5dd4288c Added comments to help avoid editting generated file. 1997-08-04 20:06:16 +00:00
Joel Sherrill
1ca951cebf Added information based on comments from Katsu Shibuya. 1997-08-04 20:05:48 +00:00
Joel Sherrill
6059e1116d Fixed node links. 1997-08-04 20:04:43 +00:00
Joel Sherrill
6943b0eaf3 removed binary files 1997-08-04 20:04:25 +00:00
Joel Sherrill
b2fed4811d Added these files to contain bodies for routines included in the API
but which did not have real bodies.  This is necessary for languages
like Ada95 which must have real entries in a library for bindings.
1997-08-02 17:55:09 +00:00
Joel Sherrill
30e3029a90 Added conditional for KA9Q. 1997-08-01 20:58:10 +00:00
Joel Sherrill
1f581ec6c2 Added include of termios.h which was accidentally left out. 1997-08-01 20:57:21 +00:00
Joel Sherrill
bcbd75d4b7 Added consolex to wrapup 1997-08-01 20:56:36 +00:00
Joel Sherrill
a7fcfd0f61 Corrected typo. 1997-08-01 20:56:24 +00:00
Joel Sherrill
978a9ba017 Added --enable-gmake-print-directory option and ods68302 bsp. 1997-08-01 20:22:57 +00:00
Joel Sherrill
3f70e3cb93 Corrected typo where "+ " was pasted in from another window.
Added c/src/lib/libbsp/m68k/mvme162/consolex/Makefile to list.
1997-08-01 20:22:29 +00:00
Joel Sherrill
adf7b5c4ba Made to work. 1997-08-01 20:15:02 +00:00
Joel Sherrill
29a9e5d1e2 Removed warnings. 1997-08-01 20:14:57 +00:00
Joel Sherrill
9deb5b8b28 Katsutoshi Shibuya (shibuya@mxb.meshnet.or.jp)of BU-Denken Co., Ltd.
(Sapporo, Japan) submitted the extended console driver for the
MVME162LX BSP and the POSIX tcsetattr() and tcgetattr() routines.
This device driver supports four serial ports, cooked IO, and
provides a portable base for Zilog 8530 based console drivers.
1997-08-01 18:12:11 +00:00
Joel Sherrill
0074691a67 Merged very large and much appreciated patch from Chris Johns
<cjohns@plessey.com.au>.  This patch includes the ods68302 bsp,
the RTEMS++ class library, and the rtems++ test.
1997-07-31 22:13:29 +00:00
Joel Sherrill
91333c27bd Merged very large and much appreciated patch from Chris Johns
<cjohns@plessey.com.au>.  This patch includes the ods68302 bsp,
the RTEMS++ class library, and the rtems++ test.
1997-07-31 22:04:17 +00:00
Joel Sherrill
13f09e64e5 Added support for rtems_message_queue_get_number_pending. 1997-07-31 19:48:23 +00:00
Joel Sherrill
e7d8b58826 Added rtems_message_queue_get_number_pending directive. 1997-07-31 19:01:42 +00:00
Joel Sherrill
a2fa8c2525 Added comment to indicate what the commented out C_PIECES indicated. 1997-07-31 19:01:05 +00:00
Joel Sherrill
b930f43d2d Corrected bug in Makefile 1997-07-31 19:00:09 +00:00
Joel Sherrill
60593076c8 Corrected problem where directories where not being properly created.
Change path to indicate expected snapshot date.
1997-07-31 18:59:59 +00:00
Joel Sherrill
db91520362 corrected typos and changes LANGUAGE to RTEMS-LANGUAGE. 1997-07-31 18:45:58 +00:00
Joel Sherrill
03c8223b96 Added more info. 1997-07-31 18:45:32 +00:00
Joel Sherrill
c3fec1c035 Added info on what data type is expected by the clock_get directive
for the pointer to a "return area"..
1997-07-31 18:44:10 +00:00
Joel Sherrill
d1f19f09db Added rtems_message_queue_get_number_pending directive. 1997-07-31 18:24:06 +00:00
Joel Sherrill
e24e9b5ba5 fixed typo 1997-07-18 15:05:05 +00:00
Joel Sherrill
372a382ab4 Fixed typo of "::" 1997-07-18 15:04:19 +00:00
Joel Sherrill
bb566a02c2 Reordered specs. 1997-07-10 20:24:00 +00:00
Joel Sherrill
0b172df9f0 fixed milliseconds and microseconds to tick conversion routines. 1997-07-10 20:23:27 +00:00
Joel Sherrill
bf3a7a5a9a Added information on different MVME162 models. 1997-07-10 19:16:40 +00:00
Joel Sherrill
487c4f62d3 Strip the trace bit from the SR register when dispatching a thread when
exiting from an ISR. This allows the trace bit to be set on a per task
basis and tracing to be limited to that task.
1997-07-10 19:09:16 +00:00
Joel Sherrill
900a3ab184 Repository damaged -- file re-added 1997-07-09 23:57:56 +00:00
Joel Sherrill
eb14a2ffb2 Repository damaged -- files readded. 1997-07-09 23:55:39 +00:00
Joel Sherrill
a14d2af958 Changed name from entry to thread_entry to be more compatible with
Ada interface where entry is a keyword.
1997-07-09 23:52:08 +00:00
Joel Sherrill
db17316d4c Used macro instead of hard coded number. 1997-07-09 23:51:21 +00:00
Joel Sherrill
2a02b0abd5 Added postswitch extension. 1997-07-09 23:50:45 +00:00
Joel Sherrill
b5fc21c686 Added post switch extension. 1997-07-09 23:50:28 +00:00
Joel Sherrill
2c5d78baee Corrected typos and spacing. 1997-07-09 23:46:59 +00:00
Joel Sherrill
250394f6da Added mvme162lx bsp configuration.
M68040 FPSP was already part of the tree but was not being built.
1997-07-09 23:42:09 +00:00
Joel Sherrill
1d320bac21 This code was in the tree but not actually being compiled. There
were a number of minor problems which had to be fixed to get it
to compile including modifying the compile rule to handle C++ comments,
changing the syntax of the include statement, and getting rid of "%"
as part of register names.
1997-07-09 23:41:20 +00:00
Joel Sherrill
8fabc27347 Added sp, sfc, and fpcsr register defines. 1997-07-09 23:33:08 +00:00
Joel Sherrill
2e6d68c475 Updated to the PowerPC. 1997-07-02 17:54:33 +00:00
Joel Sherrill
ce90366e29 updated to properly reflect powerpc 1997-07-02 17:49:23 +00:00
Joel Sherrill
563f7e0f1c New files -- PowerPC supplement is based on the SPARC supplement.
This version has had some initial work done to convert it to
be PowerPC specific.
1997-07-01 18:39:44 +00:00
Joel Sherrill
85ecda876c This commit was generated by cvs2svn to compensate for changes in r930,
which included commits to RCS files with non-trunk default branches.
1997-06-16 21:30:08 +00:00
Joel Sherrill
a66872f657 base PDL 2 TEXI 1997-06-16 21:30:08 +00:00
Joel Sherrill
d4bc481ded Initial revision 1997-06-16 21:30:07 +00:00
Joel Sherrill
e7f86efe5b new file 1997-06-04 18:54:18 +00:00
Joel Sherrill
139b2e4a00 added CVS Id string 1997-06-04 18:32:07 +00:00
Joel Sherrill
25c5bee547 added CVS Id string 1997-06-04 16:06:28 +00:00
Joel Sherrill
dfce927227 Added CVS Id string 1997-06-04 16:04:51 +00:00
Joel Sherrill
02f19bf5f8 changed version number 1997-06-04 16:04:17 +00:00
Joel Sherrill
bf56ac8608 changed edition and version information 1997-06-04 15:15:59 +00:00
Joel Sherrill
022fbf3e99 Fixed formatting problem where @example did not start early enough. 1997-06-04 15:15:28 +00:00
Joel Sherrill
7e8a1fc947 final corrections before 4.1.0 documentation freeze. 1997-06-04 13:04:36 +00:00
Joel Sherrill
b42675fa4c corrected name of test suite 1997-06-03 23:04:25 +00:00
Joel Sherrill
1e97a20280 fixed comment 1997-06-03 23:00:45 +00:00
Joel Sherrill
0803ab0b7e *** empty log message *** 1997-06-03 23:00:20 +00:00
Joel Sherrill
9b3853a58a Removed configuration information. 1997-06-03 22:58:48 +00:00
Joel Sherrill
430d81a28c new file 1997-06-03 22:57:58 +00:00
Joel Sherrill
08c192b75b Removed Configuration Information. 1997-06-03 22:54:45 +00:00
Joel Sherrill
8640cc9922 new files. 1997-06-03 22:52:39 +00:00
Joel Sherrill
4fd88bce5b Removed configuration information. 1997-06-03 22:52:34 +00:00
Joel Sherrill
5d0f4a56d1 new files 1997-06-03 22:49:47 +00:00
Joel Sherrill
7c49880096 new file. 1997-06-03 22:49:19 +00:00
Joel Sherrill
8ed37e3c2d corrected to compile with the new binding. 1997-06-03 22:47:47 +00:00
Joel Sherrill
1b141533fd Corrected for this test. 1997-06-03 22:40:57 +00:00
Joel Sherrill
2bef691c95 Added correct contents 1997-06-03 22:39:55 +00:00
Joel Sherrill
536324918f new file 1997-06-03 22:38:10 +00:00
Joel Sherrill
2ef9d4a4bc Corrected maximum number of messages to be non-zero 1997-06-03 22:22:52 +00:00
Joel Sherrill
6e98a517dc removed reference to Stub Device Driver 1997-06-03 22:21:18 +00:00
Joel Sherrill
f94917d7f8 Replaced prototype for Last_Task which was accidentally removed when
the Configuration Tables were deleted from the Ada specification.
1997-06-03 22:18:54 +00:00
Joel Sherrill
4606374097 Changed RTEMS.Boolean to Standard.Boolean to avoid typing problems. 1997-06-03 22:16:25 +00:00
Joel Sherrill
e3b4ccde04 Fixed incorrect invocation of Message_Queue_Create 1997-06-03 22:11:55 +00:00
Joel Sherrill
79e0b6fdc7 fixed typo which resulted in Message_Queue_Create being invoked incorrectly. 1997-06-03 22:10:18 +00:00
Joel Sherrill
688ecaa0c0 Fixed calls to Message_Queue_Create to include maximum message size
parameter.
1997-06-03 22:08:59 +00:00
Joel Sherrill
e17ffea657 Changed to variable length messages. 1997-06-03 22:06:49 +00:00
Joel Sherrill
bc35a6ef27 Changed Task_Entry_Point to Task_Entry to be correct per 4.0.0. 1997-06-03 21:48:57 +00:00
Joel Sherrill
1338cdb964 Changed type Task_Entry_Point to Task_Entry to be correct per 4.0.0. 1997-06-03 21:46:18 +00:00
Joel Sherrill
c7f646b5f7 Fixed all references to Semaphore_Create to have the correct
argument sequence.
1997-06-03 21:43:20 +00:00
Joel Sherrill
9db72b4ba8 New file. 1997-06-03 21:39:35 +00:00
Joel Sherrill
4b06706929 new file 1997-06-03 21:27:16 +00:00
Joel Sherrill
b4be04e8dd Removed Configuration Table information. 1997-06-03 20:24:11 +00:00
Joel Sherrill
7b93a327e2 Corrected call to Semaphore_Create to have the proper calling sequence 1997-06-03 20:20:39 +00:00
Joel Sherrill
b67e6ecd2f Removed Configuration Table information 1997-06-03 20:20:23 +00:00
Joel Sherrill
43437e9755 new file 1997-06-03 20:20:10 +00:00
Joel Sherrill
f222e9d452 Removed unnecessary dependency on RTEMS_Test_Support which existed
in the RTEMS Ada implementation but does not exist in this binding.
1997-06-03 19:26:36 +00:00
Joel Sherrill
a1ceec8681 new file 1997-06-03 19:25:56 +00:00
Joel Sherrill
be1618a2c0 removed reference to the Stub Device Driver 1997-06-03 19:21:25 +00:00
Joel Sherrill
d6a9988d25 Changed mode and priority of initialization task. 1997-06-03 19:18:15 +00:00
Joel Sherrill
5687a1e90d Changed attribute of Initialization Task to Floating_Point 1997-06-03 18:38:58 +00:00
Joel Sherrill
ac953f2429 new files 1997-06-03 18:38:40 +00:00
Joel Sherrill
dc300dfc67 new file 1997-06-03 18:37:40 +00:00
Joel Sherrill
82870abbb2 new file 1997-06-03 18:28:38 +00:00
Joel Sherrill
91c78ffd38 Changed from RTEMS.Boolean to Standard.Boolean to avoid problems. 1997-06-03 18:28:23 +00:00
Joel Sherrill
93bd5185c9 new files 1997-06-03 18:07:51 +00:00
Joel Sherrill
6666ea8875 Added True and False constants for RTEMS.Boolean types. This necessitated
making sure every True/False reference was fully qualified.
1997-06-03 18:07:30 +00:00
Joel Sherrill
9bec37b866 Switched to proper types for booleans and increased the stack space
for the tasks in this test.
1997-06-03 18:06:46 +00:00
Joel Sherrill
87e951a21d Added RTEMS boolean constants. 1997-06-03 16:04:00 +00:00
Joel Sherrill
a7156d1368 Modifed to make the test run to completion. Primarily provided
the Buffer type and support routines although some work was
required to account for the directives which required message
size information.
1997-06-03 16:00:00 +00:00
Joel Sherrill
981500206f Commented out exception handling code since these routines are not
called from Ada tasks.  It is questionable whether the exception
handling would work correctly.
1997-06-03 15:40:24 +00:00
Joel Sherrill
4db9c861dc removed with of unchecked_conversion 1997-06-03 15:39:28 +00:00
Joel Sherrill
e351c26a8e sptest.adb: update Semaphore_Create calling sequence
sp12.adb: doubled the initialization task stack size
1997-06-03 15:25:28 +00:00
Joel Sherrill
4c3340ced8 Added Pending_Events and lined up other event constants 1997-06-03 15:22:09 +00:00
Joel Sherrill
c1ef8346c3 Fixed problems which prevented the test from compiling and running to
completion.
1997-06-03 15:12:23 +00:00
Joel Sherrill
d348ad96d5 added more constants and fixed numer 1997-06-03 15:11:39 +00:00
Joel Sherrill
7d366f1c98 changed reference for Configuration Table from BSP to RTEMS. 1997-06-03 00:56:11 +00:00
Joel Sherrill
a6b44a8a63 added Signal constants, Is_Status_Successful, and Attribute constants. 1997-06-03 00:55:42 +00:00
Joel Sherrill
d0f426a1bf *** empty log message *** 1997-06-03 00:34:04 +00:00
Joel Sherrill
7e3dcbc175 added rtems_interrupt_level_attribute routien to return a properly
shifted interrupt_level attribute field and RTEMS_INTERRUPT_MASK.
1997-06-03 00:33:48 +00:00
Joel Sherrill
e56a2ef367 updated to run 1997-06-03 00:32:50 +00:00
Joel Sherrill
f2078ec712 New style main procedure which creates the test's RTEMS initialization task
as an RTEMS task.  This avoid problems resulting from differences in the
tasking mode/priority of Ada tasks from the typical way an RTEMS initialization
task is created.
1997-06-03 00:13:05 +00:00
Joel Sherrill
8e7b8105d6 added subtract of 1 to Task_Number to account for the creation
of the initialization task
1997-06-02 23:47:05 +00:00
Joel Sherrill
ad9865e5f3 *** empty log message *** 1997-06-02 23:46:41 +00:00
Joel Sherrill
d766b7fd8c added Minimum_Stack_Size and Mode constants 1997-06-02 23:46:15 +00:00
Joel Sherrill
529cdccdb2 new file 1997-06-02 22:41:03 +00:00
Joel Sherrill
7f79b6737d readded body for "main" procedures 1997-06-02 22:37:28 +00:00
Joel Sherrill
77ff3d1058 removed configuration table definition in Ada 1997-06-02 22:14:51 +00:00
Joel Sherrill
cf1ced661d new file - automatically generated by a script 1997-06-02 21:53:05 +00:00
Joel Sherrill
196a6b9c35 Changed license and copyright notice.
Added "development" style CVS Id
1997-06-02 21:16:14 +00:00
Joel Sherrill
2b7fc9cce2 New file -- works in conjunction with support/init.c. 1997-06-02 21:12:42 +00:00
Joel Sherrill
b7c2ccc7ce Removed Ada Configuration Table definition. 1997-06-02 20:59:29 +00:00
Joel Sherrill
9917d5da01 added screen files from 3.2.1 1997-06-02 20:57:52 +00:00
Joel Sherrill
f3f06f79c3 added new files from test area.
This code has successfully been used to run sp01.
1997-06-02 20:52:48 +00:00
Joel Sherrill
bf9ae83ac4 modified copyright notice to be the same as RTEMS 4.0.0.
changed the CVS ID string to be a "development" version.
1997-06-02 20:32:11 +00:00
Joel Sherrill
6d4e604be8 Initial revision 1997-06-02 20:19:03 +00:00
Joel Sherrill
a94c5a5d69 Changed bitwise OR's used to build up option and attribute sets
to be correct in either C or Ada.

Added the interrupt disable, enable, flash, and is in progress directives.

changed "97" to "1997"
1997-05-31 15:55:10 +00:00
Joel Sherrill
1499931de9 Changed bitwise OR's used to build up option and attribute sets
to be correct in either C or Ada.

Added the interrupt disable, enable, flash, and is in progress directives.
1997-05-31 15:54:51 +00:00
Joel Sherrill
17a3c690be fixed typos 1997-05-30 22:57:25 +00:00
Joel Sherrill
92c2ae1f30 updated to reflect Ada 1997-05-30 21:15:28 +00:00
Joel Sherrill
b64905a74e new file -- Ada specific 1997-05-30 21:15:20 +00:00
Joel Sherrill
61389eac9f first cut at Ada bindings manual 1997-05-29 21:53:58 +00:00
Joel Sherrill
1ca853b288 updated version number 1997-05-29 21:53:46 +00:00
Joel Sherrill
3a8256db27 first cut at adding an Ada bindings manual 1997-05-29 21:53:39 +00:00
Joel Sherrill
00d2a82897 Added support for context switching the data used by the gcc m68k
software floating point emulation code.  Code implemented by
Karen Sara Looney <Karen.Looney@colorado.edu> with much
email assistance from Joel.
1997-05-28 20:36:35 +00:00
Joel Sherrill
5c995d728c version changed 1997-05-28 20:34:49 +00:00
Joel Sherrill
32cbfa76cb *** empty log message *** 1997-05-28 20:34:15 +00:00
Joel Sherrill
04e5f1c352 updated to add ka9q documents 1997-05-28 20:34:00 +00:00
Joel Sherrill
3dc513e299 4.0.0 release docs 1997-05-28 13:57:50 +00:00
Joel Sherrill
1f0f3e3560 added ka9q stack 1997-05-27 23:39:29 +00:00
Joel Sherrill
7922df5975 changed version number to 4.1.0. 1997-05-27 18:27:59 +00:00
Joel Sherrill
ae68ff0857 Initial revision 1997-05-27 12:40:11 +00:00
Joel Sherrill
a3035e7102 base RTEMS documentation 1997-05-27 12:40:10 +00:00
Joel Sherrill
b65131dc23 This commit was generated by cvs2svn to compensate for changes in r832,
which included commits to RCS files with non-trunk default branches.
1997-05-27 12:40:10 +00:00
Joel Sherrill
f5bd03cf5f KA9Q stack removed prior to testing for 4.0.0 public release. 1997-05-23 21:44:19 +00:00
Joel Sherrill
69df7da3a6 updated to correct problem in decoding arguments provided to configure. 1997-05-22 18:13:24 +00:00
Joel Sherrill
edd127027a patch from Eric Norum 1997-05-21 12:59:40 +00:00
Joel Sherrill
e8cdda4f11 Corrected by adding check for NULL address passed into get_status
directive.
1997-04-25 18:13:49 +00:00
Joel Sherrill
f8f5106965 Added to comment header block to include new status directive. 1997-04-25 18:13:26 +00:00
Joel Sherrill
5ed089672b Updated to point to README.configure for build instructions. 1997-04-25 18:13:00 +00:00
Joel Sherrill
18647b7613 updated to reflect new license per John Gwynne's permission. 1997-04-25 16:58:10 +00:00
Joel Sherrill
8a7fafb384 Updated to reflect changes since 3.6.0 1997-04-23 18:17:01 +00:00
Joel Sherrill
7346e5fc58 incorrect screen name for multiprocessing tests. 1997-04-22 20:43:23 +00:00
Joel Sherrill
0a6fb223b6 Patch from Chris John <cjohns@awa.com.au> to add use of a select statement
in the unix port idle thread task.  This should keep the entire application
from blocking when any component does a blocking application.  Also added
TOD_MICROSECONDS_TO_TICKS.
1997-04-22 20:19:25 +00:00
Joel Sherrill
e0de6ef3ad promote TOD_MICROSECONDS_TO_TICKS through API as RTEMS_MICROSECONDS_PER_TICK. 1997-04-22 20:19:12 +00:00
Joel Sherrill
f254555238 multiprocessing fixed on linux by fixing cpu.c so correct form of
semctl was being invoked.
1997-04-22 19:57:02 +00:00
Joel Sherrill
e71ce0712c updated with new license information per Tony Bennett. 1997-04-22 17:47:16 +00:00
Joel Sherrill
84ff7c236b File changed to reflect change in license and copyright. 1997-04-22 17:42:17 +00:00
Joel Sherrill
03f2154e51 headers updated to reflect new style copyright notice as part
of switching to the modified GNU GPL.
1997-04-22 17:20:27 +00:00
Joel Sherrill
b91726f324 LICENSE file is now only in top directory.
README updated.
1997-04-22 17:04:49 +00:00
Joel Sherrill
c06db39873 incorporated feedback from Mark. 1997-04-22 16:50:29 +00:00
Joel Sherrill
bc1f4343c8 changed license to modified GPL 1997-04-22 13:07:36 +00:00
Joel Sherrill
75a1a9406c corrected some email addresses 1997-04-22 13:06:00 +00:00
Joel Sherrill
784cbc4521 corrected Tony Bennett's email address 1997-04-22 12:59:41 +00:00
Joel Sherrill
5bb2ed0713 Added support for HW API package 1997-04-22 12:39:23 +00:00
Joel Sherrill
d4cf164458 Added support for Hardware API. This will be distributed as a separate
component which can be loaded on top of the RTEMS source tree.
1997-04-22 12:37:11 +00:00
Joel Sherrill
971cd229d1 Corrected spelling of --enable-gcc28 argument 1997-04-18 18:41:51 +00:00
Joel Sherrill
1d61610a78 Modified to reflect change from 255 posix priority levels to 254. 1997-04-18 18:39:01 +00:00
Joel Sherrill
59097e784f Changed format of comment blocks to C comments. 1997-04-18 18:38:19 +00:00
Joel Sherrill
7e7143e223 Duplicated timerisr symbol as _timerisr to avoid tool naming problems. 1997-04-18 18:37:48 +00:00
Joel Sherrill
58ae19abb2 Updated to reflect --enable-gcc28 and --enable-libcdir options. 1997-04-18 18:33:53 +00:00
Joel Sherrill
dda5cf445b Corrected incorrect settings for locations of psx and sp test screens. 1997-04-18 17:50:01 +00:00
Joel Sherrill
e412baeca0 Modifications to add --enable-libcdir and --enable-gcc28. These
trip options which allow the RTEMS makefile structure to support
both gcc 2.7.2.2 and gcc 2.8 whenever that is released.
1997-04-18 12:45:32 +00:00
Joel Sherrill
fb07f40407 Added gen68360_040. 1997-04-17 14:38:27 +00:00
Joel Sherrill
9fbba98c99 Fixed path which points to shared directory for all BSPs. 1997-04-16 17:47:48 +00:00
Joel Sherrill
334b01f17e fixed spacing 1997-04-16 17:46:26 +00:00
Joel Sherrill
f9f375ed0e added fpsp support. 1997-04-16 17:45:52 +00:00
Joel Sherrill
f8f370b645 Update from Eric Norum. 1997-04-16 17:45:35 +00:00
Joel Sherrill
34217ccf59 Updated to reflect Tony Bennett's new email address and the incorporation
of the ka9q stack, m68040 fpsp, gen68360_040 bsp submitted by Eric Norum.
1997-04-16 17:42:20 +00:00
Joel Sherrill
5bf6ffb42f Added FPSP support for MC68040 1997-04-16 17:34:40 +00:00
Joel Sherrill
010e758254 Added CVS Id's 1997-04-16 17:34:23 +00:00
Joel Sherrill
f9b93da8b4 Added the MC68040 Floating Point Support Package. This was ported
to RTEMS by Eric Norum.  It is freely distributable and was acquired
from the Motorola WWW site.  More info is in the FPSP README.
1997-04-16 17:33:04 +00:00
Joel Sherrill
83e39b2631 Added --disable-tcpip option.
Add discussion of the pecularities of the i386-go32-rtems configuration.
1997-04-16 17:31:52 +00:00
Joel Sherrill
6881e0cb4b Reduced number of POSIX thread priorities from 255 to 254 to avoid conflicts
of lowest priority with the RTEMS IDLE thread.  This was causing the lowest
priority GNAT Ada task to never run.
1997-04-15 18:02:18 +00:00
Joel Sherrill
c24fef3e90 Added directories to place test output screens into as part of fixing
difftest.
1997-04-15 18:00:03 +00:00
Joel Sherrill
b1a4ca8446 Added line to install test screens so difftest does not have to have
a path back into the source tree.  This would be better for binary
distributions as well since you now have the correct output at the
install point.
1997-04-15 17:40:38 +00:00
Joel Sherrill
b5847517fc Switched all bsps which had an implementation of sbrk.c which only
returned an error to using a single shared copy of this file.
1997-04-15 17:37:12 +00:00
Joel Sherrill
ecc4594a2e Removed many BSPs' copy of setvec.c and let them share the same
implementation as all m68k BSPs.
1997-04-15 17:28:26 +00:00
Joel Sherrill
bc7d465dcd replaced linking of source from mvme147 drivers with use of vpath to
simply search into that directory and get the necessary files.
1997-04-11 18:41:38 +00:00
Joel Sherrill
18e5d86bb9 removed commented out line performing a link 1997-04-11 18:40:04 +00:00
Joel Sherrill
6bcceb87ab enabled floating point and fixed confdef reference to initialization
tasks table.
1997-04-09 21:00:33 +00:00
Joel Sherrill
61a183a90e new test 1997-04-09 20:19:35 +00:00
Joel Sherrill
dfdaf4acf1 added cpuuse and rtmonuse 1997-04-09 20:19:22 +00:00
Joel Sherrill
c46ce85495 printing task names now instead of id numbers 1997-04-09 20:19:07 +00:00
Joel Sherrill
fc7bc517db new files. 1997-04-09 20:18:54 +00:00
Joel Sherrill
9d5152f121 added rtmonuse and cpuuse directories 1997-04-09 20:07:22 +00:00
Joel Sherrill
8f695a1b67 added cpuuse and rtmonuse directories 1997-04-09 20:07:09 +00:00
Joel Sherrill
e39e6f77cf added code to prevent attempts to clean up the library when rtems is
down.
1997-04-09 20:05:59 +00:00
Joel Sherrill
0956b52390 correct incorrect register addresses for port a. 1997-04-09 20:05:37 +00:00
Joel Sherrill
8c0dc2c8c8 removed unused is_character_ready routine. 1997-04-09 20:05:12 +00:00
Joel Sherrill
3fc076d757 added support for tracking thread cpu usage. 1997-04-09 20:04:52 +00:00
Joel Sherrill
192259f630 enhanced printf statements 1997-04-09 20:04:36 +00:00
Joel Sherrill
48e3459586 corrected spacing. 1997-04-09 20:04:22 +00:00
Joel Sherrill
bbb846b405 added SYSTEM_STATE_SHUTDOWN 1997-04-09 20:03:59 +00:00
Joel Sherrill
eafd6989b7 enhanced rtems_shutdown_executive to insure that no attempt will
be made to shut the system down when it is down.
1997-04-09 20:03:35 +00:00
Joel Sherrill
113ef9fc7e added support for statistics on rate monotonic periods. 1997-04-09 20:02:29 +00:00
Joel Sherrill
0c3cd61642 Rate monotonic period and cpu usage monitor libraries and tests added. 1997-04-09 19:59:17 +00:00
Joel Sherrill
d2afb931a3 blank lines deleted 1997-04-09 19:58:27 +00:00
Joel Sherrill
48d6de3482 Adding missing files. 1997-04-09 14:46:16 +00:00
Joel Sherrill
e2d7955973 Added ka9q tcpip stack and network driver for the gen68360. This effort
was done based on the 3.6.0 release and had to be autoconf'ed locally.
It is turned on is the bsp enables it and it is not explicitly disabled
via the configure option --disable-tcpip.   As many warnings as possible
were removed locally after the code was merged.  Only the gen68360
and mvme136 bsps were compiled this way.

The ka9q port and network driver were submitted by Eric Norum
(eric@skatter.USask.Ca).

The network demo programs are not included in the tree at this point.
1997-04-09 14:05:50 +00:00
Joel Sherrill
bed475e288 added cast to eliminate warning. 1997-04-08 11:53:54 +00:00
Joel Sherrill
f8700f776e corrected printf specifications and added casts as necessary to eliminate
warnings.
1997-04-07 21:33:28 +00:00
Joel Sherrill
de4f2810a7 added ifdef to avoid warning for unused variable. 1997-04-07 21:31:59 +00:00
Joel Sherrill
1c666fcea1 corrected integer only definitions of "FP CHECK" routines to eliminate
warnings.
1997-04-07 21:31:39 +00:00
Joel Sherrill
9ffcaa4a8a changed signed int to unsigned int to eliminate a warning. 1997-04-07 21:30:58 +00:00
Joel Sherrill
bd71da714e removed noreturn attribute to eliminate warnings. 1997-04-07 21:30:42 +00:00
Joel Sherrill
82478528de commented out sccs_id's to eliminate warnings. 1997-04-07 21:30:16 +00:00
Joel Sherrill
dd1d1c7382 added prototype and return statement to eliminate warnings. 1997-04-07 21:29:49 +00:00
Joel Sherrill
f1fc782e5f commented out sccs_id's to eliminate warnings.
main.c: added return statement to eliminate a warning.
1997-04-07 21:29:09 +00:00
Joel Sherrill
318976f8dd removed reference to no_bsp.
added prototypes.
1997-04-07 21:28:21 +00:00
Joel Sherrill
de1d7160c6 commented out sccs_id to eliminate warnings 1997-04-07 21:27:59 +00:00
Joel Sherrill
2938c1a3f3 added or fixed includes of page_table.h to eliminate warnings. 1997-04-07 21:27:22 +00:00
Joel Sherrill
588c9ede55 added cast to eliminate warning 1997-04-07 21:26:49 +00:00
Joel Sherrill
930b3d5c2d added prototype for delay. 1997-04-07 21:26:34 +00:00
Joel Sherrill
3bc409ce61 added global statement for start entry point 1997-04-07 21:26:22 +00:00
Joel Sherrill
437366fdd2 removed noreturn from prototype to avoid warnings. 1997-04-07 21:25:42 +00:00
Joel Sherrill
2bad8aa57c added cast to eliminate warning. 1997-04-07 21:25:21 +00:00
Joel Sherrill
759a9d9edd added return statement to avoid warning. 1997-04-07 21:24:28 +00:00
Joel Sherrill
d6ba279565 added initialization of variable to eliminate warning. 1997-04-07 21:24:02 +00:00
Joel Sherrill
0b508554a8 added include of unistd.h to eliminate warning for no prototype for write(). 1997-04-07 21:23:43 +00:00
Joel Sherrill
c6e895df6e added ifdef around variables to eliminate warnings when cross 1997-04-07 21:22:59 +00:00
Joel Sherrill
12d6f1418a added "ifndef" to avoid redefinition warning. 1997-04-07 21:22:15 +00:00
Joel Sherrill
424ab48994 added volatile to Switch_necessary structure member to avoid warning. 1997-04-07 21:21:55 +00:00
Joel Sherrill
d911f4c2c0 added test to avoid spurious error 1997-04-07 21:21:21 +00:00
Joel Sherrill
4e8c5a6bdc added prototype for missing routine. 1997-04-07 21:20:57 +00:00
Joel Sherrill
d749165100 added "return" to eliminate warning. 1997-04-07 21:20:48 +00:00
Joel Sherrill
2ff1d5498e added "ifndef" to avoid redefinition warning 1997-04-07 21:20:35 +00:00
Joel Sherrill
82ab443e24 added prototypes for two assembly language routines to eliminate warnings. 1997-04-07 21:20:16 +00:00
Joel Sherrill
32ef3dc4f6 commented out sccs_id to eliminate warning. 1997-04-07 21:19:59 +00:00
Joel Sherrill
11259ab7f2 added plea for someone to implement software stack switching for m68000-ish
cores.
1997-04-07 21:19:15 +00:00
Joel Sherrill
77d20fb28d Replaced warning message for cpus which do not have hardware support
for an interrupt stack.  Hopefully this will encourage someone to
implement software stack switching on the m68k.
1997-04-07 21:18:50 +00:00
Joel Sherrill
2e4bc8b434 initialized variable to eliminate warning 1997-04-07 21:17:42 +00:00
Joel Sherrill
94784cf8e5 changed signed int to unsigned to eliminate warning 1997-04-07 21:16:47 +00:00
Joel Sherrill
17c4511e3c added "ifndef" for ASM to avoid redefinition warnings. 1997-04-07 21:16:31 +00:00
Joel Sherrill
872cc62e7f updated to put bsps in alphabetical order 1997-04-07 21:15:24 +00:00
Joel Sherrill
1c24fe7ffc corrected one of the references to an environment variable which
is no longer used since autoconf is in place.
1997-04-02 16:27:05 +00:00
Joel Sherrill
51f5d64cf4 corrected printf format to avoid warning 1997-04-02 16:26:39 +00:00
Joel Sherrill
892a536da9 initialized variables or removed unused variables to remove warnings 1997-04-02 16:26:28 +00:00
Joel Sherrill
475fb331ff disabled posix api for the no_cpu-rtems configuration in configure.in
and regenerated configure.
1997-04-02 15:39:20 +00:00
Joel Sherrill
bbbd11c1eb added Jiri for autoconf'ing 1997-04-02 15:00:52 +00:00
Joel Sherrill
9a11e1ff0d was checking for null cpu_table -- short have been checking configuration
table.
1997-04-02 14:58:19 +00:00
Joel Sherrill
254b445071 This set of changes is the build of what was required to convert to
GNU autoconf.  This is the first large step in allowing an RTEMS
user to perform a one-tree build (per crossgcc FAQ) including RTEMS
in the build process.  With this change RTEMS is configured in
built in the same style as the GNU tools, yet retains the basic
structure of its traditional Makefiles (ala Tony Bennett).
Jiri Gaisler (jgais@wd.estec.esa.nl) deserves (and received)
a big thank you for doing this.

There are still issues to be resolved but as of this commit, all target
which can be built on a linux host have been using a modified version
of the source Jiri submitted.  This source was merged and most targets
built in the tree before this commit.

There are some issues which remain to be resolved but they are primarily
related to host OS dependencies, script issues, the use of gawk
for hack_specs, and the dependence on gcc snapshots.  These will
be resolved.
1997-04-01 23:07:52 +00:00
Joel Sherrill
467eae4da5 Fixed symbols. 1997-03-21 19:20:40 +00:00
Joel Sherrill
1a3e4faccb added decrementer entry. 1997-03-21 19:20:25 +00:00
Joel Sherrill
84e5b57f7b Removed Fake input ifdef code. 1997-03-21 19:19:33 +00:00
Joel Sherrill
691259b774 Fixed timerisr symbol. 1997-03-21 19:18:11 +00:00
Joel Sherrill
e667a0bc88 Rewrote to avoid references to C symbols from assembly. This entirely
circumvents the problem of leading underscores.
1997-03-21 19:17:46 +00:00
Joel Sherrill
51c9fb48df Fixes incorrect reference to start symbol. 1997-03-21 19:17:05 +00:00
Joel Sherrill
d0e126a63d updates from John Gwynne 1997-03-11 15:53:05 +00:00
Joel Sherrill
6335022e20 updates from John Gwynne 1997-03-11 15:42:59 +00:00
Joel Sherrill
c43b34cf34 modified _Chain_Insert_unprotected to have the form required to be used
as the sole statement in an if or else statement
1997-03-11 15:42:14 +00:00
Joel Sherrill
0302021856 swapped increment of _ISR_Nest_level and _Thread_Dispatch_disable_level 1997-03-11 15:41:19 +00:00
Joel Sherrill
1dc3500b21 added include of rtems.h so the proper macro definitions would be present. 1997-03-10 19:38:30 +00:00
Joel Sherrill
41c581549b made some of this conditional on unix lib 1997-03-10 19:38:06 +00:00
Joel Sherrill
a3cfa9f031 initialized a stack variable to avoid a warning. 1997-03-10 19:37:44 +00:00
Joel Sherrill
d627c0c4f7 created. Split getpid() from types.c to allow it to be overridden by
cxe1001 of the ACVC 2.0.1.  This allows gnat/rtems to pass the partition
tests.
1997-03-10 16:57:08 +00:00
Joel Sherrill
fec60e9272 Fixed bug where the initial detachstate was not being set properly 1997-03-10 16:56:08 +00:00
Joel Sherrill
1149658ec0 updated version to 4.0.0 1997-03-08 03:57:09 +00:00
Joel Sherrill
9128179112 added support for posix tests 1997-03-08 03:53:59 +00:00
Joel Sherrill
133fb0e552 Larger Workspace when it is a POSIX API. Actually this is just to cover
the extra stack used when GNAT tasks are in the system.  This needs to be
cleaned up.
1997-03-08 03:53:37 +00:00
Joel Sherrill
f926b34f66 Modified calls to _Thread_Change_priority to take a third argument. The new
argument indicates whether the task is to be placed at the head or tail of
its priority fifo when it is lowering its own priority.  POSIX normally
follows the RTEMS API conventions but GNAT expects that all lowering of
a task's priority by the task itself will result in being placed at the
head of the priority FIFO.  Normally, this would only occur as the result
of lose of inherited priority.
1997-03-08 03:51:55 +00:00
Joel Sherrill
dab057a9b3 Modified calls to _Thread_Change_priority to take a third argument. The new
argument indicates whether the task is to be placed at the head or tail of
its priority fifo when it is lowering its own priority.  POSIX normally
follows the RTEMS API conventions but GNAT expects that all lowering of
a task's priority by the task itself will result in being placed at the
head of the priority FIFO.  Normally, this would only occur as the result
of lose of inherited priority.

The RTEMS API always puts tasks at the end of their priority group except
upon loss of inherited priority.
1997-03-08 03:51:09 +00:00
Joel Sherrill
232d6c1cf1 Removed getpid from this file and made it its own file. This lets it
get replaced as required.
1997-03-08 03:50:17 +00:00
Joel Sherrill
5cdcbd22d1 Added commit to indicate exepcted _Thread_Dispatch_disable_level. Hopefully
no one will ever get confused here again and try to enable dispatching. :(
1997-03-08 03:47:34 +00:00
Joel Sherrill
aea06ed443 Modifications to make go32 build using new i386-go32-rtems toolset
and gcc 2.8.x -specs options.
1997-01-29 15:54:31 +00:00
Joel Sherrill
cd912a09ae new file explaining issues related to this bsp. 1997-01-29 15:35:13 +00:00
Joel Sherrill
f3f238783d Fixed this where it works. It includes the libpc.a and libc.a from
djgpp v1.x.
1997-01-29 15:22:49 +00:00
Joel Sherrill
cb585c3159 erc32 bsp supercedes sis 1997-01-29 00:32:23 +00:00
Joel Sherrill
2a3d1fd2cb Made stopping for the pause an option which can be configured in the
targopts.h file.
1997-01-29 00:31:56 +00:00
Joel Sherrill
551cb1c66c Minor change to eliminate incorrect use of unaligned register. 1997-01-29 00:30:51 +00:00
Joel Sherrill
dcec5a4d60 Merged newlib's libgloss support for rtems into this directory. This
should simplify the build process.
1997-01-29 00:29:25 +00:00
Joel Sherrill
634e746544 All RTEMS system call implementation renamed to be __rtems_*. 1997-01-29 00:28:47 +00:00
Joel Sherrill
2f933718b5 The CONSOLE_USE_INTERRUPTS and CONSOLE_USE_POLLED macros are now
defined in the targopts.h file.
1997-01-29 00:28:30 +00:00
Joel Sherrill
541dfb2a06 Removed definitions which are now in targopts.h. This eliminates the
need for the "sed'ing" of this file.  This should be a significant win
when addressing non-unix host and non-gnu toolsets.
1997-01-29 00:22:24 +00:00
Joel Sherrill
36dbb51561 added type to macro to eliminate warning for untyped use of a register. 1997-01-29 00:21:53 +00:00
Joel Sherrill
3aa50294e8 Added comment. 1997-01-29 00:14:15 +00:00
Joel Sherrill
136b1e2286 Removed defines now handled by targopts.h. 1997-01-29 00:13:50 +00:00
Joel Sherrill
ee7cf7d462 Added include of rtems/score/cpu.h 1997-01-29 00:13:11 +00:00
Joel Sherrill
b918108283 Added include of targopts.h. 1997-01-29 00:13:00 +00:00
Joel Sherrill
985796a39a Changed include of asm.h so it is in brackets not quotes. asm.h is
in a standard location and should be referenced as such.
1997-01-29 00:12:31 +00:00
Joel Sherrill
5ddfa53b08 Fixed spacing on comments. 1997-01-29 00:11:16 +00:00
Joel Sherrill
375a6c0612 Fixed spacing on comment. 1997-01-29 00:10:28 +00:00
Joel Sherrill
860e77a42f Fixed comments.
Fixed so this file can be included from assembly code.
1997-01-29 00:09:49 +00:00
Joel Sherrill
95a1d50860 Added comment. 1997-01-29 00:08:14 +00:00
Joel Sherrill
74468994a8 fixed spacing problem 1997-01-29 00:07:15 +00:00
Joel Sherrill
f7e46cf019 With the transition from command line macro definitions to targopts.h,
it was necessary to include system.h before checking if anything was
defined.
1997-01-28 23:35:01 +00:00
Joel Sherrill
68d887326e removed include of unnecessary include file. 1997-01-28 23:33:40 +00:00
Joel Sherrill
52d99d4a34 Switch to using newlib's implementation of time(). 1997-01-28 23:33:22 +00:00
Joel Sherrill
b1b5a7cb43 new file used by gcc 2.8.x -specs option 1997-01-28 23:16:16 +00:00
Joel Sherrill
fc5e2d7328 fixed comments on vanilla 68000 SW interrupt stack (or the lack thereof) 1997-01-15 20:21:48 +00:00
Joel Sherrill
d135fc52cd _CPU_Trap_Table_area is now conditional based on whether or not
the application requires rtems to allocate a trap table
1997-01-08 16:22:22 +00:00
Joel Sherrill
c6126e57fb removed assert() for stat on non-devices. Now it returns -1. This
makes gnat pass about 55 more tests in the acvc.
1997-01-08 16:21:38 +00:00
Joel Sherrill
1019ae4c4d added some casts to reduce warnings reported by users with Microtec C++
compiler.
1997-01-08 16:20:47 +00:00
Joel Sherrill
0d051533b9 added type definitions for all supported task entry formats 1997-01-08 16:19:47 +00:00
Joel Sherrill
ffe316d526 Suggested changes from Mark Jordan which eliminate warnings and errors
he received using the Microtec C++ compiler.  Most of these are
either missing casts from/to (void *), heavy handed use of enumerated
types, or simply assumed conversions.  There is at least one actual
bug in an error path in thread.c in which the wrong argument was
passed to _Thread_Stack_Free and was not being caught by gcc.
1996-12-02 22:50:33 +00:00
Joel Sherrill
e1a06d1bae Changes to reflect new revision of erc32 per Jiri Gaisler's suggestions.
This is current as of sis 2.6.
1996-12-02 22:47:38 +00:00
Joel Sherrill
6764c84186 minor changes to eliminate warnings from C++ compilers per user suggesstions. 1996-12-02 22:42:30 +00:00
Joel Sherrill
7f96eef797 Replacement for the sis bsp which supports the simulator and real
hardware.  From Jiri Gaisler <jgais@wd.estec.esa.nl>.  Supports sis
2.6 and later.
1996-12-02 22:36:28 +00:00
Joel Sherrill
c766caced2 New bsp for the erc32/sis from Jiri Gaisler <jgais@wd.estec.esa.nl> which
runs on either the real hardware or the sparc instruction simulator.
This bsp requires sis version 2.6 or later.  This bsp supercedes the
sis bsp.
1996-12-02 22:35:22 +00:00
Joel Sherrill
29d8227e6d Updates from Derrick Ostertag <ostertag@transition.com> to fix bug in
interrupt handling.
1996-12-02 19:48:29 +00:00
Joel Sherrill
f4b7e29710 Update from Chris Johns <cjohns@awa.com.au> to add better support for
68000 class CPUs.
1996-12-02 19:43:22 +00:00
Joel Sherrill
331d9e3b91 Added asserts for unhandled conditions which need to result in error
statuses being returned to gnat runtime in order for it to raise
use_errors.  This was needed to identify the places in gnat's runtime
which needed to be addressed.
1996-11-08 20:08:52 +00:00
Joel Sherrill
9e406d983a added ENOSYS support 1996-10-15 21:58:32 +00:00
Joel Sherrill
fe6ef776a7 updated to format of 3.6.0 1996-10-15 21:39:27 +00:00
Joel Sherrill
6c58b6fea3 updated to format of 3.6.0 console drivers 1996-10-15 21:39:15 +00:00
Joel Sherrill
39cafa5c15 updated to format of 3.6.0 clock drivers 1996-10-15 21:39:06 +00:00
Joel Sherrill
27f0d42495 added support for cpu time used field in tcb 1996-10-15 21:38:43 +00:00
Joel Sherrill
f8c63338c3 added cpu time used field to tcb 1996-10-15 21:38:33 +00:00
Joel Sherrill
af999a8f8a added i386ex from Erik Ivanenko 1996-10-15 21:38:16 +00:00
Joel Sherrill
60e2964537 new file 1996-10-15 21:01:55 +00:00
Joel Sherrill
d1dbcab950 reference to Force CPU-386 removed.
added standard comments about driver entries.
1996-10-15 21:00:41 +00:00
Joel Sherrill
752cd8fb98 initial version from Erik 1996-10-15 20:57:04 +00:00
Joel Sherrill
2d0383b60e patches to erc32.h to correct handling of timer mirror from Jiri Gaisler. 1996-10-14 19:17:37 +00:00
Joel Sherrill
355c262c4a i386_nofp cpu model entry incorrectly had floating point enabled. 1996-10-01 17:36:57 +00:00
Joel Sherrill
93bea77b56 changed INLINE to inline since INLINE is no longer defined by RTEMS 1996-09-30 20:16:05 +00:00
Joel Sherrill
855edeca4f fixed incorrect placement of CPU_STRUCTURE_ALIGNMENT macro. 1996-09-30 20:15:01 +00:00
Joel Sherrill
8880e9c7a9 changed version string to 3.6.0 1996-09-30 20:14:27 +00:00
Joel Sherrill
348ba429c0 changed stack size of posix initialization threads to double the minimum
stack size so more of acvc would pass.
1996-09-30 20:14:08 +00:00
Joel Sherrill
6ae41fd035 updated for Release 3.6.0 to reflect status of posix threads. 1996-09-30 20:07:07 +00:00
Joel Sherrill
caf87fd78d data and control addresses were swapped for channel a of the scc 1996-09-27 15:49:44 +00:00
Joel Sherrill
b6082b01f5 added missing word in ACKNOWLEDGEMENTS 1996-09-20 14:25:24 +00:00
Joel Sherrill
1f4f392a5f new files 1996-09-18 22:23:15 +00:00
Joel Sherrill
0836603ae8 new files submitted by Craig Lebakken (lebakken@minn.net) and Derrick Ostertag
(ostertag@transition.com)
1996-09-18 21:13:10 +00:00
Joel Sherrill
7abd27bda1 added cast 1996-09-18 21:07:37 +00:00
Joel Sherrill
c3e3d0766d address arithmetic changed to be more portable 1996-09-18 21:07:14 +00:00
Joel Sherrill
4a5e65186b new test submitted by Craig Lebakken (lebakken@minn.net) and Derrick Ostertag
(ostertag@transition.com)
1996-09-18 21:06:49 +00:00
Joel Sherrill
d6b2bbaf1b new files submitted by Craig Lebakken (lebakken@minn.net) and Derrick Ostertag
(ostertag@transition.com)
1996-09-18 20:56:35 +00:00
Joel Sherrill
5697c2817c pointer arithmetic reworked to be more portable 1996-09-18 20:55:53 +00:00
Joel Sherrill
be95da0e19 casts added to numerous arguments, prototypes corrected, and
proper include files added.
1996-09-18 20:55:13 +00:00
Joel Sherrill
0c35efe816 dummy function added to satisfy ANSI 1996-09-18 20:54:05 +00:00
Joel Sherrill
5e9a59462c modified to support non-GNU compilers and to use calloc rather than
malloc for per-thread reentrancy structure allocation.
1996-09-18 20:53:35 +00:00
Joel Sherrill
1f2d5dfcb3 added malloc_walk
miscellaneous corrections in casting.
1996-09-18 20:52:47 +00:00
Joel Sherrill
b1c215e8ab added prototype for malloc_walk 1996-09-18 20:52:16 +00:00
Joel Sherrill
94218b8ebd loop to clear workspace memory changed to use sizeof rather than
hardcoded 4 to be compatible with CPUs with 64-bit ints
1996-09-18 20:51:48 +00:00
Joel Sherrill
56e0b884f7 corrected prototype of _Objects_Get_next 1996-09-18 20:50:58 +00:00
Joel Sherrill
3861130b35 uses address object rather than direct pointer arithmetic 1996-09-18 20:50:27 +00:00
Joel Sherrill
4944b5bfe5 OBJECTS_NAME_ALIGNMENT definition changed to use sizeof rather than
hardcoded 4 to be compatible with CPUs with 64-bit ints
1996-09-18 20:50:04 +00:00
Joel Sherrill
857c52f90e MP_PACKET_MINIMUN_HETERO_CONVERSION definition changed to use sizeof
rather than hardcoded 4 to be compatible with CPUs with 64-bit ints
1996-09-18 20:49:36 +00:00
Joel Sherrill
533f89f12f modified declaration of CORE_message_queue_Buffer_control to avoid use
of GNU C extension
1996-09-18 20:48:56 +00:00
Joel Sherrill
2069773571 use address object to avoid direct pointer arithmetic 1996-09-18 20:47:39 +00:00
Joel Sherrill
d1193c7e82 corrected white space problems
added CPU_STRUCTURE_ALIGNMENT to default context structures
1996-09-18 20:47:31 +00:00
Joel Sherrill
a4d97d942b new files submitted by Craig Lebakken (lebakken@minn.net) and Derrick Ostertag
(ostertag@transition.com).
1996-09-18 20:45:27 +00:00
Joel Sherrill
5961dbab25 added AMD 29K port 1996-09-18 20:29:00 +00:00
Joel Sherrill
0465d12889 added mvme147s from Dominique le Campion 1996-09-18 14:23:44 +00:00
Joel Sherrill
afe99c27db new file submitted by Dominique le Campion. 1996-09-18 14:17:54 +00:00
Joel Sherrill
cc51de913a extended Task_id and Task_name arrays to avoid indexing past end of array. 1996-09-17 21:38:59 +00:00
Joel Sherrill
1d9d044ec7 Reversed logic in conditional to correctly distinguish between
FIFO and priority disciplines.
1996-09-17 21:33:07 +00:00
Joel Sherrill
41be2e8943 added routine _POSIX_Timespec_subtract 1996-09-17 21:31:30 +00:00
Joel Sherrill
aa48536498 Added code to insure that the post switch extension was executed and
to made signals sent to a particular thread from an ISR operated correctly.
This behavior was required by the exception detection/reporting code
in the gnat runtime.
1996-09-17 21:31:10 +00:00
Joel Sherrill
9093c3c29b Corrected implementation of timed wait on condition variables. First
the timeout is given as a wall-time not an interval as was previously
implemented.  Second, the interpretation of ETIMEDOUT behavior was
incorrect as all possible error cases needed to be checked before
this error was returned.  This caused problems when the wall-time
specified was in the past.
1996-09-17 21:29:51 +00:00
Joel Sherrill
ded66f8f41 added prototype for _POSIX_Timespec_subtract 1996-09-17 21:26:25 +00:00
Mark Johannes
09093ee617 Fixed test to match change to pthread_cond_timedwait which now takes a wall
time.

Commented out calls to pthread_cond_wait and pthread_cond_timedwait without
the mutex locked before calling.
1996-09-12 20:41:27 +00:00
Joel Sherrill
cda277fc4b added $Id$ to file headers
cpu.h: added prototype for _CPU_ISR_Get_level()
1996-09-11 19:16:07 +00:00
Joel Sherrill
0971cd5b5a added $ string to file header 1996-09-11 19:15:09 +00:00
Joel Sherrill
5bb00a8bd3 added $Id$ string to file header 1996-09-11 19:13:44 +00:00
Joel Sherrill
9c0d032e8b new files 1996-09-11 19:12:43 +00:00
Joel Sherrill
b944007b11 added definition of EXT_INT5 1996-09-08 16:24:43 +00:00
Joel Sherrill
3d07c8b71d added mips64orion entries for SHM_LOCK_VALUE and SHM_UNLOCK_VALUE 1996-09-08 16:24:13 +00:00
Joel Sherrill
bdef2d8131 idtmem.S: changed reference to include files to correct location
iface.c: commented out routines now provided by rtems

setvec.c: remov
1996-09-08 16:23:35 +00:00
Joel Sherrill
eaa34e75ae changed reference to include files to correct location 1996-09-08 16:22:29 +00:00
Joel Sherrill
3335420529 moved PTHREAD_MINIMUM_STACK_SIZE from pthread.c to pthread.h so it would be
visible to other files.
1996-09-08 16:22:05 +00:00
Joel Sherrill
e7a36a98b1 Ada task stack size minimize is twice that for regular pthreads. 1996-09-08 16:21:48 +00:00
Joel Sherrill
ed5a518d09 moved PTHREAD_MINIMUM_STACK_SIZE from pthread.c to here so it would be
visible to other files.
1996-09-08 16:21:16 +00:00
Joel Sherrill
d1d3796ce9 changed to reflect status of R4600 work. 1996-09-06 19:57:39 +00:00
Joel Sherrill
8445e57d8c removed need for exceptbdr.h file 1996-09-06 19:57:21 +00:00
Joel Sherrill
f198c63d6a new file for MIPS port by Craig Lebakken (lebakken@minn.net) and
Derrick Ostertag (ostertag@transition.com).
1996-09-06 18:11:41 +00:00
Joel Sherrill
f29032c587 added MIPS port by Craig Lebakken (lebakken@minn.net) and Derrick Ostertag
(ostertag@transition.com).
1996-09-06 18:09:25 +00:00
Joel Sherrill
2ffcc2ed9f modified test to take into account change in default value of
inheritsched pthread attribute from implicit to explicit scheduling
parameters.
1996-09-06 15:17:39 +00:00
Joel Sherrill
7fea679b6f changed _TOD_Is_set from a function to a boolean variable 1996-09-06 15:16:19 +00:00
Joel Sherrill
65c421ffc5 default thread attributes: default value for inheritsched changed from
explicit to inherit scheduler to be consistent with FSU pthreads for gnat.

_POSIX_Threads_Create_extension: now inherit signal blocked mask from
creator if the new thread is a posix thread.

_POSIX_Threads_Initialize_user_threads: make sure posix initialization
threads start with a useful priority.  If they inherit the priority
of the creating thread, they will end up at the same priority as the
idle thread.  Since the idle thread does not yield, they will not run.
1996-09-05 20:45:05 +00:00
Joel Sherrill
297be5c8f1 pthread_mutex_setprioceiling: fixed bug where returned priority was
not converted from core priority to posix priority.
1996-09-05 20:41:10 +00:00
Joel Sherrill
7e230f1032 added printf of status when not successful 1996-09-05 20:31:32 +00:00
Joel Sherrill
9a5cbef006 nanosleep: negative value for tv_sec is no longer an error. It now
is changed into being a 0 delay.
1996-09-05 20:29:07 +00:00
Joel Sherrill
f254b93fd8 nanosleep no longer consider a negative value of tv_sec to be an error.
Instead it is an indication of a request for a small delay.
1996-09-05 20:03:19 +00:00
Joel Sherrill
62bf651fe5 new file to support GNU Ada.
currently the only routine in this file simply returns the minimum stack
size for each thread.
1996-08-29 16:39:01 +00:00
Joel Sherrill
b5c04b68e5 fixed typo .. changed == to != 1996-08-27 15:19:51 +00:00
Joel Sherrill
5a2348090f check that we were passed a valid mutex and ignore errors from the
later pthread_mutex_lock.  This makes our behavior more compatible
with that of FSU pthreads.
1996-08-27 15:19:33 +00:00
Mark Johannes
e4cc41762c Changed all EFAULTS to EINVALs 1996-08-23 15:58:24 +00:00
Mark Johannes
3adf786d12 filled in screen 1996-08-23 15:56:50 +00:00
Mark Johannes
237088cfdf Filled in screen 1996-08-23 15:56:22 +00:00
Mark Johannes
78f5dae669 Filled in the screen 1996-08-23 15:55:02 +00:00
Mark Johannes
e2ceeca77e Added build_time statement to provide a tm for the test 1996-08-23 15:50:53 +00:00
Mark Johannes
257adbab17 Changed test 5 to test 10 at bottom 1996-08-23 15:17:16 +00:00
Mark Johannes
0b710dbbb0 pthread_create: changed EINVAL for no more threads back to EAGAIN 1996-08-23 14:47:58 +00:00
Mark Johannes
df70c6b3b0 Commented out the EINVAL for mutex not acquired befor cond_wait call 1996-08-22 20:18:44 +00:00
Mark Johannes
6702bffccd updated to support ENOTSUP 1996-08-21 15:49:21 +00:00
Mark Johannes
256a462255 Added Einval case for mutex not initialized 1996-08-20 21:41:08 +00:00
Mark Johannes
c5c5f8cb3e Changed all EFAULTs to EINVALs 1996-08-19 15:30:25 +00:00
Mark Johannes
02f041e40b pthread_mutex_init: added error messages for NULL mutex and EBUSY 1996-08-19 15:27:37 +00:00
Joel Sherrill
cd3868cdd3 updates from Tony Bennett (tbennett@divnc.com) 1996-08-15 21:09:02 +00:00
Joel Sherrill
0600e86f61 _Thread_Start_multitasking: added code to initialize the floating point
context of the first thread to execute.
1996-08-15 21:05:21 +00:00
Mark Johannes
9ac3e76569 changed ENOMEM error message 1996-08-15 19:38:46 +00:00
Mark Johannes
7fb19bbb79 init: added tests for pthread_kill and kill errors. 1996-08-15 19:27:08 +00:00
Joel Sherrill
851b18db1f changed error code 1996-08-15 18:59:34 +00:00
Joel Sherrill
fdf6917aaa changed error for too many threads to EAGAIN 1996-08-15 18:59:00 +00:00
Joel Sherrill
f3e191461c clock_gettime: changed assert condition to a standard error code
clock_getres: now checking for a null pointer being passed in
1996-08-15 18:58:09 +00:00
Joel Sherrill
b03ab63061 sched_rr_get_interval: converted assert condition into a standard error
code and added check for a NULL interval being passed in.
1996-08-15 18:57:07 +00:00
Joel Sherrill
57dae56225 added constant to indicate there is no mutex associated with this
condition variable
1996-08-15 18:56:09 +00:00
Mark Johannes
de45ddc655 pthread_kill: fixed the move of SIG_IGN not SA_SIGINFO 1996-08-15 16:29:00 +00:00
Mark Johannes
948721cd19 pthread_kill: moved check for SA_SIGINFO to allow for validation of all
parameters.  Also changed returns to macro of -1 and errno set.
1996-08-15 16:24:44 +00:00
Mark Johannes
48e685ceae fixed typo for NOTSUP -> ENOTSUP 1996-08-15 16:22:59 +00:00
Joel Sherrill
fb7d080c98 pthread_mutex_init returns EAGAIN not ENOMEM when there are too many mutexes. 1996-08-14 20:25:57 +00:00
Joel Sherrill
ac81b6cae6 added test cases for NULL being passed to pthread attribute get routines 1996-08-14 19:41:47 +00:00
Joel Sherrill
ff53a6d4fa added test case for pthread_attr_getscope being passed a NULL contentionscope 1996-08-14 19:30:49 +00:00
Mark Johannes
4e63ae5ae2 commented of ENOTSUP until fixed in newlib 1996-08-14 17:20:45 +00:00
Mark Johannes
aae1c9324a pthread_cond_timedwait: added error cases for abstime 1996-08-14 17:20:03 +00:00
Mark Johannes
87c8fd09ed system.h: added task3 and changed condition variable config to 1 1996-08-14 17:19:03 +00:00
Mark Johannes
b0c483edb9 task3: added to test error case in Wait_support for lock on mutex 1996-08-14 17:18:02 +00:00
Mark Johannes
520949bf98 init: added error case for wait timedwait, and wait support 1996-08-14 17:16:14 +00:00
Joel Sherrill
645fc95482 pthread_attr_setscope: returns ENOTSUP not ENOSYS for unsupport scope 1996-08-14 15:27:14 +00:00
Mark Johannes
dce801df4e pthread_cond_destroy: added enable dispatch to EBUSY case 1996-08-13 21:32:49 +00:00
Mark Johannes
95b76bc02b pthread_codn_destroy: EBUSY case moved and uses Thread_queue_First 1996-08-13 21:10:06 +00:00
Mark Johannes
456b376940 pthread_cond_destroy: EBUSY case now uses Thread_queue_First 1996-08-13 20:50:54 +00:00
Mark Johannes
c53eb2c3e7 removed count from Thread_queue_Control 1996-08-13 20:46:10 +00:00
Mark Johannes
a66fcc57aa removed Thread_queue_Get_number_waiting 1996-08-13 20:43:51 +00:00
Joel Sherrill
392b35ef88 deleted a line for spacing correction 1996-08-13 20:38:30 +00:00
Mark Johannes
48b40d8ba7 _POSIX_Condition_variables_Wait_support: changed status of lock and unlock to return EINVAL is there is an error 1996-08-13 19:53:51 +00:00
Mark Johannes
c8a4ed6d2a task_2: added comments and print statement for task exit 1996-08-13 19:06:45 +00:00
Mark Johannes
1d428a3c16 task_1: added comments and print statement for task exit 1996-08-13 19:06:12 +00:00
Mark Johannes
c9c94387d1 Init.c: added timewait case, added broadcast case 1996-08-13 19:05:27 +00:00
Mark Johannes
76f03c642c _POSIX_Condition_variables_Wait_support: fixed the timeout sequence. 1996-08-13 19:03:29 +00:00
Joel Sherrill
b2e8026e64 fixed spacing 1996-08-13 15:43:12 +00:00
Joel Sherrill
9b67f17052 corrected problem in which sigtimedwait() was being invoked with
the wrong mask.

removed code which was commented out.  This code was in another test.
1996-08-13 15:36:28 +00:00
Joel Sherrill
fc960ab03c chenaged format of output 1996-08-13 15:35:36 +00:00
Joel Sherrill
0d59c7a81f added include of errno.h so the test can check for EINTR. 1996-08-13 14:47:52 +00:00
Joel Sherrill
85f5b4ab06 nanosleep now returns -1 and EINTR when a signal interrupts EINTR. 1996-08-13 14:47:31 +00:00
Joel Sherrill
f48c906895 removed errors for TOD not set yet.
made nanosleep return -1/EINTR for being interrupted for a signal.
1996-08-13 14:24:00 +00:00
Joel Sherrill
aac34f7bbc added page break before sysconf() 1996-08-13 14:23:16 +00:00
Mark Johannes
e9624663a1 task_1: added to handle cases of waiting tasks on condition variables 1996-08-12 21:52:37 +00:00
Mark Johannes
a7f4c5a1ff system.h: added protoypes for task and task2, added mutex id, and task ids 1996-08-12 21:51:44 +00:00
Mark Johannes
aad3fe61d7 Init.c: added cases for signal, wait and broadcast 1996-08-12 21:49:54 +00:00
Mark Johannes
08515de591 Task2: new task for broadcast case 1996-08-12 21:49:14 +00:00
Joel Sherrill
5da2ae8b72 added test cases for clock_getres 1996-08-12 21:15:15 +00:00
Joel Sherrill
1087564111 clock_getres: added error check for NULL pointer being passed in. 1996-08-12 20:59:41 +00:00
Joel Sherrill
3fbfbcd5f4 sleep: wrong page number 1996-08-12 20:48:13 +00:00
Joel Sherrill
702a31c756 removed comment about NO_UNINITIALIZED_WARNINGS since that macro
no longer exists.
1996-08-12 20:08:36 +00:00
Joel Sherrill
221bd65cca added test case for stack too large 1996-08-12 20:00:02 +00:00
Joel Sherrill
5f08fd6179 nanosleep: verify rqtp parameter is non-NULL.
nanosleep: return 0 time remaining for a yield case.
1996-08-12 19:55:09 +00:00
Joel Sherrill
c4f5e752e6 added test cases for clock_gettime (invalid id), clock_settime (invalid_id),
nanosleep (yield cpu), and numerous error cases in nanosleep
1996-08-12 19:54:12 +00:00
Joel Sherrill
d60d9505ca added test case for non-NULL parameter to time() 1996-08-12 19:20:18 +00:00
Joel Sherrill
40cfab477e time: It is not an error if the TOD is not set. 1996-08-12 19:19:03 +00:00
Mark Johannes
9b77fee2bc Wait_support: removed the calls to mutex core to posix status codes 1996-08-12 19:00:12 +00:00
Mark Johannes
3b97b7a083 mutex.h: removes the promotion of core status code to POSXI status codes 1996-08-12 18:58:12 +00:00
Joel Sherrill
1402ee257d fixed spacing ; moved a dummy MP support routine to clean up printout. 1996-08-12 18:56:04 +00:00
Joel Sherrill
c7a9c6675e _POSIX_Mutex_Get: made null id an error 1996-08-12 18:06:27 +00:00
Joel Sherrill
ccdf4c579f pthread_mutex_getprioceiling: added error check for null old_ceiling
pthread_mutex_setprioceiling: added comment indicating an error was
impossible to generate.
1996-08-12 18:05:47 +00:00
Joel Sherrill
d06e9ca36a added numerous error test cases. 1996-08-12 18:04:38 +00:00
Mark Johannes
b1af454f18 mutex.h: promoted out _POSIX_Mutex_From_core_mutex_status 1996-08-12 17:41:37 +00:00
Mark Johannes
af04a79173 _POSIX_Condition_variables_Wait_support: added _POSIX_Mutex_From_core_mutex_status for the two calls to the mutex manager 1996-08-12 17:40:56 +00:00
Mark Johannes
cdcea6ceb6 _POSIX_Condition_variables_Signal_support: added setting mutex back to NULL
if the queue has been emptied of waiting tasks.

_POSIX_Condition_variables_Wait_support: added error check for different mutexesfor the same condition variable.  Also added _Thread_queue_Enter_critical_section
1996-08-12 17:21:04 +00:00
Joel Sherrill
f126ae2a86 pthread_mutexattr_setprioceiling: fixed typo 1996-08-12 17:04:13 +00:00
Joel Sherrill
db8e901180 pthread_mutexattr_setprioceiling: valid priority ceiling check looked at
value in attribute structure instead of passed in priority
1996-08-12 17:02:39 +00:00
Joel Sherrill
684c3c49c3 pthread_mutexattr_getprotocol: added check for attribute structure being
initialized
1996-08-12 16:29:14 +00:00
Mark Johannes
0cd15947c8 Init: added pthread_cond_init with an attr non-NULL, initialized the attr again 1996-08-12 15:15:51 +00:00
Mark Johannes
5263668f6d Init: added prliminary phtread_cond_init and destroy cases. 1996-08-12 14:49:02 +00:00
Mark Johannes
da4e38d98e system.h: added condition variable #define for 10 condition variables 1996-08-12 14:48:13 +00:00
Joel Sherrill
da2e5396d7 added test cases for errors in pthread_mutexattr_getpshared 1996-08-09 21:16:01 +00:00
Joel Sherrill
b9444fb905 added code to catch NULL pointers for return values passed to get routines 1996-08-09 19:58:58 +00:00
Joel Sherrill
13adea03e0 added test cases for EINVAL cases in pthread_mutexattr_destroy 1996-08-09 19:55:04 +00:00
Joel Sherrill
c03aeaffbe added test case for pthread_mutexattr_init being passed a null pointer. 1996-08-09 19:50:26 +00:00
Joel Sherrill
76117f2bd9 changed style of output to match other tests 1996-08-09 19:20:54 +00:00
Mark Johannes
1406a4b661 system.h: initial cvs 1996-08-09 19:10:50 +00:00
Joel Sherrill
c7dd091f65 lowered maximum number of threads to 2 to make test case easier.
include sched.h so test can invoke scheduler routines.
1996-08-09 18:48:33 +00:00
Joel Sherrill
d0b52492cd added test case for sched_yield.
changed format of some output.
1996-08-09 18:47:58 +00:00
Joel Sherrill
f643e23046 added test cases for errors in sched_get_priority_min and
sched_get_priority_max.

added test case for sched_yield.
1996-08-09 18:47:38 +00:00
Joel Sherrill
8699a7008e sched_yield: was not invoking the dispatcher. 1996-08-09 18:45:10 +00:00
Mark Johannes
695dd0b64c Init: added condattr - destroy, init, set and get cases 1996-08-09 18:28:21 +00:00
Joel Sherrill
66dfd0ba6e added test cases for invalid key ids 1996-08-09 17:44:04 +00:00
Joel Sherrill
d858fdbbaf merged remote object id and invalid id error cases. 1996-08-09 17:30:13 +00:00
Joel Sherrill
760ee96da9 reduced maximum keys to 2 to more easily generate error 1996-08-09 16:02:06 +00:00
Joel Sherrill
5b08e20b5e changed printf's which could be puts's to puts 1996-08-09 16:01:50 +00:00
Joel Sherrill
54e34e7a47 new test to test scheduling policy and paremeter paths in pthread_create. 1996-08-08 23:02:13 +00:00
Mark Johannes
13642cbc74 Init: Original file - tests for condition variables. 1996-08-08 22:26:55 +00:00
Joel Sherrill
79f189e26c split test into multiple tasks. 1996-08-08 21:58:26 +00:00
Joel Sherrill
76de65b371 added cases to increase coverage of pthread_create. cases added tested
error paths as well as inherit scheduling attributes.
1996-08-08 21:46:40 +00:00
Joel Sherrill
2b61358815 added test to complete coverage of pthread_setschedparam and increase
coverage of pthread_create
1996-08-08 20:47:49 +00:00
Mark Johannes
8ca831af38 Init: spacing 1996-08-08 19:21:47 +00:00
Mark Johannes
e35157311c Task_1: changed comment and task name to task1. 1996-08-08 19:20:13 +00:00
Mark Johannes
9f1a034e75 Init.c: added priority ceiling task cases. 1996-08-08 19:19:09 +00:00
Mark Johannes
77597ddd32 Added task2 and task3 prototypes and ids 1996-08-08 18:50:39 +00:00
Mark Johannes
481d8f8fa4 Signal_info_handler: added multiple signal cases to finish out the test 1996-08-08 18:44:09 +00:00
Joel Sherrill
4357da1801 changed phrase "RTEMS is support" to "RTEMS is supposed" 1996-08-08 18:27:44 +00:00
Mark Johannes
2a9a479d90 CORE_mutex_Status: added CORE_MUTEX_STATUS_CEILING_VIOLATED to enum 1996-08-08 18:27:11 +00:00
Mark Johannes
567ac4579d _POSIX_signals_Clear_signals: added this routine
_POSIX_signals_Get_highest: changed initial starting signal to SIGHUP, still needs SIGFIRSTNOTRT
1996-08-08 18:24:29 +00:00
Joel Sherrill
8b1c1ae6f0 print_current_time: added leading underscore to variables allocated
inside macros.
1996-08-08 16:53:32 +00:00
Joel Sherrill
66e519c1c1 ERC32_Force_interrupt implementation replaced per Jiri Gaisler's experience
on the real erc32 hardware.
1996-08-08 16:52:24 +00:00
Joel Sherrill
f55d898c6b added ss_high_priority field to support sporadic server. 1996-08-08 16:51:14 +00:00
Joel Sherrill
644c0fa618 added complete test cases for pthread_once. 1996-08-08 16:28:24 +00:00
Mark Johannes
b67f5bfb91 _MPCI_Register_packet_processor: changed protoype first parameter type to MP_packet_Classes 1996-08-08 12:35:20 +00:00
Mark Johannes
6b722e2747 _MPCI_Register_packet_processor: Changed prototype of fist parameter name to the_class 1996-08-08 12:32:50 +00:00
Mark Johannes
3fd3da452b _MPCI_Register_packet_processor: changes first parameter type to MP_packet_Classes 1996-08-08 12:31:01 +00:00
Joel Sherrill
2014063fec sporadic server debugged and working. This required minor changes in all
sporadic server related routines.
1996-08-07 22:06:08 +00:00
Joel Sherrill
ecc912f466 added more error cases to complete testing of pthread_equal when
RTEMS_DEBUG is enabled.
1996-08-07 22:05:15 +00:00
Joel Sherrill
42418a9d3c added test cases for ESRCH from pthread_join and pthread_detach 1996-08-07 22:00:57 +00:00
Joel Sherrill
84b03316d1 removed if 0 for basic sporadic server case accidentally left in. 1996-08-07 21:38:18 +00:00
Joel Sherrill
7e811af1eb basic sporadic server test.
sporadic server with priority ceiling mutex test.
1996-08-07 21:27:25 +00:00
Mark Johannes
a14684c356 _POSIX_Mutex_From_core_mutex_status: added priority ceiling violation case 1996-08-07 20:58:59 +00:00
Mark Johannes
cc757febff _CORE_Mutex_seize: added checks for priority ceiling violation, also added
checks to ensure priority was not lowered.
1996-08-07 20:57:28 +00:00
Joel Sherrill
c123a08496 added complete test cases for pthread_attr_getschedparam,
pthread_attr_setschedparam, and pthread_getschedparam.

added test cases for error paths for pthread_setschedparam.
1996-08-07 15:52:30 +00:00
Joel Sherrill
4bab8e2d35 get_errno: no longer needed by gnat runtime 1996-08-06 17:45:12 +00:00
Mark Johannes
0f99198845 _CORE_mutex_Seize: added change priority case if the mutex was obtained. 1996-08-06 16:26:11 +00:00
Joel Sherrill
a61f1a4682 _POSIX_Threads_Delete_extension: reorder to eliminate use of local pointer
variable before set.

pthread_join: using local variable so user can pass NULL pointer as argument
1996-08-06 16:24:41 +00:00
Mark Johannes
06883e131c POSIX_Mutex_Default_attributes: changed prio_ceiling to maximum priority 1996-08-06 16:24:06 +00:00
Joel Sherrill
b521ae2fa7 pthread_getspecific: use local variable so references to tcb are completed
before enabling dispatching
1996-08-06 16:23:09 +00:00
Joel Sherrill
20de2722aa join/detach basic tests pass 1996-08-02 18:25:16 +00:00
Joel Sherrill
375f37dfda removed unused prototypes 1996-08-02 16:46:56 +00:00
Joel Sherrill
870f2976f4 test successfully exercises all of pthread_attr_* set and get routines 1996-08-01 21:02:54 +00:00
Joel Sherrill
22b4b2e0d2 added page delimiters for comment blocks 1996-08-01 19:24:57 +00:00
Joel Sherrill
16bae520ac added 3 nops following write to wim since a restore following it is
subject to causing unpredictable window underflow/overflows.
1996-08-01 15:06:00 +00:00
Joel Sherrill
c65a0cee2f added key test 1996-07-31 17:17:48 +00:00
Mark Johannes
adae080a0e Fixed default vectors initialization, sigaction which had a redundant
if clause for DFT action.
1996-07-15 14:02:14 +00:00
Joel Sherrill
69c9543543 basic test cases passed 1996-07-04 18:09:23 +00:00
Joel Sherrill
ce78b89451 added test case for timeout using pthread_mutex_timedlock 1996-07-04 17:38:55 +00:00
Joel Sherrill
c6d15c2c26 first test cases for mutex manager pass 1996-07-04 17:01:48 +00:00
Joel Sherrill
e21cf313ca another attempt at the rtems_posix_api ifdef 1996-07-03 14:24:07 +00:00
Joel Sherrill
503dc05890 switched from "STATIC INLINE" to "RTEMS_INLINE_ROUTINE" 1996-07-03 14:20:03 +00:00
Joel Sherrill
5fc0dc11a0 changed version 1996-07-03 14:19:09 +00:00
Joel Sherrill
729c8f2e9d updated for 3.5.17 1996-07-02 18:14:52 +00:00
Joel Sherrill
df8d1440d1 *** empty log message *** 1996-07-02 18:13:59 +00:00
Joel Sherrill
e399e18241 updated to reflect latest gnu tools versions 1996-07-02 17:47:51 +00:00
Joel Sherrill
b7acc57fef updated to reflect 3.5.17 1996-07-02 17:46:34 +00:00
Joel Sherrill
8d7a1d76e2 minor changes to insure the few posix-ish routines needed in non-posix
mode have stubs.
1996-06-18 19:06:58 +00:00
Joel Sherrill
c486e917b3 changed reboot to a macro to avoid the "noreturn returns" warning. 1996-06-18 19:06:19 +00:00
Joel Sherrill
7d74395fe9 corrected typo 1996-06-18 16:43:12 +00:00
Joel Sherrill
f88310da6c initial modifications to test sigtimedwait. 1996-06-15 19:56:19 +00:00
Joel Sherrill
108ef35570 initial modifications to support sigtimedwait. 1996-06-15 19:55:39 +00:00
Joel Sherrill
7f13a93288 fields for init threads stuff said tasks. 1996-06-14 15:49:31 +00:00
Mark Johannes
9e28da4165 sigtimedwait passes initial test cases of timeout and simple satisfaction. 1996-06-13 22:16:47 +00:00
Mark Johannes
36197e539e first successful run. Has test cases for a simple sigtimedwait() timeout,
a sigtimewait() timeout because it was pthread_kill'ed with a blocked
signal, and a sigtimedwait which is satisfied.
1996-06-13 22:16:08 +00:00
Mark Johannes
4334949d02 added maximum_queued_signals to _POSIX_Default_configuration 1996-06-13 21:01:21 +00:00
Joel Sherrill
eb0551f312 added posix configuration parameter maximum_queued_signals. 1996-06-13 20:47:31 +00:00
Joel Sherrill
3a075f5d18 now passing maximum_queued_signals to posix signals manager initialization 1996-06-13 20:46:43 +00:00
Joel Sherrill
c53cfd0f2d added queued signals and cleaned up setting of process wide signals so
it occurs in only one place.
1996-06-13 20:46:15 +00:00
Joel Sherrill
25a882a611 config.h: added maximum_queued_signals.
psignal.h: fixed typo.
1996-06-13 20:45:38 +00:00
Joel Sherrill
022923e468 Added _Thread_Do_post_task_switch_extension variable. 1996-06-13 16:45:51 +00:00
Joel Sherrill
728b5a7bb4 Added a macro for "empty_line" which will go between test cases. 1996-06-13 16:45:11 +00:00
Joel Sherrill
ce0f7d95d6 Added more test cases for kill() and alarm(). kill() now can unblock a
thread which has the signal unblocked.
1996-06-13 16:44:46 +00:00
Joel Sherrill
1b17790ccd Added code so post context switch extensions can be run on every context
switch.  This was needed to support process wide signals.
1996-06-13 16:43:39 +00:00
Joel Sherrill
e89f8cacbf Added include so _POSIX_signals_Manager_initialization is prototyped. 1996-06-13 16:42:51 +00:00
Joel Sherrill
b85649c47b basic test cases for kill() and alarm().
kill() in particular needs more test cases for full coverage.  The search
for a thread interested in this signal has a lot of paths.
1996-06-13 16:42:21 +00:00
Joel Sherrill
7fc3029a59 added prototype for manager initialization routine. 1996-06-13 16:39:28 +00:00
Joel Sherrill
1094754fd9 new files 1996-06-12 22:52:13 +00:00
Joel Sherrill
da4b6e88ed use exit() from newlib by default. 1996-06-12 22:50:03 +00:00
Joel Sherrill
2e0ebd11ad added initialization of posix signal manager. 1996-06-12 22:49:33 +00:00
Joel Sherrill
281ad526b6 basic kill() which send a signal to pthread_self() appears to work. 1996-06-12 22:49:14 +00:00
Joel Sherrill
4a1bc34b8f added waiting for signal state. 1996-06-12 17:45:34 +00:00
Joel Sherrill
2291b71654 initial implementation of blocking signal routines -- sigwait, sigwaitinfo,
sigtimedwait, sigsuspend, and pause.
1996-06-12 17:45:01 +00:00
Joel Sherrill
937808f500 added comment to make sure we add unblock of thread 1996-06-11 22:55:39 +00:00
Joel Sherrill
ea1a5bef17 first attempt at adding algorithm to select the thread which will
receive a process-directed signal.
1996-06-11 22:52:42 +00:00
Joel Sherrill
20d099eabd deleted field for signals_global_pending. 1996-06-11 22:51:59 +00:00
Joel Sherrill
699fe08a25 Added test case which blocks a signal, sees what signals are pending, sends
that same signal to the executing thread, sees what is pending, then unblocks
that signal so the handler can execute.
1996-06-11 20:46:13 +00:00
Joel Sherrill
c8f5ab5d2e tested blocking a signal, sending it to self, then unblocking it.
make minimum stack size for posix threads double that of the cpu's minimum
requirement.
1996-06-11 20:43:55 +00:00
Joel Sherrill
fb39f191da modified to test pthread_kill() to self and pthread_kill() to a blocked
thread.  nanosleep() can be interrupted and return the time remaining.
1996-06-11 16:04:25 +00:00
Joel Sherrill
12aeff91fe Interruptible by signals state was added to the STATES_BLOCKED set. It
can not be part of the locally blocked set since it by itself does not
indicate that the thread is blocked.
1996-06-11 16:03:15 +00:00
Joel Sherrill
98ed15e30f Basic signal functionality appears to work. pthread_kill() can successfully
send signals to the current thread or to another blocked thread.  nanosleep()
can be interrupted by a signal and return the time remaining.

Post switch extension added to dispatch posix signal handlers.
1996-06-11 16:01:37 +00:00
Joel Sherrill
d0baf81b2f new file. 1996-06-11 16:00:06 +00:00
Joel Sherrill
494740cb7f added psignal.h 1996-06-10 21:04:14 +00:00
Joel Sherrill
1ba858d7ea new files.
This test does a basic checkout of signals with a thread-directed signal
(pthread_kill()) used to interrupt a nanosleep().
1996-06-10 20:51:31 +00:00
Joel Sherrill
1e608b0f5a new file 1996-06-10 20:49:21 +00:00
Joel Sherrill
893103c3c2 moved the time macros to pmacros.h. 1996-06-10 20:49:08 +00:00
Joel Sherrill
0f63c8627e added code to _Thread_Clear_state to check if the state was not currently set. 1996-06-10 20:47:56 +00:00
Joel Sherrill
fdec30ba62 first attempt at the routine which vectors signals. 1996-06-10 20:47:23 +00:00
Joel Sherrill
d03f192a21 *** empty log message *** 1996-06-10 20:46:36 +00:00
Joel Sherrill
81daab3e6b added states for "join at exit" and "interruptible by signal" 1996-06-07 15:22:19 +00:00
Joel Sherrill
05ce4e097a changed code which set errno and then returned -1 to use the macro
set_errno_and_return_minus_one.
1996-06-07 15:21:27 +00:00
Joel Sherrill
fa03f083a3 new file 1996-06-07 15:20:55 +00:00
Joel Sherrill
895efd9edc key destructor is now run at correct point in pthread_exit() sequence and
should be correct for other apis as well.

missing page numbers added on some references.

initial attempt at sig_procmask() and pthread_sigmask().
1996-06-07 13:54:23 +00:00
Joel Sherrill
fce2e9dab3 in newlib now 1996-06-06 21:27:33 +00:00
Joel Sherrill
0a359a7af5 added include of <sched.h> and fixed warnings 1996-06-06 19:16:20 +00:00
Joel Sherrill
782bdfd125 Removed assert's from routines which return the error ENOSYS. 1996-06-06 19:09:27 +00:00
Joel Sherrill
09b1f1ad2c patch from Tony Bennett on the ifdef for O_NDELAY 1996-06-06 17:57:39 +00:00
Joel Sherrill
e754dd1df9 process oriented scheduler routines now return ENOSYS 1996-06-06 17:54:37 +00:00
Joel Sherrill
5d9cb7e00f removed timer_getoverrun() since it was also in ptimer.c 1996-06-06 17:24:44 +00:00
Joel Sherrill
0207c55825 Made the implementation of pthread_equal conditional on RTEMS_DEBUG. If
RTEMS is built for debug, then every possible effort is made to validate
the two ids.  Otherwise, a simple comparison is performed.
1996-06-06 15:36:18 +00:00
Joel Sherrill
65a5c1b192 completed pthread_setschedparam. 1996-06-06 15:32:49 +00:00
Joel Sherrill
ebd40c0638 Added Sporadic Server support to posix threads which required changes
in the core to support multiple algorithms to handle cpu time budgetting
which resulted in a change to the calling sequence of _Thread_Initialize.
1996-06-06 14:55:08 +00:00
Joel Sherrill
2f200c7e64 Added Sporadic Server support to posix threads which required changes
in the core to support multiple algorithms to handle cpu time budgetting
which resulted in a change to the calling sequence of _Thread_Initialize.

Makde _Context_Switch_necessary volatile.
1996-06-06 14:55:01 +00:00
Joel Sherrill
624133c6f4 added Sporadic Server support 1996-06-06 14:53:12 +00:00
Joel Sherrill
ed10d76219 added Sporadic_timer field to support sporadic server 1996-06-06 14:52:53 +00:00
Joel Sherrill
7aa4671d91 added cpu_time_budget field to Thread_Control and removed the global variable
_Thread_Ticks_remaining_in_timeslice.
1996-06-05 21:12:06 +00:00
Joel Sherrill
71698522fe fixed spacing 1996-06-05 18:34:48 +00:00
Joel Sherrill
23305a25c3 added support for the api providing the thread stack area 1996-06-05 14:46:04 +00:00
Joel Sherrill
98162c35fb added boolean to indicate whether or not the stack area was provided
by the api.
1996-06-05 14:45:45 +00:00
Joel Sherrill
9b4e549729 renamed Schedule to schedparam in the posix api control information.
reviewed the interpretation of most of the thread attributes.
1996-06-05 14:45:05 +00:00
Joel Sherrill
7189a40297 added comments to to document the definition of posix priority
and how it corresponds to rtems core priority.
1996-06-05 14:44:03 +00:00
Joel Sherrill
09c1e31dc3 added comments to priority.h to document the definition of posix priority
and how it corresponds to rtems core priority.

Schedule was renamed schedparam
1996-06-05 14:43:52 +00:00
Joel Sherrill
2c207d1f84 make PTHREAD_SCOPE_SYSTEM an unsupported value for contentionscope. 1996-06-04 20:36:37 +00:00
Joel Sherrill
65911c32fb made sure _Thread_Enable_dispatch is not invoked in cases
where _Objects_Get failed
1996-06-04 19:50:15 +00:00
Joel Sherrill
56bd4a361b made sure routines which called _Objects_Get also called
_Thread_Enable_dispatch.
1996-06-04 19:48:08 +00:00
Joel Sherrill
230a0dcbb5 added some of the required functionality to pthread_setschedparam and
pthread_getschedparam.
1996-06-04 19:44:16 +00:00
Joel Sherrill
3ff4688cdd clean up pass 1996-06-04 19:20:53 +00:00
Joel Sherrill
6b067c4eda renamed the local variable attrp to the_attr in pthread_create 1996-06-04 19:15:28 +00:00
Joel Sherrill
95645a45e2 added test case for sched_get_priority_min, sched_get_priority_max,
and sched_rr_get_interval.
1996-06-04 19:06:30 +00:00
Joel Sherrill
24adc5bc3d changed sched_rr_get_interval to use the interval to timespec routine. 1996-06-04 19:05:16 +00:00
Joel Sherrill
c48e0ee2b8 added interpretation of scheduling policy and parameter information to
pthread_create

initial implementation of get/set id routines

better argument checking on scheduler functions.
1996-06-04 16:15:59 +00:00
Joel Sherrill
12c77ab080 added scheduling policy and parameter information 1996-06-04 16:14:55 +00:00
Joel Sherrill
15974b65ea added basic test cases for pthread_self and pthread_equal 1996-06-04 14:32:21 +00:00
Joel Sherrill
8f85799226 added thread queue for list of threads waiting to join.
thread is added to join list in pthread_join.

all threads waiting on the join list are flushed when the thread exits.
1996-06-03 22:08:18 +00:00
Joel Sherrill
552a345d97 added thread queue for list of threads waiting to join. 1996-06-03 22:07:14 +00:00
Joel Sherrill
742b399c66 added priority ceiling support 1996-06-03 21:08:26 +00:00
Joel Sherrill
f39b01e676 added an assert if a pthread_t is not the same size as an Objects_Id 1996-06-03 21:08:16 +00:00
Joel Sherrill
e811d68705 deleted POSIX threads typedef masking Thread_Control
added initial version of pthread_detach and pthread_join
1996-06-03 21:06:51 +00:00
Joel Sherrill
4427a6492e deleted POSIX threads typedef masking Thread_Control 1996-06-03 21:06:12 +00:00
Joel Sherrill
fa4fdd7dfd updated screen 1996-06-03 20:15:16 +00:00
Joel Sherrill
e984c64589 added test code for return of remaining time from sleep(). 1996-06-03 18:59:59 +00:00
Joel Sherrill
685f4d65d4 sleep moved into newlibc.c so the sleep.o object would not be in the library.
This implementation of sleep is now only used when the POSIX API is not
configured.
1996-06-03 18:59:24 +00:00
Joel Sherrill
e88b5894f3 added test case for nanosleep filling in the time remaining structure. 1996-06-03 18:28:30 +00:00
Joel Sherrill
a26ee01ca4 nanosleep now fills in the time remaining structure. 1996-06-03 18:27:48 +00:00
Joel Sherrill
5b748a177d renamed _POSIX_Time_Spec_to_interval to _POSIX_Timespec_to_interval 1996-06-03 17:32:19 +00:00
Joel Sherrill
19962562df added test code for nanosleep and return code from sleep. 1996-06-03 16:30:44 +00:00
Joel Sherrill
5ff991e8a5 created ptimer.c and moved the timer_* routines out of time.c into ptimer.c 1996-06-03 16:29:59 +00:00
Joel Sherrill
a38283590c added constant for seconds between posix epoch (1970) and rtems epoch (1988).
Formerly this constant was in the file src/time.c.
1996-06-03 16:29:35 +00:00
Joel Sherrill
f6e6ed8464 changed so this file is usable from assembly files.
no longer uses efi332.h
1996-06-03 15:49:22 +00:00
Joel Sherrill
52a06419cc added ifdef for sunos 4.x since it does not have strtoul. 1996-06-03 15:47:45 +00:00
Joel Sherrill
5e7b6272fc renamed _TOD_Ticks_since_boot as _Watchdog_Ticks_since_boot so the Watchdog
Handler could timestamp the starting and stopping of timers.  Since
TOD is built on top of Watchdog, this avoided a circular dependency.
1996-05-31 23:27:45 +00:00
Joel Sherrill
c238a2189d added checks to validate values passed to set attribute routines 1996-05-31 21:40:48 +00:00
Joel Sherrill
f31da72ce4 fixed typo in merge of Eric Norum's patch 1996-05-31 20:57:17 +00:00
Joel Sherrill
c832429dcd added nanoseconds per second constant 1996-05-31 19:02:13 +00:00
Joel Sherrill
1e665a5716 corrected minor problem in Eric Norum's changes in the bfffo macro. 1996-05-31 19:01:59 +00:00
Joel Sherrill
e72d995a80 moved sleep() from psignal.c to unistd.c
implemented sigemptyset() sigfillset(), sigaddset(), sigdelset(), and
sigismember().

added checks for valid attribute values to some of the pthread_attr_t sets.
1996-05-31 19:01:26 +00:00
Joel Sherrill
b927fba1c4 commented out cancel handlers related items. 1996-05-31 18:59:57 +00:00
Joel Sherrill
285af80408 moved attribute related constants into the rtems specific sys/types.h
file in newlib.
1996-05-31 18:59:31 +00:00
Joel Sherrill
9594cdbd4e added code to test clock and time related functionality. 1996-05-30 20:49:16 +00:00
Joel Sherrill
7c55e065f9 Added nanoseconds constant 1996-05-30 20:48:33 +00:00
Joel Sherrill
5600661d6a First cut at implementing time, clock_gettime, clock_settime, clock_getres,
sleep, and nanosleep.  Does not yet support per process clock, per thread
clock, interruptible sleep (sleep/nanosleep), or time remaining on nanosleep.
1996-05-30 20:48:10 +00:00
Joel Sherrill
b169590e9a added dummy versions of __kill and __getpid which assert(0) so that
applications which use only the rtems api (i.e. not the posix api) will
link.
1996-05-30 20:34:46 +00:00
Joel Sherrill
53fd6e2979 Eric Norum sent in new versions of the inline assembly macros which
do not generate warnings for unitialized variables.
1996-05-30 19:29:01 +00:00
Joel Sherrill
a96a713c57 tests now specify whether they are using rtems initialization tasks
or posix initialization threads
1996-05-30 14:01:33 +00:00
Joel Sherrill
be1c11edab tests now specify whether using posix initialization threads table
or rtems initialization table in configuration table
1996-05-29 22:48:26 +00:00
Joel Sherrill
dd32d883d7 posix initialization threads table was misnamed "posix initialization
tasks table"
1996-05-29 22:46:05 +00:00
Joel Sherrill
7f72217e97 comment clean up 1996-05-29 21:27:26 +00:00
Joel Sherrill
2a98af841e types.c: spacing
psignal.c: kill recognizes SIGABRT and exits to prevent asserts from
recursively occurring because kill was not implemented and asserted.
1996-05-29 21:02:20 +00:00
Joel Sherrill
5240c71c52 fixed support for posix initialization threads table 1996-05-29 20:58:45 +00:00
Joel Sherrill
2197a2e15f simple version of test which shows pthread_create, pthread_exit, and exit
are basically working.  This test will be enhanced further.
1996-05-29 20:56:57 +00:00
Joel Sherrill
cfcfdf0585 added pthread_exit
first posix thread ran
1996-05-29 20:55:05 +00:00
Joel Sherrill
5e0efa2b3a cleaned up spacing and parentheses 1996-05-29 20:50:52 +00:00
Joel Sherrill
d835a35cbd spacing 1996-05-29 19:28:15 +00:00
Joel Sherrill
ece8c9abd3 first cut at pthread_create 1996-05-29 19:28:01 +00:00
Joel Sherrill
9c877c0df6 addressed minimum stack size attribute.
There is a potential problem if setting PTHREAD_STACK_MIN to 0 does not
work with all applications since it is in limit.h over in newlib.  There
is a potential build order issue with newlib needing to know the rtems
cpu dependent stack size minimum.
1996-05-29 18:46:46 +00:00
Joel Sherrill
98849f4487 *** empty log message *** 1996-05-29 16:55:05 +00:00
Joel Sherrill
613cff6f58 removed all ifdef's on NOT_IMPLEMENTED. 1996-05-29 16:54:52 +00:00
Joel Sherrill
e941ea131d added entry point for posix initialization threads to the posix initialization
threads table structure
1996-05-29 16:54:24 +00:00
Joel Sherrill
d9a0689e35 Addressed RTEMS API initialization tasks table in a system without
RTEMS initialization tasks.
1996-05-29 16:07:21 +00:00
Joel Sherrill
0252200299 Gutted test of rtems api calls and added comments to indicate what the test
should do in their place.  It now compiles and links.
1996-05-29 16:06:47 +00:00
Joel Sherrill
99f9dffaf4 Added default POSIX API configuration table. 1996-05-29 16:05:28 +00:00
Joel Sherrill
019bce7917 It is now not an error to have 0 RTEMS initialization tasks since you could
create POSIX initialization threads.
1996-05-29 16:05:06 +00:00
Joel Sherrill
974ff40e57 renamed signal.c to psignal.c to avoid naming problems.
added mp stubs to cond.c and mutex.c to eliminate link errors.

added pthread_exit to pthread.c
1996-05-29 16:04:31 +00:00
Joel Sherrill
c627b2a3a1 split the inclusion of "EXTERN" data based on whether it was sapi,
score, rtems api, or posix api related.
1996-05-28 21:40:52 +00:00
Joel Sherrill
c6fa38c006 added maximum keys 1996-05-28 19:29:51 +00:00
Joel Sherrill
7640525da4 added enumerated constant for the POSIX API as an error source 1996-05-28 19:29:02 +00:00
Joel Sherrill
5a18e047ac added initial set of api extension callouts 1996-05-28 19:28:32 +00:00
Ralf Corsepius
2b4683a156 This commit was generated by cvs2svn to compensate for changes in r311,
which included commits to RCS files with non-trunk default branches.
1996-05-28 17:13:29 +00:00
Ralf Corsepius
bc69a8591f Import from zlib-1.2.4 1996-05-28 17:13:29 +00:00
Joel Sherrill
962c9b65f2 new file 1996-05-28 16:33:11 +00:00
Joel Sherrill
47d6b1400f commented out interrupt support 1996-05-28 16:32:55 +00:00
Joel Sherrill
da33d26358 added ifndef's for the POSIX maximum field in the POSIX api configuration table 1996-05-28 16:18:34 +00:00
Joel Sherrill
d4b4487779 added posix api initialization call to init.c
deleted a blank line in rtemsapi.c
1996-05-28 16:17:01 +00:00
Joel Sherrill
8165b48f51 comment cleanup 1996-05-28 16:16:28 +00:00
Joel Sherrill
52d9e4d1ac added maximum keys 1996-05-28 16:16:11 +00:00
Joel Sherrill
2eba45de91 made posix configuration information conditional so configurations wanting
only the rtems api don't have to include it.
1996-05-28 14:16:45 +00:00
Joel Sherrill
4b06db7558 fixed typo 1996-05-28 13:25:15 +00:00
Joel Sherrill
cb9637246a changed call to _ISR_Enable() to _ISR_Set_level() in _Thread_Handler.
_ISR_Enable() takes the magic cookie expected by the cpu's status register
instead of a simple isr level.
1996-05-28 13:24:58 +00:00
Joel Sherrill
e6d4b1d086 added initial posix configuration support 1996-05-28 13:13:34 +00:00
Joel Sherrill
3320e526ff new file 1996-05-24 22:58:15 +00:00
Joel Sherrill
87a2a7418b changed version to 3.5.17 1996-05-24 22:56:23 +00:00
Joel Sherrill
28fa54d9b9 added Motorola MVME147 BSP submitted by Dominique le Campion
(Dominique.LECAMPION@enst-bretagne.fr), for Telecom Bretagne and
T.N.I. (Brest, France)
1996-05-24 20:34:49 +00:00
Joel Sherrill
356efa36d6 changed joel's email address 1996-05-24 19:57:09 +00:00
Joel Sherrill
5ebc91e1b5 added acknowledgement for Motorola MVME147 from Dominique le Campion
(Dominique.LECAMPION@enst-bretagne.fr), for Telecom Bretagne and
T.N.I. (Brest, France)
1996-05-24 19:56:07 +00:00
Joel Sherrill
94bac46465 new file 1996-05-24 19:35:25 +00:00
Joel Sherrill
6d12f59dd4 updates from Tony Bennett to correct calling sequences. 1996-05-24 19:34:05 +00:00
Joel Sherrill
86fc81e9f3 new files 1996-05-24 19:33:36 +00:00
Joel Sherrill
568ebf32f4 updates to fix typos 1996-05-24 19:32:37 +00:00
Mark Johannes
abd604ae1c new file 1996-05-24 14:25:49 +00:00
Joel Sherrill
6481405e5c added use of sporadic server scheduling parameters 1996-05-24 14:16:24 +00:00
Joel Sherrill
8442b4c7d2 new files 1996-05-24 14:05:02 +00:00
Joel Sherrill
13fcfde55e clean up on DELAYTIMER_MAX 1996-05-23 22:34:18 +00:00
Joel Sherrill
8a318cdf93 new files 1996-05-23 22:23:44 +00:00
Joel Sherrill
3a9fc7dd40 unused variable 1996-05-23 21:51:54 +00:00
Joel Sherrill
73c5da6a41 new files 1996-05-23 21:51:53 +00:00
Joel Sherrill
7303eea9fc new files 1996-05-23 21:23:12 +00:00
Joel Sherrill
1b297b4af2 new files 1996-05-23 21:10:12 +00:00
Joel Sherrill
d1d7e80784 new files 1996-05-23 20:43:04 +00:00
Joel Sherrill
a1c86cbead new files 1996-05-23 20:37:09 +00:00
Joel Sherrill
3d135eeaa9 cleanup 1996-05-23 19:56:49 +00:00
Joel Sherrill
d3fed0a30f new files 1996-05-23 19:54:08 +00:00
Joel Sherrill
02bfc5682e cleanup status vs. result 1996-05-23 19:31:54 +00:00
Joel Sherrill
318ac69029 new files 1996-05-23 19:23:54 +00:00
Joel Sherrill
7af3a82886 new files 1996-05-23 19:09:21 +00:00
Joel Sherrill
f2cb4ac089 new files 1996-05-23 19:04:18 +00:00
Joel Sherrill
57fc51c2fe new files 1996-05-23 18:55:32 +00:00
Joel Sherrill
41e7a1d8f6 new files 1996-05-23 18:43:59 +00:00
Joel Sherrill
9854e33605 updated to reflect more constants and feature macros 1996-05-23 18:08:15 +00:00
Joel Sherrill
8b2ecf8546 updates from Tony Bennett 1996-05-23 15:37:38 +00:00
Joel Sherrill
64b976a960 added code to insure that delay is always non-zero 1996-05-23 15:36:46 +00:00
Joel Sherrill
a6aded4f0d updates from tony bennett 1996-05-23 15:36:08 +00:00
Joel Sherrill
0553a3a1d8 added as example of how to do a bsp which is not in this tree. 1996-05-23 15:35:56 +00:00
Joel Sherrill
a5f56a4398 *** empty log message *** 1996-05-23 15:35:32 +00:00
Joel Sherrill
859f17ce22 invoke thread stack free routine instead of Workspace free. 1996-05-23 15:35:26 +00:00
Joel Sherrill
d196e48590 updates from Tony Bennett.
Broke the setjmp/longjmp pair in the context switch into a separate routine
so no code depended on local variables surviving the jump.
1996-05-23 15:34:54 +00:00
Joel Sherrill
2328475ccd created posix test suite with test of header files 1996-05-22 22:39:47 +00:00
Joel Sherrill
ef006c1e3b Modified to correct variables which defined the range of object classes
which are tasks.
1996-05-22 22:34:18 +00:00
Joel Sherrill
f4719d5aaf These files have been modified in the initial pass at getting the portion
of the POSIX API necessary to support the GNAT runtime to initially compile.
We now have verified that the specifications for the necessary routines
are correct per the POSIX standards we have.
1996-05-22 22:32:39 +00:00
Joel Sherrill
05195890d7 These files have been modified in the initial pass at getting the portion
of the POSIX API necessary to support the GNAT runtime to initially compile.
We now have verified that the specifications for the necessary routines
are correct per the POSIX standards we have.

The removed files were moved to newlib as they were duplicates of files
already included there.
1996-05-22 22:31:51 +00:00
Ralf Corsepius
ad50f41b43 Import from zlib-1.2.4 1996-05-21 20:18:57 +00:00
Ralf Corsepius
cbaa556350 This commit was generated by cvs2svn to compensate for changes in r257,
which included commits to RCS files with non-trunk default branches.
1996-05-21 20:18:57 +00:00
Joel Sherrill
4e684a317e added posix test directory 1996-05-10 20:24:07 +00:00
Joel Sherrill
92262ab412 fixed typo 1996-05-10 20:23:27 +00:00
Joel Sherrill
3e7b167af1 updated to remove workaround for bug in binutils 2.5.2 ld now that we are
up to 2.6
1996-05-08 21:55:41 +00:00
Joel Sherrill
1c964ffab2 *** empty log message *** 1996-05-08 21:53:50 +00:00
Joel Sherrill
bf6661e20d Updated version to 3.5.15. 1996-05-02 14:39:07 +00:00
Joel Sherrill
996a9cb4e2 Updates from Eric Norum. 1996-05-01 15:25:33 +00:00
Joel Sherrill
dce1c1a10a Updates from Eric Norum to use the mcpu32 flags and fix comments. 1996-05-01 15:24:37 +00:00
Joel Sherrill
a4126225c3 changed version number to 3.5.14 1996-04-24 21:21:14 +00:00
Joel Sherrill
11532ca435 Hacked so gld will accept this so we can purge the aout toolset. This change
should be undone when the m68k-coff cross toolset is updated next time.
1996-04-24 20:05:52 +00:00
Joel Sherrill
1543932387 added comment regarding stack alignment issues to thread stack allocation
routine.
1996-04-24 17:36:35 +00:00
Joel Sherrill
d2d6467d13 Lowered number of messages created to reduce burden on workspace. 1996-04-22 23:58:40 +00:00
Joel Sherrill
8389628c1b updates from Tony Bennett 1996-04-22 16:53:46 +00:00
Joel Sherrill
5a36154a60 addition of optional user provided stack allocator means that we can not
reliably produce the "insufficient memory for stack space" error if this
extension is configured.
1996-04-22 16:53:05 +00:00
Joel Sherrill
1f94ed6bfd Updates from Tony Bennett. 1996-04-22 16:50:17 +00:00
Joel Sherrill
34f3d17b24 Updates from Tony Bennett. rtems_environp removed among other minor things. 1996-04-22 16:49:53 +00:00
Joel Sherrill
f5674938bb Fixed so now supports more than 16 nodes. Tested for up to 24 nodes
by Tony Bennett.  Information table is now malloc'ed.
1996-04-22 16:49:25 +00:00
Joel Sherrill
8faca06664 thread.c: added support for optional user provided stack allocator
wkspace.c: made initialization routine a regular subroutine
1996-04-22 16:46:36 +00:00
Joel Sherrill
6365f81898 made initialization routine a regular subroutine 1996-04-22 16:46:00 +00:00
Joel Sherrill
a155b3c52d interr.h: added stack allocater error code
wkspace.h: made initialization routine a regular subroutine
1996-04-22 16:45:47 +00:00
Joel Sherrill
cc4c1fe424 added stack allocation fields to the cpu table
updates from Tony Bennett.  Most were to insure all variables were properly
initialized and to correct the stray signal number reporting.
1996-04-22 16:44:54 +00:00
Joel Sherrill
96981e3ae6 added stack allocation fields to the cpu table 1996-04-22 16:44:04 +00:00
Joel Sherrill
9a1ccb3595 added stack allocation fields to the cpu table
added CPU_M68K_EXTB_L model flag
1996-04-22 16:43:44 +00:00
Joel Sherrill
f581163abd added stack allocation fields to the cpu table 1996-04-22 16:30:30 +00:00
Joel Sherrill
d0b7c4e61e updartes from Tony Bennett 1996-04-22 16:30:02 +00:00
Joel Sherrill
767a6c614c swapped order of operands on a movw to fix LOAD_SEGMENTS macro 1996-04-20 16:48:30 +00:00
Joel Sherrill
debe9195ce event.c: _Event_Manager_initialization no longer a static inline
sem.c: modified to eliminate Purify warnings
1996-04-19 21:10:58 +00:00
Joel Sherrill
78b2ff196b _Event_Manager_initialization no longer a static inline 1996-04-19 21:10:38 +00:00
Joel Sherrill
c26b62f992 event.h: _Event_Manager_initialization no longer a static inline 1996-04-19 21:10:32 +00:00
Joel Sherrill
8f9e9bdc07 event.h: _Event_Manager_initialization no longer a static inline
support.h:  updated to use RTEMS_APPLICATION macro
1996-04-19 21:10:27 +00:00
Joel Sherrill
3b76313da9 modified to generate fatal error when an unconfigured directive is invoked. 1996-04-19 21:09:20 +00:00
Joel Sherrill
f4d52cd74c changes to compile in macro configuration without warnings. 1996-04-19 19:36:59 +00:00
Joel Sherrill
8cf884279f minor mods to get to compile locally 1996-03-21 20:20:40 +00:00
Joel Sherrill
487a7ca5f7 some instructions altered for older binutils 1996-03-21 20:20:27 +00:00
Joel Sherrill
99e7cbbb48 updated 1996-03-21 20:20:13 +00:00
Joel Sherrill
14966f8153 *** empty log message *** 1996-03-21 20:19:55 +00:00
Joel Sherrill
f398452a64 updated for 68302 and so gen68360 bsp would compile 1996-03-21 20:19:33 +00:00
Joel Sherrill
d08b1c758f update to reflect internal threads reorganization 1996-03-21 20:19:03 +00:00
Joel Sherrill
f99538d871 updated to reflect gen68360 from Eric Norum. 1996-03-21 20:18:05 +00:00
Joel Sherrill
bdf531ee7f include of mc68360.h changed to m68360.h to reflect filename change. 1996-03-06 22:25:11 +00:00
Joel Sherrill
110f4ff717 Added 68360 support submitted by W. Eric Norum (eric@skatter.usask.ca).
Also increased minimum stack size from 1K to 2K.
1996-03-06 22:23:56 +00:00
Joel Sherrill
457b6ae167 Generic 68360 BSP (gen360) submitted by: W. Eric Norum <eric@skatter.usask.ca>.
Contact information:

    W. Eric Norum
    Saskatchewan Accelerator Laboratory
    107 North Road
    University of Saskatchewan
    Saskatoon, Saskatchewan, CANADA
    S7N 5C6
1996-03-06 22:01:11 +00:00
Joel Sherrill
e6424462c3 As part of reducing visibility into rtems and hiding the .inl files
from the application code, this file required more visibility than
is given by default to application code.
1996-03-06 21:37:43 +00:00
Joel Sherrill
1a8fde6ca2 Removed prototyes for static inline routines and moved the comments into
the inline implementation.   The impetus for this was twofold.  First,
it is incorrect to have static inline prototypes when using the macro
implementation.  Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.

Next we restricted visibility for the inline routines to inside the
executive itself EXCEPT for a handful of objects.  This reduced the
number of include files included by rtems.h by 40 files and reduced
the lines in the include files seen by rtems.h by about 6000 lines.

In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation 10 morgana.
1996-03-06 21:34:57 +00:00
Joel Sherrill
8e76546421 Removed prototyes for static inline rgutines and moved the comments into
the inline implementation.   The impetus for this was twofold.  First,
it is incorrect to have static inline prototypes when using the macro
implementation.  Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.

Next we restricted visibility for the inline routines to inside the
executive itself EXCEPT for a handful of objects.  This reduced the
number of include files included by rtems.h by 40 files and reduced
the lines in the include files seen by rtems.h by about 6000 lines.

In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation 10 morgana.
1996-03-06 21:26:28 +00:00
Joel Sherrill
ba3911317a The name of the test support routine pause was changed to rtems_test_pause
to avoid conflict with the standard POSIX routine pause(2).
1996-02-22 20:14:36 +00:00
Joel Sherrill
66d9e3ad29 Changed io manager initialization routine to not be static and added it here. 1996-02-21 22:37:55 +00:00
Joel Sherrill
10017a7223 Changed io manager initialization routine to not be static. 1996-02-21 22:37:47 +00:00
Joel Sherrill
4ff19203e0 changed io manager initialization routine to not be static 1996-02-21 22:37:18 +00:00
Joel Sherrill
0e0d88ba6a Dispersal of internal thread handler resulted in removal of some
variables and renaming of others.
1996-02-21 14:47:58 +00:00
Joel Sherrill
8cbbe312b6 Dispersal of internal thread handler resulted in the SYSI task being
only required in a multiprocessor system.  It was replace by the MPCI
Receive Server.  As a result, the CPU Table field for extra stack for
the SYSI task was changed to be extra stack for the MPCI Receive Server.
1996-02-21 14:47:03 +00:00
Joel Sherrill
adf98bd423 Removed the internal thread objects and dispersed its contents to
the thread handler (IDLE), MPCI object (SYSI now MP Receive)
and initialize_executive_early (IO initialization).  The SYSI task
no longer exists in a single processor configuration.  This reduces
single processor Workspace requirements by a TCB and a stack which
is often larger than the minimum stack size.  Moving the IO initialization
plus accompanying BSP hooks eliminated an initialization ordering problem
in which a global task could be created before the MPCI was initialized.
1996-02-21 14:44:11 +00:00
Joel Sherrill
75f09e52de Dispersal of internal thread handler resulted in IDLE thread becoming
part of the Thread Handler.  This required the name of the optional
CPU dependent IDLE thread implementation to change.
1996-02-21 14:43:34 +00:00
Joel Sherrill
c4b8161d88 MPCI Receive became a thread and the prototype changed. 1996-02-21 14:37:32 +00:00
Joel Sherrill
56d34e6ca9 Removed the internal thread objects and dispersed its contents to
the thread handler (IDLE), MPCI object (SYSI now MP Receive)
and initialize_executive_early (IO initialization).  The SYSI task
no longer exists in a single processor configuration.  This reduces
single processor Workspace requirements by a TCB and a stack which
is often larger than the minimum stack size.  Moving the IO initialization
plus accompanying BSP hooks eliminated an initialization ordering problem
in which a global task could be created before the MPCI was initialized.
1996-02-21 14:32:02 +00:00
Joel Sherrill
b2b52cbc2a Removed arguments from _Thread_Start_multitasking. 1996-02-14 19:00:00 +00:00
Joel Sherrill
f972294dc7 idle thread now created before system initialization thread.
Also system initialization thread only created in MP systems.
1996-02-14 18:59:37 +00:00
Joel Sherrill
744d287835 removed arguments from _Thread_Start_multitasking 1996-02-14 18:48:39 +00:00
Joel Sherrill
df26b78853 white space problem 1996-02-14 17:06:57 +00:00
Joel Sherrill
389fa85047 Moved some initialization from the system initialization thread to
initialize_executive_early.  This was done to clear up an ordering problem
in which global tasks could be created before the MPCI layer was initialized.
1996-02-14 17:06:40 +00:00
Joel Sherrill
8bde6ea9ca removed post switch extension 1996-02-13 22:16:36 +00:00
Joel Sherrill
da646dd837 fixed bug when outbyte had argument in wrong order relative to those invoking it 1996-02-13 22:15:52 +00:00
Joel Sherrill
94b3ec5970 changed post task extension from user set to api set and added flag
in each thread which must be set when the post switch extension is to be run.
1996-02-13 22:14:48 +00:00
Joel Sherrill
6ca11842a5 added clear of _ISR_Signals_to_thread_executing 1996-02-13 22:14:25 +00:00
Joel Sherrill
391f662854 more comments added and existing ones cleaned up in synchronization paths 1996-02-13 15:38:37 +00:00
Joel Sherrill
b38955b043 comma removed from end of last enumerated element 1996-02-13 15:38:03 +00:00
Joel Sherrill
18269cef34 comment added to describe synchronization logic in timeout routine 1996-02-13 15:37:33 +00:00
Joel Sherrill
a31ddf784b *** empty log message *** 1996-02-12 14:36:09 +00:00
Joel Sherrill
8c8a924d5e As part of implementing the new isr synchronization algorithm using a
single enumerated set of states the set of event manager variables changed.
1996-02-09 14:31:39 +00:00
Joel Sherrill
107ce47b4b new isr synchronization algorithm using a single enumerated set of states. 1996-02-09 14:30:42 +00:00
Joel Sherrill
6dae1c2d0b added rtems_interrupt_is_in_progress 1996-02-09 14:25:33 +00:00
Joel Sherrill
8a38f3b1e5 added clear of _ISR_Signals_to_thread_executing 1996-02-09 14:21:37 +00:00
Joel Sherrill
f3dabb0439 changed synchronization algorithm to be a single list of enumerated states 1996-02-08 22:16:35 +00:00
Joel Sherrill
d57392d0e1 alignment on workspace changed from CPU_ALIGNMENT to CPU_HEAP_ALIGNMENT 1996-02-08 16:18:38 +00:00
Joel Sherrill
4f60309bdd Swapped order of nested acquisition check and check for returning unsatisfied. 1996-02-01 22:09:07 +00:00
Joel Sherrill
f00a0522a4 synchronization state bugs address 1996-02-01 21:54:40 +00:00
Joel Sherrill
665356af66 invalid use of tcb field resource count 1996-02-01 19:39:21 +00:00
Joel Sherrill
b7a53bc7c9 M==military changed to M=multiprocessor 1996-01-24 20:38:47 +00:00
Joel Sherrill
4f7c546e28 new times for 3.5.1 1996-01-22 21:12:12 +00:00
Joel Sherrill
c3dcd6e9b4 Added RTEMS API control structure to per task memory usage macro. 1996-01-19 22:22:12 +00:00
Joel Sherrill
709b93db98 Increased stack size. 1996-01-19 22:21:46 +00:00
Joel Sherrill
2931001675 Added condition compile flag for dump of stack usage information on
system exit.
1996-01-19 22:21:16 +00:00
Joel Sherrill
eaa442fc46 added a task begin extension for unix simulator configurations. This extension
insures that stdout is line buffered (see setvbuf).
1996-01-19 22:20:40 +00:00
Joel Sherrill
05e4e4197e updated 1996-01-19 22:19:49 +00:00
Joel Sherrill
64f311f730 added definition of cpu_number. 1996-01-19 22:19:31 +00:00
Joel Sherrill
75d482d681 changed version to 3.5.1 1996-01-19 22:18:08 +00:00
Joel Sherrill
d1c00a18cb updated for 3.5.1 1996-01-19 22:16:53 +00:00
Joel Sherrill
84147e4fe4 Removed comment about a confusion on newlib buffering. 1996-01-17 20:15:41 +00:00
Joel Sherrill
97dde60967 increased stack space 1996-01-17 20:14:18 +00:00
Joel Sherrill
72c440eea7 Update from Tony Bennett (tbennett@divnc.com) 1996-01-17 20:13:45 +00:00
Joel Sherrill
217e398585 Modified fstat and stat to be consistent with isatty in that all three
now pretend that everything is a tty.  This insures that newlib makes
the console output line buffered.
1996-01-17 20:13:01 +00:00
Joel Sherrill
5d3e5399bb added class to initial id macro 1996-01-17 20:11:33 +00:00
Joel Sherrill
b9be5d0324 increased stack size 1996-01-17 20:11:23 +00:00
Joel Sherrill
b817240cb8 Init task was not defined as being floating point. 1996-01-15 23:07:00 +00:00
Joel Sherrill
6661eaa111 Split error handler into its own directory. 1996-01-15 23:06:16 +00:00
Joel Sherrill
a625ccde69 Made real body of _Heap_Walk conditional on RTEMS_DEBUG. This is necessary
to be able to build a system without requiring printf.
1996-01-15 23:04:50 +00:00
Joel Sherrill
c64e4ed482 updates from Tony Bennett for PA and UNIX ports 1996-01-15 21:50:28 +00:00
Joel Sherrill
5c491aef41 changes remerged after lost in disk crash -- recovered from snapshot, partially recovered working tree, etc 1995-12-20 15:39:19 +00:00
Joel Sherrill
4442d21c43 initial history lost in disk crash 1995-12-19 22:29:43 +00:00
Joel Sherrill
8bdcfc474f changes remerged after disk crash -- history lost 1995-12-19 20:26:32 +00:00
Joel Sherrill
7593d56c4f file lost in crash and re-added 1995-12-19 19:22:55 +00:00
Joel Sherrill
f3fe5b2488 file lost in crash and readded 1995-12-19 19:21:24 +00:00
Joel Sherrill
0b0a3267fd changed version 1995-12-08 22:13:18 +00:00
Joel Sherrill
3a86b73871 file added 1995-12-08 21:16:33 +00:00
Joel Sherrill
2b5944cfed updated for snapshot 3.5.02 1995-12-08 21:06:29 +00:00
Joel Sherrill
67d224af9e added correct use of _Thread_queue_Enter_critical_section 1995-12-08 21:06:15 +00:00
Joel Sherrill
7826883b16 updated for 3.5.02 snapshot 1995-12-08 21:05:27 +00:00
Joel Sherrill
8442656aed updated to include HW information 1995-12-07 15:44:23 +00:00
Joel Sherrill
52cd72b161 the bss start and end symbols were changed 1995-12-07 15:42:53 +00:00
Joel Sherrill
62c4e481cf updated to reflect HW information 1995-12-07 15:42:23 +00:00
Joel Sherrill
8e54b0b7d5 updated to reflect HW information and have correct timing information for
a pre-release snapshot for 3.5.1
1995-12-07 15:42:14 +00:00
Joel Sherrill
4aac8187e8 created 1995-12-06 15:47:43 +00:00
Joel Sherrill
e88d2db77e Added comments for addition of is_fp flag to _CPU_Context_Initialize. 1995-12-05 21:41:21 +00:00
Joel Sherrill
e57b0e23d4 update from Andy Bray <andy@i-cubed.co.uk> 1995-12-05 19:23:05 +00:00
Joel Sherrill
289ad864a5 bug fix in statistics from Tony Bennett (tbennett@divnc.com) 1995-12-05 15:29:53 +00:00
Joel Sherrill
76b6fd0cba minor changes so it would compile in a cross environment 1995-12-05 15:28:21 +00:00
Joel Sherrill
ca201c9b6a minor changes so it would compile 1995-12-05 15:28:12 +00:00
Joel Sherrill
11ab74ef98 new states added and _Rate_monotonic_Set_State removed. 1995-12-05 15:27:51 +00:00
Joel Sherrill
8d0b7d9643 Insert mode argument to _Watchdog_Insert removed. Now are watchdog timers
are automatically activated upon insertion.
1995-12-01 22:03:55 +00:00
Joel Sherrill
caaa47c29b Added new synchronization algorithm. 1995-12-01 21:08:03 +00:00
Joel Sherrill
ed329077c3 Added support for new synchronization algorithm. Specifically, the routine
_Thread_queue_Enter_critical_section was added.
1995-12-01 21:07:48 +00:00
Joel Sherrill
4250c8b13d Added support for new synchronization algorithm. 1995-12-01 21:07:25 +00:00
Joel Sherrill
a26603d598 Changed code for exit from synchronization state to a switch on the
possible synchronization actions.  This should have made it harder to
avoid a case.
1995-12-01 21:06:53 +00:00
Joel Sherrill
3837215de3 spurious blank line removed 1995-12-01 19:39:32 +00:00
Joel Sherrill
a8cd94aa23 Replaced critical section algorithm to correct race conditions. 1995-12-01 19:28:58 +00:00
Joel Sherrill
7f6fab613a Made _Event_Sync volatile
Replaced critical section algorithm to correct race conditions.
This resulted in the new variable _Event_Sync_state and the type
_Event_Sync_states.
1995-12-01 19:28:52 +00:00
Joel Sherrill
eedbfd94e0 Corrected use of the state WATCHDOG_REINSERT and renamed it
WATCHDOG_BEING_INSERTED.
1995-12-01 19:27:40 +00:00
Joel Sherrill
c4808ca59f typos fixed 1995-10-31 21:28:16 +00:00
Joel Sherrill
97005786d8 SPARC port passes all tests 1995-10-30 21:54:45 +00:00
Joel Sherrill
ea744828ad reordered test cases from simple to complex 1995-10-11 13:54:46 +00:00
Joel Sherrill
591d45e7d5 fixed null pointer dereference 1995-10-06 20:49:51 +00:00
Joel Sherrill
eb5a7e07df fixed missing CVS IDs 1995-10-06 20:48:38 +00:00
Joel Sherrill
c62d36feed SPARC merged and successfully tested w/o interrupt support 1995-10-06 20:01:20 +00:00
Joel Sherrill
1cefaced31 moved to new development machine and went to gcc 2.7.0 1995-10-06 16:33:30 +00:00
Joel Sherrill
11290355c9 all targets compile .. tony's patches in place 1995-09-29 17:19:16 +00:00
Joel Sherrill
1039ae4125 new programs added 1995-09-27 22:01:50 +00:00
Joel Sherrill
07058e75b4 updated 1995-09-27 21:08:30 +00:00
Joel Sherrill
37f4c2d99f Modified UNIX simulator port so all references to native unix
stuff is in the executive source proper in the file cpu.c.  This
should help avoid conflicts between RTEMS POSIX files and UNIX files.
1995-09-27 20:53:58 +00:00
Joel Sherrill
c701f1974b Fixed typo 1995-09-27 20:52:56 +00:00
Joel Sherrill
5e9b32b439 posix support initially added 1995-09-26 19:27:15 +00:00
Joel Sherrill
879a0474ea fixed Id strings 1995-09-26 13:25:58 +00:00
Joel Sherrill
5e5731da12 new file 1995-09-26 13:22:47 +00:00
Joel Sherrill
1e0f4c8061 Removed unnecessary include files. 1995-09-22 17:27:56 +00:00
Joel Sherrill
7fe12f6959 Removed unneeded referenced to rtems/fatal.h 1995-09-22 17:27:14 +00:00
Joel Sherrill
18c53787e1 moving files around and adding the exec/wrapup directory 1995-09-22 15:35:48 +00:00
Joel Sherrill
7af35da5ff More file movement required api extension to be added to score 1995-09-21 20:55:07 +00:00
Joel Sherrill
24b1cb9221 More file movement 1995-09-21 19:55:51 +00:00
Joel Sherrill
ea5df0ea54 More file movement 1995-09-21 18:49:12 +00:00
Joel Sherrill
cda7ecc2d8 More file movement 1995-09-21 17:58:58 +00:00
Joel Sherrill
79aaec8681 Fixed problem in fast_idle_switch_hook 1995-09-21 17:47:06 +00:00
Joel Sherrill
be650a843c moving files around 1995-09-21 16:22:25 +00:00
Joel Sherrill
c73aee15af Changed version number 1995-09-20 16:01:31 +00:00
Joel Sherrill
486c329f2b Actually adding efi bsp's from John Gwynne after forgetting to
commit them.
1995-09-20 15:05:19 +00:00
Joel Sherrill
c896e8d873 Heap changes required some changes in this screen. 1995-09-19 21:44:52 +00:00
Joel Sherrill
2122a0b7f4 Modifications from Tony Bennett accepted to tune this test a little. 1995-09-19 21:44:33 +00:00
Joel Sherrill
d434b8d686 Modifications from Tony Bennett accepted to return aligned block.
Thread_Close fixed to avoid returning FP context area when one was not
allocated at initialization time.
1995-09-19 21:43:45 +00:00
Joel Sherrill
91a3554ded Modifications from Tony Bennett accepted to return aligned block. 1995-09-19 21:43:12 +00:00
Joel Sherrill
84ee59f575 Removed a section of code which was "#if 0"'ed. 1995-09-19 21:42:27 +00:00
Joel Sherrill
38ffa0cee2 Incorporated the submission from John S. Gwynne
<jsg@coulomb.eng.ohio-state.edu> of the rest of the 68000-ish support
for interrupt handling and bfffo support, the two BSPs he submitted
(efi68k and efi332), and SGI Irix 5.3 host support.
1995-09-19 18:32:18 +00:00
Joel Sherrill
3652ad356b Minor bug fixes to get all targets compilable and running. The
single biggest changes were the expansion of the workspace size
macro to include other types of objects and the increase in the
minimum stack size for most CPUs.
1995-09-19 14:53:29 +00:00
Joel Sherrill
b3ac6a8dfe Initial attempt at building HP PA-RISC using Solaris hosted tools.
Changed back to Newlib for Solaris UNIX simulator.
1995-09-12 19:45:42 +00:00
Joel Sherrill
4b61ebfb48 Added... 1995-09-11 20:19:06 +00:00
Joel Sherrill
08bae5e6c3 Added... This is the Configuration Tables Template file. 1995-09-11 20:18:48 +00:00
Joel Sherrill
ced11f9984 Added 1995-09-11 20:18:16 +00:00
Joel Sherrill
3a4ae6c210 The word "RTEMS" almost completely removed from the core.
Configuration Table Template file added and all tests
modified to use this.  All gvar.h and conftbl.h files
removed from test directories.

Configuration parameter maximum_devices added.

Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.

Initialization sequence changed to invoke API specific initialization
routines.  Initialization tasks table now owned by RTEMS Tasks Manager.

Added user extension for post-switch.

Utilized user extensions to implement API specific functionality
like signal dispatching.

Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized.  These are largely equivalent to the
pre-driver and post-driver hooks.

Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.

All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver.  Also merged clock isr into
main file and removed ckisr.c where possible.

Updated spsize to reflect new and moved variables.

Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.

Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.
1995-09-11 19:35:39 +00:00
Joel Sherrill
5072b07691 new file -- split from inlines 1995-08-29 17:49:21 +00:00
Joel Sherrill
7f6a24abdd Added unused priority ceiling parameter to rtems_semaphore_create.
Rearranged code to created thread handler routines to initialize,
start, restart, and "close/delete" a thread.

Made internal threads their own object class.  This now uses the
thread support routines for starting and initializing a thread.

Insured deleted tasks are freed to the Inactive pool associated with the
correct Information block.

Added an RTEMS API specific data area to the thread control block.

Beginnings of removing the word "rtems" from the core.
1995-08-28 15:30:29 +00:00
Joel Sherrill
5250ff39f0 Moved _Thread_Information -> _RTEMS_tasks_Information.
Added a table of object information control blocks.

Modified _Thread_Get so it looks up a thread regardless of which
thread management "entity" (manager, internal, etc) actually "owns" it.
1995-08-23 21:06:31 +00:00
Joel Sherrill
3235ad9a2c Support for variable length names added to Object Handler. This supports
both fixed length "raw" names and strings from the API's point of view.

Both inline and macro implementations were tested.
1995-08-23 19:30:23 +00:00
Joel Sherrill
80e2c29e64 Added file .. fixed RCS Id 1995-08-22 17:11:19 +00:00
Joel Sherrill
0cf5bd681a fixed RCS Id 1995-08-22 17:11:04 +00:00
Joel Sherrill
63edbb3fbc Fixed missing RCS Ids 1995-08-22 16:57:18 +00:00
Joel Sherrill
6b45e470be Merged PowerPC port as submitted by Andy Bray of I-CUBED, Ltd
(andy@i-cubed.demon.co.uk).  This initial submission is known
to work on the IBM 403.  It is thought to work on the Motorola
601, 603, and 604 although this remains to be tested.

Another user -- Doug Currie (e@flavors.com) -- is interested in
this work and will be testing it on the 604 using the Metrowerks
C compiler and a different format assembly language.
1995-08-22 16:44:49 +00:00
Joel Sherrill
da6375babd fix broken RCS Ids -- $ accidentally lost merging changes earlier 1995-08-22 16:03:46 +00:00
Joel Sherrill
bb322a0ea6 make inline and macro implementations match 1995-08-22 15:37:59 +00:00
Joel Sherrill
b2c491a080 make inline and macro implementations match 1995-08-22 14:52:08 +00:00
Joel Sherrill
6136168881 Modified object name to id translation loop to make it easier to
incorporate variable length object names.  Previously the algorithm
scanned an array of 4-byte names for a match.  Now it scans the
object table, grabs a pointer to the name, and then compares it
if the object is active and has a name.
1995-08-22 13:56:54 +00:00
Joel Sherrill
2a0b721738 Changed to reflect adding object class to id
Added "0x" to printf of id
1995-08-18 21:44:46 +00:00
Joel Sherrill
94179e0f24 Changed to reflect adding object class to id 1995-08-18 21:44:29 +00:00
Joel Sherrill
0f592fbafe Modified references to task name. 1995-08-18 21:43:40 +00:00
Joel Sherrill
9863dbfdd4 + Added object type field to object id.
+ Added name pointer to Object_Control.

+ Modified Object Open and Close to address name field.

+ Removed name as separate element from Thread and Proxy Control.

+ Added parameter "object class" to calls to Initialize Information
1995-08-18 21:42:58 +00:00
Joel Sherrill
95fbca1940 + Added object type field to object id.
+ Added name pointer to Object_Control.

+ Modified Object Open and Close to address name field.

+ Removed name as separate element from Thread and Proxy Control.
1995-08-18 21:41:27 +00:00
Joel Sherrill
b06e68ef1f Numerous miscellaneous features incorporated from Tony Bennett
(tbennett@divnc.com) including the following major additions:

  + variable length messages
  + named devices
  + debug monitor
  + association tables/variables
1995-08-17 19:51:51 +00:00
Joel Sherrill
3b438fa4b0 variable length messages 1995-08-17 19:39:31 +00:00
Joel Sherrill
4b374f36e7 maximum number of messages removed and include statement cleanup 1995-08-17 19:36:43 +00:00
Joel Sherrill
556fb911c8 added tty driver to simhppa 1995-08-17 15:56:55 +00:00
Joel Sherrill
a1df011813 Id reinserted 1995-08-17 15:33:31 +00:00
Joel Sherrill
199fa365bc no limit removed 1995-08-17 15:32:35 +00:00
Joel Sherrill
45819022ce bug fixes to make macro implementations work 1995-08-16 19:42:41 +00:00
Joel Sherrill
7285a01656 final 3.2.1 Module file and version updates 1995-08-15 19:43:12 +00:00
Joel Sherrill
891e9c3c75 added alignment attribute for array used as partition memory. 1995-08-11 14:35:01 +00:00
Joel Sherrill
8d47a15eb9 cleanup 1995-08-11 14:33:56 +00:00
Joel Sherrill
4cc631db0f Added functions to access the errno of the native system when using the
newlib C library.

Fixed bug where length did not take into account amount added
for alignment requirements.
1995-08-11 14:33:04 +00:00
Joel Sherrill
4e58d80b9e Added functions to access the errno of the native system when using the
newlib C library.
1995-08-11 14:31:29 +00:00
Joel Sherrill
c1403ef153 Added flush of output on exit. On some UNIX's using the native library
resulted in no output when the output was redirected until this was done.
Redirection is important because runtest redirects test output.

Added support for numerous environment variables which make it easier
to run a multi-node system using a single executable and to tailor
the size of the workspace and heap.
1995-08-11 14:30:27 +00:00
Joel Sherrill
aa9f19454a Initialization of semaphores was incorrect. It did not force
the count to "1" to indicate availability.

Interrupt support was added.

Problem where newlib's errno "overrides" that set by system calls
was addressed.

Fixed bug which resulted in all nodes using the same semaphore although
an array of semaphores was allocated.
1995-08-11 14:27:23 +00:00
Joel Sherrill
0e4c603b8e clean up -- interrupt support is in place 1995-08-11 14:24:44 +00:00
Joel Sherrill
12f86efd88 minor clean up -- switched to memset for zero'ing SHM 1995-08-11 14:23:49 +00:00
Joel Sherrill
0b8b9717a4 cleaned up include statements 1995-08-11 14:16:53 +00:00
Joel Sherrill
e34941195e clean up of RunWay interrupt support 1995-08-11 14:16:20 +00:00
Joel Sherrill
4d9fa26805 added constant for number of notepads 1995-08-11 14:13:51 +00:00
Joel Sherrill
e7e016fdc2 cleanup and optimization from Tony 1995-08-04 22:18:45 +00:00
Joel Sherrill
ce6e30b150 Split out event manager support function 1995-08-04 22:18:11 +00:00
Joel Sherrill
ea9d7db3b0 split out event support functions in anticipation of making a handler 1995-08-04 22:17:48 +00:00
Joel Sherrill
216ed5450b Tony's updates 1995-08-04 22:13:27 +00:00
Joel Sherrill
4a6fa2ab77 updaetd to remove UNIX simulator bugs 1995-08-04 22:13:11 +00:00
Joel Sherrill
ad3bf6670f Changed order of include files. 1995-08-02 20:01:56 +00:00
Joel Sherrill
0d55427b31 *** empty log message *** 1995-08-02 20:01:26 +00:00
Joel Sherrill
795030965e Added test cases:
+ some from Andy Bray (andy@i-cubed.demon.co.uk) which do not include
    task start up cost.
  + cases for interrupt disable, enable, and flash
1995-08-02 19:56:51 +00:00
Joel Sherrill
4f90134497 deleted unused code 1995-08-01 15:39:55 +00:00
Joel Sherrill
c6fb8e9096 updated mvme162 code from Misha (mms@eiscathq.irf.se) 1995-08-01 15:33:39 +00:00
Joel Sherrill
4a6e64d276 moved ringbuf.h to a shared include directory 1995-08-01 15:32:09 +00:00
Joel Sherrill
3a5dbdca1b Switched to events for mp receive server and eliminated the special
blocking mechanism for it.
1995-07-31 22:22:38 +00:00
Joel Sherrill
0ea07c0089 fixed path problem for POSIX 1995-07-31 22:18:38 +00:00
Joel Sherrill
f03f154b30 Added info for DOS Bourne shell 1995-07-31 16:05:29 +00:00
Joel Sherrill
3d3a3590f8 updates for msdos/go32 from Bryce Cogswell 1995-07-26 15:15:30 +00:00
Joel Sherrill
c35e962218 times reported reasonably correctly 1995-07-24 15:43:17 +00:00
Joel Sherrill
2f2a597c73 hopefully works with regular timer and tm27 1995-07-24 14:00:27 +00:00
Joel Sherrill
1690c6b636 after testing go32 and cvme961 1995-07-21 20:10:49 +00:00
Joel Sherrill
9e738b65b0 updating go32 to make timer more accurate 1995-07-20 19:20:31 +00:00
Joel Sherrill
3b170f53b3 removed junk field in context_control 1995-07-20 13:20:18 +00:00
Joel Sherrill
4ca27cfad7 committing for rtems-3.2.01 snapshot 1995-07-18 21:19:53 +00:00
Joel Sherrill
3ea52882fb fixed for Linux 1995-07-18 21:11:57 +00:00
Joel Sherrill
217d2e7dca fixed for Linux 1995-07-18 20:50:37 +00:00
Joel Sherrill
10aed1e3c0 fixed for Linux 1995-07-18 19:58:45 +00:00
Joel Sherrill
8044533152 merged Linux UNIX simulator support (C) 1995-07-18 19:27:50 +00:00
Joel Sherrill
f67ad3d54a all built successfully after merge 1995-07-13 20:08:53 +00:00
Joel Sherrill
6cc85032cb fix oversites in libbsp/unix/posix 1995-07-12 20:44:47 +00:00
Joel Sherrill
637df35f96 Ada95, gnat, go32 1995-07-12 19:47:25 +00:00
Joel Sherrill
68931b5dc1 added David Glessner's 68302 work. 1995-06-14 20:59:22 +00:00
Joel Sherrill
620d699c44 added David Glessner's 68302 work to ACKNOWLEDGEMENTS.
updated PROBLEMS to reflect recently reported things.
1995-06-14 20:59:07 +00:00
Joel Sherrill
34d877ec46 corrected pseudo-code for _ISR_Handler 1995-06-07 02:40:23 +00:00
Joel Sherrill
9526d2176e added for first time 1995-06-07 01:49:23 +00:00
Joel Sherrill
9e86dd7db7 incorporated mc68302 support 1995-06-07 01:27:28 +00:00
Joel Sherrill
459f770f5e added calls to _Thread_Disable_dispatch to match requirements
for invocation of _Thread_Handler
1995-06-05 23:55:00 +00:00
Joel Sherrill
6b782ab7dc conditional added for the hppa gr27 1995-06-05 23:53:37 +00:00
Joel Sherrill
e8512eb679 incorporate Tony's patches:
+ c/src/lib/libc/support/generic/malloc.c did not initialize the
    sbrk amount
  + _Thread_Handler in c/src/exec/rtems/thread.c left a window
    during the begin extension which could result in a context switch

fixed places which did not correctly distinguish between an
CPU_isr and a CPU_isr_entry.
1995-06-05 22:59:47 +00:00
Joel Sherrill
7979e35617 changed release number to 3.2.0 1995-06-04 22:43:19 +00:00
Joel Sherrill
7c22114bf5 Corrected minor number for "Null" device driver 1995-05-31 17:37:05 +00:00
Joel Sherrill
fe6511014d fixing revision 1995-05-31 17:20:57 +00:00
Joel Sherrill
7cf1556ed3 forced revision 1995-05-31 15:34:17 +00:00
Joel Sherrill
e864cfefa2 Added "signed" keyword to typedef of signed RTEMS types 1995-05-31 14:57:16 +00:00
Joel Sherrill
497428a296 cpu/*types.h added and successfully compiled.
IDLE task priority changed from 0 to 255 during initialization.
1995-05-30 19:42:36 +00:00
Joel Sherrill
4e0074bc7b Added m68ktypes.h 1995-05-26 16:05:08 +00:00
Joel Sherrill
84b7e72a90 Created rest of CP types.h files 1995-05-26 16:04:33 +00:00
Joel Sherrill
69021ed415 Trying to force back onto trunk 1995-05-26 14:31:13 +00:00
Joel Sherrill
18470ebae2 Added types.h file for each CPU 1995-05-25 20:56:58 +00:00
Joel Sherrill
152e31af1f TEST 1995-05-25 15:26:53 +00:00
Joel Sherrill
5b9d6ddf86 test force of revision 1995-05-25 15:18:58 +00:00
Joel Sherrill
88d594a3d5 Fully tested on all in-house targets 1995-05-24 21:39:42 +00:00
Joel Sherrill
bf61e45c29 Forcing RCS revision to 1.2 I hope 1995-05-11 19:19:35 +00:00
3380 changed files with 268949 additions and 117737 deletions

343
COPYING Normal file
View File

@@ -0,0 +1,343 @@
#
# $Id$
#
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

12
INSTALL
View File

@@ -2,14 +2,10 @@
# $Id$
#
NOTE: The string <release> should be replaced with
the appropriate release number of RTEMS.
Building RTEMS
==============
See the file README.configure.
This file only discusses the installation of .tgz files.
For more detailed information on the installation of RTEMS,
refer to the Release Notes manual in the file
/pub/rtems/releases/<release>/doc/c_or_ada/relnotes.tgz on
lancelot.gcs.redstone.army.mil.
UNCOMPRESSING .tgz FILES
===========================
@@ -53,4 +49,4 @@ NOTES:
is the name and version of the tool in question. For example,
gcc-2.5.8.tgz will extract its contents into the subdirectory
gcc-2.5.8.

129
LICENSE
View File

@@ -3,116 +3,21 @@
#
LICENSE INFORMATION
For the purposes of this document the Real Time Executive for
Missile Systems (RTEMS) is defined to include all source code,
documentation, shell utilities developed by On-Line Applications
Research Corporation (OAR) under contract of the U.S. Army
Missile Command. OAR obtained the copyright for RTEMS and
subsequently assigned ownership of said copyright to the
U.S. Government. As part of this transfer, OAR waived all
claims of ownership for RTEMS. Since OAR no longer makes claims
of ownership of RTEMS, OAR in no event shall be held liable
for damages including any general, special, incidental or
consequential damages arising out of the use or inability
to use the RTEMS software or documentation or of the support
services provided (including but not limited to loss of data or
data being rendered inaccurate or losses sustained by you or
third parties or a failure of the program to operate with any
other programs), even if advised of the possibility of such damages.
Simply stated any file containing the U.S. Government
copyright notice or relocatables derived from one or more of
these files are covered by this agreement.
RTEMS may be reproduced by or for the U.S. Government pursuant
to the copyright license under the clause at DFARS 252.227-7013.
The following notice must appear in all copies of RTEMS and its
derivatives:
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
material and its derivatives.
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 and documentation 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.
Redistributions in binary form must contain or make available the
RTEMS source code.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
This product includes software developed for the U.S. Government
by On-Line Applications Research Corp.
4. Neither the name of the author nor the U.S. Government may be used to
endorse or promote products derived from this software without specific
prior written permission.
RTEMS is provided "AS IS" without warranty of any kind, either
expressed or implied, including, but not limited to, the implied
warranties of merchantability, title and fitness for a
particular purpose. The U.S. Government does not warrant that
the RTEMS software or documentation will satisfy your requirements
or that the software and documentation are without defect or error
or that the operation of the software will be uninterrupted.
The U.S. Government shall in no event shall be held liable for
damages including any general, special, incidental or consequential
damages arising out of the use or inability to use the RTEMS software
or documentation or of the support services provided (including
but not limited to loss of data or data being rendered
inaccurate or losses sustained by you or third parties or a
failure of the program to operate with any other programs), even
if the U.S. Government has been advised of the possibility of such damages.
The U.S. Government reserves the right to revise this material
and to make changes from time to time in the content hereof without
obligation to notify anyone or any organization of such revision
or changes.
OAR remains the sole organization authorized by contract to
distribute or provide support and training for the Real-Time
Executive for Military Systems (RTEMS).
In order to promote future research activities within the U.S.
Government, we request that potential users of RTEMS notify us
as to the systems that RTEMS is being utilized. This will allow
us to publicize our Dual-Use / Reuse capabilities in support of
the current administration's goals. This can be accomplished by
calling the RTEMS phone numbers published in the documentation
or by electronic mail to "rtems@redstone-emh2.army.mil". Your
cooperation is greatly appreciated. Again, thank you for using
RTEMS.
RTEMS
U.S. ARMY Missile Command
ATTN: AMSMI-RD-GC-S
Redstone Arsenal, AL 35898-5254
Voice: (205) 842-6906
FAX: (205) 842-6917
EMAIL: rtems@redstone.army.mil
On-Line Applications Research Corporation.
2227 Drake Avenue SW
Suite 10-F
Huntsville, AL 35805
(205) 883-0131
RTEMS is free software; you can redistribute it and/or modify it under
terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version. RTEMS is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details. You should have received
a copy of the GNU General Public License along with RTEMS; see
file COPYING. If not, write to the Free Software Foundation, 675
Mass Ave, Cambridge, MA 02139, USA.
As a special exception, including RTEMS header files in a file,
instantiating RTEMS generics or templates, or linking other files
with RTEMS objects to produce an executable application, does not
by itself cause the resulting executable application to be covered
by the GNU General Public License. This exception does not
however invalidate any other reasons why the executable file might be
covered by the GNU Public License.

76
Makefile.in Normal file
View File

@@ -0,0 +1,76 @@
#
# top level directory for RTEMS build tree
#
# Modified by Jiri to implement autoconf and cygnus one-tree build
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
target = @target@
manext = 1
mandir = @mandir@/man$(manext)
program_prefix = @program_prefix@
export bindir
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
VPATH=@srcdir@
ifeq ($(RTEMS_BSP),)
RTEMS_BSP = @RTEMS_BSP_LIST@
endif
include $(RTEMS_ROOT)/make/main.cfg
MTARGETS = pre_install_src all install $(TARGET_VARIANTS) $(TARGET_VARIANTS:%=%_all) \
$(TARGET_VARIANTS:%=%_install) $(TARGET_VARIANTS:%=%_tests) \
clean_wrapup distclean clean_dirs clean_tools tests clean depend
EXIT_CMD = exit 1
# Don't pass flags from previous make - especially NOT CFLAGS
# NOTE: Previous versions overrode MAKEFLAGS, but this also disables
# a lot of useful features
# override MAKEFLAGS=
$(MTARGETS):
BASEDIR=`pwd`; \
for bsp in $(RTEMS_BSP) xxx; \
do if [ $$bsp != xxx ] ; then \
cd $$BASEDIR; \
cmd="cd c; $(MAKE) RTEMS_BSP=$$bsp $(FLAGS_TO_PASS) \
$@" ; \
eval $$cmd || $(EXIT_CMD); \
fi; done;
## Configuration stuff
ACLOCAL = aclocal -I aclocal
AUTOCONF = autoconf
ACLOCAL_FILES := $(wildcard $(srcdir)/aclocal/*.m4)
ACLOCAL_M4 = aclocal.m4
$(ACLOCAL_M4): configure.in $(ACLOCAL_FILES)
-cd $(RTEMS_ROOT) && $(ACLOCAL)
Makefile: Makefile.in config.status
CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
config.status: $(RTEMS_ROOT)/configure
$(SHELL) ./config.status --recheck
$(RTEMS_ROOT)/configure: $(RTEMS_ROOT)/configure.in $(ACLOCAL_M4)
-cd $(RTEMS_ROOT) && $(AUTOCONF)
.PRECIOUS: $(ACLOCAL_M4) configure Makefile config.status

4
README
View File

@@ -2,6 +2,10 @@
# $Id$
#
Building RTEMS
==============
See the file README.configure.
Directory Overview
==================

259
README.configure Normal file
View File

@@ -0,0 +1,259 @@
#
# $Id$
#
1. Autoconf support
===================
This version of RTEMS is configured with GNU autoconf. RTEMS can be
configured and built either standalone or together with the compiler
tools in the Cygnus one-tree structure. Using autoconf also means
that RTEMS now can be built in a separate build directory.
2. Installation
===============
2.1 Standalone build
To configure RTEMS for a specific target, run configure in the build
directory. In addition to the standard configure options, the following
RTEMS-specific option are supported:
--disable-rtems-inlines
--disable-posix
--disable-tests
--disable-networking
--enable-cxx
--enable-bare-cpu-model=<MODEL>
--enable-bare-cpu-cflags=<FLAGS>
--enable-gcc28 (also use enable-libcdir when disabled)
--enable-gmake-print-directory
--enable-libcdir=<DIRECTORY> (do not use if gcc 2.8 is enabled)
--enable-rtemsbsp="bsp1 bsp2 ..."
In addition, the following standard autoconf options are frequently
used when configuring RTEMS installations:
--prefix=INSTALL_DIRECTORY
--program-prefix=
By default, the RTEMS posix interface is built for targets that support
it. It can be disabled with the --disable-posix option.
By default, the RTEMS networking support is built for targets which
support it. It can be specifically disabled for those targets
with the --disable-networking option.
By default, the RTEMS support of C++ is disabled. It can be enabled
with the --enable-cxx option. If the rtems++ C++ library is installed
it will also be build.
By default, the RTEMS test suites are configured. The --disable-tests
will not configure the RTEMS test suite. This is used only to speed-up
configuration in case building the tests are not necessary.
By default, RTEMS is built using arguments and build rules which are
compatible with gcc 2.7.2.2. This requires that the user specify
the location of the Standard C Library with the --enable-libcdir
option. If using a gcc which supports the -specs option, then
the --enable-gcc28 option may be used to enable this feature.
You should use the --enable-gcc28 option when using either the
egcs source tree, testgcc snapshots, or gcc 2.8.0 or newer.
By default, all bsps for a target are built. The bare BSP is not built
unless directlty specified. There are two ways of changing this:
+ use the --enable-rtemsbsp otion which will set the specified
bsps as the default bsps, or
+ set the RTEMS_BSP variable during make (see below).
The --enable-rtemsbsp= option configures RTEMS for a specific target
architecture. The following targets are supported:
(none) will build the host-based version on Linux,
Solaris and HPUX.
a29k-rtems only standalone, uses non-gnu compiler
i386-rtems
i386-go32-rtems see notes
i960-rtems
hppa1.1-rtems
m68k-rtems
mips64orion-rtems
no_cpu-rtems
powerpc-rtems
sparc-rtems
bare see notes
The cross-compiler is set to $(target)-gcc by default. This can be
overriden by:
+ using the --program-prefix option to configure to specify the
string which will prepended to the tool names. Be sure to include
a trailing "-". For example, to use a m68k-coff toolset, use the
--program-prefix=m68k-coff- option.
To build, run make in the build directory. To specify which bsps to build,
add the RTEMS_BSP="bsp1 bsp2 .." to the make command. Specifying multiple
BSPs to build only works from the top level build directory.
Installation is done under $(prefix)/rtems.
As an example, to build and install the mvme136 and dmv152 bsps for m68k do:
(path_to_rtems_src)/configure --target=m68k-rtems
make RTEMS_BSP="mvme136 dmv152"
make install RTEMS_BSP="mvme136 dmv152"
The sample tests are built by 'make all', do a 'make test' to build the full
test suite.
2.2 Build with Cygnus one-tree release
To build and install RTEMS with the one-tree structure, just copy the rtems
directory to the tree. The one-tree configure.in and Makefile.in has to be
replaced with the RTEMS-aware versions. The build options are the same as
for the standalone build.
2.3 Target Dependent Notes
i386-go32-rtems:
1. This is based on djgpp v1.xx. It needs to be updated to v2.xx.
2. This cannot be built one-tree style since RTEMS requires some
files which must be obtained from the binary distribution of the
djgpp library. DJGPP can be obtained from
http://www.delorie.com/djgpp/dl/ofc.
3. You will need to manually install a number of files from the
binary distribution of the DJGPP library doing something
like the following:
# unzip the djgpp distribution
cd include
cp dpmi.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
cp go32.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
cp dos.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
cp pc.h INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/include
cd ../lib
cp crt* INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2
cp libpc* INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2
# Make sure about destination on the next lines. It keeps the newlib
# libc.a and the binary djgpp libc.a from conflicting.
cp libc.a INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/libcgo32.a
cp libc_p.a INSTALL_POINT/lib/gcc-lib/i386-go32-rtems/2.7.2/libcgo32_p.a
bare:
1. See the README in the bare bsp source directory. This should
contain all info you need.
2. The bare bsp source contains a script to show how to build it.
3. The configure flags must be used to get the bare bsp to work.
The --enable-bare-cpu-model and --enable-bare-cpu-cflags are the
only pieces of information. The module is usually a gcc module
such as m68302 or mcpu32. The flags are passed directly to gcc.
Use "" if more than one option is specified.
3. To use the installed RTEMS library
=====================================
To use the installed RTEMS bsps to build applications, the application
makefile has to include a bsp-specific makefile that will define the
RTEMS variables necessary to find include files and libraries. The
bsp-specific makefile is installed at
$(RTEMS_MAKEFILE_PATH)/Makefile.inc
For the erc32 bsp installed at /usr/local/cross, the environment
variable RTEMS_MAKEFILE_PATH would be set as follows to the
following:
/usr/local/cross/sparc-rtems/rtems/erc32/Makefile.inc
4. Supported target bsps
========================
The following bsps are supported:
host-based : posix (on linux, solaris and hpux)
a29k : portsw
i386 : force386 i386ex pc386
i386-go32 : go32 go32_p5
i960 : cvme961
hppa1.1 : simhppa
m68k : dmv152 efi332 efi68k gen68302 gen68340 gen68360
gen68360_040 idp mvme136 mvme147 mvme147s mvme162 ods68302
no_cpu : no_bsp
mips64orion : p4600 p4650 (p4000 port with either R4600 or R4650)
powerpc : papyrus psim helas403
sh : gensh1
sparc : erc32
any : bare
5. Makefile structure
=====================
The makefiles have been re-organised. Most gnu-based bsps now use three
main makefiles:
+ custom/default.cfg,
+ custom/bsp.cfg and
+ ompilers/gcc-target-default.cfg.
Default.cfg sets the deafult values of certain common build options.
Bsp.cfg set bsp-specific build options and can also override the
default settings.
Gcc-target-default.cfg contains the common gcc definitions. Some targets
(a29k, no_cpu, and posix) still use the old structure.
6. Adding a bsp
===============
The top-level configure.in has to be modified if a new target is added
or if a new bsp is to be built by default. The additions required is
basically to add which makefiles are to be created by configure and
to add the target to the selection statement. To re-generate
configure, autoconf-2.12 is needed.
7. Tested configurations
========================
All gnu-based bsps have been built on Linux.
The native (posix) ports have been built and run only on Linux.
The following configurations have NOT been tested:
+ Anything on Nextstep, HPUX and Irix.
+ The a29k port.
8. Pre-requisites
=================
Gawk version 2 or higher.
GNU make version 3.72 or higher.
Bash.
gcc version ???
TODO
====
The install-if-change script requires bash. On solaris systems, this should
be changed to ksh, since ksh is provided with solaris (bash not).
A fairly rescent version of gawk is needed to build RTEMS. This should be
changed so that a plain vanilla awk also works. [NOTE: This dependency
should disappear when the "gcc 2.8 -specs" is finished.]
'make install' should only install necessary files, not the full
PROJECT_RELEASE directory as now.
Posix port on solaris-2.5 fails due to undefined built-in functions
(gcc-2.7.2, might be my installation).
Improve support for 'make CFLAGS=xxx'.

27
SUPPORT
View File

@@ -2,17 +2,24 @@
# $Id$
#
For support and training contact:
RTEMS was developed by On-Line Applications Research Corporation (OAR)
for the U.S. Army Missile Command. OAR offers support, customization,
and training for RTEMS. Custom RTEMS development services includes
porting RTEMS to new processors and the development of custom board
support packages and device drivers. In addition, OAR is available
to assist in the development of your real-time embedded application.
On-Line Applications Research
2227 Drake Avenue SW Suite 10-F
For more information, email Mark Johannes at mark@OARcorp.com
or contact OAR at:
On-Line Applications Research Corporation
4910-L Corporate Drive
Huntsville AL 35805
(205) 883-0131
Voice: (205) 722-9985
Fax: (205 722-0985
OAR offers support and classes for RTEMS as well as custom
development services such as ports to new processors and
the development of custom board support packages and device
drivers.
OAR developed RTEMS under contract to the U.S. Army Missile Command.
In the past, RTEMS maintainance and enhancements were primarily funded
by the development contracts sponsored by the U.S. Army. Now RTEMS
is funded solely by RTEMS users. The future of RTEMS depends on
its user base.

5
VERSION Normal file
View File

@@ -0,0 +1,5 @@
#
# $Id$
#
RTEMS Version 4.0.0

614
aclocal.m4 vendored Normal file
View File

@@ -0,0 +1,614 @@
dnl aclocal.m4 generated automatically by aclocal 1.2
dnl
dnl $Id$
dnl
dnl macro to detect mkdir
AC_DEFUN(RTEMS_PATH_MKDIR,
[AC_PATH_PROG(MKDIR,mkdir)
])
dnl macro to check for mkdir -p
AC_DEFUN(RTEMS_PROG_MKDIR_P,
[
AC_REQUIRE([RTEMS_PATH_MKDIR])
AC_MSG_CHECKING([for working $MKDIR -p])
AC_CACHE_VAL(rtems_cv_prog_mkdir_p,
[rm -rf conftestdata
if $MKDIR -p conftestdata 2>/dev/null ;then
rtems_cv_prog_MKDIR_P="yes"
else
rtems_cv_prog_MKDIR_P="no"
fi])dnl
rm -rf conftestdata
AC_MSG_RESULT($rtems_cv_prog_MKDIR_P)
])
dnl macro to check for mkdir -m 0755
AC_DEFUN(RTEMS_PROG_MKDIR_M,
[
AC_REQUIRE([RTEMS_PATH_MKDIR])
AC_MSG_CHECKING([for working $MKDIR -m 0755])
AC_CACHE_VAL(rtems_cv_prog_MKDIR_P,
[rm -rf conftestdata
if $MKDIR -m 0775 conftestdata 2>/dev/null; then
rtems_cv_prog_MKDIR_M="yes"
else
rtems_cv_prog_MKDIR_M="no"
fi])dnl
rm -rf conftestdata
AC_MSG_RESULT($rtems_cv_prog_MKDIR_M)
])
dnl
dnl $Id$
dnl
dnl canonicalize target name
dnl NOTE: Most rtems targets do not fullfil autoconf's
dnl target naming conventions "processor-vendor-os"
dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
dnl and we have to fix it for rtems ourselves
AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
[AC_MSG_CHECKING(rtems target cpu)
changequote(<<, >>)dnl
target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
changequote([, ])dnl
AC_MSG_RESULT($target_cpu)
])
dnl
dnl $Id$
dnl
dnl Set program_prefix
dnl
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl Extracted from configure
AC_DEFUN(RTEMS_TOOL_PREFIX,
[AC_REQUIRE([AC_CANONICAL_TARGET])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
if [[ "${program_prefix}" = "NONE" ]] ; then
if [[ "${target}" = "${host}" ]] ; then
program_prefix=
else
program_prefix=${target}-
fi
fi
])
dnl
dnl $Id$
dnl
dnl Check for target gcc
dnl
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl Completely reworked
AC_DEFUN(RTEMS_PROG_CC,
[
AC_BEFORE([$0], [AC_PROG_CPP])dnl
AC_BEFORE([$0], [AC_PROG_CC])dnl
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
dnl Only accept gcc and cc
dnl NOTE: This might be too restrictive for native compilation
AC_PATH_PROGS(CC_FOR_TARGET, "$program_prefix"gcc "$program_prefix"cc )
test -z "$CC_FOR_TARGET" \
&& AC_MSG_ERROR([no acceptable cc found in \$PATH])
dnl backup
rtems_save_CC=$CC
rtems_save_CFLAGS=$CFLAGS
dnl temporarily set CC
CC=$CC_FOR_TARGET
AC_PROG_CC_WORKS
AC_PROG_CC_GNU
if test $ac_cv_prog_gcc = yes; then
GCC=yes
dnl Check whether -g works, even if CFLAGS is set, in case the package
dnl plays around with CFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
AC_PROG_CC_G
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
fi
else
GCC=
test "${CFLAGS+set}" = set || CFLAGS="-g"
fi
rtems_cv_prog_gcc=$ac_cv_prog_gcc
rtems_cv_prog_cc_g=$ac_cv_prog_cc_g
rtems_cv_prog_cc_works=$ac_cv_prog_cc_works
rtems_cv_prog_cc_cross=$ac_cv_prog_cc_cross
dnl restore initial values
CC=$rtems_save_CC
CFLAGS=$rtems_save_CFLAGS
unset ac_cv_prog_gcc
unset ac_cv_prog_cc_g
unset ac_cv_prog_cc_works
unset ac_cv_prog_cc_cross
])
dnl
dnl $Id$
dnl
dnl Check whether the target compiler accepts -specs
dnl
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
dnl
AC_DEFUN(RTEMS_GCC_SPECS,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts -specs,rtems_cv_gcc_specs,
[
rtems_cv_gcc_specs=no
if test "$rtems_cv_prog_gcc" = "yes"; then
touch confspec
echo 'void f(){}' >conftest.c
if test -z "`${CC_FOR_TARGET} -specs confspec -c conftest.c 2>&1`";then
rtems_cv_gcc_specs=yes
fi
fi
rm -f confspec conftest*
])])
dnl
dnl $Id$
dnl
dnl Check whether the target compiler accepts -pipe
dnl
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
dnl
AC_DEFUN(RTEMS_GCC_PIPE,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts --pipe,rtems_cv_gcc_pipe,
[
rtems_cv_gcc_pipe=no
if test "$rtems_cv_prog_gcc" = "yes"; then
case "$host_os" in
cygwin32*)
;;
*)
echo 'void f(){}' >conftest.c
if test -z "`${CC_FOR_TARGET} --pipe -c conftest.c 2>&1`";then
rtems_cv_gcc_pipe=yes
fi
rm -f conftest*
;;
esac
fi
])
])
dnl
dnl $Id$
dnl
dnl Check for target g++
dnl
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl Completely reworked
AC_DEFUN(RTEMS_PROG_CXX,
[
AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
AC_BEFORE([$0], [AC_PROG_CXX])dnl
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
dnl Only accept g++ and c++
dnl NOTE: This might be too restrictive for native compilation
AC_PATH_PROGS(CXX_FOR_TARGET, "$program_prefix"g++ "$program_prefix"c++)
test -z "$CXX_FOR_TARGET" \
&& AC_MSG_ERROR([no acceptable c++ found in \$PATH])
dnl backup
rtems_save_CXX=$CXX
rtems_save_CXXFLAGS=$CXXFLAGS
dnl temporarily set CXX
CXX=$CXX_FOR_TARGET
AC_PROG_CXX_WORKS
AC_PROG_CXX_GNU
if test $ac_cv_prog_gxx = yes; then
GXX=yes
dnl Check whether -g works, even if CXXFLAGS is set, in case the package
dnl plays around with CXXFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CXXFLAGS="${CXXFLAGS+set}"
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
AC_PROG_CXX_G
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS="$ac_save_CXXFLAGS"
elif test $ac_cv_prog_cxx_g = yes; then
CXXFLAGS="-g -O2"
else
CXXFLAGS="-O2"
fi
else
GXX=
test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
fi
rtems_cv_prog_gxx=$ac_cv_prog_gxx
rtems_cv_prog_cxx_g=$ac_cv_prog_cxx_g
rtems_cv_prog_cxx_works=$ac_cv_prog_cxx_works
rtems_cv_prog_cxx_cross=$ac_cv_prog_cxx_cross
CXX=$rtems_save_CXX
CXXFLAGS=$rtems_save_CXXFLAGS
dnl restore initial values
unset ac_cv_prog_gxx
unset ac_cv_prog_cc_g
unset ac_cv_prog_cxx_works
unset ac_cv_prog_cxx_cross
])
dnl
dnl $Id$
dnl
dnl Set target tools
dnl
dnl 98/06/23 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl fixing cache/environment variable handling
dnl adding checks for cygwin/egcs '\\'-bug
dnl adding checks for ranlib/ar -s problem
dnl
dnl 98/02/12 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl
AC_DEFUN(RTEMS_GCC_PRINT,
[ case $host_os in
*cygwin32*)
dnl FIXME: Hack for cygwin/egcs reporting mixed '\\' and '/'
dnl Should be removed once cygwin/egcs reports '/' only
$1=`$CC_FOR_TARGET --print-prog-name=$2 | sed -e 's%\\\\%/%g' `
;;
*)
$1=`$CC_FOR_TARGET --print-prog-name=$2`
;;
esac
])
AC_DEFUN(RTEMS_PATH_TOOL,
[
AC_MSG_CHECKING([target's $2])
AC_CACHE_VAL(ac_cv_path_$1,:)
AC_MSG_RESULT([$ac_cv_path_$1])
if test -n "$ac_cv_path_$1"; then
dnl retrieve the value from the cache
$1=$ac_cv_path_$1
else
dnl the cache was not set
if test -z "[$]$1" ; then
if test "$rtems_cv_prog_gcc" = "yes"; then
# We are using gcc, ask it about its tool
# NOTE: Necessary if gcc was configured to use the target's
# native tools or uses prefixes for gnutools (e.g. gas instead of as)
RTEMS_GCC_PRINT($1,$2)
fi
else
# The user set an environment variable.
# Check whether it is an absolute path, otherwise AC_PATH_PROG
# will override the environment variable, which isn't what the user
# intends
AC_MSG_CHECKING([whether environment variable $1 is an absolute path])
case "[$]$1" in
/*) # valid
AC_MSG_RESULT("yes")
;;
*) # invalid for AC_PATH_PROG
AC_MSG_RESULT("no")
AC_MSG_ERROR([***]
[Environment variable $1 should ether]
[be unset (preferred) or contain an absolute path])
;;
esac
fi
AC_PATH_PROG($1,"$program_prefix"$2,$3)
fi
])
AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
[AC_REQUIRE([RTEMS_PROG_CC])dnl
dnl FIXME: What shall be done if these tools are not available?
RTEMS_PATH_TOOL(AR_FOR_TARGET,ar,no)
RTEMS_PATH_TOOL(AS_FOR_TARGET,as,no)
RTEMS_PATH_TOOL(LD_FOR_TARGET,ld,no)
RTEMS_PATH_TOOL(NM_FOR_TARGET,nm,no)
dnl special treatment of ranlib
RTEMS_PATH_TOOL(RANLIB_FOR_TARGET,ranlib,no)
if test "$RANLIB_FOR_TARGET" = "no"; then
# ranlib wasn't found; check if ar -s is available
RTEMS_AR_FOR_TARGET_S
if test $rtems_cv_AR_FOR_TARGET_S = "yes" ; then
dnl override RANLIB_FOR_TARGET's cache
ac_cv_path_RANLIB_FOR_TARGET="$AR_FOR_TARGET -s"
RANLIB_FOR_TARGET=$ac_cv_path_RANLIB_FOR_TARGET
else
AC_MSG_ERROR([***]
[Can't figure out how to build a library index]
[Nether ranlib nor ar -s seem to be available] )
fi
fi
dnl NOTE: These may not be available if not using gnutools
RTEMS_PATH_TOOL(OBJCOPY_FOR_TARGET,objcopy,no)
RTEMS_PATH_TOOL(SIZE_FOR_TARGET,size,no)
])
dnl
dnl $Id$
dnl
AC_DEFUN(RTEMS_AR_FOR_TARGET_S,
[
AC_CACHE_CHECK(whether $AR_FOR_TARGET -s works,
rtems_cv_AR_FOR_TARGET_S,
[
cat > conftest.$ac_ext <<EOF
int foo( int b )
{ return b; }
EOF
if AC_TRY_COMMAND($CC_FOR_TARGET -o conftest.o -c conftest.$ac_ext) \
&& AC_TRY_COMMAND($AR_FOR_TARGET -sr conftest.a conftest.o) \
&& test -s conftest.a ; \
then
rtems_cv_AR_FOR_TARGET_S="yes"
else
rtems_cv_AR_FOR_TARGET_S="no"
fi
rm -f conftest*
])
])
dnl
dnl $Id$
dnl
dnl check for i386 gas supporting 16 bit mode
dnl - binutils 2.9.1.0.7 and higher
AC_DEFUN(RTEMS_I386_GAS_CODE16,
if test "${target_cpu}" = "i386"; then
AC_CACHE_CHECK([for 16 bit mode assembler support],
rtems_cv_prog_gas_code16,
[cat > conftest.s << EOF
.code16
data32
addr32
lgdt 0
EOF
if AC_TRY_COMMAND($AS_FOR_TARGET -o conftest.o conftest.s); then
rtems_cv_prog_gas_code16=yes
else
rtems_cv_prog_gas_code16=no
fi])
RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
fi
)
dnl
dnl $Id$
dnl
dnl Detect the Cygwin32 environment (unix under Win32)
dnl
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
dnl Hacked from automake-1.3
# Check to see if we're running under Cygwin32, without using
# AC_CANONICAL_*. If so, set output variable CYGWIN32 to "yes".
# Otherwise set it to "no".
dnl RTEMS_CYGWIN32()
AC_DEFUN(RTEMS_CYGWIN32,
[AC_CACHE_CHECK(for Cygwin32 environment, rtems_cv_cygwin32,
[AC_TRY_COMPILE(,[return __CYGWIN32__;],
rtems_cv_cygwin32=yes, rtems_cv_cygwin32=no)
rm -f conftest*])
CYGWIN32=
test "$rtems_cv_cygwin32" = yes && CYGWIN32=yes])
dnl
dnl $Id$
dnl
dnl Set the EXE extension
dnl
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
dnl Hacked from automake-1.3
# Check to see if we're running under Win32, without using
# AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
# Otherwise set it to "".
dnl RTEMS_EXEEXT()
dnl This knows we add .exe if we're building in the Cygwin32
dnl environment. But if we're not, then it compiles a test program
dnl to see if there is a suffix for executables.
AC_DEFUN(RTEMS_EXEEXT,
[AC_REQUIRE([RTEMS_CYGWIN32])
AC_MSG_CHECKING([for executable suffix])
AC_CACHE_VAL(rtems_cv_exeext,
[if test "$CYGWIN32" = yes; then
rtems_cv_exeext=.exe
else
cat > rtems_c_test.c << 'EOF'
int main() {
/* Nothing needed here */
}
EOF
${CC-cc} -o rtems_c_test $CFLAGS $CPPFLAGS $LDFLAGS rtems_c_test.c $LIBS 1>&5
rtems_cv_exeext=`echo rtems_c_test.* | grep -v rtems_c_test.c | sed -e s/rtems_c_test//`
rm -f rtems_c_test*])
test x"${rtems_cv_exeext}" = x && rtems_cv_exeext=no
fi
EXEEXT=""
test x"${rtems_cv_exeext}" != xno && EXEEXT=${rtems_cv_exeext}
AC_MSG_RESULT(${rtems_cv_exeext})
AC_SUBST(EXEEXT)])
dnl
dnl $Id$
dnl
dnl Check for System V IPC calls used by Unix simulators
dnl
dnl 98/07/17 Dario Alcocer alcocer@netcom.com
dnl Ralf Corsepius corsepiu@faw.uni-ulm.de
dnl
dnl Note: $host_os should probably *not* ever be used here to
dnl determine if host supports System V IPC calls, since some
dnl (e.g. FreeBSD 2.x) are configured by default to include only
dnl a subset of the System V IPC calls. Therefore, to make sure
dnl all of the required calls are found, test for each call explicitly.
dnl
dnl All of the calls use IPC_PRIVATE, so tests will not unintentionally
dnl modify any existing key sets. See the man pages for semget, shmget,
dnl msgget, semctl, shmctl and msgctl for details.
AC_DEFUN(RTEMS_SYSV_SEM,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V semaphores,
rtems_cv_sysv_sem,
[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
int main () {
#if !defined(sun)
union semun arg ;
#else
union semun {
int val;
struct semid_ds *buf;
ushort *array;
} arg;
#endif
int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
if (id == -1)
exit(1);
arg.val = 0; /* avoid implicit type cast to union */
if (semctl(id, 0, IPC_RMID, arg) == -1)
exit(1);
exit(0);
}
],
rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
])
])
AC_DEFUN(RTEMS_SYSV_SHM,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V shared memory,
rtems_cv_sysv_shm,
[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int main () {
int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
if (id == -1)
exit(1);
if (shmctl(id, IPC_RMID, 0) == -1)
exit(1);
exit(0);
}
],
rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
])
])
AC_DEFUN(RTEMS_SYSV_MSG,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V messages,
rtems_cv_sysv_msg,
[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
int main () {
int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
if (id == -1)
exit(1);
if (msgctl(id, IPC_RMID, 0) == -1)
exit(1);
exit(0);
}
],
rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
])
])
dnl
dnl $Id$
dnl
dnl RTEMS_CHECK_MAKEFILE(path)
dnl Search for Makefile.in's within the directory starting
dnl at path and append an entry for Makefile to global variable
dnl "makefiles" (from configure.in) for each Makefile.in found
dnl
AC_DEFUN(RTEMS_CHECK_MAKEFILE,
[RTEMS_CHECK_FILES_IN($1,Makefile,makefiles)
])
dnl
dnl $Id$
dnl
dnl RTEMS_CHECK_FILES_IN(path,file,var)
dnl path .. path relative to srcdir, where to start searching for files
dnl file .. name of the files to search for
dnl var .. shell variable to append files found
AC_DEFUN(RTEMS_CHECK_FILES_IN,
[
AC_MSG_CHECKING(for $2.in in $1)
if test -d $srcdir/$1; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
rtems_av_tmp=`find $1 -name "$2.in" -print | sed "s/$2\.in/%/" | sort | sed "s/%/$2/"`
$3="$$3 $rtems_av_tmp";
cd $rtems_av_save_dir;
AC_MSG_RESULT(done)
else
AC_MSG_RESULT(no)
fi
])

25
aclocal/ar-s.m4 Normal file
View File

@@ -0,0 +1,25 @@
dnl
dnl $Id$
dnl
AC_DEFUN(RTEMS_AR_FOR_TARGET_S,
[
AC_CACHE_CHECK(whether $AR_FOR_TARGET -s works,
rtems_cv_AR_FOR_TARGET_S,
[
cat > conftest.$ac_ext <<EOF
int foo( int b )
{ return b; }
EOF
if AC_TRY_COMMAND($CC_FOR_TARGET -o conftest.o -c conftest.$ac_ext) \
&& AC_TRY_COMMAND($AR_FOR_TARGET -sr conftest.a conftest.o) \
&& test -s conftest.a ; \
then
rtems_cv_AR_FOR_TARGET_S="yes"
else
rtems_cv_AR_FOR_TARGET_S="no"
fi
rm -f conftest*
])
])

View File

@@ -0,0 +1,17 @@
dnl
dnl $Id$
dnl
dnl canonicalize target name
dnl NOTE: Most rtems targets do not fullfil autoconf's
dnl target naming conventions "processor-vendor-os"
dnl Therefore autoconf's AC_CANONICAL_TARGET will fail for them
dnl and we have to fix it for rtems ourselves
AC_DEFUN(RTEMS_CANONICAL_TARGET_CPU,
[AC_MSG_CHECKING(rtems target cpu)
changequote(<<, >>)dnl
target_cpu=`echo $target | sed 's%^\([^-]*\)-\(.*\)$%\1%'`
changequote([, ])dnl
AC_MSG_RESULT($target_cpu)
])

View File

@@ -0,0 +1,96 @@
dnl
dnl $Id$
dnl
dnl Set target tools
dnl
dnl 98/06/23 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl fixing cache/environment variable handling
dnl adding checks for cygwin/egcs '\\'-bug
dnl adding checks for ranlib/ar -s problem
dnl
dnl 98/02/12 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl
AC_DEFUN(RTEMS_GCC_PRINT,
[ case $host_os in
*cygwin32*)
dnl FIXME: Hack for cygwin/egcs reporting mixed '\\' and '/'
dnl Should be removed once cygwin/egcs reports '/' only
$1=`$CC_FOR_TARGET --print-prog-name=$2 | sed -e 's%\\\\%/%g' `
;;
*)
$1=`$CC_FOR_TARGET --print-prog-name=$2`
;;
esac
])
AC_DEFUN(RTEMS_PATH_TOOL,
[
AC_MSG_CHECKING([target's $2])
AC_CACHE_VAL(ac_cv_path_$1,:)
AC_MSG_RESULT([$ac_cv_path_$1])
if test -n "$ac_cv_path_$1"; then
dnl retrieve the value from the cache
$1=$ac_cv_path_$1
else
dnl the cache was not set
if test -z "[$]$1" ; then
if test "$rtems_cv_prog_gcc" = "yes"; then
# We are using gcc, ask it about its tool
# NOTE: Necessary if gcc was configured to use the target's
# native tools or uses prefixes for gnutools (e.g. gas instead of as)
RTEMS_GCC_PRINT($1,$2)
fi
else
# The user set an environment variable.
# Check whether it is an absolute path, otherwise AC_PATH_PROG
# will override the environment variable, which isn't what the user
# intends
AC_MSG_CHECKING([whether environment variable $1 is an absolute path])
case "[$]$1" in
/*) # valid
AC_MSG_RESULT("yes")
;;
*) # invalid for AC_PATH_PROG
AC_MSG_RESULT("no")
AC_MSG_ERROR([***]
[Environment variable $1 should ether]
[be unset (preferred) or contain an absolute path])
;;
esac
fi
AC_PATH_PROG($1,"$program_prefix"$2,$3)
fi
])
AC_DEFUN(RTEMS_CANONICALIZE_TOOLS,
[AC_REQUIRE([RTEMS_PROG_CC])dnl
dnl FIXME: What shall be done if these tools are not available?
RTEMS_PATH_TOOL(AR_FOR_TARGET,ar,no)
RTEMS_PATH_TOOL(AS_FOR_TARGET,as,no)
RTEMS_PATH_TOOL(LD_FOR_TARGET,ld,no)
RTEMS_PATH_TOOL(NM_FOR_TARGET,nm,no)
dnl special treatment of ranlib
RTEMS_PATH_TOOL(RANLIB_FOR_TARGET,ranlib,no)
if test "$RANLIB_FOR_TARGET" = "no"; then
# ranlib wasn't found; check if ar -s is available
RTEMS_AR_FOR_TARGET_S
if test $rtems_cv_AR_FOR_TARGET_S = "yes" ; then
dnl override RANLIB_FOR_TARGET's cache
ac_cv_path_RANLIB_FOR_TARGET="$AR_FOR_TARGET -s"
RANLIB_FOR_TARGET=$ac_cv_path_RANLIB_FOR_TARGET
else
AC_MSG_ERROR([***]
[Can't figure out how to build a library index]
[Nether ranlib nor ar -s seem to be available] )
fi
fi
dnl NOTE: These may not be available if not using gnutools
RTEMS_PATH_TOOL(OBJCOPY_FOR_TARGET,objcopy,no)
RTEMS_PATH_TOOL(SIZE_FOR_TARGET,size,no)
])

24
aclocal/check-files-in.m4 Normal file
View File

@@ -0,0 +1,24 @@
dnl
dnl $Id$
dnl
dnl RTEMS_CHECK_FILES_IN(path,file,var)
dnl path .. path relative to srcdir, where to start searching for files
dnl file .. name of the files to search for
dnl var .. shell variable to append files found
AC_DEFUN(RTEMS_CHECK_FILES_IN,
[
AC_MSG_CHECKING(for $2.in in $1)
if test -d $srcdir/$1; then
rtems_av_save_dir=`pwd`;
cd $srcdir;
rtems_av_tmp=`find $1 -name "$2.in" -print | sed "s/$2\.in/%/" | sort | sed "s/%/$2/"`
$3="$$3 $rtems_av_tmp";
cd $rtems_av_save_dir;
AC_MSG_RESULT(done)
else
AC_MSG_RESULT(no)
fi
])

12
aclocal/check-makefile.m4 Normal file
View File

@@ -0,0 +1,12 @@
dnl
dnl $Id$
dnl
dnl RTEMS_CHECK_MAKEFILE(path)
dnl Search for Makefile.in's within the directory starting
dnl at path and append an entry for Makefile to global variable
dnl "makefiles" (from configure.in) for each Makefile.in found
dnl
AC_DEFUN(RTEMS_CHECK_MAKEFILE,
[RTEMS_CHECK_FILES_IN($1,Makefile,makefiles)
])

21
aclocal/cygwin.m4 Normal file
View File

@@ -0,0 +1,21 @@
dnl
dnl $Id$
dnl
dnl Detect the Cygwin32 environment (unix under Win32)
dnl
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
dnl Hacked from automake-1.3
# Check to see if we're running under Cygwin32, without using
# AC_CANONICAL_*. If so, set output variable CYGWIN32 to "yes".
# Otherwise set it to "no".
dnl RTEMS_CYGWIN32()
AC_DEFUN(RTEMS_CYGWIN32,
[AC_CACHE_CHECK(for Cygwin32 environment, rtems_cv_cygwin32,
[AC_TRY_COMPILE(,[return __CYGWIN32__;],
rtems_cv_cygwin32=yes, rtems_cv_cygwin32=no)
rm -f conftest*])
CYGWIN32=
test "$rtems_cv_cygwin32" = yes && CYGWIN32=yes])

38
aclocal/exeext.m4 Normal file
View File

@@ -0,0 +1,38 @@
dnl
dnl $Id$
dnl
dnl Set the EXE extension
dnl
dnl 98/06/16 David Fiddes (D.J.Fiddes@hw.ac.uk)
dnl Hacked from automake-1.3
# Check to see if we're running under Win32, without using
# AC_CANONICAL_*. If so, set output variable EXEEXT to ".exe".
# Otherwise set it to "".
dnl RTEMS_EXEEXT()
dnl This knows we add .exe if we're building in the Cygwin32
dnl environment. But if we're not, then it compiles a test program
dnl to see if there is a suffix for executables.
AC_DEFUN(RTEMS_EXEEXT,
[AC_REQUIRE([RTEMS_CYGWIN32])
AC_MSG_CHECKING([for executable suffix])
AC_CACHE_VAL(rtems_cv_exeext,
[if test "$CYGWIN32" = yes; then
rtems_cv_exeext=.exe
else
cat > rtems_c_test.c << 'EOF'
int main() {
/* Nothing needed here */
}
EOF
${CC-cc} -o rtems_c_test $CFLAGS $CPPFLAGS $LDFLAGS rtems_c_test.c $LIBS 1>&5
rtems_cv_exeext=`echo rtems_c_test.* | grep -v rtems_c_test.c | sed -e s/rtems_c_test//`
rm -f rtems_c_test*])
test x"${rtems_cv_exeext}" = x && rtems_cv_exeext=no
fi
EXEEXT=""
test x"${rtems_cv_exeext}" != xno && EXEEXT=${rtems_cv_exeext}
AC_MSG_RESULT(${rtems_cv_exeext})
AC_SUBST(EXEEXT)])

29
aclocal/gcc-pipe.m4 Normal file
View File

@@ -0,0 +1,29 @@
dnl
dnl $Id$
dnl
dnl Check whether the target compiler accepts -pipe
dnl
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
dnl
AC_DEFUN(RTEMS_GCC_PIPE,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts --pipe,rtems_cv_gcc_pipe,
[
rtems_cv_gcc_pipe=no
if test "$rtems_cv_prog_gcc" = "yes"; then
case "$host_os" in
cygwin32*)
;;
*)
echo 'void f(){}' >conftest.c
if test -z "`${CC_FOR_TARGET} --pipe -c conftest.c 2>&1`";then
rtems_cv_gcc_pipe=yes
fi
rm -f conftest*
;;
esac
fi
])
])

22
aclocal/gcc-specs.m4 Normal file
View File

@@ -0,0 +1,22 @@
dnl
dnl $Id$
dnl
dnl Check whether the target compiler accepts -specs
dnl
dnl 98/02/11 Ralf Corsepius corsepiu@faw.uni-ulm.de
dnl
AC_DEFUN(RTEMS_GCC_SPECS,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_CACHE_CHECK(whether $CC_FOR_TARGET accepts -specs,rtems_cv_gcc_specs,
[
rtems_cv_gcc_specs=no
if test "$rtems_cv_prog_gcc" = "yes"; then
touch confspec
echo 'void f(){}' >conftest.c
if test -z "`${CC_FOR_TARGET} -specs confspec -c conftest.c 2>&1`";then
rtems_cv_gcc_specs=yes
fi
fi
rm -f confspec conftest*
])])

View File

@@ -0,0 +1,26 @@
dnl
dnl $Id$
dnl
dnl check for i386 gas supporting 16 bit mode
dnl - binutils 2.9.1.0.7 and higher
AC_DEFUN(RTEMS_I386_GAS_CODE16,
if test "${target_cpu}" = "i386"; then
AC_CACHE_CHECK([for 16 bit mode assembler support],
rtems_cv_prog_gas_code16,
[cat > conftest.s << EOF
.code16
data32
addr32
lgdt 0
EOF
if AC_TRY_COMMAND($AS_FOR_TARGET -o conftest.o conftest.s); then
rtems_cv_prog_gas_code16=yes
else
rtems_cv_prog_gas_code16=no
fi])
RTEMS_GAS_CODE16="$rtems_cv_prog_gas_code16"
fi
)

41
aclocal/mkdir.m4 Normal file
View File

@@ -0,0 +1,41 @@
dnl
dnl $Id$
dnl
dnl macro to detect mkdir
AC_DEFUN(RTEMS_PATH_MKDIR,
[AC_PATH_PROG(MKDIR,mkdir)
])
dnl macro to check for mkdir -p
AC_DEFUN(RTEMS_PROG_MKDIR_P,
[
AC_REQUIRE([RTEMS_PATH_MKDIR])
AC_MSG_CHECKING([for working $MKDIR -p])
AC_CACHE_VAL(rtems_cv_prog_mkdir_p,
[rm -rf conftestdata
if $MKDIR -p conftestdata 2>/dev/null ;then
rtems_cv_prog_MKDIR_P="yes"
else
rtems_cv_prog_MKDIR_P="no"
fi])dnl
rm -rf conftestdata
AC_MSG_RESULT($rtems_cv_prog_MKDIR_P)
])
dnl macro to check for mkdir -m 0755
AC_DEFUN(RTEMS_PROG_MKDIR_M,
[
AC_REQUIRE([RTEMS_PATH_MKDIR])
AC_MSG_CHECKING([for working $MKDIR -m 0755])
AC_CACHE_VAL(rtems_cv_prog_MKDIR_P,
[rm -rf conftestdata
if $MKDIR -m 0775 conftestdata 2>/dev/null; then
rtems_cv_prog_MKDIR_M="yes"
else
rtems_cv_prog_MKDIR_M="no"
fi])dnl
rm -rf conftestdata
AC_MSG_RESULT($rtems_cv_prog_MKDIR_M)
])

65
aclocal/prog-cc.m4 Normal file
View File

@@ -0,0 +1,65 @@
dnl
dnl $Id$
dnl
dnl Check for target gcc
dnl
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl Completely reworked
AC_DEFUN(RTEMS_PROG_CC,
[
AC_BEFORE([$0], [AC_PROG_CPP])dnl
AC_BEFORE([$0], [AC_PROG_CC])dnl
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
dnl Only accept gcc and cc
dnl NOTE: This might be too restrictive for native compilation
AC_PATH_PROGS(CC_FOR_TARGET, "$program_prefix"gcc "$program_prefix"cc )
test -z "$CC_FOR_TARGET" \
&& AC_MSG_ERROR([no acceptable cc found in \$PATH])
dnl backup
rtems_save_CC=$CC
rtems_save_CFLAGS=$CFLAGS
dnl temporarily set CC
CC=$CC_FOR_TARGET
AC_PROG_CC_WORKS
AC_PROG_CC_GNU
if test $ac_cv_prog_gcc = yes; then
GCC=yes
dnl Check whether -g works, even if CFLAGS is set, in case the package
dnl plays around with CFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CFLAGS="${CFLAGS+set}"
ac_save_CFLAGS="$CFLAGS"
CFLAGS=
AC_PROG_CC_G
if test "$ac_test_CFLAGS" = set; then
CFLAGS="$ac_save_CFLAGS"
elif test $ac_cv_prog_cc_g = yes; then
CFLAGS="-g -O2"
else
CFLAGS="-O2"
fi
else
GCC=
test "${CFLAGS+set}" = set || CFLAGS="-g"
fi
rtems_cv_prog_gcc=$ac_cv_prog_gcc
rtems_cv_prog_cc_g=$ac_cv_prog_cc_g
rtems_cv_prog_cc_works=$ac_cv_prog_cc_works
rtems_cv_prog_cc_cross=$ac_cv_prog_cc_cross
dnl restore initial values
CC=$rtems_save_CC
CFLAGS=$rtems_save_CFLAGS
unset ac_cv_prog_gcc
unset ac_cv_prog_cc_g
unset ac_cv_prog_cc_works
unset ac_cv_prog_cc_cross
])

65
aclocal/prog-cxx.m4 Normal file
View File

@@ -0,0 +1,65 @@
dnl
dnl $Id$
dnl
dnl Check for target g++
dnl
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl Completely reworked
AC_DEFUN(RTEMS_PROG_CXX,
[
AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
AC_BEFORE([$0], [AC_PROG_CXX])dnl
AC_REQUIRE([RTEMS_TOOL_PREFIX])dnl
dnl Only accept g++ and c++
dnl NOTE: This might be too restrictive for native compilation
AC_PATH_PROGS(CXX_FOR_TARGET, "$program_prefix"g++ "$program_prefix"c++)
test -z "$CXX_FOR_TARGET" \
&& AC_MSG_ERROR([no acceptable c++ found in \$PATH])
dnl backup
rtems_save_CXX=$CXX
rtems_save_CXXFLAGS=$CXXFLAGS
dnl temporarily set CXX
CXX=$CXX_FOR_TARGET
AC_PROG_CXX_WORKS
AC_PROG_CXX_GNU
if test $ac_cv_prog_gxx = yes; then
GXX=yes
dnl Check whether -g works, even if CXXFLAGS is set, in case the package
dnl plays around with CXXFLAGS (such as to build both debugging and
dnl normal versions of a library), tasteless as that idea is.
ac_test_CXXFLAGS="${CXXFLAGS+set}"
ac_save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS=
AC_PROG_CXX_G
if test "$ac_test_CXXFLAGS" = set; then
CXXFLAGS="$ac_save_CXXFLAGS"
elif test $ac_cv_prog_cxx_g = yes; then
CXXFLAGS="-g -O2"
else
CXXFLAGS="-O2"
fi
else
GXX=
test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
fi
rtems_cv_prog_gxx=$ac_cv_prog_gxx
rtems_cv_prog_cxx_g=$ac_cv_prog_cxx_g
rtems_cv_prog_cxx_works=$ac_cv_prog_cxx_works
rtems_cv_prog_cxx_cross=$ac_cv_prog_cxx_cross
CXX=$rtems_save_CXX
CXXFLAGS=$rtems_save_CXXFLAGS
dnl restore initial values
unset ac_cv_prog_gxx
unset ac_cv_prog_cc_g
unset ac_cv_prog_cxx_works
unset ac_cv_prog_cxx_cross
])

96
aclocal/sysv-ipc.m4 Normal file
View File

@@ -0,0 +1,96 @@
dnl
dnl $Id$
dnl
dnl Check for System V IPC calls used by Unix simulators
dnl
dnl 98/07/17 Dario Alcocer alcocer@netcom.com
dnl Ralf Corsepius corsepiu@faw.uni-ulm.de
dnl
dnl Note: $host_os should probably *not* ever be used here to
dnl determine if host supports System V IPC calls, since some
dnl (e.g. FreeBSD 2.x) are configured by default to include only
dnl a subset of the System V IPC calls. Therefore, to make sure
dnl all of the required calls are found, test for each call explicitly.
dnl
dnl All of the calls use IPC_PRIVATE, so tests will not unintentionally
dnl modify any existing key sets. See the man pages for semget, shmget,
dnl msgget, semctl, shmctl and msgctl for details.
AC_DEFUN(RTEMS_SYSV_SEM,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V semaphores,
rtems_cv_sysv_sem,
[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
int main () {
#if !defined(sun)
union semun arg ;
#else
union semun {
int val;
struct semid_ds *buf;
ushort *array;
} arg;
#endif
int id=semget(IPC_PRIVATE,1,IPC_CREAT|0400);
if (id == -1)
exit(1);
arg.val = 0; /* avoid implicit type cast to union */
if (semctl(id, 0, IPC_RMID, arg) == -1)
exit(1);
exit(0);
}
],
rtems_cv_sysv_sem="yes", rtems_cv_sysv_sem="no", :)
])
])
AC_DEFUN(RTEMS_SYSV_SHM,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V shared memory,
rtems_cv_sysv_shm,
[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
int main () {
int id=shmget(IPC_PRIVATE,1,IPC_CREAT|0400);
if (id == -1)
exit(1);
if (shmctl(id, IPC_RMID, 0) == -1)
exit(1);
exit(0);
}
],
rtems_cv_sysv_shm="yes", rtems_cv_sysv_shm="no", :)
])
])
AC_DEFUN(RTEMS_SYSV_MSG,
[AC_REQUIRE([RTEMS_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST])
AC_CACHE_CHECK(whether $RTEMS_HOST supports System V messages,
rtems_cv_sysv_msg,
[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
int main () {
int id=msgget(IPC_PRIVATE,IPC_CREAT|0400);
if (id == -1)
exit(1);
if (msgctl(id, IPC_RMID, 0) == -1)
exit(1);
exit(0);
}
],
rtems_cv_sysv_msg="yes", rtems_cv_sysv_msg="no", :)
])
])

20
aclocal/tool-prefix.m4 Normal file
View File

@@ -0,0 +1,20 @@
dnl
dnl $Id$
dnl
dnl Set program_prefix
dnl
dnl 98/05/20 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
dnl Extracted from configure
AC_DEFUN(RTEMS_TOOL_PREFIX,
[AC_REQUIRE([AC_CANONICAL_TARGET])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
if [[ "${program_prefix}" = "NONE" ]] ; then
if [[ "${target}" = "${host}" ]] ; then
program_prefix=
else
program_prefix=${target}-
fi
fi
])

View File

@@ -13,18 +13,18 @@ much better product.
The following persons/organizations have made contributions:
+ Dr. Mikhail (Misha) Savitski (mms@eiscathq.irf.se) of the EISCAT Scientific
Association submitted the BSP and other miscellaneous support for the
Motorola MVME162 (M68040LC CPU) VMEbus single board computer.
+ Dr. Mikhail (Misha) Savitski (mikhail.savitski@styrex.se) of the EISCAT
Scientific Association submitted the BSP and other miscellaneous support
for the Motorola MVME162 (M68040LC CPU) VMEbus single board computer.
+ Division Inc. of Chapel Hill, NC for sponsoring On-Line Applications
Research to port RTEMS to the Hewlett-Packard PA-RISC architecture (V1.1)
and the addition of HP-UX as a development host. Tony Bennett
(tbennett@divnc.com) was assisted in this effort by Joel Sherrill
(jsherril@redstone.army.mil). Tony also deserves a big pat on the
back for contributing significantly to the overall organization
of the development environment and directory structure. RTEMS
is much easier to build because of Tony.
(tbennett@chapelhill.hp.com) was assisted in this effort by Joel Sherrill
(joel@OARcorp.com). Tony also deserves a big pat on the back for
contributing significantly to the overall organization of the development
environment and directory structure. RTEMS is much easier to build
because of Tony.
+ Greg Allen of Division Inc. of Chapel Hill, NC for
porting RTEMS to HP-UX. This port treats a UNIX computer as simply
@@ -38,6 +38,104 @@ The following persons/organizations have made contributions:
examples in the back of the IDP user's manual, and the libgloss example
support for the IDP board from the newlib/libgloss distribution.
+ David Glessner (dwg@glenqcy.glenayre.com) of Glenayre Electronics
submitted the support for the Motorola MC68302 CPU. This included
the "gen68302" BSP which uses the on-chip peripherals on the MC68302
as well as the modifications to the m68k dependent executive code to
support m68k family members based on the mc68000 core.
+ Bryce Cogswell (cogswell@cs.uoregon.edu) submitted the support for MS-DOS
as a development environment as well as djgpp/go32 as a target environment.
+ Andy Bray (andy@chaos.org.uk) of I-CUBED Ltd. in Cambridge U.K.
for porting RTEMS to the PowerPC. This effort included support for the
IBM 403 as well as the Motorola 601, 603, and 604 variants. A special
thanks to Dom Latter (dom@i-cubed.demon.co.uk) for being an RTEMS
evangelist and promoting the use of RTEMS both at I-CUBED Ltd. as well
as within the Internet community as a whole.
+ John S. Gwynne (jsg@coulomb.eng.ohio-state.edu) of Ohio State University
submitted the support for the Motorola MC68332 CPU as well as completing
the support for CPUs based on the MC68000 core. This included the "efi68k"
and "efi332" BSPs as well as completing the modifications to the m68k
dependent executive code to support m68k family members based on the
MC68000 core. "efi68k" and "efi332" are single board computers designed
primarily for automotive electronic fuel injection (EFI) control, but can
be considered general purpose controllers when used without the EFI
companion board(s). See the README in each BSP for more information.
+ The European Space Agency for sponsoring On-Line Applications Research
to port RTEMS to the SPARC V7 architecture for use with their ERC32
radiation-hardened CPU. Jiri Gaisler (jgais@wd.estec.esa.nl) deserves
special thanks for championing this port within the ESA was well as
for developing and supporting the SPARC Instruction Simulator used to
develop and test this port.
+ Eric Norum (eric@skatter.usask.ca) of the Saskatchewan Accelerator
Laboratory submitted the support for the Motorola MC68360 CPU
including the `gen68360' BSP.
+ Dominique le Campion (Dominique.LECAMPION@enst-bretagne.fr), for
Telecom Bretagne and T.N.I. (Brest, France) submitted the BSP for
the Motorola MVME147 board (68030 CPU + 68881 FPU) and the MVME147s
variant of this board.
+ Craig Lebakken (lebakken@minn.net) and Derrick Ostertag
(ostertag@transition.com) of Transition Networks of Eden Prairie, MN
for porting RTEMS to the MIPS and AMD 29K architectures. This submission
includes complete support for the R4650 as well as partial support
for the R4600.
+ Erik Ivanenko (ccms@utcc.utoronto.ca) of the University of Toronto
for submitting the i386ex bsp.
+ Jiri Gaisler (jgais@wd.estec.esa.nl) converted RTEMS to using GNU
autoconf. This effort is greatly appreciated.
+ Eric Norum (eric@skatter.usask.ca) of the Saskatchewan Accelerator
Laboratory submitted a BSP for the m68360 when operating in companion
mode with a m68040 and a port of the Motorola MC68040 Floating Point
Support Package (FPSP) to RTEMS.
+ Eric Norum (eric@skatter.usask.ca) of the Saskatchewan Accelerator
Laboratory submitted a port of the KA9Q TCP/IP stack to RTEMS as
well as a network device driver for the gen68360 BSP. To address
performance issues and licensing concerns, Eric followed this up
by replacing the KA9Q TCP/IP stack with a port of the FreeBSD stack.
+ Chris Johns (cjohns@plessey.com.au) submitted the ods68302 BSP which
offers easier configuration than its counterpart gen68302. Chris
also submitted the RTEMS++ C++ class library and test code for
that library.
+ Katsutoshi Shibuya (shibuya@mxb.meshnet.or.jp) of BU-Denken Co., Ltd.
(Sapporo, Japan) submitted the extended console driver for the
MVME162LX BSP and the POSIX tcsetattr() and tcgetattr() routines.
This device driver supports four serial ports, cooked IO, and
provides a portable base for Zilog 8530 based console drivers.
+ Eric Norum (eric@skatter.usask.ca) and Katsutoshi Shibuya
(shibuya@mxb.meshnet.or.jp) jointly developed the termios support.
+ Ralf Corsepius (corsepiu@faw.uni-ulm.de) of the Research Institute for
Applied Knowledge Processing at the University of Ulm (FAW), Germany,
for numerous enhancements to the RTEMS autoconf support as well as
for the Hitachi SH port.
+ Dario Alcocer <alcocer@connectnet.com> submitted a port of the
RTEMS port to FreeBSD.
+ David Fiddes <D.J.Fiddes@hw.ac.uk>, Rod Barman (rodb@ptgrey.com) and
Stewart Kingdon (kingdon@ptgrey.com) submitted Motorola ColdFire
support. This work was supported in part by Real World Interface, Inc.
+ Geoffroy Montel (g_montel@yahoo.com), for CNET/DSM (Rennes, France),
submitted the BSP for Motorola 68340/68349 based boards.
+ Thomas Doerfler (td@imd.m.isar.de) of IMD in
Puchheim,Germany submitted some improvements to the PPC403
support and added the helas403 BSP.
Finally, the RTEMS project would like to thank those who have contributed
to the other free software efforts which RTEMS utilizes. The primary RTEMS
development environment is from the Free Software Foundation (the GNU

133
c/Makefile.in Normal file
View File

@@ -0,0 +1,133 @@
#
# $Id$
#
# top level directory for RTEMS build tree
# This Makefile is *not* a good example of a directory Makefile.
#
@SET_MAKE@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
target = @target@
manext = 1
mandir = @mandir@/man$(manext)
program_prefix = @program_prefix@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=build-tools src
# We only make the install point for the networking header files if needed.
LIBNETWORKING_yes_V = lib/include/networking lib/include/networking/sys \
lib/include/networking/machine lib/include/networking/rtems \
lib/include/networking/vm lib/include/networking/net \
lib/include/networking/netinet lib/include/networking/arpa \
lib/include/networking/nfs
LIBNETWORKING = $(LIBNETWORKING_$(HAS_NETWORKING)_V)
# We only make the rtems++ install point if it is enabled.
LIBRTEMSCPLUSPLUS_yes_V = lib/include/rtems++
LIBRTEMSCPLUSPLUS = $(LIBRTEMSCPLUSPLUS_$(HAS_CPLUSPLUS)_V)
# directories to be created in install point
CREATE_DIRS = \
lib lib/include lib/include/sys lib/include/rtems \
lib/include/rtems/score lib/include/rtems/rtems lib/include/rtems/posix \
lib/include/libc lib/include/libc/sys \
lib/include/motorola lib/include/zilog \
$(LIBNETWORKING) \
$(LIBRTEMSCPLUSPLUS) \
bin samples \
tests tests/screens tests/screens/sptests \
tests/screens/psxtests tests/screens/mptests \
tests/screens/mptests/node1 tests/screens/mptests/node2 \
build-tools update-tools
# Make all/install must include 'env'
# if something is added to TARGET_VARIANTS, then account for it here
make_src_makefiles: Makefile.in Makefile
-find . -name Makefile \
-exec grep -l "^preinstall" {} \; > make_src_makefiles.tmp
-grep tools make_src_makefiles.tmp > make_src_makefiles
-grep -v tools make_src_makefiles.tmp >> make_src_makefiles
-rm make_src_makefiles.tmp
pre_install_src: env make_src_makefiles
cd build-tools/scripts; $(MAKE)
@echo "Order of preinstall directories"
cat make_src_makefiles
@echo
CURRDIR=`pwd`; \
for i in `cat make_src_makefiles` ; do \
DIR=`dirname $$i`; \
cd $$DIR; \
$(MAKE) preinstall; \
cd $$CURRDIR; \
done
all: pre_install_src env
debug: pre_install_src env
profile: pre_install_src env
install: all install_files
debug_install: env debug install_files
profile_install: env profile install_files
debug_all: debug
profile_all: profile
# top level clean/clobber will delete the install points
clean_WRAPUP = $(MAKE) clean_wrapup
clobber_WRAPUP = $(MAKE) clean_wrapup
clean_wrapup: clean_tools clean_dirs clean_modules
.PHONY: dirs clean_wrapup clean_dirs clean_tools clean_modules env install
dirs:
-$(MKDIR) ${CREATE_DIRS:%=$(PROJECT_ROOT)/$(RTEMS_BSP)/%}
if test -d $(PROJECT_ROOT)/c/src/lib/libhwapi; then \
(cd $(PROJECT_ROOT)/c/src/lib/libhwapi ; $(MAKE) mkdirs) \
fi
distclean: clobber
clean_dirs:
$(RM) -r $(PROJECT_RELEASE)
clean_tools:
cd build-tools; $(MAKE) clean
$(PROJECT_ROOT)/$(RTEMS_BSP)/Makefile.inc: $(PROJECT_ROOT)/make/Templates/Makefile.inc
echo "RTEMS_BSP = $(RTEMS_BSP)" > $@
$(CAT) $< >> $@
# NOTE: The wildcard on the install should pick up everything except
# the tests directory. This significantly minimizes the install size.
install_files: $(PROJECT_ROOT)/$(RTEMS_BSP)/Makefile.inc
-$(MKDIR) $(prefix)/
-$(MKDIR) $(prefix)/rtems
-$(RM) -rf $(prefix)/rtems/$(RTEMS_BSP)
cd ../; tar cf - $(RTEMS_BSP)/[bilsuM]* | \
(cd $(prefix)/rtems; tar xpBf - )
cd ../make; $(MAKE) RTEMS_BSP=$(RTEMS_BSP) install
tests:
cd src/tests; $(MAKE) all
debug_tests: debug
cd src/tests; $(MAKE) debug
profile_tests: profile
cd src/tests; $(MAKE) profile
env: $(SRCS) dirs

View File

@@ -4,36 +4,70 @@
This is the list of outstanding problems in this release.
1. The m68000 support is not complete. Someone with target hardware
needs to complete the missing gaps. Look for ifdef's based on the
M68K_* macros defined in c/make/cpu/m68k.cfg. Most of the code
is present but none of it is tested. An attempt was made to insert
"#warnings" preprocessor directives in the appropriate places.
So these are a good starting spot.
+ AMD 29k port is based on a non-GNU toolset.
+ The test spfatal is out of date and as a result will NOT execute
correctly. The addition of POSIX and consequent ongoing initialization
reorganization makes it pointless to fix this until the POSIX support
is completely in place.
2. The only i960 family member tested is the CA. No support for the
+ The m68k family has become quite large and an understanding of the
compatibility of the peripherals on the various members of the 683xx
family would allow someone to designate some of the drivers submitted
for the gen683xx BSPs as useful on other members.
+ The only supported i960 family member is the CA. No support for the
floating point support found in other family members is present.
This also implies that RTEMS may "think" of something as generic
across the i960 family when in fact it is specific to the CA.
To make matters worse, the i960 target board owned by the RTEMS Project
is now broken and as a result even the i960CA is a "compile only" port.
3. The __read() system call in all of the BSPs using single
character input/output needs to be smarter. The following
issues need to be addressed:
+ Some of the BSPs still define RAM_START and RAM_END in the bsp.h file.
It is better to define these in the linkcmds file. It is also nice
to use the linkcmds file to place overlays for on-board hardware.
+ echoing of characters on input
+ CR/NL echoing
+ backspaces
+ tabs
+ Not all of the BSP console drivers have been converted to termios.
Look at the m68k/gen68360, sparc/erc32, and powerpc/psim BSPs for
examples.
4. Solaris 2.3 port notes:
+ Some of the tests run correctly when run interactively but
the screen and output do not match when the output is
redirected to a file.
+ UNIX port notes:
+ sometimes a stray SIGALRM is reported as spfatal completes.
5. Some of the tests may execute correctly and not produce the exact
+ There are conflicts between the names of native library routines
which MUST be used and those in the POSIX support. This must
be addressed. The POSIX API cannot be used with this port as a
result of this.
+ Someone suggested writing a mini-system call interface to
include with RTEMS which would eliminate name conflicts. This
would allow the RTEMS POSIX API to be tested in this configuration.
+ Some of the tests may execute correctly and not produce the exact
ordering of lines in the screen file. This appears to be a combination
of a number of factors including buffering, processor speed, IO
device overhead, and clock interrupt rate.
device overhead, and clock interrupt rate. The biggest problem is that
some tests depend on polled IO with no unexpected context switches.
These may not be resolvable while maintaining the spirit of the test.
+ The clock device drivers should really avoid doing the division
by 1000 in the clock tick ISR to convert microseconds into
milliseconds. This only applies to clock drivers which generate
an ISR each millisecond and only call rtems_clock_tick every
so many ISRs.
+ Cross-check configure --enable-* flags.
+ warn/refuse to configure when --enable-libcdir and
--enable-gcc28 are given.
+ force --enable-libcdir when --disable-gcc28 is given
+ make profile does not currently work for a variety of reasons. Few
BSPs include profile versions of the libraries in their bsp_specs
file. There is no mechanism to sample data for gperf to process.
All of this will need to be addressed before "make profile" is truly
useful.
+ Bare BSP does not compile for all configurations yet. This is
primarily due to libcpu support code assuming that the BSP has
made something available which is not with a bare BSP.

View File

@@ -5,18 +5,10 @@
This is the top level of the RTEMS directory structure. The following
is a description of the files and directories in this directory:
LICENSE
Required legalese.
Makefile
Makefile.in
The top-level Make command file used to build the C implementation
of RTEMS. [RTEMS assumes the use of GNU make.]
Modules
Example Modules command files used to configure the user's environment
for RTEMS. These require the Modules system administration package
available from numerous ftp sites.
README
This file.

72
c/README.DOS Normal file
View File

@@ -0,0 +1,72 @@
#
# $Id$
#
tools
-----
The RTEMS build procedure was designed with the capabilitiies of a
typical UNIX computer in mind. Making this procedure work under MS-DOS
is not that difficult but requires that MS-DOS versions of a number
of UNIX utilities be acquired and installed. For time being, the
best advice which can be offered is:
"This is a nasty question, since when I first set up the DOS machine
(long before I acquired RTEMS) I ftp'd a bunch of different tool
sets (all from SimTel), and then picked individual tools from each
set that worked best for me. The djgpp tools are probably a good
starting point, especially to get a working sed. Next the gnu tools
in SimTel/msdos/gnuish, and then others. Sorry I can't give you more
specific names. The only real requirement for the tools is that
they *must* accept redirection of command line arguments from a file
using the '@' notation (i.e., "mkdir @/tmp/args" reads the argument
list from file /tmp/args)."
There is a special version (source and executable) of GNU make 3.71 for
MS-DOS which minimizes the amount of memory used by recursive makes
available on lancelot.gcs.redstone.army.mil in the file:
/pub/msdos/gmake371.tgz
Many of the RTEMS specific utilities used in the build and installation
are UNIX shell scripts. On a UNIX host, these are normally interpreted
by the Bourne Again Shell (BASH) or the Korn Shell (ksh). Most of these
scripts can be successfully executed with the following shell from the
MS-DOS archives from Simtel.
SimTel/msdos/sysutil/ms_sh23b.zip
Please be sure to use the 16-bit version. The Simtel archives are
available from ftp.cdrom.com as well as a number of mirror sites.
go32
----
go32 dumps the stack when a program seg-faults, and if this happens while
on an alternate stack an infinite loop can ensue. Setting the environment
variable GO32="core /tmp/core" will prevent more than 20 lines or
so of stack information from being dumped after a crash, and the output
will go to a file rather than the screen.
The go32 debuggers get confused by the relocated stacks used by tasks,
and tend to crash when variables are inspected.
djgcc include files
-------------------
In general, we use RTEMS include files because these contain the proper
declarations for the libc, and in particular, the stdio functions.
When calling go32-specific functions it is necessary to include some
djgpp include files, as well. Unfortunately, there are some disagreements
between RTEMS and djgpp as to how certain functions and types are
declared. In these cases, the RTEMS source have been modified to
special-case the differences.
other
-----
* Pressing F12 will immediately abort the program.
See lib/libbsp/i386/go32/console/inch.c.
* lib/libbsp/i386/go32/timer uses the on-board timer chip by default,
which has a resolution of about 1 microsecond. However, if executing
on a Pentium processor you can use the on-chip 64-bit cycle counter,
which counts at whatever clock rate your processor runs at. To enable
this, set RTEMS_CPU_MODEL=pentium in make/custom/go32.cfg.

View File

@@ -5,9 +5,9 @@
1. The installation procedure assumes that "gcc" is installed
and is in your path for the installation of local tools.
2. gcc 2.6.3 with crossgcc patches (ftp.cygnus.com:/pub/embedded)
2. gcc 2.7.2 with crossgcc patches (ftp.cygnus.com:/pub/embedded/crossgcc)
3. binutils 2.5.2
3. binutils 2.6 with crossgcc patches.
4. newlib with RTEMS configurations.

74
c/TESTED Normal file
View File

@@ -0,0 +1,74 @@
#
# $Id$
#
This file is current for the 4.0.0 release.
The RTEMS project uses Intel x86 based computers running the RedHat
distribution of the Linux operating system internally for development.
This release has been tested on the following Languages/CPUs/Targets using
RedHat Linux 4.2 as the host environment:
CPU CPU
FAMILY MODEL TARGET SUITES
======== ========= ======================= ===============
m68k m68000 efi68k (note 1)
m68k m68020 Motorola MVME136 (note 1, 6)
m68k m68030 Motorola MVME147 (note 1)
m68k m68030 Motorola MVME147s (note 1)
m68k m68lc040 Motorola MVME162 (note 1)
m68k m68lc040 Motorola MVME162LX (note 1)
m68k m68ec040 Motorola IDP (note 1)
m68k m68020 DY-4 DMV152 (note 1)
m68k m68302 generic 68302 (note 1)
m68k m68302 ods 68302 (note 1)
m68k m68332 efi332 (note 1)
m68k m68360 generic 68360 (note 1, 6)
m68k m68360 68360 in companion mode (note 1, 6)
i386 i386_fp Force CPU-386 (note 1, 7)
i386 i386ex generic i386ex (note 1, 6)
i386 ix86 bare PC (pc386) (note 1, 6)
i386 i486 DJGPP/PC-AT (note 7)
i386 pentium DJGPP/PC-AT (note 7)
i960 i960ca Cyclone CVME961 (note 4)
hppa hppa7100 simhppa (note 1)
mips idt4600 p4000 (note 1)
mips idt4650 p4000 (note 1)
powerpc ppc403 helas403 (note 1, 6)
powerpc ppc403 Papyrus (note 1)
powerpc ppc403 psim (note 5)
sh sh7032 generic sh1 (note 1)
sparc erc32 generic erc32 ALL TESTS (note 5)
a29k a29k port sw (note 2)
UNIX NA Solaris 2 (SPARC) (note 2)
UNIX NA Solaris 2 (SPARC) (note 2)
UNIX NA Linux (i386) ALL TESTS (inlines)
UNIX NA Linux (i386) ALL TESTS (macros)
UNIX NA HPUX (PA-RISC) (note 2)
no_cpu NA no_bsp (note 3)
NOTES:
"NOT TESTED" indicates that this was not tested in the testing cycle
immediately preceding the snapshot.
(1) Target board is not owned by RTEMS Project. The target is known
to compile and link with all appropriate tests successfully.
If the target does not support multiprocessor configurations, then
"ALL TESTS" does not include the multiprocessor tests.
(2) RTEMS Project cannot internally compile or test this target.
As of 4.0.0, the HP-UX is not recognized in the configure script
The a29k does not use GNU tools and may suffer from bit rot.
(3) Target is not intended to be executed. It is only an example.
(4) The board owned by the RTEMS Project is broken. The BSP is known
to compile and link with all appropriate tests successfully.
(5) This BSP is tested on a CPU software simulator.
(6) This BSP was tested by an RTEMS volunteer and reported to work.
(7) The BSP is deprecated. For information on what would be
required to update it contact rtems@OARcorp.com.

View File

@@ -2,16 +2,51 @@
# $Id$
#
In the directory "update_tools", there are a set of tools to aid in
making the application source changes necessary to address some
of the changes in the RTEMS API between release 3.1.0 and 3.2.0.
Between RTEMS 3.1.0 and 3.2.0, every RTEMS defined symbol made visible
was renamed. This document describes the change and the tools provided
to assist you in updating your RTEMS 3.1.0 application.
The primary change addressed by these tools is the addition of
"rtems_" or "RTEMS_" as a prefix on EVERY user visible RTEMS
provided constant and routine. The primary factor in the decision
to make such a sweeping change was conflicts between the
the RTEMS and POSIX API's.
[NOTE: This change was not included in snapshots prior to 3.1.15.]
DESCRIPTION OF NAME CHANGES:
============================
The primary change was the addition of the prefix "rtems_" or "RTEMS_" to
EVERY user visible RTEMS provided constant and routine. The primary
factor in the decision to make such a sweeping change was conflicts
between the the RTEMS and POSIX API's.
TO UPDATE YOUR APPLICATION:
===========================
The update script requires that Perl be installed on your computer.
It has only been tested with Perl 5.x.
After RTEMS has been built, in the directory "$r/<BSP>/update_tools", will
be a set of tools to aid in making the application source changes necessary
to address (hopefully) all of the name changes in the RTEMS API between
releases 3.1.0 and 3.2.0.
The update shell script is the only executable which is invoked by the
user directly. The word-replace Perl script is invoked by the update
shell script.
WARNING: These tools modify the files IN PLACE!!! Backup your
source before using these tools.
source before using these tools.
To udpate your application, change directories to the top of your application
source tree and execute the update script. It should be something similar
to the following:
cd MY_APP
$r/<BSP>/update-tools/update
The update script will ask if you have backed up your source code before
beginning the update process. While operating on files, it will print
the name of each file and a dot for each change made to the source file.
NOTE: These scripts do not attempt to address changes in calling
sequences. After the script has run, you will need to update
calls to rtems_clock_get(), rtems_timer_fire_after(), and
rtems_timer_fire_when() by hand.

14
c/build-tools/Makefile.in Normal file
View File

@@ -0,0 +1,14 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=os scripts src

View File

@@ -1,32 +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.
rtems-glom
glom together all the rtems libraries in order to simplify
the link line used by applications.
Produces rtems.rel.
Not used by the RTEMS src tree at all.
Strictly optional.

View File

@@ -1,364 +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$
* $Log$
*/
#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 <stdio.h>
#include <fcntl.h>
#include <ctype.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <memory.h>
#include <stdarg.h>
#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;
extern int errno;
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, char **env)
{
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 '<progname>: '
*
* 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;
extern char *sys_errlist[];
extern int sys_nerr;
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)
if ((local_errno > 0) && (local_errno < sys_nerr))
(void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
else
(void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
else
(void) fprintf(stderr, "\n");
(void) fflush(stderr);
if (error_flag & (ERR_FATAL | ERR_ABORT))
{
if (error_flag & ERR_FATAL)
{
error(0, local_errno ? "fatal error, exiting" : "exiting");
exit(local_errno);
}
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;
}

View File

@@ -1,351 +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$
* $Log$
*/
#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 <stdio.h>
#include <fcntl.h>
#include <ctype.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <memory.h>
#include <stdarg.h>
#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;
extern int errno;
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, char **env)
{
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( 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 '<progname>: '
*
* 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;
extern char *sys_errlist[];
extern int sys_nerr;
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)
if ((local_errno > 0) && (local_errno < sys_nerr))
(void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
else
(void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
else
(void) fprintf(stderr, "\n");
(void) fflush(stderr);
if (error_flag & (ERR_FATAL | ERR_ABORT))
{
if (error_flag & ERR_FATAL)
{
error(0, local_errno ? "fatal error, exiting" : "exiting");
exit(local_errno);
}
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;
}

View File

@@ -0,0 +1,14 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=$(wildcard $(RTEMS_HOST))

View File

@@ -0,0 +1,39 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
DESTDIR=$(PROJECT_RELEASE)/build-tools
INSTALLED=$(DESTDIR)/ifc.exe \
$(DESTDIR)/cklength.exe \
$(DESTDIR)/fixtimer.exe
all: $(DESTDIR) $(PGMS) install
$(DESTDIR):
@INSTALL@ $(INSTDIRFLAGS) $@
install: $(INSTALLED)
# Install the programs
$(DESTDIR)/ifc.exe: ifc_exe.uue
uudecode <ifc_exe.uue
mv ifc.exe $(DESTDIR)/ifc.exe
$(DESTDIR)/cklength.exe: cklength.uue
uudecode <cklength.uue
mv cklength.exe $(DESTDIR)/cklength.exe
$(DESTDIR)/fixtimer.exe: fixtimer.uue
uudecode <fixtimer.uue
mv fixtimer.exe $(DESTDIR)/fixtimer.exe

View File

@@ -0,0 +1,12 @@
#
# $Id$
#
ifc is an MS-DOS executable which is equivalent to the program
install-if-change. It was compiled using Borland C 2.00.
cklength is a precompiled version of the program cklength.c from
the main source tree.
fixtimer is a program to restore the clock if the program does not
exit cleanly.

View File

@@ -0,0 +1,286 @@
#
# $Id$
#
begin 664 cklength
M?T5,1@$" 0 " ( ! $,% #0 "T8 T "
M!0 H !H %P 8 T $ - "@ H 4 P
M -0 !$ ! ! ! 7
M2P %TL % $ $ !=, (73 &\ %? < 0
M @ %U A=0 (@ !P O=7-R+VQI8B]L9"YS
M;RXQ $, !6 20 #P
M #@ $4 /0 !P !# &@
M A 30 #\ *0 $X !" D
M $@ W $8 )@ "
M ! %( 4P Z *@ 00
M $H 'P $L !5 3P L .P %0 H
M-@ #$ P 40
M
M
M G
M '0 C ; N
M "( -0 E #D R - !X
M "T ,P !$ *P
M ^ "\ 3 % !'
M 0#4 , $ $ Z # "
M ! U0 P P 0BT , 0 $*W #
M % !"S P !@ 0P4 , < $32
M # ( !$^ P "0 1/L , H $3
M] # + !% P # A=, , T
M (74 # . "%]@ P #P ACP , !
M (9" # 1 P $@ ,
M !, # 4 P %0
M , !8 # 7 P &
M , !D ! (8. 2 " !$_0 $0 "P !8
M 0P4 =!( < = (8U 2 (@ "&$0 $@
M "< 1/L !$ H U (8O 2 / "&0@ $$0
M$0 $4 AB8 !( !. (9# 01 1 5P "',@
M$0#_\0 %P 1+ 2!( < !B $2> $@2 ' 9P !$8@
M "H$@ !P &\ AD8 !0"$ !$ !T (73 1 /_Q B@ "
M&*0 $@ ) A@( !( "7 (8% 2
MG !$T@ $@ " *( ACT !!$ ! "J (9$ 01 1
M M "&E@ )@$0 $0 , AB !( #' (8\ 01
M 0 S0 "%U $0#_\0 -8 0[H !0!( < #> (9&
M 4 1 1 Y "&E@ )@$0 $0 /$ AC@ !( #W (8
M+ 2 _P "&" $@ 04 AD, !"$ !$ $-
M (<N 01 1 !$P "&+ $@ 1H 1 H !8!( <
M $@ (8_ 01 0 !,P "'+P $$0 $0 3H AC( !(
M $_ (<P 01 1 !1@ "&&@ $@ 4P AS$
M!!$ !$ %3 (8^ 01 0 !9P "&0@ $0#_\0 6X A?8
M !$ __$ &( (87 2 !C@ "&1 $$0 $0 9<
M 1,( /!( < &I $3\ 1 * !M@ !%TL $0#_\0
M ;T 10 !!$ P '* $2, $@2 ' !SP "&(P $@
M =8 0R( !( < 'H $3^ 1 + !]0 !#10 '4
M$@ !P ?H AD !!$ ! (& (8= 2 "#0 !$^
M $@ "0 A, AA0 !( 9V5T;W!T %]?1%1/4E],25-47U\
M7W-T87)T ')E860 871O:0!?7T-43U)?3$E35%]? '-T<G1O; !P<F]G;F%M
M90!V9G!R:6YT9@!?96YV:7)O;@!?96YD %=R:71E %)E860 9V5T<&%R;0!?
M:6]B %]'3$]"04Q?3T9&4T547U1!0DQ%7P!A8F]R= !A=&5X:70 97AI= !?
M:6YI= !V97)B;W-E %]S>7-?;F5R<@!S>7-?97)R;&ES= !F8VQO<V4 55-!
M1T4 7T193D%-24, <')O8V5S<P!?7VEO8@!?<WES7V5R<FQI<W0 =W)I=&4
M<W1R<F-H<@!?97AI= !E;G9I<F]N &5R<FYO '-T<F-H<@!E<G)O<@!R97!O
M<G1?;&EN95]L96YG=&@ ;W!T:6YD &]P96X ;W!T87)G &9G971S &]P=&5R
M<@!R97!O<G1?;&EN95]N=6UB97)S %]E9&%T80!?4%)/0T5$55)%7TQ)3DM!
M1T5?5$%"3$5? &9O<&5N '-Y<U]N97)R %]?9&]?9VQO8F%L7V1T;W)S %]?
M0U1/4E]%3D1?7P!?971E>'0 7VQI8E]V97)S:6]N $]P96X 9F9L=7-H %]?
M9&]?9VQO8F%L7V-T;W)S %]?1%1/4E]%3D1?7P!M86EN &QI;F5?;&5N9W1H
M '-T<FQE;@!?9FEN:0!F<')I;G1F &QI8F,N<V\N,0 AD, C$P
M AS$ !#$P AS !!$P AR\ _$P AD8 U
M$P " AD0 !($P AI8 P$P A@( K%0 A@4
M L%0 A@@ Y%0 A@L X%0 A@X :%0
M AA$ >%0 AA0 !5%0 AA< !'%0 AAH !"%0
M AAT !3%0 AB Q%0 AB, !.%0 AB8 B
M%0 ABD J%0 ABP \%0 AB\ @%0 AC(
M ! %0 AC4 =%0 AC@ W%0 "\$" X .@0*(#H$2<
M(Z @@) 0* 20$ !0 !"]@$ 1 !$D!(CX$ 0O(! 0 !P $
M "0$ 0DA $94L( *4 J $E 1 "A< (:6$N$,U"+ $ "D! 0 !"
MYP$ ! $+H 0 ('#X @! $0 1-0"(^R HK__$H #9(2(^S0 F $
M@*(@ * F4$" E@)@!)(0( "2 F $T ) "X"B( 2O__]E *@ 9*2@ "
M@ ,$0 1!$ $2B$B/LH2I@ M $ !&?P@ 0 *"$/_PRO__]T 0 $1$
M $1 $+!D!(C"(''X B!Z G>._F*@0 !BB$" L! @ - &0 ! $+!DA @
M+Q, (: HB $H !- B80@0@ $T 9 - "80B0 B !T")A"!$ (;0 B$(
MT"9 !$ (? (B#$(0 AB< (8E "&%0 19 0 !22$ 90 !"KI02H:"
MHC__ H ,X"B(&PB@ 1$0 AQ2 F HB!N@*(@/P* "J HB!. H '- $
M(/@0O__P%0 10* !. HB!V H 'M $H/00O__J%0 14 0IO0 B# E!
M"!$ (: HJ( "+__XM0B(0 3 !%$0@ $ (N2$F&H$+__W14 $70!"#X
M@* ")!@/_\0O__7T"0@^("@ B08#__T"0@^- $X/R H (D& __Q"__\_0
M).#\@* ")!@/_\0O__+T"2@]!"__\FB$" !@*1@ "* L1 "'%0 AA$
M (:0$B$X$P 19(28<A $)VU *@\$ 0F60$" !DA "- "(+R1*B "T 9
M"("B( "@ 1(0 A] "8+R1*B "0 #] &0 B HC__(H K 0/__0!""\
MD (@ = D(+R1*B "T 9 "("B( 2O__SDA $(''X B!Z G>.]F) 0 !@3
M !%0 !"6I(28="JD@ $H !Z80( 1& $P 19(28=A !%E! &* 0
M( &H![WX)0 ABT (:0$ 4DA B $ 0DV4$ 5@*(@ * #4! 0 !"
M2Y 0 !2B C__$0 AM "(0" I$ (!( *X"DX 2@ +$0 AA, $60%*$X
MDA)A^$ 0C64$ 8T 6@^("B( "@ B$0 AM "(/2 HB H !Q, $60
M%*$XDA)B )00 !! $(HE@>]^- %H/B HB H $A$ (;0 B#\@*(@ *
M D3 !%D!2A.)(28AB4$ 00 !"&Y80 !$0@ (I@3@ 1, $60%*$XDA)B
M($ 0A24$ 0I@3@ 1"__\B@!" !0 !"&Y 0 !6P$" @<?@"('H "=X[^0
M\B>@2/0GH$SV)Z!0^">@5/HGH%@1 "&0 !"$I 2(2@1' LBX "!$0 "
MC@ ( H !*('H$P1 "'\@(@N. 'H$@5 "&-0 AI 6H3@3 !%DA)B*$
M0?/4 J$(D!:A.)(0 !! $(!E! $8"F8 "@ :$0 A@2 !*0$B$X$0
MAM "(1" ID (-H #!$ (85 "&E!*B6)<N8 *0%J$X$P 19(28C! $'=
MU + "A" X1 "&D!(A.!, $62$F(X0 !!UI00 !D0@ '$0 AI 2(3@3
M !%0 !!T)(28E 1 "&0 !!W) 2(3@1# @(X " * !41" @(X " *
M R IF H !1$ $41 !%$( Y(2(EB2$B)P?___M) 0( ! $&MD!
M&9 0( 3 !%?___KI(28GA $'+ 0 (''X B!Z G>._F* 0 !@1 !%
MD!(BD$ 0<;23 @*(@ !* F0$ 0$0@ !, $62$F*@?___G)00 ! 0
M@ :L! &9(0( ! $&\E! @ + 0 B I@ 9!H !("F !H$@ 1 0 ("F
M0!H2@ ($0@ !, $62$F*XE! $'___XF6$ :,( !Q, $62$F+0E!
M&Y80 !E___^"F! &H''X B!Z G>._F* 0 !B0$ 0DA &4 0:*4$ :
ML! "("F/_\2@ ($1@ !, $62$F+PE! $)80 !E___]PF! &H''X B!
MZ G>._F* 0 !B0$ 0DA &4 09.4$ :L! "("F/_\2@ ($1@ !,
M $62$F,0E! $)80 !E___]>F! &H''X B!Z G>._F* 0 !B0$ 0DA
M&4 0824$ :L! "("F/_\2@ ($1@ !, $62$F,PE! $)80 !E___],
MF! &H''X B!Z G>._F!$ $32 B/X@*)@ * F@$B/XT 0 )_" "@
M!" $T 0 ("B( 2O__[ 0 (''X B!Z G>._F)WCOZ"!Z G>._F!$
M $34 B/L@**__Q* V2$B/LT )@!("B( "@ )E! @ )8"8 22$" D@)@
M!- "0 N HB $K___90"H &2DH H #!$ $01 !$HA(C[*$J8 +0! 1
MG\( $ "@A#_\,K___= $ !$1 !$0 !!$) 2(PB!Q^ (@>@ (''X B!
MZ G>._H(''X B!Z _____P #_____ ! '5S
M86=E.B @8VML96YG=&@@(%L@+78@72!;(&%R9R N+BX@72!F:6QE<RXN+B *
M(" @(" @(" @(" @+6P@;&5N9W1H(" @+2T@;6%X:6UU;2!L:6YE(&QE;F=T
M: H@(" @(" @(" @(" M;B @(" @(" @(" M+2!R97!O<G0@;&EN92!N=6UB
M97)S(&9O<B!O9F9E;F1I;F<@;&EN97,*(" @(" @(" @(" @+4X@(" @(" @
M(" @+2T@<F5P;W)T(&QI;F4@;G5M8F5R<R!A;F0@;&5N9W1H(&9O<B!O9F9E
M;F1I;F<@;&EN97,*(" @(" @(" @(" @+78@(" @(" @(" @+2T@=F5R8F]S
M90H*4')I;G0@=&AE(&YA;64@;V8@9FEL97,@=VAI8V@@:&%V92!A="!L96%S
M=" Q(&QI;F4@=VAI8V@@97AC965D<R!T:&4*;6%X:6UU;2!L:6YE(&QE;F=T
M:"X@(%1H92!D969A=6QT(&UA>&EM=6T@;&EN92!L96YG=&@@:7,@.# N"@
M &PZ;DYV *"5D*2!I<R!I;&QE9V%L(&QI;F4@;&5N9W1H"@ E<P
M '( 56YA8FQE('1O(&]P96X@9FEL92 H)7,I"@ E
M<PH %1/3R!,3TY'.B5D.B E<PH "5D.B E9 H )60*
M E<SH@ " H)7,I"@ ("AU;FMN;W=N(&5R<FYO/25D*0H "@
M !F871A;"!E<G)O<BP@97AI=&EN9P !E>&ET:6YG &9A=&%L(&5R
M<F]R+"!A8F]R=&EN9P # Q,C,T-38W.#DM G)7,G(&ES(&YO="!A
M(&YU;6)E<@ E<R!C86X@;VYL>2!B92 E;&0 E<R!M=7-T(&)E
M(&)E='=E96X@)6QD(&%N9" E;&0 &]P96XH)R5S)RP@,'@E>"P@,"5O*2!F
M86EL960 <F5A9"@E9"P@,'@E>"P@)60I(&9A:6QE9 !W<FET
M92@E9"P@,'@E>"P@)60I(&9A:6QE9 (74 $ (; # !$T@
M - $3X 0 0#H !0 !"+0 * ")0 8 0-4 "P
M ! 5 , A?8 @ .0 4 !P !< 0LP
M!P !"MP ( !. D ,
M # P,+__\P$ #
M \,+__\ $ # !(,+__[0$ # !4,+__Z@$ # !@,+__YP$
M # !L,+__Y $ # !X,+__X0$ # "$,+__W@$ # "0,+__
MVP$ # "<,+__V $ # "H,+__U0$ # "T,+__T@$ # #
M,+__SP$ # #,,+__S $ # #8,+__R0$ # #D,+__Q@$ #
M #P,+__PP$ # #\,+__P $ # $(,+__O0$ ! $4"
M % $
M 0 __$ $ U # ! ! .@ P @ 0-4
M , , $(M # $ !"MP P !0
M 0LP , 8 $,% # ' !$T@ P "
M 1/@ , D $3[ # * !$_0 P
M"P 10 , P (73 # - "%U
M P #@ A?8 , \ (8\ # 0 "&0@
M P $0 , !( # 3
M P % , !4 # 6
M P %P , !@ # 9
M #P ! #_\0 !8 0 __$ B $
M /_Q +0 !$U @ " $, 0R( < !2 (8\
M ! 0 8 ! #_\0 &L 0T4 < !Z
M $ /_Q A ! #_\0 (\ 1-$ ( < "E
M $31 ' M "&00 0 $ ,( 0 __$
M #) (8. 2 T !$_0 $0 "P -X 0P4 =!(
M < #E (8U 2 Z@ "&$0 $@ .\ 1/L
M !$ H #] (8O 2 !! "&0@ $$0 $0 0T AB8
M !( $6 (9# 01 1 !'P "',@ $0#_\0 20
M 1+ 2!( < $J $2> $@2 ' !+P !$8@ "H$@ !P
M 3< AD8 !0"$ !$ $\ (73 1 /_Q !4@ "&*0 $@
M 5@ A@( !( %? (8% 2 !9 !$T@
M$@ " 6H ACT !!$ ! %R (9$ 01 1 !? "&E@
M )@$0 $0 8@ AB !( &/ (8\ 01 0 !E0 "
M%U $0#_\0 9X 0[H !0!( < &F (9& 4 1 1 !
MK "&E@ )@$0 $0 ;D AC@ !( &_ (8+ 2
M !QP "&" $@ <T AD, !"$ !$ '5 (<N 01
M 1 !VP "&+ $@ >( 1 H !8!( < 'H (8_
M 01 0 !^P "'+P $$0 $0 @( AC( !( (' (<
MP 01 1 "#@ "&&@ $@ A0 AS$ !!$ !$ (;
M (8^ 01 0 "+P "&0@ $0#_\0 C8 A?8 !$ __$
M )0 (87 2 "5@ "&1 $$0 $0 E\ 1,( /!(
M < )Q $3\ 1 * "?@ !%TL $0#_\0 H4 10
M!!$ P *2 $2, $@2 ' "EP "&(P $@ IX 0R(
M !( < *P $3^ 1 + "O0 !#10 '4$@ !P L(
M AD !!$ ! +. (8= 2 "U0 !$^ $@ "0
M ML AA0 !( 9V\S,B]C:VQE;F=T: !C<G1I+G, =F%L=65S+5AA
M+F, 8W)T<W1U9F8N8P!?7V1O7V=L;V)A;%]C=&]R<U]A=7@ 9V-C,E]C;VUP
M:6QE9"X 9F]R8V5?=&]?9&%T80!C:VQE;F=T:"YC &=C8S)?8V]M<&EL960N
M &QI8F=C8S(N8P!C<G1S='5F9BYC %]?9&]?9VQO8F%L7V-T;W)S7V%U> !G
M8V,R7V-O;7!I;&5D+@!F;W)C95]T;U]D871A &-R=&XN<P!G971O<'0 7U]$
M5$]27TQ)4U1?7P!?<W1A<G0 <F5A9 !A=&]I %]?0U1/4E],25-47U\ <W1R
M=&]L '!R;V=N86UE '9F<')I;G1F %]E;G9I<F]N %]E;F0 5W)I=&4 4F5A
M9 !G971P87)M %]I;V( 7T=,3T)!3%]/1D93151?5$%"3$5? &%B;W)T &%T
M97AI= !E>&ET %]I;FET '9E<F)O<V4 7W-Y<U]N97)R '-Y<U]E<G)L:7-T
M &9C;&]S90!54T%'10!?1%E.04U)0P!P<F]C97-S %]?:6]B %]S>7-?97)R
M;&ES= !W<FET90!S=')R8VAR %]E>&ET &5N=FER;VX 97)R;F\ <W1R8VAR
M &5R<F]R ')E<&]R=%]L:6YE7VQE;F=T: !O<'1I;F0 ;W!E;@!O<'1A<F<
M9F=E=', ;W!T97)R ')E<&]R=%]L:6YE7VYU;6)E<G, 7V5D871A %]04D]#
M14154D5?3$E.2T%'15]404),15\ 9F]P96X <WES7VYE<G( 7U]D;U]G;&]B
M86Q?9'1O<G, 7U]#5$]27T5.1%]? %]E=&5X= !?;&EB7W9E<G-I;VX 3W!E
M;@!F9FQU<V@ 7U]D;U]G;&]B86Q?8W1O<G, 7U]$5$]27T5.1%]? &UA:6X
M;&EN95]L96YG=&@ <W1R;&5N %]F:6YI &9P<FEN=&8 $ %
MFP UD "]D # %$X ((X
M $8\ ! *",I4W5N3U,@-2XS($=E;F5R:6,@4V5P=&5M
M8F5R(#$Y.3, &%S.B!30S,N,"!E87)L>2!A8V-E<W,@,#$@4V5P(#$Y.3,*
M $=#0SH@*$=.52D@,BXV+C, &%S.B!30S,N,"!E87)L>2!A8V-E<W,@,#$@
M4V5P(#$Y.3,* $=#0SH@*$=.52D@,BXV+C, &%S.B!30S,N,"!E87)L>2!A
M8V-E<W,@,#$@4V5P(#$Y.3,* $=#0SH@*$=.52D@,BXV+C, &%S.B!30S,N
M,"!E87)L>2!A8V-E<W,@,#$@4V5P(#$Y.3,* $=#0SH@*$=.52D@,BXV+C,
M;&0Z("A31U4I(%-U;D]3+T5,1B H3$LM,2XS*0 0 "D 8?
M"V0 1,( (60 1,( +3P /(
M 7H <( EX L(
M SH !$H !5H !=(
M !EH !LX !SX !
MX8 !]( "#( ".8
M "5( "<( "D8 "G8
M "R( #&8 $GH %+(
M & %.8 ) %0X -< %3H #0 %
M6H #4 %9( #8 %;X #< %>8 #@
M %A( #D %CX #H %FH $8 %IX
M %T( &T %]( "X &"20 !\L 1,( "YI;G1E
M<G +FAA<V@ +F1Y;G-Y;0 N9'EN<W1R "YR96QA+F)S<P N<F5L82YP;'0
M+G1E>'0 +FEN:70 +F9I;FD +F-T;W)S "YD=&]R<P N<F]D871A "YG;W0
M+F1Y;F%M:6, +G!L= N9&%T80 N8G-S "YS>6UT86( +G-T<G1A8@ N<W1A
M8BYI;F1E> N8V]M;65N= N<W1A8@ N<VAS=')T86( +G-T86(N:6YD97AS
M='( +G-T86)S='( '9A;'5E<RU882YC "\Q,#DS+V]N,3 Y,U]W<R]U<W(O
M<W)C+VQI8B]L:6)C+P!P;W)T+V=E;B]V86QU97,M6&$N8P %AT(#L@5CTR
M+C +VYE="]M;W)G86YA+W5S<C$O<G1E;7,M,RXU+C P+V,O8G5I;&0M=&]O
M;',O<W)C "]U<W(O8V-S+VQI8B]V86QU97,M6&$N;P ;&EB9V-C,BYC "]U
M<W(T+T=.050O9V-C+3(N-BXS+P N+VQI8F=C8S(N8P!G8V,R7V-O;7!I;&5D
M+@!I;G0Z=#$]<C$[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T-SL 8VAA<CIT,CUR
M,CLP.S$R-SL ;&]N9R!I;G0Z=#,]<C$[+3(Q-#<T.#,V-#@[,C$T-S0X,S8T
M-SL =6YS:6=N960@:6YT.G0T/7(Q.S [+3$[ &QO;F<@=6YS:6=N960@:6YT
M.G0U/7(Q.S [+3$[ &QO;F<@;&]N9R!I;G0Z=#8]<C$[,#$P,# P,# P,# P
M,# P,# P,# P,# [,#<W-S<W-S<W-S<W-S<W-S<W-S<W-SL ;&]N9R!L;VYG
M('5N<VEG;F5D(&EN=#IT-SUR,3LP,# P,# P,# P,# P.S Q-S<W-S<W-S<W
M-S<W-S<W-S<W-S<W.P!S:&]R="!I;G0Z=#@]<C$[+3,R-S8X.S,R-S8W.P!S
M:&]R="!U;G-I9VYE9"!I;G0Z=#D]<C$[,#LV-34S-3L <VEG;F5D(&-H87(Z
M=#$P/7(Q.RTQ,C@[,3(W.P!U;G-I9VYE9"!C:&%R.G0Q,3UR,3LP.S(U-3L
M9FQO870Z=#$R/7(Q.S0[,#L 9&]U8FQE.G0Q,SUR,3LX.S [ &QO;F<@9&]U
M8FQE.G0Q-#UR,3LX.S [ &-O;7!L97@@:6YT.G0Q-3US.')E86PZ,2PP+#,R
M.VEM86<Z,2PS,BPS,CL[ &-O;7!L97@@9FQO870Z=#$V/7(Q-CLT.S [ &-O
M;7!L97@@9&]U8FQE.G0Q-SUR,3<[.#LP.P!C;VUP;&5X(&QO;F<@9&]U8FQE
M.G0Q.#UR,3@[.#LP.P!V;VED.G0Q.3TQ.0!A<F-H7W1Y<&4Z5#(P/65!4D-(
M7S,R0DE4.C L05)#2%\V-$))5#HQ+#L <F5G7V-L87-S.E0R,3UE3D]?4D5'
M4SHP+$=%3D5204Q?4D5'4SHQ+$907U)%1U,Z,BQ!3$Q?4D5'4SHS+$Q)35]2
M14=?0TQ!4U-%4SHT+#L ;6%C:&EN95]M;V1E.E0R,CUE5D])1&UO9&4Z,"Q1
M26UO9&4Z,2Q(26UO9&4Z,BQ04TEM;V1E.C,L4TEM;V1E.C0L4$1);6]D93HU
M+$1);6]D93HV+%1);6]D93HW+$]);6]D93HX+%%&;6]D93HY+$A&;6]D93HQ
M,"Q4449M;V1E.C$Q+%-&;6]D93HQ,BQ$1FUO9&4Z,3,L6$9M;V1E.C$T+%1&
M;6]D93HQ-2Q30VUO9&4Z,38L1$-M;V1E.C$W+%A#;6]D93HQ."Q40VUO9&4Z
M,3DL0U%);6]D93HR,"Q#2$EM;V1E.C(Q+$-326UO9&4Z,C(L0T1);6]D93HR
M,RQ#5$EM;V1E.C(T+$-/26UO9&4Z,C4L0DQ+;6]D93HR-BQ#0VUO9&4Z,C<L
M0T-8;6]D93HR."Q#0U].3T]6;6]D93HR.2Q#0UA?3D]/5FUO9&4Z,S L0T-&
M4&UO9&4Z,S$L0T-&4$5M;V1E.C,R+$U!6%]-04-(24Y%7TU/1$4Z,S,L.P!M
M;V1E7V-L87-S.E0R,SUE34]$15]204Y$3TTZ,"Q-3T1%7TE.5#HQ+$U/1$5?
M1DQ/050Z,BQ-3T1%7U!!4E1)04Q?24Y4.C,L34]$15]#0SHT+$U/1$5?0T]-
M4$Q%6%])3E0Z-2Q-3T1%7T-/35!,15A?1DQ/050Z-BQ-05A?34]$15]#3$%3
M4SHW+#L <'1R9&EF9E]T.G0Q '-I>F5?=#IT- !W8VAA<E]T.G0S %51271Y
M<&4Z=#$Q %-)='EP93IT,0!54TET>7!E.G0T $1)='EP93IT-@!51$ET>7!E
M.G0W %-&='EP93IT,3( 1$9T>7!E.G0Q,P!W;W)D7W1Y<&4Z=#$ 1$ES=')U
M8W0Z5#(T/7,X:&EG:#HQ+# L,S([;&]W.C$L,S(L,S([.P!$275N:6]N.G0R
M-3UU.',Z,C0L,"PV-#ML;#HV+# L-C0[.P!F=6YC7W!T<CIT,C8]*C(W/68Q
M.0!?7V1O7V=L;V)A;%]D=&]R<SI&,3D
M $ ! @ ! -0 #4 $0
M 0 ) !0 ( 0#H Z FP #
M 0 $ #P L " $#5 U0 5@ ! !H $
M $ !< # @ !"+0 BT ")0 0
M ? ! ( 0K< *W %0 # $0 0 , *0
M 0 " $+, "S #D P \ $ # #, !
M!@ !#!0 P4 '- ! Y 0 8 1-(
M 32 )@ 0 /P $ & $3X $^
M , $ $4 ! !@ !$^P !/L "
M ! !, 0 8 1/T 3] @
M 0 4P $ " $4 % -+ (
M %L ! P "%TP !=, ! ! 0
M !@ !@ , A=0 74 (@ $ 0 ( :0
M $ ' (7V %]@ $8 $ # &X !
M P "&/ !CP % ! !T " , AD(
M 9" \ @ >0 ( &0@
M 90 $P "D $ $ ($ # !]8 "XP
M 0 ") 0 B/ $@
M 0 , E0 $ (H0 $; !
M )X ! ".@ !^ ! P
M "D P EF ,8 $ K@
M , )EX "; ! +T #
= ";Y &'P 0 !
end

View File

@@ -0,0 +1,111 @@
/*
* $Id$
*/
#include <stdio.h>
#include <dos.h>
#define IO_RTC 0x70 /* RTC */
#define RTC_SEC 0x00 /* seconds */
#define RTC_MIN 0x02 /* minutes */
#define RTC_HRS 0x04 /* hours */
#define RTC_WDAY 0x06 /* week day */
#define RTC_DAY 0x07 /* day of month */
#define RTC_MONTH 0x08 /* month of year */
#define RTC_YEAR 0x09 /* month of year */
#define RTC_STATUSA 0x0a /* status register A */
#define RTCSA_TUP 0x80 /* time update, don't look now */
#define RTC_STATUSB 0x0b /* status register B */
#define RTC_DIAG 0x0e /* status register E - bios diagnostic */
#define RTCDG_BITS "\020\010clock_battery\007ROM_cksum\006config_unit\005memory_size\004fixed_disk\003invalid_time"
/* convert 2 digit BCD number */
static int bcd( unsigned int i )
{
return ((i/16)*10 + (i%16));
}
static unsigned int rtcin( unsigned int what )
{
outportb( IO_RTC, what );
return inportb( IO_RTC+1 );
}
void fix_date( void )
{
int s;
struct date date;
struct time time;
/* initialize brain-dead battery powered clock */
outportb( IO_RTC, RTC_STATUSA );
outportb( IO_RTC+1, 0x26 );
outportb( IO_RTC, RTC_STATUSB );
outportb( IO_RTC+1, 2 );
outportb( IO_RTC, RTC_DIAG );
s = inportb( IO_RTC+1 );
if (s) printf("RTC BIOS diagnostic error %b\n", s, RTCDG_BITS);
/* check for presence of clock */
s = rtcin(RTC_STATUSA);
if ( s == 0xff || s == 0 ) {
printf( "Real-time clock not found\n" );
return;
}
/* ready for a read? */
while ((s & RTCSA_TUP) == RTCSA_TUP)
s = rtcin(RTC_STATUSA);
date.da_year = bcd(rtcin(RTC_YEAR)) + 1900; /* year */
if ( date.da_year < 1970) date.da_year += 100;
date.da_year -= 1980;
date.da_mon = bcd(rtcin(RTC_MONTH)); /* month */
date.da_day = bcd(rtcin(RTC_DAY)); /* day */
(void)bcd(rtcin(RTC_WDAY)); /* weekday */
time.ti_hour = bcd(rtcin(RTC_HRS)); /* hour */
time.ti_min = bcd(rtcin(RTC_MIN)); /* minutes */
time.ti_sec = bcd(rtcin(RTC_SEC)); /* seconds */
time.ti_hund = 0;
setdate( & date );
settime( & time );
}
void fix_timer( void )
{
#define PIT_PORT 0x40
#define TIMER_CNTR0 (PIT_PORT + 0) /* timer 0 counter port */
#define TIMER_MODE (PIT_PORT + 3) /* timer mode port */
#define TIMER_SEL0 0x00 /* select counter 0 */
#define TIMER_RATEGEN 0x04 /* mode 2, rate generator */
#define TIMER_16BIT 0x30 /* r/w counter 16 bits, LSB first */
/* set timer 0 to generate interrupts every period */
outportb( TIMER_MODE, TIMER_SEL0|TIMER_RATEGEN|TIMER_16BIT );
outportb( TIMER_CNTR0, 0 ); /* counter low */
outportb( TIMER_CNTR0, 0 ); /* counter high */
}
int main(void)
{
/* Make timer count at correct pace */
fix_timer();
/* Fix the date */
fix_date();
return 0;
}

View File

@@ -0,0 +1,162 @@
#
# $Id$
#
begin 664 fixtimer.exe
M35IF 0X 0 @ T __^; 8 (@ $ ^R!R:@$
M
M
M
M
M
M
M
M
M
M
M "Z3 $NB1;X ;0PS2&++@( BQXL ([:HY( C :0
M (D>C ")+JP QP:6 /__Z#0!Q#Z* (O'B]BY_W\F@3TX-W49)HM5 H#Z/740
M@.;?_P:6 (#^674$_P:6 /*NXV%#)C@%==: S8#WV8D.B@"Y 0#3XX/#"(/C
M^(D>C@",VBOJBSY\ H'_ )S![\ HD^? *!Q^P$<B@#/GH"<B*Q!-/O1SOO
M<AF#/GP" '0'@SYZ @!U#K\ $#OO=P>+_>L#Z2$!B]\#VHD>I ")'J@ H9
M*]B.P+1*5\TA7]/G^H[2B^?[,\ NC@;X ;^F!+GL!"O/\ZH._Q:8!.BU NB=
M [0 S1J)%I@ B0Z: /\6G 3_-H@ _S:& /\VA #H%P)0Z%H"+HX>^ 'H? .
M_Q::!#/ B_"Y+P"0_ ($@-0 1N+X+3<-D'0*N1D D+HO .B+ (OLM$R*1@+-
M(;D. )"Z2 #IAP >N US2&)'G0 C 9V +@$-<TAB1YX (P&>@"X!37-(8D>
M? ",!GX N 8US2&)'H C :" +@ )8S*CMJZ6 '-(1_#'K@ )<46= #-(1\>
MN 0EQ19X ,TA'QZX!27%%GP S2$?'K@&)<46@ #-(1_#QP:6 R\.T0+L"
M ,TAP[D> )"Z5@ NCA[X >CI_[@# %#H*?\ %6+[(M&!+$$T^BZ"@#WXHM6
M!('B#P #PNL 7<-5B^R*1@3F<.1QM #K %W#58OL@^P(5K *YG"P)N9QL OF
M<+ "YG&P#N9PY'&T (OP"_9T#[BR 5!6N)0!4.B<"8/$!K@* %#HM?]9B_"!
M_O\ = 0+]G4+N/P!4.A^"5GIJ0#K"K@* %#HE/]9B_"+QB6 #V '3LN D
M4.B _UE0Z%__605L!XE&^(%^^+('?02#1OAD@6[XO >X" !0Z%W_65#H//]9
MB$;[N < 4.A-_UE0Z"S_68A&^K@& %#H/?]94.@<_UFX! !0Z##_65#H#_]9
MB$;]N ( 4.@@_UE0Z/_^68A&_#/ 4.@1_UE0Z/#^68A&_\9&_@"-1OA0Z'H1
M68U&_%#HA1%97HOE7<.P-.9#L #F0+ YD##Z/#_Z.S^,\#K ,-5B^Q6BW8$
M"_9\%(/^6'8#OE< B388 HJ$&@*8ENL-]]Z#_B-WZL<&& +__XO&HY0 N/__
MZP!>7<(" ,-5B^SK"HL>?@+1X_^7I@2A?@+_#GX""\!UZ_\6= +_%G8"_Q9X
M O]V!.AZ_5E=PP "Z/!JH#+HP>K /\C@:0 +Z #+D)JQ C,6'UI.+
M-HH @\8"N0$ @#Z2 -R$8X&C "+_K%_,L#RKN-V@/%_@^P"N $ \,#P27^
M_XO\*_AR8(OGC,".V(S0CL!12?.D,L"JCMV'\H?9B\.+T$/H&0!W!W) Z!(
M=_D\('0(/ UT!#P)=>@RP.OD"\!T!T*J"L!U 4.&X#+ ^>,5K$DL(G0/!"(\
M7'4'@#PB=0*L20OVP^E^_5D#RBZ.'JP#B1Z$ $,#VXOTB^PKZW+FB^6)+H8
MXPZ)=@"#Q0(VK K X/IT\#/ B48 +O\FJ@.+#HH 4>A' 5F+^ O ="0>'@>.
M'HP ,_;\\Z0?B_@&_S:. .@I 8/$ HO8!Z.( O =0/I$?TSP+G__XD_@\,"
M\JXF. 5U](D'PU6+[(,^?@(@=06X 0#K%8M&!(L>?@+1XXF'I@3_!GX",\#K
M %W#58OL5E>+?@2+10:CZ 0[QW4(QP;H! ZQ"+=02+'N@$B7<$H>@$B40&
M7UY=PU6+[%97BWX$BT8&*06+-0/WBT8&0(D$B7P"H>8$.\=U!HDVY@3K"(O^
M WX&B74"B\8%! #K %]>7<-5B^Q6BT8$,](E__^!X@ 4E#H] !968OP@_[_
M=00SP.L8H>8$B40"BT8$0(D$B3;F!*'F! 4$ .L 7EW#58OL5HM&!#/2)?__
M@>( %)0Z+< 65F+\(/^_W4$,\#K%8DVZ@2)-N8$BT8$0(D$B\8%! #K %Y=
MPU6+[%97BWX$"_]U!#/ ZUJ+QP4+ "7X_XOX@S[J! !U!U?HH?]9ZT*+-N@$
MB\8+P'0QBP2+UX/"*#O"<@E75N@-_UE9ZR2+!#O'<@Y6Z-'^6?\$B\8%! #K
M$(MT!CLVZ 1USU?H(O]9ZP!?7EW#58OLBT8$B]2!Z@ !.\)S!Z.> #/ ZPO'
M!I0 " "X___K %W#58OLBT8$BU8& P:> (/2 (O(@<$ 8/2 O2=0H[S',&
MAP:> .L+QP:4 @ N/__ZP!=PU6+[/]V!.B?_UGK %W#58OLBT8$F5)0Z++_
MB^7K %W#58OL@^P"5E>+7@2+-XO&B4;^BUX$]T<"0 !T!(O&ZQ^+7@2+?PKK
M"XO?1X _"G4#_T;^B\9."\!U[HM&_NL 7UZ+Y5W" @!5B^Q6BW8$5NA3!%D+
MP'0%N/__ZTR#?@H!=1"#/ !^"U;HE?^9*48&&58(@60"7_['! BT0(B40*
M_W8*_W8(_W8&BD0$F%#HW *#Q B#^O]U"CW__W4%N/__ZP(SP.L 7EW#58OL
M@^P$5HMV!%;H[ -9"\!T"+K__[C__^L_N $ 4#/ 4%"*1 284.B8 H/$"(E6
M_HE&_(,\ 'X9BU;^BT;\4E!6Z!#_F8O8B\I86BO#&]'K!HM6_HM&_.L 7HOE
M7<-5B^RX $2+7@3-(;@ '($T>+1T.L 7<-5B^Q65XM^"HMV!(M$#CO&=0R#
M?@@"?P:!__]_=@:X___IJ@"#/NH# '4/N) ".\9U",<&Z@,! .L4@S[H P!U
M#;B CO&=0;'!N@# 0"#/ !T#[@! % SP%!05NC&_H/$"/=$ @0 = ?_= CH
M"PQ9@60"\__'1 8 (O&!04 B40(B40*@WX( G0_"_]V.\<&= +$"(-^!@!U
M&%?H6?U9B48&"\!T!X%, @0 ZP6X___K&XM&!HE$"HE$"(E\!H-^" %U!8%,
M @@ ,\#K %]>7<-65[\$ +Z NL0]T0" P!T!5;HG )93X/&$ O_=>Q?7L-5
MB^R![(H 5E>+1@A /0( <P4SP.GV (M>!-'C]X? P" =!+_=@C_=@;_=@3H
MXP"#Q ;IUP"+7@31XX&GP /__8M&!HF&?/^+1@B)AGC_C;9^_^MM_XYX_XN>
M?/__AGS_B@>(AGO_/ IU!,8$#4:*AGO_B 1&C89^_XO6*]"!^H ?#Z-AG[_
MB_XK^%>-AG[_4/]V!.A[ (/$!HF&=O\[QW0;@[YV_P!S!;C__^L-BT8(*X9X
M_P.&=O\KQ^M/C;9^_X.^>/\ = /IB?^-AG[_B_XK^(O'"\!V+E>-AG[_4/]V
M!.@M (/$!HF&=O\[QW07@[YV_P!S!;C__^L)BT8( X9V_RO'ZP6+1@CK %]>
MB^5=PU6+[(M>!-'C]X? P (=!"X @!0,\!04/]V!.@H (OEM$"+7@2+3@B+
M5@;-(7(/4(M>!-'C@8_ P 06.L&4.@%^>L 7<-5B^R+7@31XX&GP /__;1"
MBD8*BUX$BTX(BU8&S2%R NL'4.C;^)GK %W#58OL@^PB5E<&BWX*'@>+7@B#
M^R1W6(#[ G)3BT8,BTX."\E]$8!^!@!T"\8%+4?WV??8@]D C7;>XP^1*]+W
M\Y'W\X@41N,)Z_$KTO?SB!1&"\!U]8U.WO?9 \[\3HH$+ IS! 0ZZP,"1@2J
MXN^P *H'BT8*ZP!?7HOE7<(, %6+[(-^" IU!HM&!)GK!8M&!#/24E#_=@;_
M=@BP 5"P85#H7/_K %W#58OL_W8&_W8$_W8(_W8*L !0L&%0Z$#_ZP!=PU6+
M[/]V!O]V!/]V"/]V"H-^"@IU!;@! .L",\!0L&%0Z!G_ZP!=P[KL ^L#NO$#
MN04 D+1 NP( S2&Y)P"0NO8#M$#-(>EM]E6+[%97BW8$BT0..\9T!;C__^MF
M@SP ?"WW1 (( '4,BT0*B]:#P@4[PG46QP0 (M$"HO6@\(%.\)U!HM$"(E$
M"C/ ZS2+? 8#/$<I/%>+1 B)1 I0BD0$F%#H$OV#Q 8[QW01]T0" )U"H%,
M A N/__ZP0SP.L 7UY=PU6+[+AK#5"XD )0_W8$C48&4.A, NL 7<-5B^R+
M7@;_#_]V!HI&!)A0Z 8 B^7K %W#58OL@^P"5HMV!HI&!(A&__\$?3:*1O__
M1 J+7 J(1__W1 (( '0;@'[_"G0&@'[_#74/5N@9_UD+P'0&N/__Z>D BD;_
MM #IX0#_#/=$ I =0?W1 (" '4+@4P"$ "X___IQ@"!3 ( 8-\!@!T)H,\
M '015NC7_ED+P'0&N/__Z:< ZPJX__^+5 8KPHD$Z7W_Z94 @S[J P!U.;B0
M CO&=3**1 284.@)^UD+P'4%@60"__VX )0]T0" )T!;@" .L",\!0,\!0
M5NC]^H/$".F/_X!^_PIU'_=$ D =1BX 0!0N!X$4(I$!)A0Z.#\@\0&/0$
M=1BX 0!0C48$4(I$!)A0Z,C\@\0&/0$ =!'W1 ( G4*@4P"$ "X___K!XI&
M_[0 ZP!>B^5=PU6+[%:+=@2XD )05NC!_EE9ZP!>7<-5B^R#[ )65XMV!(M^
M!D?W1 (( '0CZP+K $^+QPO =!56BUX(_T8(B@>84.B+_EE9/?__=>+I=0#W
M1 ) '0W@WP& '0QBT0&.\=S*H,\ '0-5NBT_5D+P'0$,\#K4T]7_W8(BD0$
MF%#H(?R#Q :)1OXK?O[K-^L"ZP!/B\<+P'0L_P1]%8M>"/]&"(H'_T0*BUP*
MB$?_M #K#E:+7@C_1@C_-^CZ_5E9/?__=<N+Q^L 7UZ+Y5W"!@#_)IX$58OL
MBU8$N00/NR<$_(K&TNC7JHK&(L77JHK"TNC7JHK"(L77JNL 7<(" %6+[('L
ME@!65\=&J@ QD:M4.LX5[G__S+ \J[WT4E?PX@%1_Y.K7XB4U%2!HU&KBOX
MC4:N4%?_=@C_5@K&1JU0 7ZJC7ZN!UI96\,&_(U^KHF^;/^+OFS_BW8&K K
M=!$\)700B 5'_DZM?^_HN?_KZNEU!(FV>/^L/"5TYXF^;/\SR8F.=O^)CFK_
MB(YU_\>&</___\>&<O___^L!K#+DB]"+V(#K((#[8'-'BI\W!(O#/1< =@/I
M'02+V-'C+O^G& ]C#TL/I ]7#\D/TP\5$!\0+Q"*#V00/Q!#$$<0Z1";$3P1
M7!'_$BP3+!,L$W8/@ _IX0. _0!W^(..:O\!ZYN _0!W[(..:O\"ZX^ _0!W
MX("^=?\K= 2(EG7_Z7S_@Z9J_]^U!>ER_X..:O\@M07I:/^ _0!W1/>&:O\"
M '4A@XYJ_PBU >E1_^F( XM^!(L%@T8$ H#] G,)B89P_[4#Z3?_@/T$=>&)
MAG+__L7I*?^ _01ST[4$Z1__DBPPF(#] G<;M0*'AG#_"\!\TM'@B]#1X-'@
M \(!AG#_Z?O^@/T$=:6'AG+_"\!\M-'@B]#1X-'@ \(!AG+_Z=W^@XYJ_Q"U
M!>G3_H&.:O\ 8.F:O_OM07IP_Z#IFK_[X&.:O^ +4%Z;/^MPCK"K<*ZPNW
M$+/I MK&AG7_ ,:&;_\ B)9N_XM^!(L%,]+K$;<*QH9O_P&(EF[_BWX$BP69
M1T>)=@;WAFK_$ !T!(L51T>)?@2-OGO_"\!U,PO2=2^#OG+_ '4MB[YL_XN.
M</_C&X/Y_W06BX9J_R4( '0$LC#K K(@BL+HMOWB^>GI_8..:O\$4E!7BL>8
M4(J&;_]04^B0^18'BY9R_PO2?P/I% 'I(0&(EF[_B78&C;YZ_XM>!/\W0T.)
M7@3WAFK_( !T#_\W0T.)7@06!^@7_; ZJA8'Z _]Q@4 QH9O_P"#IFK_^XV.
M>O\K^8?/BY9R_SO1?P*+T>F^ (EV!HB6;O^+?@2+!8-&! (6!XV^>_\RY(D%
MN0$ Z=@ B78&B)9N_XM^!/>&:O\@ '4,BSV#1@0"'@<+_^L*Q#V#1@0$C, +
MQW4%'@>_( 3HVOP[CG+_=@2+CG+_Z9D B78&B)9N_XM^!(N.<O\+R7T#N08
M5U&-GGO_4U*X 0 CAFK_4(N&:O^I@ !T"K@" ,=&_@0 ZQ>I %T"K@( ,=&
M_@H ZPC'1OX( +@& %#H-_R+1OX!1@06!XV^>__WAFK_" !T$XN6</\+TGX+
MZ%O\*]%^!(F6=O^*AG7_"L!T%": /2UT#H.N=O\!@Y9V_P!/)H@%Z#3\B_>+
MOFS_BYYP_[@% ".&:O\]!0!U%HJF;O^ _&]U$(.^=O\ ?P;'AG;_ 0#K'Y"
M_'AT!8#\6'44@XYJ_T!+2X.N=O\"?0;'AG;_ #CG;_]X9J_P( =0SK!K @
MZ.'[2SO9?_;WAFK_0 !T#+ PZ,_[BH9N_^C(^XN6=O\+TGXG*\HKVB:*!#PM
M= @\('0$/"MU!R:LZ*C[24N'RN,'L##HG?OB^8?*XQ$KV2:LB 5'_DZM?P/H
MD/OB\0O;?@F+R[ @Z'O[XOGIKON)=@:+?@3WAFK_( !U"HL]@T8$ AX'ZP;$
M/8-&! 2X4 J1JT#1JHFB07I??N+MGC_B[YL_[ EZ#S[K K =?B ?JU0?0/H
M-OL'BT:JZP!?7HOE7<(( %6+[%97BW8$@S[H! !T'(L>Z 2+?P:+'N@$B7<&
MB74$B7P&H>@$B40$ZPJ)-N@$B70$B70&7UY=PU6+[(/L E97BW8&BWX$BP0!
M!:'F!#O&=0:)/N8$ZPV+! /&B4;^BU[^B7\"5NA-\5E?7HOE7<-6H>H$.P;F
M!'42_S;J!.C:\EDSP*/F!*/J!.L[BQ[F!(MW O<$ 0!U(E;H&?%9.S;J!'4*
M,\"CY@2CZ@3K!HM$ J/F!%;HH_)9ZPS_-N8$Z)GR68DVY@1>PU6+[(/L E97
MBW8$_PR+! /&B4;^BWP"]P4! '44.S;J!'0.BP0!!8M>_HE_ HOWZP56Z +_
M68M>_O<' 0!U"?]V_E;H*O]965]>B^5=PU6+[%:+=@0+]G4"ZQ>+Q@7\_XOP
M.S;F!'4%Z#S_ZP56Z(__65Y=PU6+[%:T*XMV!(L,BU0"S2%>7<-5B^Q6M"V+
M=@2+#(M4 LTA7EW# !4=7)B;RU#("T@0V]P>7)I9VAT("AC
M*2 Q.3@X($)O<FQA;F0@26YT;"X 3G5L;"!P;VEN=&5R(&%S<VEG;FUE;G0-
M"D1I=FED92!E<G)O<@T*06)N;W)M86P@<')O9W)A;2!T97)M:6YA=&EO;@T*
M .P$[ 3L
M!
M
M
M
M
M 4E1#($))3U,@9&EA9VYO<W1I8R!E<G)O<B E
M8@H $ AC;&]C:U]B871T97)Y!U)/35]C:W-U;09C;VYF:6=?=6YI= 5M96UO
M<GE?<VEZ901F:7AE9%]D:7-K VEN=F%L:61?=&EM90!296%L+71I;64@8VQO
M8VL@;F]T(&9O=6YD"@ $P("! 4&" @(%!4%$_\6!1$"____________
M_____P4%_____________________P__(P+_#_____\3__\" @4/ O___Q/_
M_________R/_____(_\3_P!Z WH#>@, 0 D" ( "
M * @$ "0 @ @(" H ( $," P
M + " !" @0 # @ #_ T ( _P
M . " /\ #P @ #_ , _P
M ! # /\ @ P #_ , ,
M_P $ # /\ !0 P #_ 8 ,
M _P ' # /\ " P #_
MD , _P * # /\ "P P$@ B "( 2@ J#_
M______________________________________\ <')I;G0@<V-A;F8@
M.B!F;&]A=&EN9R!P;VEN="!F;W)M871S(&YO="!L:6YK960-"@ - "AN=6QL
M*0 P,3(S-#4V-S@Y04)#1$5& !04 105%!04% ( % ,$% D%!04%!04%!044
M%!04%!04%!04% \7#P@4%!0'%!84%!04%!04%!0-%!04%!04%!04%! *#P\/
G" H4% 84$@L.%!01% P4% T4%!04%!04 -(!T@'9 50+60M9"UD+
end

View File

@@ -0,0 +1,331 @@
/*
* $Id$
*/
#include <stdio.h>
#include <string.h>
#include <process.h>
#include <io.h>
void * xmalloc( int size )
{
void * p = (void *)malloc( size );
if ( !p ) {
fprintf( stderr, "out of memory\n" );
exit( 1 );
}
return p;
}
void * xrealloc( void * old, int size )
{
void * p = (void *)realloc( old, size );
if ( !p ) {
fprintf( stderr, "out of memory\n" );
exit( 1 );
}
return p;
}
char ** argv_fix( int * argc, char ** argv )
{
char ** new = NULL;
int max = 20;
int cnt = 0;
int j;
for ( j = 1; argv[j]; ++j )
if ( argv[j][0] == '@' && access(argv[j]+1,0)==0 )
break;
if ( argv[j] == NULL )
return argv;
new = (char **)xmalloc( max * sizeof *new );
new[cnt++] = *argv++;
for ( ; *argv; ++argv ) {
if ( cnt >= max )
new = (char **)realloc( new, (max*=2) * sizeof *new );
if ( argv[0][0] != '@' || access(argv[0]+1,0) ) {
new[cnt++] = *argv;
} else {
char line[ 1000 ];
FILE * f = fopen( argv[0]+1, "r" );
if ( !f ) {
perror( argv[0]+1 );
exit( 2 );
}
while ( fgets( line, sizeof line, f ) ) {
int len = strlen( line );
/* delete trailing newlines */
while ( line[len-1] == '\n' || line[len-1] == '\r' )
line[--len] = '\0';
if ( cnt >= max )
new = (char **)xrealloc( new, (max*=2) * sizeof *new );
new[cnt] = (char *)xmalloc( len+1 );
strcpy( new[cnt], line );
++cnt;
}
fclose( f );
}
}
if ( cnt >= max )
new = (char **)xrealloc( new, (max+1) * sizeof *new );
new[cnt] = NULL;
*argc = cnt;
return new;
}
const char * USAGE =
"usage: $progname [ -cNvmV ] file [ file ... ] dest-directory-or-file\n"
" -v -- verbose\n"
" -V suffix -- suffix to append to targets (before any . suffix)\n"
" eg: -V _g would change 'foo' to 'foo_g' and\n"
" 'libfoo.a' to 'libfoo_g.a'\n"
" -m mode -- mode for new file(s)\n"
" -c -- copy instead of move (always on)\n"
" -N -- copy only if source is newer than target\n"
;
void fatal( char * msg )
{
if ( msg )
fprintf( stderr, "%s\n", msg );
fprintf( stderr, "%s", USAGE );
exit( 1 );
}
char * basename( char * f )
{
char * b = strrchr( f, '/' );
if ( b ) ++b;
else b = f;
return b;
}
#include <sys/stat.h>
int is_dir( char * path )
{
struct stat buf;
if ( stat( path, &buf ) )
return 0;
return buf.st_mode & S_IFDIR;
}
int is_file( char * path )
{
struct stat buf;
if ( stat( path, &buf ) )
return 0;
return buf.st_mode & S_IFREG;
}
int newer( char * p1, char * p2 )
{
struct stat buf1;
struct stat buf2;
if ( stat( p1, &buf1 ) )
return 0;
if ( stat( p2, &buf2 ) )
return 0;
return buf1.st_mtime > buf2.st_mtime;
}
int filecopy( char * d, char * s, int preserve_time )
{
#if 0
int status;
char * argv[ 5 ];
argv[0] = "cp";
argv[1] = "-p";
argv[2] = s;
argv[3] = d;
argv[4] = NULL;
status = spawnvp( P_WAIT, argv[0], argv );
if ( status )
perror( "cp" );
return status;
#else
FILE * fs;
FILE * fd;
char buffer[ 8192 ];
int n;
struct ftime When;
struct stat Stat;
fs = fopen( s, "rb" );
if ( fs == NULL ) {
perror( s );
return 1;
}
fd = fopen( d, "wb" );
if ( fd == NULL ) {
perror( d );
fclose( fs );
return 2;
}
if ( preserve_time )
if ( getftime( fileno(fs), &When ) ) {
perror( s );
preserve_time = 0;
}
do {
n = fread( buffer, 1, sizeof buffer, fs );
if ( n > 0 )
if ( fwrite( buffer, 1, n, fd ) < 0 ) {
perror( d );
return 3;
}
} while ( n > 0 );
fclose( fs );
/* Fix time stamp */
if ( preserve_time )
if ( setftime( fileno(fd), &When ) ) {
perror( s );
preserve_time = 0;
}
fclose( fd );
/* Fix access rights */
if ( stat( s, &Stat ) )
perror( s );
else if ( chmod( d, Stat.st_mode ) )
perror( d );
return 0;
#endif
}
int main( int argc, char * argv[] )
{
char * progname;
int verbose = 0;
int only_if_newer= 0;
char * suffix = NULL;
char * mode = NULL;
char * dest;
char ** pp;
argv = argv_fix( &argc, argv );
progname = basename( *argv++ );
/* process the options */
while ( argv[0] && argv[0][0] == '-' ) {
switch ( argv[0][1] ) {
case 'N':
++argv;
only_if_newer = 1;
break;
case 'c':
++argv;
/* We always copy, regardless */
break;
case 'v':
++argv;
verbose = 1;
break;
case 'V':
++argv;
suffix = *argv;
++argv;
break;
case 'm':
++argv;
mode = *argv;
++argv;
break;
default:
fatal( NULL );
}
}
/* Separate source file(s) from dest directory or file */
#if 0
if ( !argv[0] || !argv[1] )
fatal( "missing files or invalid destination" );
#else
/* We used to require at least one file; not any more */
if ( !argv[0] )
fatal( "missing files or invalid destination" );
if ( !argv[1] )
return 0;
#endif
for ( pp = argv; *pp; ++pp )
continue;
--pp;
dest = *pp;
*pp = NULL;
/* Process the arguments */
for (; *argv; ++argv ) {
char * f = *argv;
char * leaf = basename( f );
char target[ 128 ];
strcpy( target, dest );
if ( is_dir( target ) ) {
strcat( target, "/" );
/* if we were given a suffix, then add it as appropriate */
if ( suffix ) {
char * dot = strchr( leaf, '.' );
if ( dot ) {
strncat( target, leaf, dot-leaf );
strcat( target, suffix );
strcat( target, dot );
if ( verbose )
printf( "%s: %s will be installed as %s",
progname, f, strrchr(target,'/')+1 );
} else {
strcat( target, leaf );
strcat( target, suffix );
}
} else {
strcat( target, leaf );
}
}
if ( access( f, 0 ) ) {
char buf[200];
sprintf( buf, "cannot read %s", f );
fatal( buf );
}
if ( only_if_newer && is_file( target ) && !newer( f, target ) ) {
if ( verbose )
printf( "'%s' not newer than '%s'\n", f, target );
continue;
}
if ( verbose )
printf( "rm -f %s\n", target );
if ( chmod( target, 0777 ) )
if ( verbose )
perror( target );
if ( unlink( target ) )
if ( verbose )
perror( target );
if ( verbose )
printf( "cp -p %s %s\n", f, target );
if ( filecopy( target, f, 1 ) )
return 1;
if ( mode ) {
char buf[ 255 ];
sprintf( buf, "chmod %s %s\n", mode, target );
if ( verbose )
printf( "%s\n", buf );
system( buf );
}
}
return 0;
}

View File

@@ -0,0 +1,163 @@
#
# $Id$
#
begin 664 ifc.exe
M(VEN8VQU9&4@/'-T9&EO+F@^#0HC:6YC;'5D92 \<W1R:6YG+F@^#0HC:6YC
M;'5D92 \<')O8V5S<RYH/@T*#0HC:6YC;'5D92 \:6\N:#X-"@T*=F]I9" J
M('AM86QL;V,H(&EN="!S:7IE("D-"GL-"B @("!V;VED("H@<" ]("AV;VED
M("HI;6%L;&]C*"!S:7IE("D[#0H@(" @:68@*" A<" I("![#0H)9G!R:6YT
M9B@@<W1D97)R+" B;W5T(&]F(&UE;6]R>5QN(B I.PT*"65X:70H(#$@*3L-
M"B @("!]#0H@(" @<F5T=7)N(' [#0I]#0IV;VED("H@>')E86QL;V,H('9O
M:60@*B!O;&0L(&EN="!S:7IE("D-"GL-"B @("!V;VED("H@<" ]("AV;VED
M("HI<F5A;&QO8R@@;VQD+"!S:7IE("D[#0H@(" @:68@*" A<" I("![#0H)
M9G!R:6YT9B@@<W1D97)R+" B;W5T(&]F(&UE;6]R>5QN(B I.PT*"65X:70H
M(#$@*3L-"B @("!]#0H@(" @<F5T=7)N(' [#0I]#0H-"F-H87(@*BH@87)G
M=E]F:7@H(&EN=" J(&%R9V,L(&-H87(@*BH@87)G=B I#0I[#0H@(" @8VAA
M<B J*B!N97<@/2!.54Q,.PT*(" @(&EN=" @(" @;6%X(#T@,C [#0H@(" @
M:6YT"2 @("!C;G0@/2 P.PT*(" @(&EN= D@(" @:CL-"@T*(" @(&9O<B H
M(&H@/2 Q.R!A<F=V6VI=.R K*VH@*0T*"6EF("@@87)G=EMJ75LP72 ]/2 G
M0"<@)B8@86-C97-S*&%R9W9;:ETK,2PP*3T]," I#0H)(" @(&)R96%K.PT*
M(" @(&EF("@@87)G=EMJ72 ]/2!.54Q,("D-"@ER971U<FX@87)G=CL-"@T*
M(" @(&YE=R ]("AC:&%R("HJ*7AM86QL;V,H(&UA>" J('-I>F5O9B J;F5W
M("D[#0H@(" @;F5W6V-N="LK72 ]("IA<F=V*RL[#0H@(" @9F]R("@@.R J
M87)G=CL@*RMA<F=V("D@('L-"@EI9B H(&-N=" ^/2!M87@@*0T*"2 @("!N
M97<@/2 H8VAA<B J*BER96%L;&]C*"!N97<L("AM87@J/3(I("H@<VEZ96]F
M("IN97<@*3L-"@D@(" @#0H):68@*"!A<F=V6S!=6S!=("$]("= )R!\?"!A
M8V-E<W,H87)G=ELP72LQ+# I("D@('L-"@D@(" @;F5W6V-N="LK72 ]("IA
M<F=V.PT*"7T@96QS92![#0H)(" @(&-H87(@;&EN95L@,3 P,"!=.PT*"2 @
M("!&24Q%("H@9B ](&9O<&5N*"!A<F=V6S!=*S$L(")R(B I.PT*"2 @("!I
M9B H("%F("D@('L-"@D)<&5R<F]R*"!A<F=V6S!=*S$@*3L-"@D)97AI="@@
M,B I.PT*"2 @("!]#0H)(" @('=H:6QE("@@9F=E=',H(&QI;F4L('-I>F5O
M9B!L:6YE+"!F("D@*2 @>PT*"0EI;G0@;&5N(#T@<W1R;&5N*"!L:6YE("D[
M#0H)"2\J(&1E;&5T92!T<F%I;&EN9R!N97=L:6YE<R J+PT*"0EW:&EL92 H
M(&QI;F5;;&5N+3%=(#T]("=<;B<@?'P@;&EN95ML96XM,5T@/3T@)UQR)R I
M#0H)"2 @("!L:6YE6RTM;&5N72 ]("=<,"<[#0H)"6EF("@@8VYT(#X](&UA
M>" I#0H)"2 @("!N97<@/2 H8VAA<B J*BEX<F5A;&QO8R@@;F5W+" H;6%X
M*CTR*2 J('-I>F5O9B J;F5W("D[#0H)"6YE=UMC;G1=(#T@*&-H87(@*BEX
M;6%L;&]C*"!L96XK,2 I.PT*"0ES=')C<'DH(&YE=UMC;G1=+"!L:6YE("D[
M#0H)"2LK8VYT.PT*"2 @("!]#0H)(" @(&9C;&]S92@@9B I.PT*"7T)#0H@
M(" @?0T*(" @(&EF("@@8VYT(#X](&UA>" I#0H);F5W(#T@*&-H87(@*BHI
M>')E86QL;V,H(&YE=RP@*&UA>"LQ*2 J('-I>F5O9B J;F5W("D[#0H@(" @
M;F5W6V-N=%T@/2!.54Q,.PT*(" @("IA<F=C(#T@8VYT.PT*(" @(')E='5R
M;B!N97<[#0I]#0H-"@T*8V]N<W0@8VAA<B J(%5304=%(#T@#0HB=7-A9V4Z
M("1P<F]G;F%M92!;("UC3G9M5B!=(&9I;&4@6R!F:6QE("XN+B!=(&1E<W0M
M9&ER96-T;W)Y+6]R+69I;&5<;B(-"B(@(" @(" @("UV(" @(" @(" @("TM
M('9E<F)O<V5<;B(-"B(@(" @(" @("U6('-U9F9I>" @("TM('-U9F9I>"!T
M;R!A<'!E;F0@=&\@=&%R9V5T<R H8F5F;W)E(&%N>2 N('-U9F9I>"E<;B(-
M"B(@(" @(" @(" @(" @(" @(" @(" @("!E9SH@+58@7V<@=V]U;&0@8VAA
M;F=E("=F;V\G('1O("=F;V]?9R<@86YD7&XB#0HB(" @(" @(" @(" @(" @
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" G;&EB9F]O+F$G('1O
M("=L:6)F;V]?9RYA)UQN(@T*(B @(" @(" @+6T@;6]D92 @(" @+2T@;6]D
M92!F;W(@;F5W(&9I;&4H<RE<;B(-"B(@(" @(" @("UC(" @(" @(" @("TM
M(&-O<'D@:6YS=&5A9"!O9B!M;W9E("AA;'=A>7,@;VXI7&XB#0HB(" @(" @
M(" M3B @(" @(" @(" M+2!C;W!Y(&]N;'D@:68@<V]U<F-E(&ES(&YE=V5R
M('1H86X@=&%R9V5T7&XB#0H[#0H-"G9O:60@9F%T86PH(&-H87(@*B!M<V<@
M*0T*>PT*(" @(&EF("@@;7-G("D-"@EF<')I;G1F*"!S=&1E<G(L("(E<UQN
M(BP@;7-G("D[#0H@(" @9G!R:6YT9B@@<W1D97)R+" B)7,B+"!54T%'12 I
M.PT*(" @(&5X:70H(#$@*3L-"GT-"@T*8VAA<B J(&)A<V5N86UE*"!C:&%R
M("H@9B I#0I[#0H@(" @8VAA<B J(&(@/2!S=')R8VAR*"!F+" G+R<@*3L-
M"B @("!I9B H(&(@*0DK*V([#0H@(" @96QS90EB(#T@9CL-"B @("!R971U
M<FX@8CL-"GT-"@T*(VEN8VQU9&4@/'-Y<R]S=&%T+F@^#0II;G0@:7-?9&ER
M*"!C:&%R("H@<&%T:" I#0I[#0H@(" @<W1R=6-T('-T870@8G5F.PT*(" @
M(&EF("@@<W1A="@@<&%T:"P@)F)U9B I("D-"@ER971U<FX@,#L-"B @("!R
M971U<FX@8G5F+G-T7VUO9&4@)B!37TE&1$E2.PT*?0T*:6YT(&ES7V9I;&4H
M(&-H87(@*B!P871H("D-"GL-"B @("!S=')U8W0@<W1A="!B=68[#0H@(" @
M:68@*"!S=&%T*"!P871H+" F8G5F("D@*0T*"7)E='5R;B P.PT*(" @(')E
M='5R;B!B=68N<W1?;6]D92 F(%-?249214<[#0I]#0II;G0@;F5W97(H(&-H
M87(@*B!P,2P@8VAA<B J(' R("D-"GL-"B @("!S=')U8W0@<W1A="!B=68Q
M.PT*(" @('-T<G5C="!S=&%T(&)U9C([#0H@(" @:68@*"!S=&%T*"!P,2P@
M)F)U9C$@*2 I#0H)<F5T=7)N(# [#0H@(" @:68@*"!S=&%T*"!P,BP@)F)U
M9C(@*2 I#0H)<F5T=7)N(# [#0H@(" @<F5T=7)N(&)U9C$N<W1?;71I;64@
M/B!B=68R+G-T7VUT:6UE.PT*?0T*#0II;G0@9FEL96-O<'DH(&-H87(@*B!D
M+"!C:&%R("H@<RP@:6YT('!R97-E<G9E7W1I;64@*0T*>PT*(VEF(# -"B @
M("!I;G0)"7-T871U<SL-"B @("!C:&%R(" @(" @*B!A<F=V6R U(%T[#0H@
M(" @87)G=ELP72 ](")C<"([#0H@(" @87)G=ELQ72 ]("(M<"([#0H@(" @
M87)G=ELR72 ](',[#0H@(" @87)G=ELS72 ](&0[#0H@(" @87)G=ELT72 ]
M($Y53$P[#0H@(" @<W1A='5S(#T@<W!A=VYV<"@@4%]704E4+"!A<F=V6S!=
M+"!A<F=V("D[#0H@(" @:68@*"!S=&%T=7,@*0T*"7!E<G)O<B@@(F-P(B I
M.PT*(" @(')E='5R;B!S=&%T=7,[#0HC96QS90T*(" @($9)3$4@(" @(" J
M(&9S.PT*(" @($9)3$4@(" @(" J(&9D.PT*(" @(&-H87()8G5F9F5R6R X
M,3DR(%T[#0H@(" @:6YT"0EN.PT*(" @('-T<G5C="!F=&EM90E7:&5N.PT*
M(" @('-T<G5C="!S=&%T"0E3=&%T.PT*#0H@(" @9G,@/2!F;W!E;B@@<RP@
M(G)B(B I.PT*(" @(&EF("@@9G,@/3T@3E5,3" I("![#0H)<&5R<F]R*"!S
M("D[#0H)<F5T=7)N(#$[#0H@(" @?0T*(" @(&9D(#T@9F]P96XH(&0L(")W
M8B(@*3L-"B @("!I9B H(&9D(#T]($Y53$P@*2 @>PT*"7!E<G)O<B@@9" I
M.PT*"69C;&]S92@@9G,@*3L-"@ER971U<FX@,CL-"B @("!]#0H-"B @("!I
M9B H('!R97-E<G9E7W1I;64@*0T*"6EF("@@9V5T9G1I;64H(&9I;&5N;RAF
M<RDL("97:&5N("D@*2 @>PT*"2 @("!P97)R;W(H(',@*3L-"@D@(" @<')E
M<V5R=F5?=&EM92 ](# [#0H)?0T*#0H@(" @9&\@>PT*"6X@/2!F<F5A9"@@
M8G5F9F5R+" Q+"!S:7IE;V8@8G5F9F5R+"!F<R I.PT*"6EF("@@;B ^(# @
M*0T*"2 @("!I9B H(&9W<FET92@@8G5F9F5R+" Q+"!N+"!F9" I(#P@," I
M("![#0H)"7!E<G)O<B@@9" I.PT*"0ER971U<FX@,SL-"@D@(" @?0T*(" @
M('T@=VAI;&4@*"!N(#X@," I.R @(" -"@T*(" @(&9C;&]S92@@9G,@*3L-
M"@T*(" @("\J($9I>"!T:6UE('-T86UP("HO#0H@(" @:68@*"!P<F5S97)V
M95]T:6UE("D-"@EI9B H('-E=&9T:6UE*"!F:6QE;F\H9F0I+" F5VAE;B I
M("D@('L-"@D@(" @<&5R<F]R*"!S("D[#0H)(" @('!R97-E<G9E7W1I;64@
M/2 P.PT*"7T-"B @("!F8VQO<V4H(&9D("D[#0H-"B @(" O*B!&:7@@86-C
M97-S(')I9VAT<R J+PT*(" @(&EF("@@<W1A="@@<RP@)E-T870@*2 I#0H)
M<&5R<F]R*"!S("D[#0H@(" @96QS92!I9B H(&-H;6]D*"!D+"!3=&%T+G-T
M7VUO9&4@*2 I#0H)<&5R<F]R*"!D("D[#0H-"B @("!R971U<FX@,#L-"B-E
M;F1I9@T*?0T*#0H-"@T*#0H-"FEN="!M86EN*"!I;G0@87)G8RP@8VAA<B J
M(&%R9W9;72 I#0I[#0H@(" @8VAA<B J"7!R;V=N86UE.PT*(" @(&EN= D)
M=F5R8F]S92 ](# [#0H@(" @:6YT"0EO;FQY7VEF7VYE=V5R/2 P.PT*(" @
M(&-H87(@*@ES=69F:7@@(#T@3E5,3#L-"B @("!C:&%R("H);6]D90D]($Y5
M3$P[#0H@(" @8VAA<B J( ED97-T.PT*(" @(&-H87(@*BH)<' [#0H-"B @
M("!A<F=V(#T@87)G=E]F:7@H("9A<F=C+"!A<F=V("D[#0H-"B @("!P<F]G
M;F%M92 ](&)A<V5N86UE*" J87)G=BLK("D[#0H-"B @(" O*B!P<F]C97-S
M('1H92!O<'1I;VYS("HO#0H@(" @=VAI;&4@*"!A<F=V6S!=(" F)B @87)G
M=ELP75LP72 ]/2 G+2<@*2 @>PT*"7-W:71C:" H(&%R9W9;,%U;,5T@*2 @
M>PT*"2 @("!C87-E("=.)SH-"@D@(" @(" @("LK87)G=CL-"@D);VYL>5]I
M9E]N97=E<B ](#$[#0H)"6)R96%K.PT*"2 @("!C87-E("=C)SH-"@D@(" @
M(" @("LK87)G=CL-"@D)+RH@5V4@86QW87ES(&-O<'DL(')E9V%R9&QE<W,@
M*B\-"@D)8G)E86L[#0H)(" @(&-A<V4@)W8G.@T*"0DK*V%R9W8[#0H)"79E
M<F)O<V4@/2 Q.PT*"0EB<F5A:SL-"@D@(" @8V%S92 G5B<Z#0H)"2LK87)G
M=CL-"@D)<W5F9FEX(#T@*F%R9W8[#0H)"2LK87)G=CL-"@D)8G)E86L[#0H)
M(" @(&-A<V4@)VTG.@T*"0DK*V%R9W8[#0H)"6UO9&4@/2 J87)G=CL-"@D)
M*RMA<F=V.PT*"0EB<F5A:SL-"@D@(" @9&5F875L=#H-"@D)9F%T86PH($Y5
M3$P@*3L-"@E]#0H@(" @?0T*#0H@(" @+RH@4V5P87)A=&4@<V]U<F-E(&9I
M;&4H<RD@9G)O;2!D97-T(&1I<F5C=&]R>2!O<B!F:6QE("HO#0HC:68@, T*
M(" @(&EF("@@(6%R9W9;,%T@?'P@(6%R9W9;,5T@*0T*"69A=&%L*" B;6ES
M<VEN9R!F:6QE<R!O<B!I;G9A;&ED(&1E<W1I;F%T:6]N(B I.PT*(V5L<V4-
M"B @(" O*B!792!U<V5D('1O(')E<75I<F4@870@;&5A<W0@;VYE(&9I;&4[
M(&YO="!A;GD@;6]R92 J+PT*(" @(&EF("@@(6%R9W9;,%T@*0T*"69A=&%L
M*" B;6ES<VEN9R!F:6QE<R!O<B!I;G9A;&ED(&1E<W1I;F%T:6]N(B I.PT*
M(" @(&EF("@@(6%R9W9;,5T@*0T*"7)E='5R;B P.PT*(V5N9&EF#0H@(" @
M9F]R("@@<' @/2!A<F=V.R J<' [("LK<' @*0T*"6-O;G1I;G5E.PT*(" @
M("TM<' [#0H@(" @9&5S=" ]("IP<#L-"B @(" J<' @/2!.54Q,.PT*#0H@
M(" @+RH@4')O8V5S<R!T:&4@87)G=6UE;G1S("HO#0H@(" @9F]R("@[("IA
M<F=V.R K*V%R9W8@*2 @>PT*"6-H87(@*B!F(#T@*F%R9W8[#0H)8VAA<B J
M(&QE868@/2!B87-E;F%M92@@9B I.PT*"6-H87(@=&%R9V5T6R Q,C@@73L-
M"@T*"7-T<F-P>2@@=&%R9V5T+"!D97-T("D[#0H-"@EI9B H(&ES7V1I<B@@
M=&%R9V5T("D@*2 @>PT*"2 @("!S=')C870H('1A<F=E="P@(B\B("D[#0H)
M(" @("\J(&EF('=E('=E<F4@9VEV96X@82!S=69F:7@L('1H96X@861D(&ET
M(&%S(&%P<')O<')I871E("HO#0H)(" @(&EF("@@<W5F9FEX("D@('L-"@D)
M8VAA<B J(&1O=" ]('-T<F-H<B@@;&5A9BP@)RXG("D[#0H)"6EF("@@9&]T
M("D@('L-"@D)(" @('-T<FYC870H('1A<F=E="P@;&5A9BP@9&]T+6QE868@
M*3L-"@D)(" @('-T<F-A="@@=&%R9V5T+"!S=69F:7@@*3L-"@D)(" @('-T
M<F-A="@@=&%R9V5T+"!D;W0@*3L-"@D)(" @(&EF("@@=F5R8F]S92 I#0H)
M"0EP<FEN=&8H("(E<SH@)7,@=VEL;"!B92!I;G-T86QL960@87,@)7,B+ T*
M"0D)(" @(" @('!R;V=N86UE+"!F+"!S=')R8VAR*'1A<F=E="PG+R<I*S$@
M*3L-"@D)?2!E;'-E('L-"@D)(" @('-T<F-A="@@=&%R9V5T+"!L96%F("D[
M#0H)"2 @("!S=')C870H('1A<F=E="P@<W5F9FEX("D[#0H)"7T-"@D@(" @
M?2!E;'-E('L-"@D)<W1R8V%T*"!T87)G970L(&QE868@*3L-"@D@(" @?0T*
M"7T-"@T*"6EF("@@86-C97-S*"!F+" P("D@*2 @>PT*"2 @("!C:&%R(&)U
M9ELR,#!=.PT*"2 @("!S<')I;G1F*"!B=68L(")C86YN;W0@<F5A9" E<R(L
M(&8@*3L-"@D@(" @9F%T86PH(&)U9B I.PT*"7T-"@T*"6EF("@@;VYL>5]I
M9E]N97=E<B F)B!I<U]F:6QE*"!T87)G970@*2 F)B A;F5W97(H(&8L('1A
M<F=E=" I("D@('L-"@D@(" @:68@*"!V97)B;W-E("D-"@D)<')I;G1F*" B
M)R5S)R!N;W0@;F5W97(@=&AA;B G)7,G7&XB+"!F+"!T87)G970@*3L-"@D@
M(" @8V]N=&EN=64[#0H)?0T*#0H):68@*"!V97)B;W-E("D-"@D@(" @<')I
M;G1F*" B<FT@+68@)7-<;B(L('1A<F=E=" I.PT*"6EF("@@8VAM;V0H('1A
M<F=E="P@,#<W-R I("D-"@D@(" @:68@*"!V97)B;W-E("D-"@D)<&5R<F]R
M*"!T87)G970@*3L-"@EI9B H('5N;&EN:R@@=&%R9V5T("D@*0T*"2 @("!I
M9B H('9E<F)O<V4@*0T*"0EP97)R;W(H('1A<F=E=" I.PT*"6EF("@@=F5R
M8F]S92 I#0H)(" @('!R:6YT9B@@(F-P("UP("5S("5S7&XB+"!F+"!T87)G
M970@*3L-"@EI9B H(&9I;&5C;W!Y*"!T87)G970L(&8L(#$@*2 I#0H)(" @
M(')E='5R;B Q.PT*"6EF("@@;6]D92 I("![#0H)(" @(&-H87(@8G5F6R R
M-34@73L-"@D@(" @<W!R:6YT9B@@8G5F+" B8VAM;V0@)7,@)7-<;B(L(&UO
M9&4L('1A<F=E=" I.PT*"2 @("!I9B H('9E<F)O<V4@*0T*"0EP<FEN=&8H
M("(E<UQN(BP@8G5F("D[#0H)(" @('-Y<W1E;2@@8G5F("D[#0H)?0T*(" @
:('T-"@T*(" @(')E='5R;B P.PT*?0T*#0IE
end

View File

@@ -1,513 +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: 5/93 Embedded Systems magazine
*
* 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 <stdio.h>
#include <stdlib.h>
#include <string.h>
#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 * );
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.
*
*******************************************************************************/
void main( void )
{
char inbuff[ MAX_LINE_SIZE ], outbuff[ MAX_LINE_SIZE ];
char *in_dptr, *out_dptr;
int d_total, d_count, d_excess, n;
Ulong in_rec_addr, out_rec_addr = 0;
Rec_vitals *rptr;
/* Sift through file until first hex record is identified. */
if ( ( rptr = identify_first_data_record( inbuff ) ) == NULL )
{
fputs( "No hex records found.\n", stderr );
exit( EXIT_FAILURE );
}
/* Attempt data-record splicing until end-of-file is reached. */
d_total = 0;
do
{
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 );
}
} while ( gets( inbuff ) != NULL );
exit( 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 )
{
Rec_vitals ** ptr;
while ( gets( buff_ptr ) != NULL )
{
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 );
}

View File

@@ -0,0 +1,36 @@
#
# $Id$
#
# RTEMS build tools
# NOTE: of course we can't use any of these tools
# in this Makefile. Most notably: install-if-change
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(RTEMS_ROOT)/make/rtems.cfg
DESTDIR=$(PROJECT_RELEASE)/build-tools
BUILD_PGMS=install-if-change rcs-clean lock-directory unlock-directory
PGMS = $(BUILD_PGMS) search-id.sh
CLEAN_ADDITIONS += $(BUILD_PGMS)
INSTALLED_PGMS=$(PGMS:%=$(DESTDIR)/%)
all: $(DESTDIR) $(PGMS) install
$(DESTDIR):
@INSTALL@ $(INSTDIRFLAGS) $@
$(INSTALLED_PGMS): $(PGMS)
@INSTALL@ $(INSTBINFLAGS) $^ $(DESTDIR)
install: $(DESTDIR) $(INSTALLED_PGMS)

View File

@@ -22,11 +22,3 @@ unlock-directory
Useful to keep people from accidentally overwriting
"released" trees if they get confused about which
module they have loaded.
rtems-glom
glom together all the rtems libraries in order to simplify
the link line used by applications.
Produces rtems.rel.
Not used by the RTEMS src tree at all.
Strictly optional.

View File

@@ -0,0 +1,142 @@
#!@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: ***

View File

@@ -0,0 +1,43 @@
#!@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: ***

View File

@@ -0,0 +1,73 @@
#!@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: ***

View File

@@ -0,0 +1,15 @@
#!/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/$$*

View File

@@ -0,0 +1,41 @@
#!@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: ***

View File

@@ -0,0 +1,70 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
includedir = @includedir@
manext = 1
mandir = @mandir@/man$(manext)
# FIXME: $EXEEXT should be set in a central cfg-file used for native
# compiling (e.g. gcc.cfg) instead of setting EXEEXE here.
EXEEXT=@EXEEXT@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
# we use host compiler in this directory
USE_HOST_COMPILER=yes
# C source names, if any, go here -- minus the .c
C_PIECES=cklength eolstrip packhex unhex
C_FILES=$(C_PIECES:%=%.c)
C_O_FILES=$(C_PIECES:%=$(ARCH)/%.o)
H_FILES=
SRCS=$(C_FILES) $(CC_FILES) $(H_FILES)
OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
# FIXME: building into $(ARCH) doesn't make sense for host programs
PGMS=$(ARCH)/cklength$(EXEEXT) $(ARCH)/eolstrip$(EXEEXT) \
$(ARCH)/packhex$(EXEEXT) $(ARCH)/unhex$(EXEEXT)
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
#
# (OPTIONAL) Add local stuff here using +=
#
DEFINES +=
CPPFLAGS += -I.
CFLAGS +=
LD_PATHS +=
LD_LIBS +=
LDFLAGS +=
#
# Add your list of files to delete here. The config files
# already know how to delete some stuff, so you may want
# to just run 'make clean' first to see what gets missed.
# 'make clobber' already includes 'make clean'
#
CLEAN_ADDITIONS += $(HOST_ARCH)
CLOBBER_ADDITIONS +=
DESTDIR=${PROJECT_RELEASE}/build-tools
$(DESTDIR):
@INSTALL@ $(INSTDIRFLAGS) $@
all: $(ARCH) $(DESTDIR) $(SRCS) $(PGMS)
@INSTALL@ $(INSTBINFLAGS) $(PGMS) $(DESTDIR)

View File

@@ -10,7 +10,6 @@
* -v -- verbose
*
* $Id$
* $Log$
*/
#define GETOPTARGS "l:nNv"
@@ -27,6 +26,7 @@ maximum line length. The default maximum line length is 80.\n\
";
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <ctype.h>
#include <stdlib.h>
@@ -34,6 +34,25 @@ maximum line length. The default maximum line length is 80.\n\
#include <string.h>
#include <memory.h>
#include <stdarg.h>
#include <errno.h>
#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
@@ -67,7 +86,6 @@ int line_length = 80; /* maximum allowable line length */
extern char *optarg; /* getopt(3) control vars */
extern int optind, opterr;
extern int errno;
char *progname; /* for error() */
@@ -83,8 +101,10 @@ long getparm(char *s, long min, long max, char *msg);
#define stol(p) strtol(p, (char **) NULL, 0)
int Open(), Read(), Write();
int
main(int argc, char **argv, char **env)
int main(
int argc,
char **argv
)
{
register int c;
int showusage = FALSE; /* usage error? */
@@ -229,8 +249,6 @@ error(int error_flag, ...)
{
va_list arglist;
register char *format;
extern char *sys_errlist[];
extern int sys_nerr;
int local_errno;
extern int errno;
@@ -248,12 +266,7 @@ error(int error_flag, ...)
va_end(arglist);
if (local_errno)
if ((local_errno > 0) && (local_errno < sys_nerr))
(void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
else
(void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
else
(void) fprintf(stderr, "\n");
(void) fprintf(stderr, " (%s)\n", strerror(local_errno));
(void) fflush(stderr);
@@ -261,8 +274,8 @@ error(int error_flag, ...)
{
if (error_flag & ERR_FATAL)
{
error(0, local_errno ? "fatal error, exiting" : "exiting");
exit(local_errno);
error(0, "fatal error, exiting");
exit(local_errno ? local_errno : 1);
}
else
{

View File

@@ -0,0 +1,9 @@
/*
* This file is editted automatically by autoconf.
*
* $Id$
*/
/* Define if you have the strerror function. */
#undef HAVE_STRERROR

View File

@@ -8,7 +8,6 @@
* -v -- verbose
*
* $Id$
* $Log$
*/
#define GETOPTARGS "vt"
@@ -22,6 +21,7 @@ Strip the white space from the end of every line on the list of files.\n\
";
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <ctype.h>
#include <stdlib.h>
@@ -29,6 +29,25 @@ Strip the white space from the end of every line on the list of files.\n\
#include <string.h>
#include <memory.h>
#include <stdarg.h>
#include <errno.h>
#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
@@ -60,7 +79,6 @@ int test_only = FALSE; /* test only */
extern char *optarg; /* getopt(3) control vars */
extern int optind, opterr;
extern int errno;
char *progname; /* for error() */
@@ -76,8 +94,10 @@ long getparm(char *s, long min, long max, char *msg);
#define stol(p) strtol(p, (char **) NULL, 0)
int Open(), Read(), Write();
int
main(int argc, char **argv, char **env)
int main(
int argc,
char **argv
)
{
register int c;
int showusage = FALSE; /* usage error? */
@@ -177,7 +197,7 @@ process(char *arg)
if ( buffer[ length ] != '\n' )
error(ERR_ERRNO|ERR_FATAL, "Line %d too long in %s\n", line_number, arg);
while ( isspace( buffer[ length ] ) )
while ( isspace( (int) buffer[ length ] ) )
buffer[ length-- ] = '\0';
if ( test_only ) {
@@ -216,8 +236,6 @@ error(int error_flag, ...)
{
va_list arglist;
register char *format;
extern char *sys_errlist[];
extern int sys_nerr;
int local_errno;
extern int errno;
@@ -235,12 +253,9 @@ error(int error_flag, ...)
va_end(arglist);
if (local_errno)
if ((local_errno > 0) && (local_errno < sys_nerr))
(void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
else
(void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
(void) fprintf(stderr, " (%s)\n", strerror(local_errno));
else
(void) fprintf(stderr, "\n");
(void) fprintf(stderr, "\n");
(void) fflush(stderr);
@@ -248,8 +263,8 @@ error(int error_flag, ...)
{
if (error_flag & ERR_FATAL)
{
error(0, local_errno ? "fatal error, exiting" : "exiting");
exit(local_errno);
error(0, "fatal error, exiting");
exit(local_errno ? local_errno : 1);
}
else
{

View File

@@ -8,7 +8,13 @@
* is not robust enough to detect hex-record formatting
* errors.
*
* Published: 5/93 Embedded Systems magazine
* 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
@@ -37,6 +43,23 @@
#include <stdlib.h>
#include <string.h>
#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
@@ -76,7 +99,7 @@ typedef struct /* Functions and constant returning Hex-record vital stats. */
/*--------------------------- function prototypes ----------------------------*/
Rec_vitals * identify_first_data_record( char * );
Rec_vitals * identify_first_data_record( char *, int );
Ulong get_ndigit_hex( char *, int );
@@ -388,18 +411,24 @@ Rec_vitals *formats[] =
*
*******************************************************************************/
void main( void )
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. */
if ( ( rptr = identify_first_data_record( inbuff ) ) == NULL )
rptr = identify_first_data_record( inbuff, MAX_LINE_SIZE );
if ( rptr == NULL )
{
fputs( "No hex records found.\n", stderr );
exit( EXIT_FAILURE );
@@ -408,8 +437,7 @@ void main( void )
/* Attempt data-record splicing until end-of-file is reached. */
d_total = 0;
do
{
for (;;) {
if ( rptr->is_data_record( inbuff ) == YES )
{ /* Input record is a data record. */
d_count = rptr->get_data_count( inbuff );
@@ -455,10 +483,21 @@ void main( void )
}
puts( inbuff );
}
} while ( gets( inbuff ) != NULL );
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';
}
exit( EXIT_SUCCESS );
return ( EXIT_SUCCESS );
}
@@ -477,12 +516,25 @@ void main( void )
*
*******************************************************************************/
Rec_vitals * identify_first_data_record( char * buff_ptr )
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';
while ( gets( buff_ptr ) != NULL )
{
for ( ptr = formats ; *ptr != ( Rec_vitals * ) NULL ; ptr++ )
if ( ( *ptr )->is_data_record( buff_ptr ) == YES )
return( *ptr ); /* Successful return. */

View File

@@ -16,6 +16,8 @@
* 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 = "\
@@ -35,6 +37,25 @@ usage: unhex [-va] [ -o file ] [ file [file ... ] ]\n\
#include <unistd.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
#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)
@@ -76,7 +97,6 @@ u32 FFfill = 0L; /* how far to fill w 0xFF's */
extern char *optarg; /* getopt(3) control vars */
extern int optind;
extern int errno;
char *progname; /* for error() */
@@ -86,8 +106,12 @@ void error(int errn, ...);
#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);
@@ -113,10 +137,10 @@ char *MISCSUM = "Checksum mismatch";
char *BADTYPE = "Unrecognized record type";
char *MISTYPE = "Incompatible record types";
int
main(argc, argv)
int argc;
char **argv;
int main(
int argc,
char **argv
)
{
register int c;
bool showusage = FALSE; /* usage error? */
@@ -674,8 +698,6 @@ error(int error_flag, ...)
{
va_list arglist;
register char *format;
extern char *sys_errlist[];
extern int sys_nerr;
int local_errno;
extern int errno;
@@ -693,12 +715,9 @@ error(int error_flag, ...)
va_end(arglist);
if (local_errno)
if ((local_errno > 0) && (local_errno < sys_nerr))
(void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
else
(void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
(void) fprintf(stderr, " (%s)\n", strerror(local_errno));
else
(void) fprintf(stderr, "\n");
(void) fprintf(stderr, "\n");
(void) fflush(stderr);
@@ -706,8 +725,8 @@ error(int error_flag, ...)
{
if (error_flag & ERR_FATAL)
{
error(0, local_errno ? "fatal error, exiting" : "exiting");
exit(local_errno);
error(0, "fatal error, exiting");
exit(local_errno ? local_errno : 1);
}
else
{

View File

@@ -1,719 +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
*/
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 <stdio.h>
#include <fcntl.h>
#include <ctype.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <stdarg.h>
#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;
extern int errno;
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 */
#define stol(p) strtol(p, (char **) NULL, 0)
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(argc, argv)
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 '<progname>: '
*
* 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;
extern char *sys_errlist[];
extern int sys_nerr;
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)
if ((local_errno > 0) && (local_errno < sys_nerr))
(void) fprintf(stderr, " (%s)\n", sys_errlist[local_errno]);
else
(void) fprintf(stderr, " (unknown errno=%d)\n", local_errno);
else
(void) fprintf(stderr, "\n");
(void) fflush(stderr);
if (error_flag & (ERR_FATAL | ERR_ABORT))
{
if (error_flag & ERR_FATAL)
{
error(0, local_errno ? "fatal error, exiting" : "exiting");
exit(local_errno);
}
else
{
error(0, "fatal error, aborting");
abort();
}
}
}

16
c/src/Makefile.in Normal file
View File

@@ -0,0 +1,16 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=exec lib tests/tools tests/support tests/samples

18
c/src/exec/Makefile.in Normal file
View File

@@ -0,0 +1,18 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
POSIX_DIRS_yes_V=posix
POSIX_DIRS = $(POSIX_DIRS_$(RTEMS_HAS_POSIX_API)_V)
SUB_DIRS=score rtems $(POSIX_DIRS) sapi wrapup

View File

@@ -1,58 +0,0 @@
/* clock.h
*
* This file describes the Clock Driver for all boards.
*
* 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$
*/
#ifndef __CLOCK_DRIVER_h
#define __CLOCK_DRIVER_h
#ifdef __cplusplus
extern "C" {
#endif
/* variables */
extern volatile rtems_unsigned32 Clock_driver_ticks;
/* functions */
rtems_task Exit_task();
void exit_task_init();
void Install_clock( rtems_isr_entry );
void ReInstall_clock( rtems_isr_entry );
void Clock_exit();
rtems_isr Clock_isr(
rtems_vector_number
);
/* driver entries */
#define CLOCK_DRIVER_TABLE_ENTRY \
{ Clock_initialize, NULL, NULL, NULL, NULL, NULL }
rtems_device_driver Clock_initialize(
rtems_device_major_number,
rtems_device_minor_number,
void *,
rtems_id,
rtems_unsigned32 *
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,40 +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, 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$
*/
#ifndef _CONSOLE_DRIVER_h
#define _CONSOLE_DRIVER_h
#ifdef __cplusplus
extern "C" {
#endif
#define CONSOLE_DRIVER_TABLE_ENTRY \
{ console_initialize, NULL, NULL, NULL, NULL, NULL }
rtems_device_driver console_initialize(
rtems_device_major_number,
rtems_device_minor_number,
void *,
rtems_id,
rtems_unsigned32 *
);
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -1,44 +0,0 @@
/* iosupp.h
*
* 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$
*/
#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

View File

@@ -1,47 +0,0 @@
/* libcsupport.h
*
* This include file contains the information regarding the
* RTEMS specific support for the standard C library.
*
* 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$
*/
#ifndef __LIBC_SUPPORT_h
#define __LIBC_SUPPORT_h
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/types.h>
void RTEMS_Malloc_Initialize(
void *start,
size_t length,
size_t sbrk_amount
);
extern void libc_init(int reentrant);
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -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).
*
* 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$
*/
#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 */

View File

@@ -1,40 +0,0 @@
/* timerdrv.h
*
* This file describes the Timer Driver for all boards.
*
* 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$
*/
#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 */

View File

@@ -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, 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$
*/
#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 */

View File

@@ -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.

View File

@@ -1,40 +0,0 @@
/*
* RTEMS "Broken" __brk/__sbrk Implementation
*
* NOTE: sbrk is BSP provided.
*
*
* 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$
*/
#include <rtems.h>
#include <signal.h>
#include <errno.h>
#include <sys/types.h>
#ifdef RTEMS_NEWLIB
#include <reent.h>
#endif
#include <unistd.h>
/* 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;
}

View File

@@ -1,84 +0,0 @@
#if !defined(RTEMS_UNIX)
/*
* RTEMS gettimeofday Implementation
*
*
* 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$
*/
#include <rtems.h>
#ifdef RTEMS_NEWLIB
#include <sys/reent.h>
#endif
#include <time.h>
#include <sys/time.h>
#include <errno.h>
#include <assert.h>
/*
* NOTE: The solaris gettimeofday does not have a second parameter.
*/
int gettimeofday(
struct timeval *tp,
struct timezone *tzp
)
{
rtems_status_code status;
rtems_clock_time_value time;
if ( !tp || !tzp ) {
errno = EFAULT;
return -1;
}
/* "POSIX" does not seem to allow for not having a TOD */
status = rtems_clock_get( RTEMS_CLOCK_GET_TIME_VALUE, &time );
if ( status != RTEMS_SUCCESSFUL ) {
assert( 0 );
return -1;
}
tp->tv_sec = time.seconds;
tp->tv_usec = time.microseconds;
#if 0
tzp->minuteswest = timezone / 60; /* from seconds to minutes */
tzp->dsttime = daylight;
#endif
/*
* newlib does not have timezone and daylight savings time
* yet. When it does this needs to be fixed.
*/
tzp->tz_minuteswest = 0; /* at UTC */
tzp->tz_dsttime = 0; /* no daylight savings */
return 0;
}
/*
* "Reentrant" versions of the above routines implemented above.
*/
#if 0
int _gettimeofday_r(
struct _reent *ignored_reentrancy_stuff,
struct timeval *tp,
struct timezone *tzp
)
{
return gettimeofday( tp, tzp );
}
#endif
#endif

View File

@@ -1,65 +0,0 @@
/*
* RTEMS _times Implementation
*
*
* 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$
*/
#include <rtems.h>
#include <sys/times.h>
#include <time.h>
#include <sys/time.h>
#include <errno.h>
#include <assert.h>
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 );
}

View File

@@ -1,280 +0,0 @@
/*
* RTEMS Malloc Family Implementation
*
*
* 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$
*/
#include <rtems.h>
#ifdef RTEMS_LIBC
#include <memory.h>
#endif
#include "libcsupport.h"
#ifdef RTEMS_NEWLIB
#include <sys/reent.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <assert.h>
#include <errno.h>
#include <string.h>
/*
* XXX: Do we really need to duplicate these? It appears that they
* only cause typing problems.
*/
#if 0
void *malloc(size_t);
void *calloc(size_t, size_t);
void *realloc(void *, size_t);
void free(void *);
void *sbrk(size_t);
#endif
rtems_id RTEMS_Malloc_Heap;
size_t RTEMS_Malloc_Sbrk_amount;
void RTEMS_Malloc_Initialize(
void *start,
size_t length,
size_t sbrk_amount
)
{
rtems_status_code status;
void *starting_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;
if (!starting_address) {
u32_address = (unsigned int)sbrk(length);
if (u32_address == -1) {
rtems_fatal_error_occurred( RTEMS_NO_MEMORY );
/* DOES NOT RETURN!!! */
}
if (u32_address & (CPU_ALIGNMENT-1)) {
u32_address = (u32_address + CPU_ALIGNMENT) & ~(CPU_ALIGNMENT-1);
/* XXX: if we do any alignment .. then length should be shortened */
}
starting_address = (void *)u32_address;
}
/*
* 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,
8, /* XXX : use CPU dependent RTEMS constant */
RTEMS_DEFAULT_ATTRIBUTES,
&RTEMS_Malloc_Heap
);
if ( status != RTEMS_SUCCESSFUL )
rtems_fatal_error_occurred( status );
}
void *malloc(
size_t size
)
{
void *return_this;
void *starting_address;
rtems_unsigned32 the_size;
rtems_unsigned32 sbrk_amount;
rtems_status_code status;
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 = sbrk(the_size)) == -1)
return (void *) 0;
/*
fprintf(stderr, "Extended the C heap starting at 0x%x for %d bytes\n",
(unsigned32)starting_address, the_size);
*/
status = rtems_region_extend(
RTEMS_Malloc_Heap,
starting_address,
the_size
);
if ( status != RTEMS_SUCCESSFUL ) {
sbrk(-the_size);
return(FALSE);
errno = ENOMEM;
return (void *) 0;
}
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;
}
}
return return_this;
}
void *calloc(
size_t nelem,
size_t elsize
)
{
register char *cptr;
int length;
length = nelem * elsize;
cptr = malloc( length );
if ( cptr )
memset( cptr, '\0', length );
return cptr;
}
void *realloc(
void *ptr,
size_t size
)
{
rtems_unsigned32 old_size;
rtems_status_code status;
char *new_area;
if ( !ptr )
return malloc( size );
if ( !size ) {
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;
}
new_area = malloc( size );
if ( !new_area ) {
free( ptr );
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;
if ( !ptr )
return;
status = rtems_region_return_segment( RTEMS_Malloc_Heap, ptr );
if ( status != RTEMS_SUCCESSFUL ) {
errno = EINVAL;
assert( 0 );
}
}
/*
* "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(
size_t nelem,
size_t elsize
)
{
return calloc( nelem, elsize );
}
void *realloc_r(
void *ptr,
size_t size
)
{
return realloc_r( ptr, size );
}
void free_r(
void *ptr
)
{
free( ptr );
}
#endif

View File

@@ -1,292 +0,0 @@
/*
* @(#)newlibc.c 1.8 - 95/04/25
*
*/
#if defined(RTEMS_NEWLIB)
/*
* File: $RCSfile$
* Project: PixelFlow
* Created: 94/12/7
* Revision: $Revision$
* Last Mod: $Date$
*
* COPYRIGHT (c) 1994 by Division Incorporated
*
* To anyone who acknowledges that this file is provided "AS IS"
* without any express or implied warranty:
* permission to use, copy, modify, and distribute this file
* for any purpose is hereby granted without fee, provided that
* the above copyright notice and this notice appears in all
* copies, and that the name of Division Incorporated not be
* used in advertising or publicity pertaining to distribution
* of the software without specific, written prior permission.
* Division Incorporated makes no representations about the
* suitability of this software for any purpose.
*
* 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$
*
*/
#include <rtems.h>
#include <libcsupport.h>
#include <stdlib.h> /* for free() */
#include <string.h> /* for memset() */
#include <sys/reent.h> /* for extern of _REENT (aka _impure_ptr) */
#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 *);
void
libc_wrapup(void)
{
_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;
}
}
rtems_extension
libc_create_hook(rtems_tcb *current_task,
rtems_tcb *creating_task)
{
MY_task_set_note(creating_task, LIBC_NOTEPAD, 0);
}
/*
* Called for all user TASKS (system tasks are SYSI 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 *) malloc(sizeof(struct _reent));
/* GCC extension: structure constants */
*ptr = (struct _reent) _REENT_INIT((*ptr));
MY_task_set_note(starting_task, LIBC_NOTEPAD, (rtems_unsigned32) ptr);
}
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
*/
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)
{
_wrapup_reent(ptr);
_reclaim_reent(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.rtems_task_create = libc_create_hook;
libc_extension.rtems_task_start = libc_start_hook;
libc_extension.task_switch = libc_switch_hook;
libc_extension.rtems_task_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;
}
}
void
exit(int status)
{
libc_wrapup();
rtems_shutdown_executive(status);
}
/*
* 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:
*
*
*/
#ifndef RTEMS_UNIX
void _exit(int status)
{
rtems_shutdown_executive(status);
}
#endif
#endif

View File

@@ -1,45 +0,0 @@
#if !defined(RTEMS_LIBC) && !defined(RTEMS_NEWLIB) && !defined(RTEMS_UNIX)
/* no_libc.h
*
* This file contains stubs for the reentrancy hooks when
* an unknown C library is used.
*
* 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$
*/
#include <rtems.h>
#include "libcsupport.h"
#include "internal.h"
#include <stdlib.h> /* for free() */
void
libc_init(int reentrant)
{
}
void libc_suspend_main(void)
{
}
void libc_global_exit(rtems_unsigned32 code)
{
}
void _exit(int status)
{
}
#endif

View File

@@ -1,7 +0,0 @@
#if defined(RTEMS_UNIXLIB)
void libc_init(int reentrant)
{
}
#endif

View File

@@ -0,0 +1,14 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=base sys headers $(INLINE) optman src

View File

@@ -0,0 +1,34 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
#H_PIECES= aio devctl intr limits mqueue pthread sched semaphore \
# signal time unistd
H_PIECES= pthread sched
# limits.h may have been moved into newlib -- check before removing it
# from the cvs tree
H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
SRCS=$(H_FILES)
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
#
# Add your list of files to delete here. The config files
# already know how to delete some stuff, so you may want
# to just run 'make clean' first to see what gets missed.
# 'make clobber' already includes 'make clean'
#
CLEAN_ADDITIONS +=
CLOBBER_ADDITIONS +=
all: $(SRCS)
$(INSTALL) -m 444 ${H_FILES} $(PROJECT_INCLUDE)

137
c/src/exec/posix/base/aio.h Normal file
View File

@@ -0,0 +1,137 @@
/* aio.h
*
* $Id$
*/
#ifndef __POSIX_ASYNCHRONOUS_IO_h
#define __POSIX_ASYNCHRONOUS_IO_h
#include <rtems/posix/features.h>
#if defined(_POSIX_ASYNCHRONOUS_IO)
/*
* 6.7.1 Data Definitions for Asynchronous Input and Output,
* P1003.1b-1993, p. 151
*/
#include <sys/types.h>
#include <signal.h>
#include <time.h>
#include <fcntl.h>
/*
* 6.7.1.2 Manifest Constants, P1003.1b-1993, p. 153
*/
#define AIO_CANCELED 0 /* all requested operations have been canceled */
#define AIO_NOTCANCELED 1 /* some of the operations could not be canceled */
/* since they are in progress */
#define AIO_ALLDONE 2 /* none of the requested operations could be */
/* canceled since they are already complete */
/* lio_listio() options */
#define LIO_WAIT 0 /* calling process is to suspend until the */
/* operation is complete */
#define LIO_NOWAIT 1 /* calling process is to continue execution while */
/* the operation is performed and no notification */
/* shall be given when the operation is completed */
#define LIO_READ 2 /* request a read() */
#define LIO_WRITE 3 /* request a write() */
#define LIO_NOP 4 /* no transfer is requested */
/*
* 6.7.1.1 Asynchronous I/O Control Block, P1003.1b-1993, p. 151
*/
struct aiocb {
int aio_fildes; /* File descriptor */
off_t aio_offset; /* File offset */
volatile void *aio_buf; /* Location of buffer */
size_t aio_nbytes; /* Length of transfer */
int aio_reqprio; /* Request priority offset */
struct sigevent aio_sigevent; /* Signal number and value */
int aoi_lio_opcode; /* Operation to be performed */
};
/*
* 6.7.2 Asynchronous Read, P1003.1b-1993, p. 154
*/
int aio_read(
struct aiocb *aiocbp
);
/*
* 6.7.3 Asynchronous Write, P1003.1b-1993, p. 155
*/
int aio_write(
struct aiocb *aiocbp
);
/*
* 6.7.4 List Directed I/O, P1003.1b-1993, p. 158
*/
int lio_listio(
int mode,
struct aiocb * const list[],
int nent,
struct sigevent *sig
);
/*
* 6.7.5 Retrieve Error of Asynchronous I/O Operation, P1003.1b-1993, p. 161
*/
int aio_error(
const struct aiocb *aiocbp
);
/*
* 6.7.6 Retrieve Return Status of Asynchronous I/O Operation,
* P1003.1b-1993, p. 162
*/
int aio_return(
const struct aiocb *aiocbp
);
/*
* 6.7.7 Cancel Asynchronous I/O Operation, P1003.1b-1993, p. 163
*/
int aio_cancel(
int filedes,
struct aiocb *aiocbp
);
/*
* 6.7.7 Wait for Asynchronous I/O Request, P1003.1b-1993, p. 164
*/
int aio_suspend(
struct aiocb * const list[],
int nent,
const struct timespec *timeout
);
#if defined(_POSIX_SYNCHRONIZED_IO)
/*
* 6.7.9 Asynchronous File Synchronization, P1003.1b-1993, p. 166
*/
int aio_fsync(
int op,
struct aiocb *aiocbp
);
#endif /* _POSIX_SYNCHRONIZED_IO */
#endif /* _POSIX_ASYNCHRONOUS_IO */
#endif
/* end of include file */

View File

@@ -0,0 +1,30 @@
/* devctl.h
*
* $Id$
*/
#ifndef __POSIX_DEVICE_CONTROL_h
#define __POSIX_DEVICE_CONTROL_h
#include <rtems/posix/features.h>
#if defined(_POSIX_DEVICE_CONTROL)
#include <sys/types.h>
#include <unistd.h>
/*
* 21.2.1 Control a Device, P1003.4b/D8, p. 65
*/
int devctl(
int filedes,
void *dev_data_ptr,
size_t nbyte,
int *dev_info_ptr
);
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,72 @@
/* intr.h
*
* XXX: It is unclear if the type "intr_t" should be defined when
* _POSIX_INTERRUPT_CONTROL is not.
*
* $Id$
*/
#ifndef __POSIX_INTERRUPTS_h
#define __POSIX_INTERRUPTS_h
#include <rtems/posix/features.h>
#include <sys/types.h>
#include <sys/time.h>
#if defined(_POSIX_INTERRUPT_CONTROL)
/*
* 22.2 Concepts, P1003.4b/D8, p. 73
*/
typedef int intr_t;
/*
* 22.3.1 Associate a User-Written ISR with an Interrupt, P1003.4b/D8, p. 74
*/
/*
* Return codes from an interrupt handler
*/
#define INTR_HANDLED_NOTIFY 0 /* ISR handled this interrupt, notify */
/* the thread that registered the */
/* ISR that the interrupt occurred. */
#define INTR_HANDLED_DO_NOT_NOTIFY 1 /* ISR handled this interrupt, but */
/* do NOT perform notification. */
#define INTR_NOT_HANDLED 2 /* ISR did not handle this interrupt, */
/* let the next handler try. */
int intr_capture(
intr_t intr,
int (*intr_handler)( void *area ),
volatile void *area,
size_t areasize
);
int intr_release(
intr_t intr,
int (*intr_handler)( void *area )
);
int intr_lock(
intr_t intr
);
int intr_unlock(
intr_t intr
);
/*
* 22.3.2 Await Interrupt Notification, P1003.4b/D8, p. 76
*/
int intr_timed_wait(
int flags,
const struct timespec *timeout
);
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,164 @@
/* limits.h
*
* This file lists the minimums for the limits set by each of
* the POSIX features subsets.
*
* XXX: Careful attention needs to be paid to section 2.8 in 1003.1b-1993
* to segregrate the variables below based on their "class" according
* to our implementation. We also need to set the Run-Time Invariant
* and other related values.
*
* $Id$
*/
#include_next <limits.h>
#ifndef __POSIX_LIMITS_h
#define __POSIX_LIMITS_h
/* really only to get min stack size from <rtems/score/cpu.h> */
#include <rtems/system.h>
/****************************************************************************
****************************************************************************
* *
* P1003.1b-1993 defines the constants below this comment. *
* *
****************************************************************************
****************************************************************************/
#define _POSIX_AIO_LISTIO_MAX 2
#define _POSIX_AIO_MAX 1
#define _POSIX_ARG_MAX 4096
#define _POSIX_CHILD_MAX 6
#define _POSIX_DELAYTIMER_MAX 32
#define _POSIX_LINK_MAX 8
#define _POSIX_MAX_CANON 255
#define _POSIX_MAX_INPUT 255
#define _POSIX_MQ_OPEN_MAX 8
#define _POSIX_MQ_PRIO_MAX 32
#define _POSIX_NAME_MAX 14
#define _POSIX_NGROUPS_MAX 0
#define _POSIX_OPEN_MAX 16
#define _POSIX_PATH_MAX 255
#define _POSIX_PIPE_BUF 512
#define _POSIX_RTSIG_MAX 8
#define _POSIX_SEM_NSEMS_MAX 256
#define _POSIX_SEM_VALUE_MAX 32767
#define _POSIX_SIGQUEUE_MAX 32
#define _POSIX_SSIZE_MAX 32767
#define _POSIX_STREAM_MAX 8
#define _POSIX_TIMER_MAX 32
#define _POSIX_TZNAME_MAX 3
/*
* Definitions of the following may be omitted if the value is >= stated
* minimum but is indeterminate.
*/
#define AIO_LISTIO_MAX 2
#define AIO_MAX 1
#define AIO_PRIO_DELTA_MAX 0
#define ARG_MAX 4096
#define CHILD_MAX 6
#define DELAYTIMER_MAX 32
#define MQ_OPEN_MAX 8
#define MQ_PRIO_MAX 32
#define OPEN_MAX 16
#define PAGESIZE 1
#define RTSIG_MAX 8
#define SEM_NSEMS_MAX 256
#define SEM_VALUE_MAX 32767
#define SIGQUEUE_MAX 32
#define STREAM_MAX 8
#define TIMER_MAX 32
#define TZNAME_MAX 3
/*
* Pathname Variables
*/
#define LINK_MAX 8
#define MAX_CANON 255
#define MAX_INPUT 255
#define NAME_MAX 14
#define PATH_MAX 255
#define PIPE_BUF 512
/*
* Invariant values
*/
#define SSIZE_MAX 32767
/*
* Maximum Values
*/
#define _POSIX_CLOCKRES_MIN 0 /* in nanoseconds */
/****************************************************************************
****************************************************************************
* *
* P1003.1c/D10 defines the constants below this comment. *
*
* XXX: doc seems to have printing problems in this table :(
* *
****************************************************************************
****************************************************************************/
#define _POSIX_LOGIN_NAME_MAX 9
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
#define _POSIX_THREAD_KEYS_MAX 28
#define _POSIX_THREAD_THREADS_MAX 64
#define _POSIX_TTY_NAME_MAX 9
/*
* Definitions of the following may be omitted if the value is >= stated
* minimum but is indeterminate.
*/
#define LOGIN_NAME_MAX _POSIX_LOGIN_NAME_MAX
#define TTY_NAME_MAX _POSIX_TTY_NAME_MAX
#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
#define PTHREAD_STACK_MIN CPU_STACK_MINIMUM_SIZE
/*
* The maximum number of keys (PTHREAD_KEYS_MAX) and threads
* (PTHREAD_THREADS_MAX) are configurable and may exceed the minimum.
*
#define PTHREAD_KEYS_MAX _POSIX_THREAD_KEYS_MAX
#define PTHREAD_THREADS_MAX _POSIX_THREAD_THREADS_MAX
*/
/****************************************************************************
****************************************************************************
* *
* P1003.4b/D8 defines the constants below this comment. *
* *
****************************************************************************
****************************************************************************/
#define _POSIX_INTERRUPT_OVERRUN_MAX 32
/*
* Definitions of the following may be omitted if the value is >= stated
* minimum but is indeterminate.
*/
#define INTERRUPT_OVERRUN_MAX 32
/*
* Pathname Variables
*/
#define MIN_ALLOC_SIZE
#define REC_MIN_XFER_SIZE
#define REC_MAX_XFER_SIZE
#define REC_INCR_XFER_SIZE
#define REC_XFER_ALIGN
#define MAX_ATOMIC_SIZE
#endif
/* end of include file */

View File

@@ -0,0 +1,145 @@
/* mqueue.h
*
* $Id$
*/
#ifndef __POSIX_MESSAGE_QUEUE_h
#define __POSIX_MESSAGE_QUEUE_h
#include <rtems/posix/features.h>
#if defined(_POSIX_MESSAGE_PASSING)
#include <sys/types.h>
#include <rtems/system.h>
#include <rtems/score/object.h>
/*
* 15.1.1 Data Structures, P1003.1b-1993, p. 271
*/
typedef Objects_Id mqd_t;
struct mq_attr {
long mq_flags; /* Message queue flags */
long mq_maxmsg; /* Maximum number of messages */
long mq_msgsize; /* Maximum message size */
long mq_curmsgs; /* Number of messages currently queued */
};
/*
* 15.2.2 Open a Message Queue, P1003.1b-1993, p. 272
*/
mqd_t mq_open(
const char *name,
int oflag,
...
);
/*
* 15.2.2 Close a Message Queue, P1003.1b-1993, p. 275
*/
int mq_close(
mqd_t mqdes
);
/*
* 15.2.2 Remove a Message Queue, P1003.1b-1993, p. 276
*/
int mq_unlink(
const char *name
);
/*
* 15.2.4 Send a Message to a Message Queue, P1003.1b-1993, p. 277
*
* NOTE: P1003.4b/D8, p. 45 adds mq_timedsend().
*/
int mq_send(
mqd_t mqdes,
const char *msg_ptr,
size_t msg_len,
unsigned int msg_prio
);
#if defined(_POSIX_TIMEOUTS)
#include <time.h>
int mq_timedsend(
mqd_t mqdes,
const char *msg_ptr,
size_t msg_len,
unsigned int msg_prio,
const struct timespec *timeout
);
#endif /* _POSIX_TIMEOUTS */
/*
* 15.2.5 Receive a Message From a Message Queue, P1003.1b-1993, p. 279
*
* NOTE: P1003.4b/D8, p. 45 adds mq_timedreceive().
*/
ssize_t mq_receive(
mqd_t mqdes,
char *msg_ptr,
size_t msg_len,
unsigned int *msg_prio
);
#if defined(_POSIX_TIMEOUTS)
int mq_timedreceive( /* XXX: should this be ssize_t */
mqd_t mqdes,
char *msg_ptr,
size_t msg_len,
unsigned int *msg_prio,
const struct timespec *timeout
);
#endif /* _POSIX_TIMEOUTS */
#if defined(_POSIX_REALTIME_SIGNALS)
/*
* 15.2.6 Notify Process that a Message is Available on a Queue,
* P1003.1b-1993, p. 280
*/
int mq_notify(
mqd_t mqdes,
const struct sigevent *notification
);
#endif /* _POSIX_REALTIME_SIGNALS */
/*
* 15.2.7 Set Message Queue Attributes, P1003.1b-1993, p. 281
*/
int mq_setattr(
mqd_t mqdes,
const struct mq_attr *mqstat,
struct mq_attr *omqstat
);
/*
* 15.2.8 Get Message Queue Attributes, P1003.1b-1993, p. 283
*/
int mq_getattr(
mqd_t mqdes,
struct mq_attr *mqstat
);
#endif /* _POSIX_MESSAGE_PASSING */
#endif
/* end of include file */

View File

@@ -0,0 +1,500 @@
/* pthread.h
*
* $Id$
*/
#ifndef __PTHREAD_h
#define __PTHREAD_h
#include <sys/features.h>
#if defined(_POSIX_THREADS)
#include <sys/types.h>
#include <time.h>
#include <sys/sched.h>
/*
* 3.1.3 Register Fork Handlers, P1003.1c/Draft 10, P1003.1c/Draft 10, p. 27
*
* RTEMS does not support processes, so we fall under this and do not
* provide this routine:
*
* "Either the implementation shall support the pthread_atfork() function
* as described above or the pthread_atfork() funciton shall not be
* provided."
*/
/*
* 11.3.1 Mutex Initialization Attributes, P1003.1c/Draft 10, p. 81
*/
int pthread_mutexattr_init(
pthread_mutexattr_t *attr
);
int pthread_mutexattr_destroy(
pthread_mutexattr_t *attr
);
int pthread_mutexattr_getpshared(
const pthread_mutexattr_t *attr,
int *pshared
);
int pthread_mutexattr_setpshared(
pthread_mutexattr_t *attr,
int pshared
);
/*
* 11.3.2 Initializing and Destroying a Mutex, P1003.1c/Draft 10, p. 87
*/
int pthread_mutex_init(
pthread_mutex_t *mutex,
const pthread_mutexattr_t *attr
);
int pthread_mutex_destroy(
pthread_mutex_t *mutex
);
/*
* This is used to statically initialize a pthread_mutex_t. Example:
*
* pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
*/
#define PTHREAD_MUTEX_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF)
/*
* 11.3.3 Locking and Unlocking a Mutex, P1003.1c/Draft 10, p. 93
*
* NOTE: P1003.4b/D8 adds pthread_mutex_timedlock(), p. 29
*/
int pthread_mutex_lock(
pthread_mutex_t *mutex
);
int pthread_mutex_trylock(
pthread_mutex_t *mutex
);
int pthread_mutex_unlock(
pthread_mutex_t *mutex
);
#if defined(_POSIX_TIMEOUTS)
int pthread_mutex_timedlock(
pthread_mutex_t *mutex,
const struct timespec *timeout
);
#endif /* _POSIX_TIMEOUTS */
/*
* 11.4.1 Condition Variable Initialization Attributes,
* P1003.1c/Draft 10, p. 96
*/
int pthread_condattr_init(
pthread_condattr_t *attr
);
int pthread_condattr_destroy(
pthread_condattr_t *attr
);
int pthread_condattr_getpshared(
const pthread_condattr_t *attr,
int *pshared
);
int pthread_condattr_setpshared(
pthread_condattr_t *attr,
int pshared
);
/*
* 11.4.2 Initializing and Destroying a Condition Variable,
* P1003.1c/Draft 10, p. 87
*/
int pthread_cond_init(
pthread_cond_t *cond,
const pthread_condattr_t *attr
);
int pthread_cond_destroy(
pthread_cond_t *mutex
);
/*
* This is used to statically initialize a pthread_cond_t. Example:
*
* pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
*/
#define PTHREAD_COND_INITIALIZER ((pthread_mutex_t) 0xFFFFFFFF)
/*
* 11.4.3 Broadcasting and Signaling a Condition, P1003.1c/Draft 10, p. 101
*/
int pthread_cond_signal(
pthread_cond_t *cond
);
int pthread_cond_broadcast(
pthread_cond_t *cond
);
/*
* 11.4.4 Waiting on a Condition, P1003.1c/Draft 10, p. 105
*/
int pthread_cond_wait(
pthread_cond_t *cond,
pthread_mutex_t *mutex
);
int pthread_cond_timedwait(
pthread_cond_t *cond,
pthread_mutex_t *mutex,
const struct timespec *abstime
);
#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING)
/*
* 13.5.1 Thread Creation Scheduling Attributes, P1003.1c/Draft 10, p. 120
*/
int pthread_attr_setscope(
pthread_attr_t *attr,
int contentionscope
);
int pthread_attr_getscope(
const pthread_attr_t *attr,
int *contentionscope
);
int pthread_attr_setinheritsched(
pthread_attr_t *attr,
int inheritsched
);
int pthread_attr_getinheritsched(
const pthread_attr_t *attr,
int *inheritsched
);
int pthread_attr_setschedpolicy(
pthread_attr_t *attr,
int policy
);
int pthread_attr_getschedpolicy(
const pthread_attr_t *attr,
int *policy
);
#endif /* defined(_POSIX_THREAD_PRIORITY_SCHEDULING) */
int pthread_attr_setschedparam(
pthread_attr_t *attr,
const struct sched_param *param
);
int pthread_attr_getschedparam(
const pthread_attr_t *attr,
struct sched_param *param
);
#if defined(_POSIX_THREAD_PRIORITY_SCHEDULING)
/*
* 13.5.2 Dynamic Thread Scheduling Parameters Access,
* P1003.1c/Draft 10, p. 124
*/
int pthread_getschedparam(
pthread_t thread,
int *policy,
struct sched_param *param
);
int pthread_setschedparam(
pthread_t thread,
int policy,
struct sched_param *param
);
#endif /* defined(_POSIX_THREAD_PRIORITY_SCHEDULING) */
#if defined(_POSIX_THREAD_PRIO_INHERIT) || defined(_POSIX_THREAD_PRIO_PROTECT)
/*
* 13.6.1 Mutex Initialization Scheduling Attributes, P1003.1c/Draft 10, p. 128
*/
int pthread_mutexattr_setprotocol(
pthread_mutexattr_t *attr,
int protocol
);
int pthread_mutexattr_getprotocol(
const pthread_mutexattr_t *attr,
int *protocol
);
int pthread_mutexattr_setprioceiling(
pthread_mutexattr_t *attr,
int prioceiling
);
int pthread_mutexattr_getprioceiling(
const pthread_mutexattr_t *attr,
int *prioceiling
);
#endif /* _POSIX_THREAD_PRIO_INHERIT || _POSIX_THREAD_PRIO_PROTECT */
#if defined(_POSIX_THREAD_PRIO_PROTECT)
/*
* 13.6.2 Change the Priority Ceiling of a Mutex, P1003.1c/Draft 10, p. 131
*/
int pthread_mutex_setprioceiling(
pthread_mutex_t *mutex,
int prioceiling,
int *old_ceiling
);
int pthread_mutex_getprioceiling(
pthread_mutex_t *mutex,
int *prioceiling
);
#endif /* _POSIX_THREAD_PRIO_PROTECT */
/*
* 16.1.1 Thread Creation Attributes, P1003.1c/Draft 10, p, 140
*/
int pthread_attr_init(
pthread_attr_t *attr
);
int pthread_attr_destroy(
pthread_attr_t *attr
);
int pthread_attr_getstacksize(
const pthread_attr_t *attr,
size_t *stacksize
);
int pthread_attr_setstacksize(
pthread_attr_t *attr,
size_t stacksize
);
int pthread_attr_getstackaddr(
const pthread_attr_t *attr,
void **stackaddr
);
int pthread_attr_setstackaddr(
pthread_attr_t *attr,
void *stackaddr
);
int pthread_attr_getdetachstate(
const pthread_attr_t *attr,
int *detachstate
);
int pthread_attr_setdetachstate(
pthread_attr_t *attr,
int detachstate
);
/*
* 16.1.2 Thread Creation, P1003.1c/Draft 10, p. 144
*/
int pthread_create(
pthread_t *thread,
const pthread_attr_t *attr,
void *(*start_routine)( void * ),
void *arg
);
/*
* 16.1.3 Wait for Thread Termination, P1003.1c/Draft 10, p. 147
*/
int pthread_join(
pthread_t thread,
void **value_ptr
);
/*
* 16.1.4 Detaching a Thread, P1003.1c/Draft 10, p. 149
*/
int pthread_detach(
pthread_t thread
);
/*
* 16.1.5.1 Thread Termination, p1003.1c/Draft 10, p. 150
*/
void pthread_exit(
void *value_ptr
);
/*
* 16.1.6 Get Calling Thread's ID, p1003.1c/Draft 10, p. XXX
*/
pthread_t pthread_self( void );
/*
* 16.1.7 Compare Thread IDs, p1003.1c/Draft 10, p. 153
*/
int pthread_equal(
pthread_t t1,
pthread_t t2
);
/*
* 16.1.8 Dynamic Package Initialization
*/
/*
* This is used to statically initialize a pthread_once_t. Example:
*
* pthread_once_t once = PTHREAD_ONCE_INIT;
*
* NOTE: This is named inconsistently -- it should be INITIALIZER.
*/
#define PTHREAD_ONCE_INIT { 1, 0 } /* is initialized and not run */
int pthread_once(
pthread_once_t *once_control,
void (*init_routine)(void)
);
/*
* 17.1.1 Thread-Specific Data Key Create, P1003.1c/Draft 10, p. 163
*/
int pthread_key_create(
pthread_key_t *key,
void (*destructor)( void * )
);
/*
* 17.1.2 Thread-Specific Data Management, P1003.1c/Draft 10, p. 165
*/
int pthread_setspecific(
pthread_key_t key,
const void *value
);
void *pthread_getspecific(
pthread_key_t key
);
/*
* 17.1.3 Thread-Specific Data Key Deletion, P1003.1c/Draft 10, p. 167
*/
int pthread_key_delete(
pthread_key_t key
);
/*
* 18.2.1 Canceling Execution of a Thread, P1003.1c/Draft 10, p. 181
*/
#define PTHREAD_CANCEL_ENABLE 0
#define PTHREAD_CANCEL_DISABLE 1
#define PTHREAD_CANCEL_DEFERRED 0
#define PTHREAD_CANCEL_ASYNCHRONOUS 1
int pthread_cancel(
pthread_t thread
);
/*
* 18.2.2 Setting Cancelability State, P1003.1c/Draft 10, p. 183
*/
int pthread_setcancelstate(
int state,
int *oldstate
);
int pthread_setcanceltype(
int type,
int *oldtype
);
void pthread_testcancel( void );
/*
* 18.2.3.1 Establishing Cancellation Handlers, P1003.1c/Draft 10, p. 184
*/
void pthread_cleanup_push(
void (*routine)( void * ),
void *arg
);
void pthread_cleanup_pop(
int execute
);
#if defined(_POSIX_THREAD_CPUTIME)
/*
* 20.1.6 Accessing a Thread CPU-time Clock, P1003.4b/D8, p. 58
*/
int pthread_getcpuclockid(
pthread_t thread_id,
clockid_t *clock_id
);
/*
* 20.1.7 CPU-time Clock Thread Creation Attribute, P1003.4b/D8, p. 59
*/
int pthread_attr_setcputime(
pthread_attr_t *attr,
int clock_allowed
);
int pthread_attr_getcputime(
pthread_attr_t *attr,
int *clock_allowed
);
#endif /* defined(_POSIX_THREAD_CPUTIME) */
#endif /* defined(_POSIX_THREADS) */
#endif
/* end of include file */

View File

@@ -0,0 +1,88 @@
/* sched.h
*
* $Id$
*/
#ifndef __POSIX_SCHEDULING_h
#define __POSIX_SCHEDULING_h
#include <sys/features.h>
#if defined(_POSIX_PRIORITY_SCHEDULING)
#include <sys/types.h>
#include <time.h>
#include <sys/sched.h>
#include <pthread.h>
/*
* 13.3.1 Set Scheduling Parameters, P1003.1b-1993, p. 252
*
*/
int sched_setparam(
pid_t pid,
const struct sched_param *param
);
/*
* 13.3.2 Set Scheduling Parameters, P1003.1b-1993, p. 253
*/
int sched_getparam(
pid_t pid,
const struct sched_param *param
);
/*
* 13.3.3 Set Scheduling Policy and Scheduling Parameters,
* P1003.1b-1993, p. 254
*/
int sched_setscheduler(
pid_t pid,
int policy,
const struct sched_param *param
);
/*
* 13.3.4 Get Scheduling Policy, P1003.1b-1993, p. 256
*/
int sched_getscheduler(
pid_t pid
);
/*
* 13.3.6 Get Scheduling Parameter Limits, P1003.1b-1993, p. 258
*/
int sched_get_priority_max(
int policy
);
int sched_get_priority_min(
int policy
);
int sched_rr_get_interval(
pid_t pid,
struct timespec *interval
);
#endif /* _POSIX_PRIORITY_SCHEDULING */
#if defined(_POSIX_THREADS) || defined(_POSIX_PRIORITY_SCHEDULING)
/*
* 13.3.5 Yield Processor, P1003.1b-1993, p. 257
*/
int sched_yield( void );
#endif /* _POSIX_THREADS or _POSIX_PRIORITY_SCHEDULING */
#endif
/* end of include file */

View File

@@ -0,0 +1,108 @@
/* semaphore.h
*
* $Id$
*/
#ifndef __POSIX_SEMAPHORE_h
#define __POSIX_SEMAPHORE_h
#include <rtems/posix/features.h>
#if defined(_POSIX_SEMAPHORES)
#include <sys/time.h>
/*
* 11.1 Semaphore Characteristics, P1003.1b-1993, p.219
*/
typedef int sem_t;
/*
* 11.2.1 Initialize an Unnamed Semaphore, P1003.1b-1993, p.219
*/
int sem_init(
sem_t *sem,
int pshared,
unsigned int value
);
/*
* 11.2.2 Destroy an Unnamed Semaphore, P1003.1b-1993, p.220
*/
int sem_destroy(
sem_t *sem
);
/*
* 11.2.3 Initialize/Open a Named Semaphore, P1003.1b-1993, p.221
*
* NOTE: Follows open() calling conventions.
*/
sem_t *sem_open(
const char *name,
int oflag,
...
);
/*
* 11.2.4 Close a Named Semaphore, P1003.1b-1993, p.224
*/
int sem_close(
sem_t *sem
);
/*
* 11.2.5 Remove a Named Semaphore, P1003.1b-1993, p.225
*/
int sem_unlink(
const char *name
);
/*
* 11.2.6 Lock a Semaphore, P1003.1b-1993, p.226
*
* NOTE: P1003.4b/D8 adds sem_timedwait(), p. 27
*/
int sem_wait(
sem_t *sem
);
int sem_trywait(
sem_t *sem
);
#if defined(_POSIX_TIMEOUTS)
int sem_timedwait(
sem_t *sem,
const struct timespec *timeout
);
#endif
/*
* 11.2.7 Unlock a Semaphore, P1003.1b-1993, p.227
*/
int sem_post(
sem_t *sem
);
/*
* 11.2.8 Get the Value of a Semaphore, P1003.1b-1993, p.229
*/
int sem_getvalue(
sem_t *sem,
int *sval
);
#endif /* _POSIX_SEMAPHORES */
#endif
/* end of include file */

View File

@@ -0,0 +1,89 @@
/* unistd.h
*
* $Id$
*/
#ifndef __POSIX_UNISTD_h
#define __POSIX_UNISTD_h
#include <rtems/posix/features.h>
/*
* 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 96
*
* NOTE: Table 4-2, Configurable System Variables, p. 96
*/
#define _SC_AIO_LISTIO_MAX 0
#define _SC_AIO_MAX 1
#define _SC_AIO_PRIO_DELTA_MAX 2
#define _SC_ARG_MAX 3
#define _SC_CHILD_MAX 4
#define _SC_CLK_TCK 5
#define _SC_DELAYTIMER_MAX 6
#define _SC_MQ_OPEN_MAX 7
#define _SC_MQ_PRIO_MAX 8
#define _SC_NGROUPS_MAX 9
#define _SC_OPEN_MAX 10
#define _SC_PAGESIZE 11
#define _SC_RTSIG_MAX 12
#define _SC_SEM_NSEMS_MAX 13
#define _SC_SEM_VALUE_MAX 14
#define _SC_SIGQUEUE_MAX 15
#define _SC_STREAM_MAX 16
#define _SC_TIMER_MAX 17
#define _SC_TZNAME_MAX 18
#define _SC_ASYNCHRONOUS_IO 19
#define _SC_FSYNC 20
#define _SC_JOB_CONTROL 21
#define _SC_MAPPED_FILES 22
#define _SC_MEMLOCK 23
#define _SC_MEMLOCK_RANGE 24
#define _SC_MEMORY_PROTECTION 25
#define _SC_MESSAGE_PASSING 26
#define _SC_PRIORITIZED_IO 27
#define _SC_REALTIME_SIGNALS 28
#define _SC_SAVED_IDS 29
#define _SC_SEMAPHORES 30
#define _SC_SHARED_MEMORY_OBJECTS 31
#define _SC_SYNCHRONIZED_IO 32
#define _SC_TIMERS 33
#define _SC_VERSION 34
/*
* P1003.1c/D10, p. 52 adds the following.
*/
#define _SC_GETGR_R_SIZE_MAX 35
#define _SC_GETPW_R_SIZE_MAX 36
#define _SC_LOGIN_NAME_MAX 37
#define _SC_THREAD_DESTRUCTOR_ITERATIONS 38
#define _SC_THREAD_KEYS_MAX 39
#define _SC_THREAD_STACK_MIN 40
#define _SC_THREAD_THREADS_MAX 41
#define _SC_TTY_NAME_MAX 42
#define _SC_THREADS 43
#define _SC_THREAD_ATTR_STACKADDR 44
#define _SC_THREAD_ATTR_STACKSIZE 45
#define _SC_THREAD_PRIORITY_SCHEDULING 46
#define _SC_THREAD_PRIO_INHERIT 47
#define _SC_THREAD_PRIO_CEILING 48
#define _SC_THREAD_PROCESS_SHARED 49
#define _SC_THREAD_SAFE_FUNCTIONS 50
/* JRS: 04/02/98: _SC_THREAD_PRIO_CEILING seems to have changed names
* in the final standard to _SC_THREAD_PRIO_PROTECT.
*/
/*
* 4.8.1 Get Configurable System Variables, P1003.1b-1993, p. 95
*/
long sysconf(
int name
);
#endif
/* end of include */

View File

@@ -0,0 +1,34 @@
#
# $Id$
#
@SET_MAKE@
srcdir = @srcdir@
VPATH = @srcdir@
RTEMS_ROOT = @top_srcdir@
PROJECT_ROOT = @PROJECT_ROOT@
H_PIECES= cond condmp config key mutex mutexmp posixapi \
priority psignal pthread pthreadmp seterr threadsup time
#H_PIECES= cancel cond condmp intr key mqueue mqueuemp mutex \
# mutexmp pthread pthreadmp priority semaphore semaphoremp threadsup \
# time
H_FILES=$(H_PIECES:%=$(srcdir)/%.h)
SRCS=$(H_FILES)
include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
#
# Add your list of files to delete here. The config files
# already know how to delete some stuff, so you may want
# to just run 'make clean' first to see what gets missed.
# 'make clobber' already includes 'make clean'
#
CLEAN_ADDITIONS +=
CLOBBER_ADDITIONS +=
all: $(SRCS)
$(INSTALL) -m 444 ${H_FILES} $(PROJECT_INCLUDE)/rtems/posix

View File

@@ -0,0 +1,16 @@
/* rtems/posix/cancel.h
*
* $Id$
*/
#ifndef __RTEMS_POSIX_CANCEL_h
#define __RTEMS_POSIX_CANCEL_h
typedef struct {
Chain_Node Node;
void (*routine)( void * );
void *arg;
} POSIX_Cancel_Handler_control;
#endif
/* end of include file */

View File

@@ -0,0 +1,130 @@
/* rtems/posix/cond.h
*
* This include file contains all the private support information for
* POSIX condition variables.
*
* 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 __RTEMS_POSIX_CONDITION_VARIABLES_h
#define __RTEMS_POSIX_CONDITION_VARIABLES_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/object.h>
#include <rtems/score/threadq.h>
/*
* Constant to indicate condition variable does not currently have
* a mutex assigned to it.
*/
#define POSIX_CONDITION_VARIABLES_NO_MUTEX 0
/*
* Data Structure used to manage a POSIX condition variable
*/
typedef struct {
Objects_Control Object;
int process_shared;
pthread_mutex_t Mutex;
Thread_queue_Control Wait_queue;
} POSIX_Condition_variables_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
POSIX_EXTERN Objects_Information _POSIX_Condition_variables_Information;
/*
* _POSIX_Condition_variables_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _POSIX_Condition_variables_Manager_initialization(
unsigned32 maximum_condition_variables
);
/*
* _POSIX_Condition_variables_Allocate
*
* DESCRIPTION:
*
* This function allocates a condition variable control block from
* the inactive chain of free condition variable control blocks.
*/
RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control *
_POSIX_Condition_variables_Allocate( void );
/*
* _POSIX_Condition_variables_Free
*
* DESCRIPTION:
*
* This routine frees a condition variable control block to the
* inactive chain of free condition variable control blocks.
*/
RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Free (
POSIX_Condition_variables_Control *the_condition_variable
);
/*
* _POSIX_Condition_variables_Get
*
* DESCRIPTION:
*
* This function maps condition variable IDs to condition variable control
* blocks. If ID corresponds to a local condition variable, then it returns
* the_condition variable control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the condition variable ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_condition variable is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_condition variable is undefined.
*/
RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control *_POSIX_Condition_variables_Get (
Objects_Id *id,
Objects_Locations *location
);
/*
* _POSIX_Condition_variables_Is_null
*
* DESCRIPTION:
*
* This function returns TRUE if the_condition variable is NULL
* and FALSE otherwise.
*/
RTEMS_INLINE_ROUTINE boolean _POSIX_Condition_variables_Is_null (
POSIX_Condition_variables_Control *the_condition_variable
);
#include <rtems/posix/cond.inl>
#include <rtems/posix/condmp.h>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,162 @@
/* condmp.h
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the POSIX Condition Variable Manager.
*
* 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 __RTEMS_POSIX_CONDITION_VARIABLES_MP_h
#define __RTEMS_POSIX_CONDITION_VARIABLES_MP_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/mppkt.h>
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
/*
* The following enumerated type defines the list of
* remote condition variable operations.
*/
typedef enum {
POSIX_CONDITION_VARIABLES_MP_ANNOUNCE_CREATE = 0,
POSIX_CONDITION_VARIABLES_MP_ANNOUNCE_DELETE = 1,
POSIX_CONDITION_VARIABLES_MP_EXTRACT_PROXY = 2,
POSIX_CONDITION_VARIABLES_MP_OBTAIN_REQUEST = 3,
POSIX_CONDITION_VARIABLES_MP_OBTAIN_RESPONSE = 4,
POSIX_CONDITION_VARIABLES_MP_RELEASE_REQUEST = 5,
POSIX_CONDITION_VARIABLES_MP_RELEASE_RESPONSE = 6,
} POSIX_Condition_variables_MP_Remote_operations;
/*
* The following data structure defines the packet used to perform
* remote condition variable operations.
*/
typedef struct {
MP_packet_Prefix Prefix;
POSIX_Condition_variables_MP_Remote_operations operation;
Objects_Name name;
boolean wait; /* XXX options */
Objects_Id proxy_id;
} POSIX_Condition_variables_MP_Packet;
/*
* _POSIX_Condition_variables_MP_Send_process_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
void _POSIX_Condition_variables_MP_Send_process_packet (
POSIX_Condition_variables_MP_Remote_operations operation,
Objects_Id condition_variables_id,
Objects_Name name,
Objects_Id proxy_id
);
/*
* _POSIX_Condition_variables_MP_Send_request_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
int _POSIX_Condition_variables_MP_Send_request_packet (
POSIX_Condition_variables_MP_Remote_operations operation,
Objects_Id condition_variables_id,
boolean wait, /* XXX options */
Watchdog_Interval timeout
);
/*
* _POSIX_Condition_variables_MP_Send_response_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
void _POSIX_Condition_variables_MP_Send_response_packet (
POSIX_Condition_variables_MP_Remote_operations operation,
Objects_Id condition_variables_id,
Thread_Control *the_thread
);
/*
*
* _POSIX_Condition_variables_MP_Process_packet
*
* DESCRIPTION:
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
void _POSIX_Condition_variables_MP_Process_packet (
MP_packet_Prefix *the_packet_prefix
);
/*
* _POSIX_Condition_variables_MP_Send_object_was_deleted
*
* DESCRIPTION:
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
* the remote node must be informed of this.
*/
void _POSIX_Condition_variables_MP_Send_object_was_deleted (
Thread_Control *the_proxy
);
/*
* _POSIX_Condition_variables_MP_Send_extract_proxy
*
* DESCRIPTION:
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
void _POSIX_Condition_variables_MP_Send_extract_proxy (
Thread_Control *the_thread
);
/*
* _POSIX_Condition_variables_MP_Get_packet
*
* DESCRIPTION:
*
* This function is used to obtain a condition variable mp packet.
*/
POSIX_Condition_variables_MP_Packet
*_POSIX_Condition_variables_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
#endif
/* end of file */

View File

@@ -0,0 +1,59 @@
/* config.h
*
* This include file contains the table of user defined configuration
* parameters specific for the POSIX API.
*
* 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 __RTEMS_POSIX_CONFIGURATION_h
#define __RTEMS_POSIX_CONFIGURATION_h
#ifdef __cplusplus
extern "C" {
#endif
/*
* XXX
*
* The following records define the Configuration Table. The
* information contained in this table is required in all
* RTEMS systems, whether single or multiprocessor. This
* table primarily defines the following:
*
* + required number of each object type
*/
/*
* For now, we are only allowing the user to specify the entry point
* for posix initialization threads.
*/
typedef struct {
void *(*thread_entry)(void *);
} posix_initialization_threads_table;
typedef struct {
int maximum_threads;
int maximum_mutexes;
int maximum_condition_variables;
int maximum_keys;
int maximum_queued_signals;
int number_of_initialization_threads;
posix_initialization_threads_table *User_initialization_threads_table;
} posix_api_configuration_table;
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,154 @@
/* rtems/posix/intr.h
*
* This include file contains all the private support information for
* POSIX Interrupt Manager.
*
* 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 __RTEMS_POSIX_KEY_h
#define __RTEMS_POSIX_KEY_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/isr.h>
#include <rtems/score/object.h>
/*
* Data Structure used to manage each POSIX Interrupt Vector
*/
typedef struct {
int number_installed;
int lock_count;
int deferred_count;
Chain_Control Handlers;
} POSIX_Interrupt_Control;
/*
* Data Structure used to manage a POSIX Interrupt Handler
*/
typedef struct {
Objects_Control Object;
int is_active;
intr_t vector;
Thread_Control *server;
int (*handler)( void *area );
volatile void *user_data_area;
} POSIX_Interrupt_Handler_control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
POSIX_EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information;
/*
* The following is an array which is used to manage the set of
* interrupt handlers installed on each vector.
*/
POSIX_EXTERN POSIX_Interrupt_Control
_POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ];
/*
* _POSIX_Interrupt_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _POSIX_Interrupt_Manager_initialization(
unsigned32 maximum_interrupt_handlers
);
/*
* _POSIX_Interrupt_Allocate
*
* DESCRIPTION:
*
* This function allocates a interrupt handler control block from
* the inactive chain of free interrupt handler control blocks.
*/
RTEMS_INLINE_ROUTINE POSIX_Interrupt_Handler_control *
_POSIX_Interrupt_Allocate( void );
/*
* _POSIX_Interrupt_Free
*
* DESCRIPTION:
*
* This routine frees a interrupt handler control block to the
* inactive chain of free interrupt handler control blocks.
*/
RTEMS_INLINE_ROUTINE void _POSIX_Interrupt_Free (
POSIX_Interrupt_Handler_control *the_intr
);
/*
* _POSIX_Interrupt_Get
*
* DESCRIPTION:
*
* This function maps interrupt handler IDs to interrupt handler control
* blocks. If ID corresponds to a local interrupt handler, then it returns
* the_intr control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the interrupt handler ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_intr is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_intr is undefined.
*/
RTEMS_INLINE_ROUTINE POSIX_Interrupt_Control *_POSIX_Interrupt_Get (
Objects_Id id,
Objects_Locations *location
);
/*
* _POSIX_Interrupt_Is_null
*
* DESCRIPTION:
*
* This function returns TRUE if the_intr is NULL and FALSE otherwise.
*/
RTEMS_INLINE_ROUTINE boolean _POSIX_Interrupt_Is_null (
POSIX_Interrupt_Handler_control *the_intr
);
/*
* _POSIX_Interrupt_Handler
*
* DESCRIPTION:
*
* This function XXX.
*/
void _POSIX_Interrupt_Handler(
ISR_Vector_number vector
);
#include <rtems/posix/intr.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,136 @@
/* rtems/posix/key.h
*
* This include file contains all the private support information for
* POSIX key.
*
* 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 __RTEMS_POSIX_KEY_h
#define __RTEMS_POSIX_KEY_h
#ifdef __cplusplus
extern "C" {
#endif
/*
* Data Structure used to manage a POSIX key
*
* NOTE: The Values is a table indexed by the index portion of the
* ID of the currently executing thread.
*/
typedef struct {
Objects_Control Object;
boolean is_active;
void (*destructor)( void * );
void **Values[ OBJECTS_CLASSES_LAST_THREAD_CLASS + 1 ];
} POSIX_Keys_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
POSIX_EXTERN Objects_Information _POSIX_Keys_Information;
/*
* _POSIX_Keys_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _POSIX_Key_Manager_initialization(
unsigned32 maximum_keys
);
/*
* _POSIX_Keys_Run_destructors
*
* DESCRIPTION:
*
* This function executes all the destructors associated with the thread's
* keys. This function will execute until all values have been set to NULL.
*
* NOTE: This is the routine executed when a thread exits to
* run through all the keys and do the destructor action.
*/
void _POSIX_Keys_Run_destructors(
Thread_Control *thread
);
/*
* _POSIX_Keys_Allocate
*
* DESCRIPTION:
*
* This function allocates a keys control block from
* the inactive chain of free keys control blocks.
*/
RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void );
/*
* _POSIX_Keys_Free
*
* DESCRIPTION:
*
* This routine frees a keys control block to the
* inactive chain of free keys control blocks.
*/
RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free (
POSIX_Keys_Control *the_key
);
/*
* _POSIX_Keys_Get
*
* DESCRIPTION:
*
* This function maps key IDs to key control blocks.
* If ID corresponds to a local keys, then it returns
* the_key control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the keys ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_key is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_key is undefined.
*/
RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Get (
Objects_Id id,
Objects_Locations *location
);
/*
* _POSIX_Keys_Is_null
*
* DESCRIPTION:
*
* This function returns TRUE if the_key is NULL and FALSE otherwise.
*/
RTEMS_INLINE_ROUTINE boolean _POSIX_Keys_Is_null (
POSIX_Keys_Control *the_key
);
#include <rtems/posix/key.inl>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,186 @@
/* rtems/posix/mqueue.h
*
* This include file contains all the private support information for
* POSIX Message Queues.
*
* 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 __RTEMS_POSIX_MESSAGE_QUEUE_h
#define __RTEMS_POSIX_MESSAGE_QUEUE_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/coremsg.h>
#include <rtems/score/object.h>
/*
* Data Structure used to manage a POSIX message queue
*/
typedef struct {
Objects_Control Object;
int process_shared;
int flags;
boolean named;
boolean linked;
boolean blocking;
unsigned32 open_count;
CORE_message_queue_Control Message_queue;
struct sigevent notification;
} POSIX_Message_queue_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information;
/*
* _POSIX_Message_queue_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _POSIX_Message_queue_Manager_initialization(
unsigned32 maximum_message_queues
);
/*
*
* _POSIX_Message_queue_Create_support
*
* DESCRIPTION:
*
* This routine performs the creation of a message queue utilizing the
* core message queue.
*/
int _POSIX_Message_queue_Create_support(
const char *name,
int pshared,
unsigned int oflag,
struct mq_attr *attr,
POSIX_Message_queue_Control **message_queue
);
/*
*
* _POSIX_Message_queue_Send_support
*
* DESCRIPTION:
*
* This routine posts a message to a specified message queue.
*/
int _POSIX_Message_queue_Send_support(
mqd_t mqdes,
const char *msg_ptr,
unsigned32 msg_len,
Priority_Control msg_prio,
Watchdog_Interval timeout
);
/*
* _POSIX_Message_queue_Allocate
*
* DESCRIPTION:
*
* This function allocates a message queue control block from
* the inactive chain of free message queue control blocks.
*/
RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Allocate( void );
/*
* _POSIX_Message_queue_Free
*
* DESCRIPTION:
*
* This routine frees a message queue control block to the
* inactive chain of free message queue control blocks.
*/
RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free (
POSIX_Message_queue_Control *the_mq
);
/*
* _POSIX_Message_queue_Get
*
* DESCRIPTION:
*
* This function maps message queue IDs to message queue control blocks.
* If ID corresponds to a local message queue, then it returns
* the_mq control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the message queue ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_message queue is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_mq is undefined.
*/
RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get (
Objects_Id id,
Objects_Locations *location
);
/*
* _POSIX_Message_queue_Is_null
*
* DESCRIPTION:
*
* This function returns TRUE if the_message_queue is NULL and FALSE otherwise.
*/
RTEMS_INLINE_ROUTINE boolean _POSIX_Message_queue_Is_null (
POSIX_Message_queue_Control *the_mq
);
/*
* _POSIX_Message_queue_Name_to_id
*
* DESCRIPTION:
*
* XXX
*/
int _POSIX_Message_queue_Name_to_id(
const char *name,
Objects_Id *id
);
/*
* _POSIX_Message_queue_Priority_to_core
*
* DESCRIPTION:
*
* XXX
*/
RTEMS_INLINE_ROUTINE Priority_Control _POSIX_Message_queue_Priority_to_core(
unsigned int priority
);
#include <rtems/posix/mqueue.inl>
#include <rtems/posix/mqueuemp.h>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,161 @@
/* mqueuemp.h
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the POSIX Message Queue Manager.
*
* 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 __RTEMS_POSIX_MESSAGE_QUEUE_MP_h
#define __RTEMS_POSIX_MESSAGE_QUEUE_MP_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/mppkt.h>
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
/*
* The following enumerated type defines the list of
* remote message queue operations.
*/
typedef enum {
POSIX_MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0,
POSIX_MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1,
POSIX_MESSAGE_QUEUE_MP_EXTRACT_PROXY = 2,
POSIX_MESSAGE_QUEUE_MP_OBTAIN_REQUEST = 3,
POSIX_MESSAGE_QUEUE_MP_OBTAIN_RESPONSE = 4,
POSIX_MESSAGE_QUEUE_MP_RELEASE_REQUEST = 5,
POSIX_MESSAGE_QUEUE_MP_RELEASE_RESPONSE = 6,
} POSIX_Message_queue_MP_Remote_operations;
/*
* The following data structure defines the packet used to perform
* remote message queue operations.
*/
typedef struct {
MP_packet_Prefix Prefix;
POSIX_Message_queue_MP_Remote_operations operation;
Objects_Name name;
boolean wait; /* XXX options */
Objects_Id proxy_id;
} POSIX_Message_queue_MP_Packet;
/*
* _POSIX_Message_queue_MP_Send_process_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
void _POSIX_Message_queue_MP_Send_process_packet (
POSIX_Message_queue_MP_Remote_operations operation,
Objects_Id mq_id,
Objects_Name name,
Objects_Id proxy_id
);
/*
* _POSIX_Message_queue_MP_Send_request_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
int _POSIX_Message_queue_MP_Send_request_packet (
POSIX_Message_queue_MP_Remote_operations operation,
Objects_Id mq_id,
boolean wait, /* XXX options */
Watchdog_Interval timeout
);
/*
* _POSIX_Message_queue_MP_Send_response_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
void _POSIX_Message_queue_MP_Send_response_packet (
POSIX_Message_queue_MP_Remote_operations operation,
Objects_Id mq_id,
Thread_Control *the_thread
);
/*
*
* _POSIX_Message_queue_MP_Process_packet
*
* DESCRIPTION:
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
void _POSIX_Message_queue_MP_Process_packet (
MP_packet_Prefix *the_packet_prefix
);
/*
* _POSIX_Message_queue_MP_Send_object_was_deleted
*
* DESCRIPTION:
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
* the remote node must be informed of this.
*/
void _POSIX_Message_queue_MP_Send_object_was_deleted (
Thread_Control *the_proxy
);
/*
* _POSIX_Message_queue_MP_Send_extract_proxy
*
* DESCRIPTION:
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
void _POSIX_Message_queue_MP_Send_extract_proxy (
Thread_Control *the_thread
);
/*
* _POSIX_Message_queue_MP_Get_packet
*
* DESCRIPTION:
*
* This function is used to obtain a message queue mp packet.
*/
POSIX_Message_queue_MP_Packet *_POSIX_Message_queue_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
#endif
/* end of file */

View File

@@ -0,0 +1,120 @@
/* rtems/posix/mutex.h
*
* This include file contains all the private support information for
* POSIX mutex's.
*
* 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 __RTEMS_POSIX_MUTEX_h
#define __RTEMS_POSIX_MUTEX_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/coremutex.h>
#include <pthread.h>
/*
* Data Structure used to manage a POSIX mutex
*/
typedef struct {
Objects_Control Object;
int process_shared;
CORE_mutex_Control Mutex;
} POSIX_Mutex_Control;
/*
* The following defines the information control block used to manage
* this class of objects.
*/
POSIX_EXTERN Objects_Information _POSIX_Mutex_Information;
/*
* _POSIX_Mutex_Manager_initialization
*
* DESCRIPTION:
*
* This routine performs the initialization necessary for this manager.
*/
void _POSIX_Mutex_Manager_initialization(
unsigned32 maximum_mutexes
);
/*
* _POSIX_Mutex_Allocate
*
* DESCRIPTION:
*
* This function allocates a mutexes control block from
* the inactive chain of free mutexes control blocks.
*/
RTEMS_INLINE_ROUTINE POSIX_Mutex_Control *_POSIX_Mutex_Allocate( void );
/*
* _POSIX_Mutex_Free
*
* DESCRIPTION:
*
* This routine frees a mutexes control block to the
* inactive chain of free mutexes control blocks.
*/
RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Free (
POSIX_Mutex_Control *the_mutex
);
/*
* _POSIX_Mutex_Get
*
* DESCRIPTION:
*
* This function maps mutexes IDs to mutexes control blocks.
* If ID corresponds to a local mutexes, then it returns
* the_mutex control pointer which maps to ID and location
* is set to OBJECTS_LOCAL. if the mutexes ID is global and
* resides on a remote node, then location is set to OBJECTS_REMOTE,
* and the_mutex is undefined. Otherwise, location is set
* to OBJECTS_ERROR and the_mutex is undefined.
*/
RTEMS_INLINE_ROUTINE POSIX_Mutex_Control *_POSIX_Mutex_Get (
Objects_Id *id,
Objects_Locations *location
);
/*
* _POSIX_Mutex_Is_null
*
* DESCRIPTION:
*
* This function returns TRUE if the_mutex is NULL and FALSE otherwise.
*/
RTEMS_INLINE_ROUTINE boolean _POSIX_Mutex_Is_null (
POSIX_Mutex_Control *the_mutex
);
#include <rtems/posix/mutex.inl>
#include <rtems/posix/mutexmp.h>
#ifdef __cplusplus
}
#endif
#endif
/* end of include file */

View File

@@ -0,0 +1,161 @@
/* mutexmp.h
*
* This include file contains all the constants and structures associated
* with the Multiprocessing Support in the POSIX Mutex Manager.
*
* 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 __RTEMS_POSIX_MUTEX_MP_h
#define __RTEMS_POSIX_MUTEX_MP_h
#ifdef __cplusplus
extern "C" {
#endif
#include <rtems/score/mppkt.h>
#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/watchdog.h>
/*
* The following enumerated type defines the list of
* remote mutex operations.
*/
typedef enum {
POSIX_MUTEX_MP_ANNOUNCE_CREATE = 0,
POSIX_MUTEX_MP_ANNOUNCE_DELETE = 1,
POSIX_MUTEX_MP_EXTRACT_PROXY = 2,
POSIX_MUTEX_MP_OBTAIN_REQUEST = 3,
POSIX_MUTEX_MP_OBTAIN_RESPONSE = 4,
POSIX_MUTEX_MP_RELEASE_REQUEST = 5,
POSIX_MUTEX_MP_RELEASE_RESPONSE = 6,
} POSIX_Mutex_MP_Remote_operations;
/*
* The following data structure defines the packet used to perform
* remote mutex operations.
*/
typedef struct {
MP_packet_Prefix Prefix;
POSIX_Mutex_MP_Remote_operations operation;
Objects_Name name;
boolean wait; /* XXX options */
Objects_Id proxy_id;
} POSIX_Mutex_MP_Packet;
/*
* _POSIX_Mutex_MP_Send_process_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* process operation can be performed on another node.
*/
void _POSIX_Mutex_MP_Send_process_packet (
POSIX_Mutex_MP_Remote_operations operation,
Objects_Id mutex_id,
Objects_Name name,
Objects_Id proxy_id
);
/*
* _POSIX_Mutex_MP_Send_request_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* directive operation can be initiated on another node.
*/
int _POSIX_Mutex_MP_Send_request_packet (
POSIX_Mutex_MP_Remote_operations operation,
Objects_Id mutex_id,
boolean wait, /* XXX options */
Watchdog_Interval timeout
);
/*
* _POSIX_Mutex_MP_Send_response_packet
*
* DESCRIPTION:
*
* This routine performs a remote procedure call so that a
* directive can be performed on another node.
*/
void _POSIX_Mutex_MP_Send_response_packet (
POSIX_Mutex_MP_Remote_operations operation,
Objects_Id mutex_id,
Thread_Control *the_thread
);
/*
*
* _POSIX_Mutex_MP_Process_packet
*
* DESCRIPTION:
*
* This routine performs the actions specific to this package for
* the request from another node.
*/
void _POSIX_Mutex_MP_Process_packet (
MP_packet_Prefix *the_packet_prefix
);
/*
* _POSIX_Mutex_MP_Send_object_was_deleted
*
* DESCRIPTION:
*
* This routine is invoked indirectly by the thread queue
* when a proxy has been removed from the thread queue and
* the remote node must be informed of this.
*/
void _POSIX_Mutex_MP_Send_object_was_deleted (
Thread_Control *the_proxy
);
/*
* _POSIX_Mutex_MP_Send_extract_proxy
*
* DESCRIPTION:
*
* This routine is invoked when a task is deleted and it
* has a proxy which must be removed from a thread queue and
* the remote node must be informed of this.
*/
void _POSIX_Mutex_MP_Send_extract_proxy (
Thread_Control *the_thread
);
/*
* _POSIX_Mutex_MP_Get_packet
*
* DESCRIPTION:
*
* This function is used to obtain a mutex mp packet.
*/
POSIX_Mutex_MP_Packet *_POSIX_Mutex_MP_Get_packet ( void );
#ifdef __cplusplus
}
#endif
#endif
/* end of file */

View File

@@ -0,0 +1,34 @@
/*
* POSIX API Support
*
* NOTE:
*
* 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 __POSIX_API_h
#define __POSIX_API_h
#include <rtems/config.h>
/*PAGE
*
* _POSIX_API_Initialize
*
* XXX
*/
void _POSIX_API_Initialize(
rtems_configuration_table *configuration_table
);
#endif
/* end of include file */

View File

@@ -0,0 +1,44 @@
/*
*
*
* $Id$
*/
#ifndef __RTEMS_POSIX_PRIORITY_h
#define __RTEMS_POSIX_PRIORITY_h
#include <rtems/score/priority.h>
/*
* 1003.1b-1993,2.2.2.80 definition of priority, p. 19
*
* "Numericallly higher values represent higher priorities."
*
* Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API.
*
* There are only 254 posix priority levels since a task at priority level
* 255 would never run because of the RTEMS idle task. This is necessary
* because GNAT maps the lowest Ada task priority to the lowest thread
* priority. The lowest priority Ada task should get to run, so there is
* a fundamental conflict with having 255 priorities.
*/
#define POSIX_SCHEDULER_MAXIMUM_PRIORITY (254)
#define POSIX_SCHEDULER_MINIMUM_PRIORITY (1)
RTEMS_INLINE_ROUTINE boolean _POSIX_Priority_Is_valid(
int priority
);
RTEMS_INLINE_ROUTINE Priority_Control _POSIX_Priority_To_core(
int priority
);
RTEMS_INLINE_ROUTINE int _POSIX_Priority_From_core(
Priority_Control priority
);
#include <rtems/posix/priority.inl>
#endif

Some files were not shown because too many files have changed in this diff Show More