forked from Imagelibrary/rtems
2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* sp01/.cvsignore: Remove. * sp01/Makefile.am: Remove. * sp01/init.c: Remove. * sp01/sp01.doc: Remove. * sp01/sp01.scn: Remove. * sp01/system.h: Remove. * sp01/task1.c: Remove. * sp02/.cvsignore: Remove. * sp02/Makefile.am: Remove. * sp02/init.c: Remove. * sp02/preempt.c: Remove. * sp02/sp02.doc: Remove. * sp02/sp02.scn: Remove. * sp02/system.h: Remove. * sp02/task1.c: Remove. * sp02/task2.c: Remove. * sp02/task3.c: Remove. * .cvsignore: Remove. * ChangeLog: Remove. * Makefile.am: Remove. * README: Remove. * configure.ac: Remove. * sptests.am: Remove. * sp03/.cvsignore: Remove. * sp03/Makefile.am: Remove. * sp03/init.c: Remove. * sp03/sp03.doc: Remove. * sp03/sp03.scn: Remove. * sp03/system.h: Remove. * sp03/task1.c: Remove. * sp03/task2.c: Remove. * sp04/.cvsignore: Remove. * sp04/Makefile.am: Remove. * sp04/init.c: Remove. * sp04/sp04.doc: Remove. * sp04/sp04.scn: Remove. * sp04/system.h: Remove. * sp04/task1.c: Remove. * sp04/task2.c: Remove. * sp04/task3.c: Remove. * sp04/tswitch.c: Remove. * sp05/.cvsignore: Remove. * sp05/Makefile.am: Remove. * sp05/init.c: Remove. * sp05/sp05.doc: Remove. * sp05/sp05.scn: Remove. * sp05/system.h: Remove. * sp05/task1.c: Remove. * sp05/task2.c: Remove. * sp05/task3.c: Remove. * sp06/.cvsignore: Remove. * sp06/Makefile.am: Remove. * sp06/init.c: Remove. * sp06/sp06.doc: Remove. * sp06/sp06.scn: Remove. * sp06/system.h: Remove. * sp06/task1.c: Remove. * sp06/task2.c: Remove. * sp06/task3.c: Remove. * sp07/.cvsignore: Remove. * sp07/Makefile.am: Remove. * sp07/init.c: Remove. * sp07/sp07.doc: Remove. * sp07/sp07.scn: Remove. * sp07/system.h: Remove. * sp07/task1.c: Remove. * sp07/task2.c: Remove. * sp07/task3.c: Remove. * sp07/task4.c: Remove. * sp07/taskexit.c: Remove. * sp07/tcreate.c: Remove. * sp07/tdelete.c: Remove. * sp07/trestart.c: Remove. * sp07/tstart.c: Remove. * sp08/.cvsignore: Remove. * sp08/Makefile.am: Remove. * sp08/init.c: Remove. * sp08/sp08.doc: Remove. * sp08/sp08.scn: Remove. * sp08/system.h: Remove. * sp08/task1.c: Remove. * sp09/.cvsignore: Remove. * sp09/Makefile.am: Remove. * sp09/delay.c: Remove. * sp09/init.c: Remove. * sp09/isr.c: Remove. * sp09/screen01.c: Remove. * sp09/screen02.c: Remove. * sp09/screen03.c: Remove. * sp09/screen04.c: Remove. * sp09/screen05.c: Remove. * sp09/screen06.c: Remove. * sp09/screen07.c: Remove. * sp09/screen08.c: Remove. * sp09/screen09.c: Remove. * sp09/screen10.c: Remove. * sp09/screen11.c: Remove. * sp09/screen12.c: Remove. * sp09/screen13.c: Remove. * sp09/screen14.c: Remove. * sp09/sp09.doc: Remove. * sp09/sp09.scn: Remove. * sp09/system.h: Remove. * sp09/task1.c: Remove. * sp09/task2.c: Remove. * sp09/task3.c: Remove. * sp09/task4.c: Remove. * sp11/.cvsignore: Remove. * sp11/Makefile.am: Remove. * sp11/init.c: Remove. * sp11/sp11.doc: Remove. * sp11/sp11.scn: Remove. * sp11/system.h: Remove. * sp11/task1.c: Remove. * sp11/task2.c: Remove. * sp11/timer.c: Remove. * sp12/.cvsignore: Remove. * sp12/Makefile.am: Remove. * sp12/init.c: Remove. * sp12/pridrv.c: Remove. * sp12/pritask.c: Remove. * sp12/sp12.doc: Remove. * sp12/sp12.scn: Remove. * sp12/system.h: Remove. * sp12/task1.c: Remove. * sp12/task2.c: Remove. * sp12/task3.c: Remove. * sp12/task4.c: Remove. * sp12/task5.c: Remove. * sp13/.cvsignore: Remove. * sp13/Makefile.am: Remove. * sp13/fillbuff.c: Remove. * sp13/init.c: Remove. * sp13/putbuff.c: Remove. * sp13/sp13.doc: Remove. * sp13/sp13.scn: Remove. * sp13/system.h: Remove. * sp13/task1.c: Remove. * sp13/task2.c: Remove. * sp13/task3.c: Remove. * sp14/.cvsignore: Remove. * sp14/Makefile.am: Remove. * sp14/asr.c: Remove. * sp14/init.c: Remove. * sp14/sp14.doc: Remove. * sp14/sp14.scn: Remove. * sp14/system.h: Remove. * sp14/task1.c: Remove. * sp14/task2.c: Remove. * sp15/.cvsignore: Remove. * sp15/Makefile.am: Remove. * sp15/init.c: Remove. * sp15/sp15.doc: Remove. * sp15/sp15.scn: Remove. * sp15/system.h: Remove. * sp15/task1.c: Remove. * sp16/.cvsignore: Remove. * sp16/Makefile.am: Remove. * sp16/init.c: Remove. * sp16/sp16.doc: Remove. * sp16/sp16.scn: Remove. * sp16/system.h: Remove. * sp16/task1.c: Remove. * sp16/task2.c: Remove. * sp16/task3.c: Remove. * sp16/task4.c: Remove. * sp16/task5.c: Remove. * sp17/.cvsignore: Remove. * sp17/Makefile.am: Remove. * sp17/asr.c: Remove. * sp17/init.c: Remove. * sp17/sp17.doc: Remove. * sp17/sp17.scn: Remove. * sp17/system.h: Remove. * sp17/task1.c: Remove. * sp17/task2.c: Remove. * sp19/.cvsignore: Remove. * sp19/Makefile.am: Remove. * sp19/first.c: Remove. * sp19/fptask.c: Remove. * sp19/fptest.h: Remove. * sp19/init.c: Remove. * sp19/inttest.h: Remove. * sp19/sp19.doc: Remove. * sp19/sp19.scn: Remove. * sp19/system.h: Remove. * sp19/task1.c: Remove. * sp20/.cvsignore: Remove. * sp20/Makefile.am: Remove. * sp20/getall.c: Remove. * sp20/init.c: Remove. * sp20/sp20.doc: Remove. * sp20/sp20.scn: Remove. * sp20/system.h: Remove. * sp20/task1.c: Remove. * sp21/.cvsignore: Remove. * sp21/Makefile.am: Remove. * sp21/init.c: Remove. * sp21/sp21.doc: Remove. * sp21/sp21.scn: Remove. * sp21/system.h: Remove. * sp21/task1.c: Remove. * sp22/.cvsignore: Remove. * sp22/Makefile.am: Remove. * sp22/delay.c: Remove. * sp22/init.c: Remove. * sp22/prtime.c: Remove. * sp22/sp22.doc: Remove. * sp22/sp22.scn: Remove. * sp22/system.h: Remove. * sp22/task1.c: Remove. * sp23/.cvsignore: Remove. * sp23/Makefile.am: Remove. * sp23/init.c: Remove. * sp23/sp23.doc: Remove. * sp23/sp23.scn: Remove. * sp23/system.h: Remove. * sp23/task1.c: Remove. * sp24/.cvsignore: Remove. * sp24/Makefile.am: Remove. * sp24/init.c: Remove. * sp24/resume.c: Remove. * sp24/sp24.doc: Remove. * sp24/sp24.scn: Remove. * sp24/system.h: Remove. * sp24/task1.c: Remove. * sp25/.cvsignore: Remove. * sp25/Makefile.am: Remove. * sp25/init.c: Remove. * sp25/sp25.doc: Remove. * sp25/sp25.scn: Remove. * sp25/system.h: Remove. * sp25/task1.c: Remove. * sp26/.cvsignore: Remove. * sp26/Makefile.am: Remove. * sp26/init.c: Remove. * sp26/sp26.doc: Remove. * sp26/sp26.scn: Remove. * sp26/system.h: Remove. * sp26/task1.c: Remove. * sp27/.cvsignore: Remove. * sp27/Makefile.am: Remove. * sp27/init.c: Remove. * sp27/sp27.doc: Remove. * sp27/sp27.scn: Remove. * sp28/.cvsignore: Remove. * sp28/Makefile.am: Remove. * sp28/init.c: Remove. * sp28/sp28.doc: Remove. * sp28/sp28.scn: Remove. * sp29/.cvsignore: Remove. * sp29/Makefile.am: Remove. * sp29/init.c: Remove. * sp29/sp29.doc: Remove. * sp29/sp29.scn: Remove. * sp30/.cvsignore: Remove. * sp30/Makefile.am: Remove. * sp30/init.c: Remove. * sp30/resume.c: Remove. * sp30/sp30.doc: Remove. * sp30/sp30.scn: Remove. * sp30/system.h: Remove. * sp30/task1.c: Remove. * sp31/.cvsignore: Remove. * sp31/Makefile.am: Remove. * sp31/delay.c: Remove. * sp31/init.c: Remove. * sp31/prtime.c: Remove. * sp31/sp31.doc: Remove. * sp31/sp31.scn: Remove. * sp31/system.h: Remove. * sp31/task1.c: Remove. * sp32/.cvsignore: Remove. * sp32/Makefile.am: Remove. * sp32/init.c: Remove. * sp32/sp32.scn: Remove. * spfatal/.cvsignore: Remove. * spfatal/Makefile.am: Remove. * spfatal/README: Remove. * spfatal/fatal.c: Remove. * spfatal/init.c: Remove. * spfatal/puterr.c: Remove. * spfatal/spfatal.doc: Remove. * spfatal/spfatal.scn: Remove. * spfatal/system.h: Remove. * spfatal/task1.c: Remove. * spsize/.cvsignore: Remove. * spsize/Makefile.am: Remove. * spsize/getint.c: Remove. * spsize/init.c: Remove. * spsize/size.c: Remove. * spsize/size.scn: Remove. * spsize/system.h: Remove.
This commit is contained in:
@@ -1,14 +0,0 @@
|
|||||||
aclocal.m4
|
|
||||||
autom4te*.cache
|
|
||||||
config.cache
|
|
||||||
config.guess
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
config.sub
|
|
||||||
configure
|
|
||||||
depcomp
|
|
||||||
install-sh
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
missing
|
|
||||||
mkinstalldirs
|
|
||||||
@@ -1,743 +0,0 @@
|
|||||||
2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* sp01/.cvsignore: Remove.
|
|
||||||
* sp01/Makefile.am: Remove.
|
|
||||||
* sp01/init.c: Remove.
|
|
||||||
* sp01/sp01.doc: Remove.
|
|
||||||
* sp01/sp01.scn: Remove.
|
|
||||||
* sp01/system.h: Remove.
|
|
||||||
* sp01/task1.c: Remove.
|
|
||||||
* sp02/.cvsignore: Remove.
|
|
||||||
* sp02/Makefile.am: Remove.
|
|
||||||
* sp02/init.c: Remove.
|
|
||||||
* sp02/preempt.c: Remove.
|
|
||||||
* sp02/sp02.doc: Remove.
|
|
||||||
* sp02/sp02.scn: Remove.
|
|
||||||
* sp02/system.h: Remove.
|
|
||||||
* sp02/task1.c: Remove.
|
|
||||||
* sp02/task2.c: Remove.
|
|
||||||
* sp02/task3.c: Remove.
|
|
||||||
* .cvsignore: Remove.
|
|
||||||
* ChangeLog: Remove.
|
|
||||||
* Makefile.am: Remove.
|
|
||||||
* README: Remove.
|
|
||||||
* configure.ac: Remove.
|
|
||||||
* sptests.am: Remove.
|
|
||||||
* sp03/.cvsignore: Remove.
|
|
||||||
* sp03/Makefile.am: Remove.
|
|
||||||
* sp03/init.c: Remove.
|
|
||||||
* sp03/sp03.doc: Remove.
|
|
||||||
* sp03/sp03.scn: Remove.
|
|
||||||
* sp03/system.h: Remove.
|
|
||||||
* sp03/task1.c: Remove.
|
|
||||||
* sp03/task2.c: Remove.
|
|
||||||
* sp04/.cvsignore: Remove.
|
|
||||||
* sp04/Makefile.am: Remove.
|
|
||||||
* sp04/init.c: Remove.
|
|
||||||
* sp04/sp04.doc: Remove.
|
|
||||||
* sp04/sp04.scn: Remove.
|
|
||||||
* sp04/system.h: Remove.
|
|
||||||
* sp04/task1.c: Remove.
|
|
||||||
* sp04/task2.c: Remove.
|
|
||||||
* sp04/task3.c: Remove.
|
|
||||||
* sp04/tswitch.c: Remove.
|
|
||||||
* sp05/.cvsignore: Remove.
|
|
||||||
* sp05/Makefile.am: Remove.
|
|
||||||
* sp05/init.c: Remove.
|
|
||||||
* sp05/sp05.doc: Remove.
|
|
||||||
* sp05/sp05.scn: Remove.
|
|
||||||
* sp05/system.h: Remove.
|
|
||||||
* sp05/task1.c: Remove.
|
|
||||||
* sp05/task2.c: Remove.
|
|
||||||
* sp05/task3.c: Remove.
|
|
||||||
* sp06/.cvsignore: Remove.
|
|
||||||
* sp06/Makefile.am: Remove.
|
|
||||||
* sp06/init.c: Remove.
|
|
||||||
* sp06/sp06.doc: Remove.
|
|
||||||
* sp06/sp06.scn: Remove.
|
|
||||||
* sp06/system.h: Remove.
|
|
||||||
* sp06/task1.c: Remove.
|
|
||||||
* sp06/task2.c: Remove.
|
|
||||||
* sp06/task3.c: Remove.
|
|
||||||
* sp07/.cvsignore: Remove.
|
|
||||||
* sp07/Makefile.am: Remove.
|
|
||||||
* sp07/init.c: Remove.
|
|
||||||
* sp07/sp07.doc: Remove.
|
|
||||||
* sp07/sp07.scn: Remove.
|
|
||||||
* sp07/system.h: Remove.
|
|
||||||
* sp07/task1.c: Remove.
|
|
||||||
* sp07/task2.c: Remove.
|
|
||||||
* sp07/task3.c: Remove.
|
|
||||||
* sp07/task4.c: Remove.
|
|
||||||
* sp07/taskexit.c: Remove.
|
|
||||||
* sp07/tcreate.c: Remove.
|
|
||||||
* sp07/tdelete.c: Remove.
|
|
||||||
* sp07/trestart.c: Remove.
|
|
||||||
* sp07/tstart.c: Remove.
|
|
||||||
* sp08/.cvsignore: Remove.
|
|
||||||
* sp08/Makefile.am: Remove.
|
|
||||||
* sp08/init.c: Remove.
|
|
||||||
* sp08/sp08.doc: Remove.
|
|
||||||
* sp08/sp08.scn: Remove.
|
|
||||||
* sp08/system.h: Remove.
|
|
||||||
* sp08/task1.c: Remove.
|
|
||||||
* sp09/.cvsignore: Remove.
|
|
||||||
* sp09/Makefile.am: Remove.
|
|
||||||
* sp09/delay.c: Remove.
|
|
||||||
* sp09/init.c: Remove.
|
|
||||||
* sp09/isr.c: Remove.
|
|
||||||
* sp09/screen01.c: Remove.
|
|
||||||
* sp09/screen02.c: Remove.
|
|
||||||
* sp09/screen03.c: Remove.
|
|
||||||
* sp09/screen04.c: Remove.
|
|
||||||
* sp09/screen05.c: Remove.
|
|
||||||
* sp09/screen06.c: Remove.
|
|
||||||
* sp09/screen07.c: Remove.
|
|
||||||
* sp09/screen08.c: Remove.
|
|
||||||
* sp09/screen09.c: Remove.
|
|
||||||
* sp09/screen10.c: Remove.
|
|
||||||
* sp09/screen11.c: Remove.
|
|
||||||
* sp09/screen12.c: Remove.
|
|
||||||
* sp09/screen13.c: Remove.
|
|
||||||
* sp09/screen14.c: Remove.
|
|
||||||
* sp09/sp09.doc: Remove.
|
|
||||||
* sp09/sp09.scn: Remove.
|
|
||||||
* sp09/system.h: Remove.
|
|
||||||
* sp09/task1.c: Remove.
|
|
||||||
* sp09/task2.c: Remove.
|
|
||||||
* sp09/task3.c: Remove.
|
|
||||||
* sp09/task4.c: Remove.
|
|
||||||
* sp11/.cvsignore: Remove.
|
|
||||||
* sp11/Makefile.am: Remove.
|
|
||||||
* sp11/init.c: Remove.
|
|
||||||
* sp11/sp11.doc: Remove.
|
|
||||||
* sp11/sp11.scn: Remove.
|
|
||||||
* sp11/system.h: Remove.
|
|
||||||
* sp11/task1.c: Remove.
|
|
||||||
* sp11/task2.c: Remove.
|
|
||||||
* sp11/timer.c: Remove.
|
|
||||||
* sp12/.cvsignore: Remove.
|
|
||||||
* sp12/Makefile.am: Remove.
|
|
||||||
* sp12/init.c: Remove.
|
|
||||||
* sp12/pridrv.c: Remove.
|
|
||||||
* sp12/pritask.c: Remove.
|
|
||||||
* sp12/sp12.doc: Remove.
|
|
||||||
* sp12/sp12.scn: Remove.
|
|
||||||
* sp12/system.h: Remove.
|
|
||||||
* sp12/task1.c: Remove.
|
|
||||||
* sp12/task2.c: Remove.
|
|
||||||
* sp12/task3.c: Remove.
|
|
||||||
* sp12/task4.c: Remove.
|
|
||||||
* sp12/task5.c: Remove.
|
|
||||||
* sp13/.cvsignore: Remove.
|
|
||||||
* sp13/Makefile.am: Remove.
|
|
||||||
* sp13/fillbuff.c: Remove.
|
|
||||||
* sp13/init.c: Remove.
|
|
||||||
* sp13/putbuff.c: Remove.
|
|
||||||
* sp13/sp13.doc: Remove.
|
|
||||||
* sp13/sp13.scn: Remove.
|
|
||||||
* sp13/system.h: Remove.
|
|
||||||
* sp13/task1.c: Remove.
|
|
||||||
* sp13/task2.c: Remove.
|
|
||||||
* sp13/task3.c: Remove.
|
|
||||||
* sp14/.cvsignore: Remove.
|
|
||||||
* sp14/Makefile.am: Remove.
|
|
||||||
* sp14/asr.c: Remove.
|
|
||||||
* sp14/init.c: Remove.
|
|
||||||
* sp14/sp14.doc: Remove.
|
|
||||||
* sp14/sp14.scn: Remove.
|
|
||||||
* sp14/system.h: Remove.
|
|
||||||
* sp14/task1.c: Remove.
|
|
||||||
* sp14/task2.c: Remove.
|
|
||||||
* sp15/.cvsignore: Remove.
|
|
||||||
* sp15/Makefile.am: Remove.
|
|
||||||
* sp15/init.c: Remove.
|
|
||||||
* sp15/sp15.doc: Remove.
|
|
||||||
* sp15/sp15.scn: Remove.
|
|
||||||
* sp15/system.h: Remove.
|
|
||||||
* sp15/task1.c: Remove.
|
|
||||||
* sp16/.cvsignore: Remove.
|
|
||||||
* sp16/Makefile.am: Remove.
|
|
||||||
* sp16/init.c: Remove.
|
|
||||||
* sp16/sp16.doc: Remove.
|
|
||||||
* sp16/sp16.scn: Remove.
|
|
||||||
* sp16/system.h: Remove.
|
|
||||||
* sp16/task1.c: Remove.
|
|
||||||
* sp16/task2.c: Remove.
|
|
||||||
* sp16/task3.c: Remove.
|
|
||||||
* sp16/task4.c: Remove.
|
|
||||||
* sp16/task5.c: Remove.
|
|
||||||
* sp17/.cvsignore: Remove.
|
|
||||||
* sp17/Makefile.am: Remove.
|
|
||||||
* sp17/asr.c: Remove.
|
|
||||||
* sp17/init.c: Remove.
|
|
||||||
* sp17/sp17.doc: Remove.
|
|
||||||
* sp17/sp17.scn: Remove.
|
|
||||||
* sp17/system.h: Remove.
|
|
||||||
* sp17/task1.c: Remove.
|
|
||||||
* sp17/task2.c: Remove.
|
|
||||||
* sp19/.cvsignore: Remove.
|
|
||||||
* sp19/Makefile.am: Remove.
|
|
||||||
* sp19/first.c: Remove.
|
|
||||||
* sp19/fptask.c: Remove.
|
|
||||||
* sp19/fptest.h: Remove.
|
|
||||||
* sp19/init.c: Remove.
|
|
||||||
* sp19/inttest.h: Remove.
|
|
||||||
* sp19/sp19.doc: Remove.
|
|
||||||
* sp19/sp19.scn: Remove.
|
|
||||||
* sp19/system.h: Remove.
|
|
||||||
* sp19/task1.c: Remove.
|
|
||||||
* sp20/.cvsignore: Remove.
|
|
||||||
* sp20/Makefile.am: Remove.
|
|
||||||
* sp20/getall.c: Remove.
|
|
||||||
* sp20/init.c: Remove.
|
|
||||||
* sp20/sp20.doc: Remove.
|
|
||||||
* sp20/sp20.scn: Remove.
|
|
||||||
* sp20/system.h: Remove.
|
|
||||||
* sp20/task1.c: Remove.
|
|
||||||
* sp21/.cvsignore: Remove.
|
|
||||||
* sp21/Makefile.am: Remove.
|
|
||||||
* sp21/init.c: Remove.
|
|
||||||
* sp21/sp21.doc: Remove.
|
|
||||||
* sp21/sp21.scn: Remove.
|
|
||||||
* sp21/system.h: Remove.
|
|
||||||
* sp21/task1.c: Remove.
|
|
||||||
* sp22/.cvsignore: Remove.
|
|
||||||
* sp22/Makefile.am: Remove.
|
|
||||||
* sp22/delay.c: Remove.
|
|
||||||
* sp22/init.c: Remove.
|
|
||||||
* sp22/prtime.c: Remove.
|
|
||||||
* sp22/sp22.doc: Remove.
|
|
||||||
* sp22/sp22.scn: Remove.
|
|
||||||
* sp22/system.h: Remove.
|
|
||||||
* sp22/task1.c: Remove.
|
|
||||||
* sp23/.cvsignore: Remove.
|
|
||||||
* sp23/Makefile.am: Remove.
|
|
||||||
* sp23/init.c: Remove.
|
|
||||||
* sp23/sp23.doc: Remove.
|
|
||||||
* sp23/sp23.scn: Remove.
|
|
||||||
* sp23/system.h: Remove.
|
|
||||||
* sp23/task1.c: Remove.
|
|
||||||
* sp24/.cvsignore: Remove.
|
|
||||||
* sp24/Makefile.am: Remove.
|
|
||||||
* sp24/init.c: Remove.
|
|
||||||
* sp24/resume.c: Remove.
|
|
||||||
* sp24/sp24.doc: Remove.
|
|
||||||
* sp24/sp24.scn: Remove.
|
|
||||||
* sp24/system.h: Remove.
|
|
||||||
* sp24/task1.c: Remove.
|
|
||||||
* sp25/.cvsignore: Remove.
|
|
||||||
* sp25/Makefile.am: Remove.
|
|
||||||
* sp25/init.c: Remove.
|
|
||||||
* sp25/sp25.doc: Remove.
|
|
||||||
* sp25/sp25.scn: Remove.
|
|
||||||
* sp25/system.h: Remove.
|
|
||||||
* sp25/task1.c: Remove.
|
|
||||||
* sp26/.cvsignore: Remove.
|
|
||||||
* sp26/Makefile.am: Remove.
|
|
||||||
* sp26/init.c: Remove.
|
|
||||||
* sp26/sp26.doc: Remove.
|
|
||||||
* sp26/sp26.scn: Remove.
|
|
||||||
* sp26/system.h: Remove.
|
|
||||||
* sp26/task1.c: Remove.
|
|
||||||
* sp27/.cvsignore: Remove.
|
|
||||||
* sp27/Makefile.am: Remove.
|
|
||||||
* sp27/init.c: Remove.
|
|
||||||
* sp27/sp27.doc: Remove.
|
|
||||||
* sp27/sp27.scn: Remove.
|
|
||||||
* sp28/.cvsignore: Remove.
|
|
||||||
* sp28/Makefile.am: Remove.
|
|
||||||
* sp28/init.c: Remove.
|
|
||||||
* sp28/sp28.doc: Remove.
|
|
||||||
* sp28/sp28.scn: Remove.
|
|
||||||
* sp29/.cvsignore: Remove.
|
|
||||||
* sp29/Makefile.am: Remove.
|
|
||||||
* sp29/init.c: Remove.
|
|
||||||
* sp29/sp29.doc: Remove.
|
|
||||||
* sp29/sp29.scn: Remove.
|
|
||||||
* sp30/.cvsignore: Remove.
|
|
||||||
* sp30/Makefile.am: Remove.
|
|
||||||
* sp30/init.c: Remove.
|
|
||||||
* sp30/resume.c: Remove.
|
|
||||||
* sp30/sp30.doc: Remove.
|
|
||||||
* sp30/sp30.scn: Remove.
|
|
||||||
* sp30/system.h: Remove.
|
|
||||||
* sp30/task1.c: Remove.
|
|
||||||
* sp31/.cvsignore: Remove.
|
|
||||||
* sp31/Makefile.am: Remove.
|
|
||||||
* sp31/delay.c: Remove.
|
|
||||||
* sp31/init.c: Remove.
|
|
||||||
* sp31/prtime.c: Remove.
|
|
||||||
* sp31/sp31.doc: Remove.
|
|
||||||
* sp31/sp31.scn: Remove.
|
|
||||||
* sp31/system.h: Remove.
|
|
||||||
* sp31/task1.c: Remove.
|
|
||||||
* sp32/.cvsignore: Remove.
|
|
||||||
* sp32/Makefile.am: Remove.
|
|
||||||
* sp32/init.c: Remove.
|
|
||||||
* sp32/sp32.scn: Remove.
|
|
||||||
* spfatal/.cvsignore: Remove.
|
|
||||||
* spfatal/Makefile.am: Remove.
|
|
||||||
* spfatal/README: Remove.
|
|
||||||
* spfatal/fatal.c: Remove.
|
|
||||||
* spfatal/init.c: Remove.
|
|
||||||
* spfatal/puterr.c: Remove.
|
|
||||||
* spfatal/spfatal.doc: Remove.
|
|
||||||
* spfatal/spfatal.scn: Remove.
|
|
||||||
* spfatal/system.h: Remove.
|
|
||||||
* spfatal/task1.c: Remove.
|
|
||||||
* spsize/.cvsignore: Remove.
|
|
||||||
* spsize/Makefile.am: Remove.
|
|
||||||
* spsize/getint.c: Remove.
|
|
||||||
* spsize/init.c: Remove.
|
|
||||||
* spsize/size.c: Remove.
|
|
||||||
* spsize/size.scn: Remove.
|
|
||||||
* spsize/system.h: Remove.
|
|
||||||
|
|
||||||
2003-10-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Remove RTEMS_CANONICAL_HOST.
|
|
||||||
|
|
||||||
2003-10-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac:Remove RTEMS_CHECK_CPU.
|
|
||||||
|
|
||||||
2003-09-04 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp01/init.c, sp01/sp01.doc, sp01/system.h, sp01/task1.c, sp02/init.c,
|
|
||||||
sp02/preempt.c, sp02/sp02.doc, sp02/system.h, sp02/task1.c,
|
|
||||||
sp02/task2.c, sp02/task3.c, sp03/init.c, sp03/sp03.doc,
|
|
||||||
sp03/system.h, sp03/task1.c, sp03/task2.c, sp04/init.c,
|
|
||||||
sp04/sp04.doc, sp04/system.h, sp04/task1.c, sp04/task2.c,
|
|
||||||
sp04/task3.c, sp04/tswitch.c, sp05/init.c, sp05/sp05.doc,
|
|
||||||
sp05/system.h, sp05/task1.c, sp05/task2.c, sp05/task3.c, sp06/init.c,
|
|
||||||
sp06/sp06.doc, sp06/system.h, sp06/task1.c, sp06/task2.c,
|
|
||||||
sp06/task3.c, sp07/init.c, sp07/sp07.doc, sp07/system.h,
|
|
||||||
sp07/task1.c, sp07/task2.c, sp07/task3.c, sp07/task4.c,
|
|
||||||
sp07/taskexit.c, sp07/tcreate.c, sp07/tdelete.c, sp07/trestart.c,
|
|
||||||
sp07/tstart.c, sp08/init.c, sp08/sp08.doc, sp08/system.h,
|
|
||||||
sp08/task1.c, sp09/delay.c, sp09/init.c, sp09/isr.c, sp09/screen01.c,
|
|
||||||
sp09/screen02.c, sp09/screen03.c, sp09/screen04.c, sp09/screen05.c,
|
|
||||||
sp09/screen06.c, sp09/screen07.c, sp09/screen08.c, sp09/screen09.c,
|
|
||||||
sp09/screen10.c, sp09/screen11.c, sp09/screen12.c, sp09/screen13.c,
|
|
||||||
sp09/screen14.c, sp09/sp09.doc, sp09/system.h, sp09/task1.c,
|
|
||||||
sp09/task2.c, sp09/task3.c, sp09/task4.c, sp11/init.c, sp11/sp11.doc,
|
|
||||||
sp11/system.h, sp11/task1.c, sp11/task2.c, sp11/timer.c, sp12/init.c,
|
|
||||||
sp12/pridrv.c, sp12/pritask.c, sp12/sp12.doc, sp12/system.h,
|
|
||||||
sp12/task1.c, sp12/task2.c, sp12/task3.c, sp12/task4.c, sp12/task5.c,
|
|
||||||
sp13/fillbuff.c, sp13/init.c, sp13/putbuff.c, sp13/sp13.doc,
|
|
||||||
sp13/system.h, sp13/task1.c, sp13/task2.c, sp13/task3.c, sp14/asr.c,
|
|
||||||
sp14/init.c, sp14/sp14.doc, sp14/system.h, sp14/task1.c,
|
|
||||||
sp14/task2.c, sp15/init.c, sp15/sp15.doc, sp15/system.h,
|
|
||||||
sp15/task1.c, sp16/init.c, sp16/sp16.doc, sp16/system.h,
|
|
||||||
sp16/task1.c, sp16/task2.c, sp16/task3.c, sp16/task4.c, sp16/task5.c,
|
|
||||||
sp17/asr.c, sp17/init.c, sp17/sp17.doc, sp17/system.h, sp17/task1.c,
|
|
||||||
sp17/task2.c, sp19/first.c, sp19/fptask.c, sp19/fptest.h,
|
|
||||||
sp19/init.c, sp19/inttest.h, sp19/sp19.doc, sp19/system.h,
|
|
||||||
sp19/task1.c, sp20/getall.c, sp20/init.c, sp20/sp20.doc,
|
|
||||||
sp20/system.h, sp20/task1.c, sp21/init.c, sp21/sp21.doc,
|
|
||||||
sp21/system.h, sp21/task1.c, sp22/delay.c, sp22/init.c,
|
|
||||||
sp22/prtime.c, sp22/sp22.doc, sp22/system.h, sp22/task1.c,
|
|
||||||
sp23/init.c, sp23/sp23.doc, sp23/system.h, sp23/task1.c, sp24/init.c,
|
|
||||||
sp24/resume.c, sp24/sp24.doc, sp24/system.h, sp24/task1.c,
|
|
||||||
sp25/init.c, sp25/sp25.doc, sp25/system.h, sp25/task1.c, sp26/init.c,
|
|
||||||
sp26/sp26.doc, sp26/system.h, sp26/task1.c, sp30/init.c,
|
|
||||||
sp30/resume.c, sp30/sp30.doc, sp30/system.h, sp30/task1.c,
|
|
||||||
sp31/delay.c, sp31/init.c, sp31/prtime.c, sp31/sp31.doc,
|
|
||||||
sp31/system.h, sp31/task1.c, sp32/init.c, spfatal/fatal.c,
|
|
||||||
spfatal/init.c, spfatal/puterr.c, spfatal/spfatal.doc,
|
|
||||||
spfatal/system.h, spfatal/task1.c, spsize/getint.c, spsize/init.c,
|
|
||||||
spsize/size.c, spsize/system.h: URL for license changed.
|
|
||||||
|
|
||||||
2003-08-18 Eiichiro Kawaguchi <e-kawaguchi@ct.jp.nec.com>
|
|
||||||
|
|
||||||
PR 458/tests
|
|
||||||
* sp30/task1.c: Correct indexing problem.
|
|
||||||
|
|
||||||
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Reflect having moved aclocal/.
|
|
||||||
|
|
||||||
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp01/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp02/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp03/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp04/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp05/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp06/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp07/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp08/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp09/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp11/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp12/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp13/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp14/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp15/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp16/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp17/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp19/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp20/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp21/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp22/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp23/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp24/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp25/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp26/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp27/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp28/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp29/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp30/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp31/Makefile.am: Reflect having moved automake/.
|
|
||||||
* sp32/Makefile.am: Reflect having moved automake/.
|
|
||||||
* spfatal/Makefile.am: Reflect having moved automake/.
|
|
||||||
* spsize/Makefile.am: Reflect having moved automake/.
|
|
||||||
|
|
||||||
2003-08-14 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp02/task1.c: Added ID to name lookup service and changed name of
|
|
||||||
id/name translation status code. This propagated to multiple
|
|
||||||
functions. The user API service added was rtems_object_id_to_name()
|
|
||||||
|
|
||||||
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
|
|
||||||
|
|
||||||
2003-05-29 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp27/init.c, sp29/init.c, spsize/size.c: Removed warnings.
|
|
||||||
|
|
||||||
2003-05-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Remove CC_CFLAGS_DEBUG_V.
|
|
||||||
CC_CFLAGS_DEFAULT (obsolete).
|
|
||||||
|
|
||||||
2003-05-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Remove CC_CFLAGS_PROFILE_V.
|
|
||||||
Remove CC_LDFLAGS_PROFILE_V.
|
|
||||||
|
|
||||||
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Remove AC_CONFIG_AUX_DIR.
|
|
||||||
|
|
||||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
|
|
||||||
|
|
||||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: AC_PREREQ(2.57).
|
|
||||||
|
|
||||||
2002-11-14 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp02/sp02.scn, sp15/sp15.scn, sp16/sp16.scn, sp20/sp20.scn,
|
|
||||||
sp22/sp22.scn, sp23/sp23.scn, sp25/sp25.scn, sp31/sp31.scn: Per PR239
|
|
||||||
update the IDs in the screens.
|
|
||||||
|
|
||||||
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* .cvsignore: Reformat.
|
|
||||||
Add autom4te*cache.
|
|
||||||
Remove autom4te.cache.
|
|
||||||
|
|
||||||
2002-09-14 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp32/.cvsignore: New file.
|
|
||||||
|
|
||||||
2002-09-14 Aaron J. Grier <aaron@frye.com>
|
|
||||||
|
|
||||||
* PR271 was not applicable against the current source but included
|
|
||||||
a nice test that Joel decided to add to the tree as sp32.
|
|
||||||
* sp32/Makefile.am, sp32/init.c, sp32/sp32.scn: New file.
|
|
||||||
* Makefile.am, configure.ac: Modified to reflect addition.
|
|
||||||
|
|
||||||
2002-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* sp01/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp02/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp03/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp04/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp05/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp06/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp07/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp08/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp09/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp11/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp12/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp13/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp14/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp15/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp16/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp17/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp19/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp20/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp21/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp22/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp23/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp24/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp25/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp26/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp27/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp28/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp29/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp30/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* sp31/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* spfatal/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
* spsize/Makefile.am: Use $(OBJEXT) instead of .o.
|
|
||||||
|
|
||||||
2002-08-01 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* Per PR47 add support for buffered test output. This involved
|
|
||||||
adding defines to redirect output to a buffer and dump it when
|
|
||||||
full, at "test pause", and at exit. To avoid problems when redefining
|
|
||||||
exit(), all tests were modified to call rtems_test_exit().
|
|
||||||
Some tests, notable psxtests, had to be modified to include
|
|
||||||
the standard test macro .h file (pmacros.h or tmacros.h) to
|
|
||||||
enable this support.
|
|
||||||
* sp01/task1.c, sp02/task1.c, sp03/task2.c, sp04/task1.c, sp05/task1.c,
|
|
||||||
sp06/task1.c, sp07/taskexit.c, sp08/task1.c, sp09/task1.c,
|
|
||||||
sp11/task1.c, sp12/pritask.c, sp12/task5.c, sp13/task1.c,
|
|
||||||
sp14/task2.c, sp15/task1.c, sp16/task1.c, sp17/task1.c,
|
|
||||||
sp19/fptask.c, sp20/task1.c, sp21/task1.c, sp22/task1.c,
|
|
||||||
sp23/task1.c, sp24/task1.c, sp25/task1.c, sp26/init.c, sp26/task1.c,
|
|
||||||
sp30/task1.c, sp31/task1.c, spsize/init.c, spsize/size.c: Modified.
|
|
||||||
|
|
||||||
2002-07-30 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* spsize/size.c: Don't reference the RTEMS allocated interrupt
|
|
||||||
stack if the port doesn't configure using it.
|
|
||||||
|
|
||||||
2002-07-04 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* Jump table for single entry point removed.
|
|
||||||
* spsize/size.c: Modified to reflect above.
|
|
||||||
|
|
||||||
2002-07-01 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp29/init.c: Corrected definitions for task stack usage.
|
|
||||||
|
|
||||||
2002-07-01 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* spsize/size.c: _Thread_queue_Extract_table removed.
|
|
||||||
|
|
||||||
2001-05-17 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp21/task1.c (INVALID_DRIVER_MAJOR): Change definition to reflect
|
|
||||||
number of staticly configured device drivers.
|
|
||||||
|
|
||||||
2001-05-14 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp21/task1.c: Correct INVALID_DRIVER_MAJOR so it is precisely 1 more
|
|
||||||
than the configured number of drivers.
|
|
||||||
|
|
||||||
2002-04-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac: Remove ENABLE_GCC28.
|
|
||||||
|
|
||||||
2001-04-04 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* spsize/size.c: Reflect SPARC modifcation to get rid of
|
|
||||||
NO_TABLE_MOVE and references to _CPU_Trap_Table_area.
|
|
||||||
|
|
||||||
2001-03-29 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* Per PR147 addressed problems when reseting and inserting a timer
|
|
||||||
into a timer chain that did not honor time passage since the last
|
|
||||||
time the timer server was scheduled and the new insertion.
|
|
||||||
* sp31/sp31.scn, sp31/task1.c: Added test code to detect this case.
|
|
||||||
|
|
||||||
2001-03-28 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* Side-effect of PR132.
|
|
||||||
* sp21/system.h: Now must explicitly request NULL driver.
|
|
||||||
|
|
||||||
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.ac:
|
|
||||||
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
|
|
||||||
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
|
|
||||||
* sp01/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp02/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp03/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp04/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp05/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp06/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp07/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp08/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp09/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp11/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp12/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp13/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp14/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp15/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp16/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp17/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp19/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp20/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp21/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp22/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp23/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp24/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp25/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp26/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp27/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp28/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp29/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp30/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* sp31/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* spfatal/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
* spsize/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
||||||
|
|
||||||
2002-03-20 Chris Johns <ccj@acm.org>
|
|
||||||
|
|
||||||
* PR145.
|
|
||||||
* sp04/task1.c, sp04/tswitch.c: Test fails if other tasks present
|
|
||||||
in system (e.g. driver tasks). Also exit on minimum number of
|
|
||||||
switches not precise number.
|
|
||||||
|
|
||||||
2001-01-29 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* Fixed bug where resetting a timer that was not at the head
|
|
||||||
of one of the task timer chains resulted in the Timer Server
|
|
||||||
task waking up too far in the future.
|
|
||||||
* Added rtems_timer_get_information() directive to support testing.
|
|
||||||
* sp31/init.c, sp31/system.h, sp31/task1.c: Modified to test for
|
|
||||||
above condition.
|
|
||||||
|
|
||||||
2001-01-22 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp09/screen14.c, sp09/sp09.scn, sp30/init.c, sp31/init.c: Modified
|
|
||||||
because priority added as argument to rtems_timer_initiate_server().
|
|
||||||
|
|
||||||
2001-01-16 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* Added tests for task-based timers. This included the new tests
|
|
||||||
sp30 and sp31.
|
|
||||||
* Makefile.am, configure.ac: Modified to reflect new tests and files.
|
|
||||||
* sp09/screen14.c, sp09/sp09.scn: Modified to add error checks
|
|
||||||
for task-based timer services.
|
|
||||||
* sp30/.cvsignore, sp30/Makefile.am, sp30/init.c, sp30/resume.c,
|
|
||||||
sp30/sp30.doc, sp30/sp30.scn, sp30/system.h, sp30/task1.c,
|
|
||||||
sp31/.cvsignore, sp31/Makefile.am, sp31/delay.c, sp31/init.c,
|
|
||||||
sp31/prtime.c, sp31/sp31.doc, sp31/sp31.scn, sp31/system.h,
|
|
||||||
sp31/task1.c: New files.
|
|
||||||
|
|
||||||
2001-11-01 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp26/system.h: Properly account for stack memory used by
|
|
||||||
this test. Reported by Jerry Needell <jerry.needell@unh.edu>
|
|
||||||
and processed as PR78.
|
|
||||||
|
|
||||||
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
|
|
||||||
* configure.in: Remove.
|
|
||||||
* configure.ac: New file, generated from configure.in by autoupdate.
|
|
||||||
|
|
||||||
2001-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* sptests.am: Use TMPINSTALL_FILES = to make automake-1.5 happy.
|
|
||||||
|
|
||||||
2001-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* sp20/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp02/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp19/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp11/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp25/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp04/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* spsize/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp01/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp16/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp05/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp09/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* spfatal/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp06/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp23/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp28/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp03/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp29/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp13/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp27/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp14/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp07/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp15/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp17/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp22/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp12/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp26/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp21/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp24/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
* sp08/Makefile.am: include leaf.am instead of leaf.cfg.
|
|
||||||
|
|
||||||
2001-08-16 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp20/system.h: Account for extra task stacks properly.
|
|
||||||
|
|
||||||
2001-08-16 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp13/sp13.scn: Id in screen had wrong class field value.
|
|
||||||
* sp13/system.h: Account for message buffer memory.
|
|
||||||
* sp13/task2.c: Remove unnecessary check for failure.
|
|
||||||
|
|
||||||
2001-05-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]).
|
|
||||||
|
|
||||||
2001-04-20 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp298/sp28.scn: Minor adjustment so test output matches the screen
|
|
||||||
file.
|
|
||||||
|
|
||||||
2001-02-07 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* spsize/size.c: Use #if !defined(RTEMS_UNIX).
|
|
||||||
|
|
||||||
2001-01-26 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* sp21/Makefile.am: Remove libtest.
|
|
||||||
|
|
||||||
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
|
||||||
|
|
||||||
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
|
|
||||||
|
|
||||||
2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
|
|
||||||
Switch to GNU canonicalization.
|
|
||||||
* sptests.am: Remove DEFS.
|
|
||||||
|
|
||||||
2000-09-29 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* sp20/sp20.scn: Corrected to reflect new addition.
|
|
||||||
* sp20/system.h: Removed comment reflecting history.
|
|
||||||
|
|
||||||
2000-09-29 Stephan Merker <merker@decrc.abb.de>
|
|
||||||
|
|
||||||
* sp20/getall.c, sp20/init.c, sp20/system.h, sp20/task1.c:
|
|
||||||
Added new task to test sequence of altering a period's length
|
|
||||||
while it is still active.
|
|
||||||
|
|
||||||
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
|
||||||
|
|
||||||
* sp01/Makefile.am, sp02/Makefile.am, sp03/Makefile.am,
|
|
||||||
sp04/Makefile.am, sp05/Makefile.am, sp06/Makefile.am,
|
|
||||||
sp07/Makefile.am, sp08/Makefile.am, sp09/Makefile.am,
|
|
||||||
sp11/Makefile.am, sp12/Makefile.am, sp13/Makefile.am,
|
|
||||||
sp14/Makefile.am, sp15/Makefile.am, sp16/Makefile.am,
|
|
||||||
sp17/Makefile.am, sp19/Makefile.am, sp20/Makefile.am,
|
|
||||||
sp21/Makefile.am, sp22/Makefile.am, sp23/Makefile.am,
|
|
||||||
sp24/Makefile.am, sp25/Makefile.am, sp26/Makefile.am,
|
|
||||||
sp27/Makefile.am, sp28/Makefile.am, sp29/Makefile.am,
|
|
||||||
spfatal/Makefile.am, spsize/Makefile.am: Include compile.am
|
|
||||||
|
|
||||||
2000-08-10 Joel Sherrill <joel@OARcorp.com>
|
|
||||||
|
|
||||||
* ChangeLog: New file.
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
ACLOCAL_AMFLAGS = -I ../aclocal
|
|
||||||
|
|
||||||
## sp10 and spfatal are not included for now
|
|
||||||
SUBDIRS = sp01 sp02 sp03 sp04 sp05 sp06 sp07 sp08 sp09 sp11 sp12 sp13 sp14 \
|
|
||||||
sp15 sp16 sp17 sp19 sp20 sp21 sp22 sp23 sp24 sp25 sp26 sp27 sp28 sp29 \
|
|
||||||
sp30 sp31 sp32 spsize
|
|
||||||
|
|
||||||
EXTRA_DIST = sptests.am spfatal
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/subdirs.am
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
|
|
||||||
This directory contains the RTEMS Single Processor Test Suite.
|
|
||||||
The tests in this directory provide near complete (98%+) test
|
|
||||||
coverage of the non-multiprocessor code in RTEMS.
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
## Process this file with autoconf to produce a configure script.
|
|
||||||
##
|
|
||||||
## $Id$
|
|
||||||
|
|
||||||
AC_PREREQ(2.57)
|
|
||||||
AC_INIT([rtems-c-src-tests-sptests],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
|
|
||||||
AC_CONFIG_SRCDIR([sp01])
|
|
||||||
RTEMS_TOP(../../../..)
|
|
||||||
|
|
||||||
RTEMS_CANONICAL_TARGET_CPU
|
|
||||||
|
|
||||||
AM_INIT_AUTOMAKE([no-define foreign 1.7.2])
|
|
||||||
AM_MAINTAINER_MODE
|
|
||||||
|
|
||||||
RTEMS_ENABLE_BARE
|
|
||||||
|
|
||||||
RTEMS_ENV_RTEMSBSP
|
|
||||||
RTEMS_CHECK_RTEMS_TEST_NO_PAUSE
|
|
||||||
|
|
||||||
RTEMS_PROJECT_ROOT
|
|
||||||
|
|
||||||
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
|
|
||||||
|
|
||||||
RTEMS_CANONICALIZE_TOOLS
|
|
||||||
|
|
||||||
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
|
|
||||||
|
|
||||||
AC_SUBST(BARE_CPU_CFLAGS)
|
|
||||||
AC_SUBST(BARE_CPU_MODEL)
|
|
||||||
|
|
||||||
# Explicitly list all Makefiles here
|
|
||||||
AC_CONFIG_FILES([Makefile
|
|
||||||
sp01/Makefile
|
|
||||||
sp02/Makefile
|
|
||||||
sp03/Makefile
|
|
||||||
sp04/Makefile
|
|
||||||
sp05/Makefile
|
|
||||||
sp06/Makefile
|
|
||||||
sp07/Makefile
|
|
||||||
sp08/Makefile
|
|
||||||
sp09/Makefile
|
|
||||||
sp11/Makefile
|
|
||||||
sp12/Makefile
|
|
||||||
sp13/Makefile
|
|
||||||
sp14/Makefile
|
|
||||||
sp15/Makefile
|
|
||||||
sp16/Makefile
|
|
||||||
sp17/Makefile
|
|
||||||
sp19/Makefile
|
|
||||||
sp20/Makefile
|
|
||||||
sp21/Makefile
|
|
||||||
sp22/Makefile
|
|
||||||
sp23/Makefile
|
|
||||||
sp24/Makefile
|
|
||||||
sp25/Makefile
|
|
||||||
sp26/Makefile
|
|
||||||
sp27/Makefile
|
|
||||||
sp28/Makefile
|
|
||||||
sp29/Makefile
|
|
||||||
sp30/Makefile
|
|
||||||
sp31/Makefile
|
|
||||||
sp32/Makefile
|
|
||||||
spsize/Makefile
|
|
||||||
])
|
|
||||||
AC_OUTPUT
|
|
||||||
|
|
||||||
# spfatal/Makefile
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp01
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,85 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 1 ***" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 1988, 9, 0, 0, 0 );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_INTERRUPT_LEVEL(31),
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 3,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1_through_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_1_through_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_1_through_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test1
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return, t_ident,
|
|
||||||
tm_set, tm_get, tm_wkafter
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies system can create and start both the executive's system
|
|
||||||
initialization and idle task.
|
|
||||||
|
|
||||||
b. Verifies executive can swap between three application tasks at the
|
|
||||||
same priority and the executive's internal idle task.
|
|
||||||
|
|
||||||
c. Verifies can print strings to the CRT on port 2 of the mvme136 board
|
|
||||||
using Print and Println in the board support package.
|
|
||||||
|
|
||||||
d. Verifies interrupt handler can handle a task switch from an interrupt
|
|
||||||
as specified with the i_return directive.
|
|
||||||
|
|
||||||
e. Verifies executive initialization performed correctly.
|
|
||||||
|
|
||||||
f. Verifies the executive trap handler except for the halt function.
|
|
||||||
|
|
||||||
g. Verifies that a task can get the task identification number of itself.
|
|
||||||
|
|
||||||
output:
|
|
||||||
"TA1" is printed once every 5 seconds. "TA2" is printed once
|
|
||||||
every 10 seconds. "TA3" is printed once every 15 seconds.
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
*** TEST 1 ***
|
|
||||||
TA1 - rtems_clock_get - 09:00:00 12/31/1988
|
|
||||||
TA2 - rtems_clock_get - 09:00:00 12/31/1988
|
|
||||||
TA3 - rtems_clock_get - 09:00:00 12/31/1988
|
|
||||||
TA1 - rtems_clock_get - 09:00:05 12/31/1988
|
|
||||||
TA2 - rtems_clock_get - 09:00:10 12/31/1988
|
|
||||||
TA1 - rtems_clock_get - 09:00:10 12/31/1988
|
|
||||||
TA3 - rtems_clock_get - 09:00:15 12/31/1988
|
|
||||||
TA1 - rtems_clock_get - 09:00:15 12/31/1988
|
|
||||||
TA2 - rtems_clock_get - 09:00:20 12/31/1988
|
|
||||||
TA1 - rtems_clock_get - 09:00:20 12/31/1988
|
|
||||||
TA1 - rtems_clock_get - 09:00:25 12/31/1988
|
|
||||||
TA3 - rtems_clock_get - 09:00:30 12/31/1988
|
|
||||||
TA2 - rtems_clock_get - 09:00:30 12/31/1988
|
|
||||||
TA1 - rtems_clock_get - 09:00:30 12/31/1988
|
|
||||||
*** END OF TEST 1 ***
|
|
||||||
|
|
||||||
NOTE: The order of the prints at each time interval is irrelevant.
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1_through_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
|
|
||||||
#define CONFIGURE_EXTRA_TASK_STACKS (4 * RTEMS_MINIMUM_STACK_SIZE)
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
/* Task_1_through_3
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies the basic task
|
|
||||||
* switching capabilities of the executive.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1_through_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_id tid;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &tid );
|
|
||||||
directive_failed( status, "rtems_task_ident" );
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
if ( time.second >= 35 ) {
|
|
||||||
puts( "*** END OF TEST 1 ***" );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
put_name( Task_name[ task_number( tid ) ], FALSE );
|
|
||||||
print_time( " - rtems_clock_get - ", &time, "\n" );
|
|
||||||
|
|
||||||
status = rtems_task_wake_after( task_number( tid ) * 5 * TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp02
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c task2.c task3.c preempt.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,151 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 2 ***" );
|
|
||||||
|
|
||||||
Preempt_task_name = rtems_build_name( 'P', 'R', 'M', 'T' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Preempt_task_name,
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Preempt_task_id
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of RTEMS_PREEMPT" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Preempt_task_id, Preempt_task, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of RTEMS_PREEMPT" );
|
|
||||||
|
|
||||||
puts( "INIT - rtems_task_wake_after - yielding processor" );
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
3,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
3,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
3,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
puts( "INIT - suspending TA2 while middle task on a ready chain" );
|
|
||||||
status = rtems_task_suspend( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_task_delete of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_delete of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 3 ] );
|
|
||||||
directive_failed( status, "rtems_task_delete of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
3,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
3,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/* Preempt_task
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies the task manager.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Preempt_task(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "PREEMPT - rtems_task_delete - deleting self" );
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_PREEMPT" );
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test2
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return, t_ident,
|
|
||||||
t_delete, tm_wkafter, t_setpri, t_suspend
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies that a task can delete another task and also delete itself.
|
|
||||||
|
|
||||||
b. Verifies that memory is freed back to the heap correctly.
|
|
||||||
|
|
||||||
c. Verifies that TCBs are freed back to the inactive chain correctly.
|
|
||||||
|
|
||||||
d. Verifies that a task can get the task identification number of
|
|
||||||
another task.
|
|
||||||
|
|
||||||
e. Verifies the _Set_state routine where the task is not READY.
|
|
||||||
|
|
||||||
f. Verifies the break statement in the _Block_activate routine.
|
|
||||||
|
|
||||||
g. Verifies the while loop in the _Prev_tcb routine.
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
*** TEST 2 ***
|
|
||||||
INIT - rtems_task_wake_after - yielding processor
|
|
||||||
PREEMPT - rtems_task_delete - deleting self
|
|
||||||
INIT - suspending TA2 while middle task on a ready chain
|
|
||||||
TA1 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 minute
|
|
||||||
TA3 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA1 - rtems_task_ident - tid of TA2 (0x0a010004)
|
|
||||||
TA1 - rtems_task_ident - tid of TA3 (0x0a010002)
|
|
||||||
TA1 - rtems_task_set_priority - set TA3's priority to 2
|
|
||||||
TA1 - rtems_task_suspend - suspend TA2
|
|
||||||
TA1 - rtems_task_delete - delete TA2
|
|
||||||
TA1 - rtems_task_wake_after - sleep for 5 seconds
|
|
||||||
TA3 - rtems_task_delete - delete self
|
|
||||||
*** END OF TEST 2 ***
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Preempt_task(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Preempt_task_id; /* preempt task id */
|
|
||||||
TEST_EXTERN rtems_name Preempt_task_name; /* preempt task name */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies the task manager.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_id tid2;
|
|
||||||
rtems_id tid3;
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_name tid2_name;
|
|
||||||
rtems_unsigned32 previous_priority;
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - sleep 1 second" );
|
|
||||||
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
status = rtems_task_ident( Task_name[ 2 ], RTEMS_SEARCH_ALL_NODES, &tid2 );
|
|
||||||
directive_failed( status, "rtems_task_ident of TA2" );
|
|
||||||
|
|
||||||
printf( "TA1 - rtems_task_ident - tid of TA2 (0x%.8x)\n", tid2 );
|
|
||||||
|
|
||||||
status = rtems_object_id_to_name( tid2, &tid2_name );
|
|
||||||
directive_failed( status, "rtems_object_id_to_name of TA2" );
|
|
||||||
|
|
||||||
printf( "TA1 - rtems_id_to_name - id -> name of TA2 %sOK\n",
|
|
||||||
(tid2_name != Task_name[2]) ? "NOT " : "" );
|
|
||||||
|
|
||||||
status = rtems_task_ident( Task_name[ 3 ], RTEMS_SEARCH_ALL_NODES, &tid3 );
|
|
||||||
directive_failed( status, "rtems_task_ident of TA3" );
|
|
||||||
|
|
||||||
printf( "TA1 - rtems_task_ident - tid of TA3 (0x%.8x)\n", tid3 );
|
|
||||||
|
|
||||||
status = rtems_task_set_priority( tid3, 2, &previous_priority );
|
|
||||||
directive_failed( status, "rtems_task_set_priority" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_set_priority - set TA3's priority to 2" );
|
|
||||||
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_suspend - suspend TA2" );
|
|
||||||
status = rtems_task_suspend( tid2 );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_delete - delete TA2" );
|
|
||||||
status = rtems_task_delete( tid2 );
|
|
||||||
directive_failed( status, "rtems_task_delete of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - sleep for 5 seconds" );
|
|
||||||
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
puts( "*** END OF TEST 2 ***" );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/* Task_2
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It sleeps for 1 minute but
|
|
||||||
* does not expect to wake up. Task 1 should suspend then delete it
|
|
||||||
* so that it appears to never wake up.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "TA2 - rtems_task_wake_after - sleep 1 minute" );
|
|
||||||
status = rtems_task_wake_after( 60*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after in TA2" );
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
/* Task_3
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It simply sleeps for 5 seconds
|
|
||||||
* and then deletes itself.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "TA3 - rtems_task_wake_after - sleep 5 seconds" );
|
|
||||||
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after in TA3" );
|
|
||||||
|
|
||||||
puts( "TA3 - rtems_task_delete - delete self" );
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of TA3" );
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp03
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c task2.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 3 ***" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test3
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return, tm_wkafter,
|
|
||||||
tm_wkwhen, tm_set, tm_get
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies conversion routines - _Utd_to_etd and _Etd_to_utd
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
*** TEST 3 ***
|
|
||||||
TA1 sets clock: 09:15:00 12/31/1988
|
|
||||||
TA1 going to sleep: 09:15:00 12/31/1988
|
|
||||||
TA2 09:15:01 12/31/1988
|
|
||||||
TA2 09:15:02 12/31/1988
|
|
||||||
TA2 09:15:03 12/31/1988
|
|
||||||
TA2 09:15:04 12/31/1988
|
|
||||||
TA1 awakened: 09:15:05 12/31/1988
|
|
||||||
TA1 going to sleep: 09:15:05 12/31/1988
|
|
||||||
TA2 09:15:05 12/31/1988
|
|
||||||
TA2 09:15:06 12/31/1988
|
|
||||||
TA2 09:15:07 12/31/1988
|
|
||||||
TA2 09:15:08 12/31/1988
|
|
||||||
TA2 09:15:09 12/31/1988
|
|
||||||
TA1 awakened: 09:15:10 12/31/1988
|
|
||||||
TA1 going to sleep: 09:15:10 12/31/1988
|
|
||||||
TA2 09:15:10 12/31/1988
|
|
||||||
TA2 09:15:11 12/31/1988
|
|
||||||
TA2 09:15:12 12/31/1988
|
|
||||||
TA2 09:15:13 12/31/1988
|
|
||||||
TA2 09:15:14 12/31/1988
|
|
||||||
TA1 awakened: 09:15:15 12/31/1988
|
|
||||||
TA1 going to sleep: 09:15:15 12/31/1988
|
|
||||||
TA2 09:15:15 12/31/1988
|
|
||||||
TA2 09:15:16 12/31/1988
|
|
||||||
*** END OF TEST 3 ***
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
|
|
||||||
#define CONFIGURE_EXTRA_TASK_STACKS (1 * RTEMS_MINIMUM_STACK_SIZE)
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 3
|
|
||||||
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,58 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies the capability to
|
|
||||||
* set and read the executives calender and clock.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 1988, 9, 15, 0, 0 );
|
|
||||||
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
|
|
||||||
put_name( Task_name[ 1 ], FALSE );
|
|
||||||
print_time( " sets clock: ", &time, "\n" );
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
put_name( Task_name[ 1 ], FALSE );
|
|
||||||
print_time( " going to sleep: ", &time, "\n" );
|
|
||||||
|
|
||||||
time.second += 5;
|
|
||||||
time.minute += ( time.second / 60 );
|
|
||||||
time.second %= 60;
|
|
||||||
time.hour += ( time.minute / 60 );
|
|
||||||
time.minute %= 60;
|
|
||||||
time.hour %= 24;
|
|
||||||
|
|
||||||
status = rtems_task_wake_when( &time );
|
|
||||||
directive_failed( status, "rtems_task_wake_when" );
|
|
||||||
|
|
||||||
put_name( Task_name[ 1 ], FALSE );
|
|
||||||
print_time( " awakened: ", &time, "\n" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/* Task_2
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It repeatedly gets the system time
|
|
||||||
* and date, converts it to printable form, and print it.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
if ( time.second >= 17 ) {
|
|
||||||
puts( "*** END OF TEST 3 *** " );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
put_name( Task_name[ 2 ], FALSE );
|
|
||||||
print_time( " ", &time, "\n" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp04
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c task2.c task3.c tswitch.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,109 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_extensions_table Extensions = {
|
|
||||||
NULL, /* task create user extension */
|
|
||||||
NULL, /* task start user extension */
|
|
||||||
NULL, /* task restart user extension */
|
|
||||||
NULL, /* task delete user extension */
|
|
||||||
Task_switch, /* task switch user extension */
|
|
||||||
NULL, /* task begin user extension */
|
|
||||||
NULL, /* task exitted user extension */
|
|
||||||
NULL /* fatal error user extension */
|
|
||||||
};
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 4 ***" );
|
|
||||||
build_time( &time, 12, 31, 1988, 9, 15, 0, 0 );
|
|
||||||
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
|
|
||||||
Extension_name[ 1 ] = rtems_build_name( 'E', 'X', 'T', ' ' );
|
|
||||||
|
|
||||||
status = rtems_extension_create(
|
|
||||||
Extension_name[ 1 ],
|
|
||||||
&Extensions,
|
|
||||||
&Extension_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_extension_create" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
|
|
||||||
Run_count[ 1 ] = 0;
|
|
||||||
Run_count[ 2 ] = 0;
|
|
||||||
Run_count[ 3 ] = 0;
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_TIMESLICE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_TIMESLICE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_TIMESLICE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test4
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return,
|
|
||||||
tm_set, tm_get, ev_receive, t_mode
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies timeslicing ( all tasks are in timeslice mode ).
|
|
||||||
|
|
||||||
b. Verifies the tswitch user extension.
|
|
||||||
|
|
||||||
c. Verifies the no preemption mode.
|
|
||||||
|
|
||||||
d. Verifies time-slice gets reset even if only one task ready.
|
|
||||||
|
|
||||||
output:
|
|
||||||
The task name and the current time are printed out each time that a new
|
|
||||||
task is being dispatched. The configured timeslice is 100 ticks
|
|
||||||
( 1 second ); therefore, a task name and the time are printed once
|
|
||||||
every second. After each task runs 3 times, task 1 changes its mode to
|
|
||||||
no preempt and runs for about 6 seconds and then changes its mode back to
|
|
||||||
preempt mode.
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
*** TEST 4 ***
|
|
||||||
TA1 - rtems_task_suspend - on Task 2
|
|
||||||
TA1 - rtems_task_suspend - on Task 3
|
|
||||||
TA1 - killing time
|
|
||||||
TA1 - rtems_task_resume - on Task 2
|
|
||||||
TA1 - rtems_task_resume - on Task 3
|
|
||||||
TA1 - rtems_task_mode - change mode to NO RTEMS_PREEMPT
|
|
||||||
TA1 - 09:15:10 12/31/1988
|
|
||||||
TA1 - 09:15:11 12/31/1988
|
|
||||||
TA1 - 09:15:12 12/31/1988
|
|
||||||
TA1 - 09:15:13 12/31/1988
|
|
||||||
TA1 - 09:15:14 12/31/1988
|
|
||||||
TA1 - 09:15:15 12/31/1988
|
|
||||||
TA1 - rtems_task_mode - change mode to RTEMS_PREEMPT
|
|
||||||
TA1 - 09:15:00 12/31/1988
|
|
||||||
TA2 - 09:15:04 12/31/1988
|
|
||||||
TA3 - 09:15:05 12/31/1988
|
|
||||||
TA1 - 09:15:06 12/31/1988
|
|
||||||
TA2 - 09:15:07 12/31/1988
|
|
||||||
TA3 - 09:15:08 12/31/1988
|
|
||||||
TA1 - 09:15:09 12/31/1988
|
|
||||||
TA2 - 09:15:16 12/31/1988
|
|
||||||
TA3 - 09:15:17 12/31/1988
|
|
||||||
TA1 - 09:15:18 12/31/1988
|
|
||||||
*** END OF TEST 4 ***
|
|
||||||
@@ -1,81 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
void Task_switch(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *heir
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
|
|
||||||
#define CONFIGURE_TICKS_PER_TIMESLICE 100
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
|
|
||||||
#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Extension_id[ 4 ];
|
|
||||||
TEST_EXTERN rtems_name Extension_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
/* array of task run counts */
|
|
||||||
TEST_EXTERN volatile rtems_unsigned32 Run_count[ 4 ];
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Keep track of task switches
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct taskSwitchLog {
|
|
||||||
int taskIndex;
|
|
||||||
rtems_time_of_day when;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern struct taskSwitchLog taskSwitchLog[];
|
|
||||||
extern int taskSwitchLogIndex;
|
|
||||||
volatile extern int testsFinished;
|
|
||||||
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This test serves as a test task. It verifies timeslicing activities
|
|
||||||
* and tswitch extension processing.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
static void
|
|
||||||
showTaskSwitches (void)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
int switches = taskSwitchLogIndex;
|
|
||||||
|
|
||||||
for (i = 0 ; i < switches ; i++) {
|
|
||||||
put_name( Task_name[taskSwitchLog[i].taskIndex], FALSE );
|
|
||||||
print_time( "- ", &taskSwitchLog[i].when, "\n" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_unsigned32 seconds;
|
|
||||||
rtems_unsigned32 old_seconds;
|
|
||||||
rtems_mode previous_mode;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_unsigned32 start_time;
|
|
||||||
rtems_unsigned32 end_time;
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_suspend - on Task 2" );
|
|
||||||
status = rtems_task_suspend( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_suspend - on Task 3" );
|
|
||||||
status = rtems_task_suspend( Task_id[ 3 ] );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA3" );
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &start_time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
puts( "TA1 - killing time" );
|
|
||||||
|
|
||||||
for ( ; ; ) {
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &end_time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
if ( end_time > (start_time + 2) )
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_resume - on Task 2" );
|
|
||||||
status = rtems_task_resume( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_resume of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_resume - on Task 3" );
|
|
||||||
status = rtems_task_resume( Task_id[ 3 ] );
|
|
||||||
directive_failed( status, "rtems_task_resume of TA3" );
|
|
||||||
|
|
||||||
while ( FOREVER ) {
|
|
||||||
if ( Run_count[ 1 ] >= 3 ) {
|
|
||||||
puts( "TA1 - rtems_task_mode - change mode to NO RTEMS_PREEMPT" );
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_PREEMPT,
|
|
||||||
RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
old_seconds = time.second;
|
|
||||||
|
|
||||||
for ( seconds = 0 ; seconds < 6 ; ) {
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_get" );
|
|
||||||
|
|
||||||
if ( time.second != old_seconds ) {
|
|
||||||
old_seconds = time.second;
|
|
||||||
seconds++;
|
|
||||||
print_time( "TA1 - ", &time, "\n" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_mode - change mode to RTEMS_PREEMPT" );
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_PREEMPT,
|
|
||||||
RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
|
|
||||||
while ( !testsFinished );
|
|
||||||
showTaskSwitches ();
|
|
||||||
puts( "*** END OF TEST 4 ***" );
|
|
||||||
rtems_test_exit (0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
/* Task_2
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It is just a CPU bound task
|
|
||||||
* requiring timesliced operation.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
while( FOREVER );
|
|
||||||
}
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
/* Task_3
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It is just a CPU bound task
|
|
||||||
* requiring timesliced operation.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
while( FOREVER );
|
|
||||||
}
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
/* Task_switch
|
|
||||||
*
|
|
||||||
* This routine is the tswitch user extension. It determines which
|
|
||||||
* task is being switched to and displays a message indicating the
|
|
||||||
* time and date that it gained control.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* unused - pointer to currently running TCB
|
|
||||||
* heir - pointer to heir TCB
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
struct taskSwitchLog taskSwitchLog[1000];
|
|
||||||
int taskSwitchLogIndex;
|
|
||||||
volatile int testsFinished;
|
|
||||||
|
|
||||||
rtems_extension Task_switch(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *heir
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_unsigned32 index;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
index = task_number( heir->Object.id ) - task_number( Task_id[1] ) + 1;
|
|
||||||
|
|
||||||
switch( index ) {
|
|
||||||
case 1:
|
|
||||||
case 2:
|
|
||||||
case 3:
|
|
||||||
Run_count[ index ] += 1;
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed_with_level( status, "rtems_clock_get", 1 );
|
|
||||||
|
|
||||||
if (taskSwitchLogIndex < (sizeof taskSwitchLog / sizeof taskSwitchLog[0])) {
|
|
||||||
taskSwitchLog[taskSwitchLogIndex].taskIndex = index;
|
|
||||||
taskSwitchLog[taskSwitchLogIndex].when = time;
|
|
||||||
taskSwitchLogIndex++;
|
|
||||||
}
|
|
||||||
if ( time.second >= 16 )
|
|
||||||
testsFinished = 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 0:
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp05
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c task2.c task3.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,80 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 5 ***" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test5
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return, t_ident
|
|
||||||
tm_wkafter, t_suspend, t_resume
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies that a task can be suspended and resumed.
|
|
||||||
|
|
||||||
b. Verifies that a task can suspend itself.
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
*** TEST 5 ***
|
|
||||||
TA1 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA2 - rtems_task_suspend - suspend self
|
|
||||||
TA3 - rtems_task_suspend - suspend self
|
|
||||||
TA1 - rtems_task_suspend - suspend TA3
|
|
||||||
TA1 - rtems_task_resume - resume TA2
|
|
||||||
TA1 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA1 - rtems_task_suspend - suspend TA2
|
|
||||||
TA1 - rtems_task_resume - resume TA3
|
|
||||||
TA1 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA1 - rtems_task_suspend - suspend TA3
|
|
||||||
TA1 - rtems_task_resume - resume TA2
|
|
||||||
TA1 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA1 - rtems_task_suspend - suspend TA2
|
|
||||||
TA1 - rtems_task_resume - resume TA3
|
|
||||||
TA1 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA3 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA1 - rtems_task_suspend - suspend TA3
|
|
||||||
TA1 - rtems_task_resume - resume TA2
|
|
||||||
TA1 - rtems_task_wake_after - sleep 5 seconds
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1 second
|
|
||||||
TA1 - rtems_task_suspend - suspend TA2
|
|
||||||
TA1 - rtems_task_resume - resume TA3
|
|
||||||
*** END OF TEST 5 ***
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_TICKS_PER_TIMESLICE 100
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies that tasks can
|
|
||||||
* be suspended and resumed.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* NOTE: The rtems_task_suspend() directives fail on the first iteration.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_id tid2;
|
|
||||||
rtems_id tid3;
|
|
||||||
rtems_unsigned32 pass;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_task_ident( Task_name[ 2 ], 1, &tid2 );
|
|
||||||
directive_failed( status, "rtems_task_ident of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_ident( Task_name[ 3 ], 1, &tid3 );
|
|
||||||
directive_failed( status, "rtems_task_ident of TA3" );
|
|
||||||
|
|
||||||
for ( pass=1 ; pass <= 3 ; pass++ ) {
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
|
|
||||||
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after of TA1" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_suspend - suspend TA3" );
|
|
||||||
status = rtems_task_suspend( tid3 );
|
|
||||||
if ( pass == 1 ) {
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_ALREADY_SUSPENDED,
|
|
||||||
"rtems_task_suspend of TA3"
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA3" );
|
|
||||||
}
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_resume - resume TA2" );
|
|
||||||
status = rtems_task_resume( tid2 );
|
|
||||||
directive_failed( status, "rtems_task_resume of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
|
|
||||||
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_suspend - suspend TA2" );
|
|
||||||
status = rtems_task_suspend( tid2 );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_resume - resume TA3" );
|
|
||||||
status = rtems_task_resume( tid3 );
|
|
||||||
directive_failed( status, "rtems_task_resume" );
|
|
||||||
}
|
|
||||||
|
|
||||||
puts( "*** END OF TEST 5 ***" );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
/* Task_2
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. Makes sure a task can suspend
|
|
||||||
* itself.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "TA2 - rtems_task_suspend - suspend self" );
|
|
||||||
status = rtems_task_suspend( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA2" );
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
puts( "TA2 - rtems_task_wake_after - sleep 1 second" );
|
|
||||||
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after of TA2" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
/* Task_3
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. Makes sure a task can suspend
|
|
||||||
* itself.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "TA3 - rtems_task_suspend - suspend self" );
|
|
||||||
status = rtems_task_suspend( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA3" );
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
puts( "TA3 - rtems_task_wake_after - sleep 1 second" );
|
|
||||||
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after of TA3" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp06
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c task2.c task3.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_task_priority previous_priority;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 6 ***" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
|
|
||||||
Argument = 0;
|
|
||||||
Restart_argument = 1;
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
10,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, Argument );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, Argument );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_set_priority( Task_id[ 3 ], 5, &previous_priority );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test6
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return,
|
|
||||||
tm_wkafter, t_restart
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies that a task can restart a task other than itself.
|
|
||||||
|
|
||||||
b. Verifies that a task can restart itself.
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
*** TEST 6 ***
|
|
||||||
TA1 - is beginning to run
|
|
||||||
TA1 - restarting TA3
|
|
||||||
TA2 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting TA2
|
|
||||||
TA2 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting self
|
|
||||||
TA1 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting TA2
|
|
||||||
TA2 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting self
|
|
||||||
TA1 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting TA2
|
|
||||||
TA2 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting self
|
|
||||||
TA1 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting TA2
|
|
||||||
TA2 - is beginning to run
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA2 - rtems_task_wake_after - sleep 1/2 second
|
|
||||||
TA1 - rtems_task_restart - restarting self
|
|
||||||
TA1 - is beginning to run
|
|
||||||
*** END OF TEST 6 ***
|
|
||||||
|
|
||||||
NOTE: The prints from TA2 may not be as regular as indicated in the screen.
|
|
||||||
The important point is that TA2 is running and gets restarted.
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_TICKS_PER_TIMESLICE 100
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_task_argument Argument; /* generic task argument */
|
|
||||||
TEST_EXTERN rtems_task_argument Restart_argument; /* task 1 restart argument */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This task serves as a test task. Verifies that a task can restart
|
|
||||||
* both itself and other tasks.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1( argument )
|
|
||||||
rtems_unsigned32 argument;
|
|
||||||
{
|
|
||||||
rtems_unsigned32 pass;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "TA1 - is beginning to run" );
|
|
||||||
|
|
||||||
pass = argument + 1;
|
|
||||||
|
|
||||||
if ( pass == 5 ) {
|
|
||||||
puts( "*** END OF TEST 6 ***" );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( pass == 1 ) {
|
|
||||||
puts( "TA1 - restarting TA3" );
|
|
||||||
status = rtems_task_restart( Task_id[ 3 ], Restart_argument );
|
|
||||||
directive_failed( status, "rtems_task_restart of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_wake_after( 2 * TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
}
|
|
||||||
|
|
||||||
status = rtems_task_wake_after( TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_restart - restarting TA2" );
|
|
||||||
status = rtems_task_restart( Task_id[ 2 ], Restart_argument );
|
|
||||||
directive_failed( status, "rtems_task_restart TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_restart - restarting self" );
|
|
||||||
status = rtems_task_restart( Task_id[ 1 ], pass );
|
|
||||||
directive_failed( status, "rtems_task_restart of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
/* Task_2
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It simply runs forever so
|
|
||||||
* another task can restart it.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_2( argument )
|
|
||||||
rtems_task_argument argument;
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "TA2 - is beginning to run" );
|
|
||||||
if ( argument == Argument ) {
|
|
||||||
status = rtems_task_wake_after( 2 * TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
}
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
puts( "TA2 - rtems_task_wake_after - sleep 1/2 second" );
|
|
||||||
status = rtems_task_wake_after( TICKS_PER_SECOND / 2 );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
/* Task_3
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It is started, has its priority
|
|
||||||
* changed, and when it runs it deletes itself.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp07
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c task2.c task3.c task4.c taskexit.c tcreate.c \
|
|
||||||
tdelete.c trestart.c tstart.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,127 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_extensions_table Extensions = {
|
|
||||||
Task_create_extension, /* task create user extension */
|
|
||||||
Task_start_extension, /* task start user extension */
|
|
||||||
Task_restart_extension, /* task restart user extension */
|
|
||||||
Task_delete_extension, /* task delete user extension */
|
|
||||||
NULL, /* task switch user extension */
|
|
||||||
NULL, /* begin user extension */
|
|
||||||
Task_exit_extension, /* task exitted user extension */
|
|
||||||
NULL /* fatal error extension */
|
|
||||||
};
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 7 ***" );
|
|
||||||
|
|
||||||
Extension_name[ 1 ] = rtems_build_name( 'E', 'X', 'T', ' ' );
|
|
||||||
|
|
||||||
status = rtems_extension_create(
|
|
||||||
Extension_name[ 1 ],
|
|
||||||
&Extensions,
|
|
||||||
&Extension_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_extension_create" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
Task_name[ 4 ] = rtems_build_name( 'T', 'A', '4', ' ' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
250,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 4 ],
|
|
||||||
254,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 4 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA4" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 4 ], Task_4, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA4" );
|
|
||||||
|
|
||||||
status = rtems_task_restart( Task_id[ 3 ], 0 );
|
|
||||||
directive_failed( status, "rtems_task_restart of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_set_note( Task_id[ 1 ], RTEMS_NOTEPAD_8, 4 );
|
|
||||||
directive_failed( status, "task_set_node of TA1" );
|
|
||||||
printf( "INIT - rtems_task_set_note - set TA1's RTEMS_NOTEPAD_8 " );
|
|
||||||
puts ( "to TA1's priority: 04" );
|
|
||||||
|
|
||||||
status = rtems_task_set_note( Task_id[ 2 ], RTEMS_NOTEPAD_8, 4 );
|
|
||||||
directive_failed( status, "task_set_node of TA2" );
|
|
||||||
printf( "INIT - rtems_task_set_note - set TA2's RTEMS_NOTEPAD_8 " );
|
|
||||||
puts ( "to TA2's priority: 04");
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test7
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return,
|
|
||||||
t_delete, t_setreg, t_getreg, t_setpri, t_suspend
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies that tasks can communicate with each other via the
|
|
||||||
t_setreg and t_getreg directives.
|
|
||||||
|
|
||||||
b. Verifies that the highest priority task is dispatched to execute.
|
|
||||||
|
|
||||||
c. Verifies setting the priority of both a ready and a blocked task.
|
|
||||||
|
|
||||||
d. Verifies the deletion of ready and blocked tasks.
|
|
||||||
|
|
||||||
e. Verifies the tcreate user extension.
|
|
||||||
|
|
||||||
f. Verifies the tstart user extension.
|
|
||||||
|
|
||||||
g. Verifies the tdelete user extension.
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
*** TEST 7 ***
|
|
||||||
TASK_CREATE - TA1 - created.
|
|
||||||
TASK_CREATE - TA2 - created.
|
|
||||||
TASK_CREATE - TA3 - created.
|
|
||||||
TASK_CREATE - TA4 - created.
|
|
||||||
TASK_START - TA1 - started.
|
|
||||||
TASK_START - TA2 - started.
|
|
||||||
TASK_START - TA3 - started.
|
|
||||||
TASK_START - TA4 - started.
|
|
||||||
TASK_RESTART - TA3 - restarted.
|
|
||||||
INIT - rtems_task_set_note - set TA1's RTEMS_NOTEPAD_8 to TA1's priority: 04
|
|
||||||
INIT - rtems_task_set_note - set TA2's RTEMS_NOTEPAD_8 to TA2's priority: 04
|
|
||||||
<pause>
|
|
||||||
TA1 - rtems_task_set_priority - get initial priority of self: 04
|
|
||||||
TA1 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: 04
|
|
||||||
TA1 - rtems_task_set_note - set TA2's RTEMS_NOTEPAD_8: 03
|
|
||||||
TA1 - rtems_task_set_priority - set TA2's priority: 03
|
|
||||||
TA2 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: 03
|
|
||||||
TA2 - rtems_task_set_note - set TA1's RTEMS_NOTEPAD_8: 02
|
|
||||||
TA2 - rtems_task_set_priority - set TA1's priority: 02
|
|
||||||
TA1 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: 02
|
|
||||||
TA1 - rtems_task_set_note - set TA2's RTEMS_NOTEPAD_8: 01
|
|
||||||
TA1 - rtems_task_set_priority - set TA2's priority: 01
|
|
||||||
TA2 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: 01
|
|
||||||
TA2 - rtems_task_suspend - suspend TA1
|
|
||||||
TA2 - rtems_task_set_priority - set priority of TA1 ( blocked )
|
|
||||||
TASK_DELETE - TA2 deleting TA1
|
|
||||||
TASK_DELETE - TA2 deleting TA3
|
|
||||||
TASK_DELETE - TA2 deleting TA2
|
|
||||||
TA4 - exitting task
|
|
||||||
RTEMS_TASK_EXITTED - extension invoked for TA4
|
|
||||||
*** END OF TEST 7 ***
|
|
||||||
TASK_DELETE - TA4 deleting TA4 <---- may not appear
|
|
||||||
@@ -1,87 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_4(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_boolean Task_create_extension(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *created_task
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_extension Task_delete_extension(
|
|
||||||
rtems_tcb *running_task,
|
|
||||||
rtems_tcb *deleted_task
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_extension Task_restart_extension(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *restarted_task
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_extension Task_start_extension(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *started_task
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_extension Task_exit_extension(
|
|
||||||
rtems_tcb *running_task
|
|
||||||
);
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
|
|
||||||
#define CONFIGURE_TICKS_PER_TIMESLICE 100
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
|
|
||||||
#define CONFIGURE_EXTRA_TASK_STACKS (4 * RTEMS_MINIMUM_STACK_SIZE)
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 5
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 5 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 5 ]; /* array of task names */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Extension_id[ 4 ];
|
|
||||||
TEST_EXTERN rtems_name Extension_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies intertask communication
|
|
||||||
* using task notepads and verifies the the user extensions (tcreate, etc).
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_task_priority the_priority;
|
|
||||||
rtems_task_priority previous_priority;
|
|
||||||
|
|
||||||
rtems_test_pause();
|
|
||||||
|
|
||||||
status = rtems_task_set_priority(
|
|
||||||
RTEMS_SELF,
|
|
||||||
RTEMS_CURRENT_PRIORITY,
|
|
||||||
&the_priority
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_set_priority" );
|
|
||||||
printf(
|
|
||||||
"TA1 - rtems_task_set_priority - get initial priority of self: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
status = rtems_task_get_note( RTEMS_SELF, RTEMS_NOTEPAD_8, &the_priority );
|
|
||||||
directive_failed( status, "rtems_task_get_note" );
|
|
||||||
printf(
|
|
||||||
"TA1 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( --the_priority == 0 ) {
|
|
||||||
puts( "TA1 - rtems_task_suspend - suspend TA2" );
|
|
||||||
status = rtems_task_suspend( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_suspend" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_set_priority - set priority of TA2 ( blocked )" );
|
|
||||||
status = rtems_task_set_priority( Task_id[ 2 ], 5, &previous_priority );
|
|
||||||
directive_failed( status, "rtems_task_set_priority" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_delete of TA2" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
|
|
||||||
printf( "TA1 - rtems_task_set_note - set TA2's RTEMS_NOTEPAD_8: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
status = rtems_task_set_note( Task_id[ 2 ], RTEMS_NOTEPAD_8, the_priority );
|
|
||||||
directive_failed( status, "rtems_task_set_note" );
|
|
||||||
|
|
||||||
printf( "TA1 - rtems_task_set_priority - set TA2's priority: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
status = rtems_task_set_priority(
|
|
||||||
Task_id[ 2 ],
|
|
||||||
the_priority,
|
|
||||||
&previous_priority
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_set_priority" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
/* Task_2
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. Plays with priorities to verify
|
|
||||||
* that the highest priority task is always executed.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_2(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_task_priority the_priority;
|
|
||||||
rtems_task_priority previous_priority;
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
|
|
||||||
status = rtems_task_get_note( RTEMS_SELF, RTEMS_NOTEPAD_8, &the_priority );
|
|
||||||
directive_failed( status, "rtems_task_get_note" );
|
|
||||||
printf(
|
|
||||||
"TA2 - rtems_task_get_note - get RTEMS_NOTEPAD_8 - current priority: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
|
|
||||||
if ( --the_priority == 0 ) {
|
|
||||||
puts( "TA2 - rtems_task_suspend - suspend TA1" );
|
|
||||||
status = rtems_task_suspend( Task_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_task_suspend" );
|
|
||||||
|
|
||||||
puts( "TA2 - rtems_task_set_priority - set priority of TA1 ( blocked )" );
|
|
||||||
status = rtems_task_set_priority( Task_id[ 1 ], 5, &previous_priority );
|
|
||||||
directive_failed( status, "rtems_task_set_priority" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 1 ] ); /* TA1 is blocked */
|
|
||||||
directive_failed( status, "rtems_task_delete of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 3 ] ); /* TA3 is ready */
|
|
||||||
directive_failed( status, "rtems_task_delete of TA3" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of SELD" );
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
printf( "TA2 - rtems_task_set_note - set TA1's RTEMS_NOTEPAD_8: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
status = rtems_task_set_note(Task_id[ 1 ], RTEMS_NOTEPAD_8, the_priority);
|
|
||||||
directive_failed( status, "rtems_task_set_note" );
|
|
||||||
|
|
||||||
printf( "TA2 - rtems_task_set_priority - set TA1's priority: %02d\n",
|
|
||||||
the_priority
|
|
||||||
);
|
|
||||||
status = rtems_task_set_priority(
|
|
||||||
Task_id[ 1 ],
|
|
||||||
the_priority,
|
|
||||||
&previous_priority
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_set_priority" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/* Task_3
|
|
||||||
*
|
|
||||||
* This routine serves as a low priority test task that should never
|
|
||||||
* execute.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_3(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
while( FOREVER ) {
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/* Task_4
|
|
||||||
*
|
|
||||||
* This routine serves as a low priority test task that should exit
|
|
||||||
* a soon as it runs to test the taskexitted user extension.
|
|
||||||
* execute.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_4(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
puts( "TA4 - exitting task" );
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/* Task_exit_extension
|
|
||||||
*
|
|
||||||
* This routine is the task exitted user extension.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_extension Task_exit_extension(
|
|
||||||
rtems_tcb *running_task
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ( task_number( running_task->Object.id ) > 0 ) {
|
|
||||||
puts_nocr( "RTEMS_TASK_EXITTED - extension invoked for " );
|
|
||||||
put_name( Task_name[ task_number( running_task->Object.id ) ], TRUE );
|
|
||||||
}
|
|
||||||
|
|
||||||
puts("*** END OF TEST 7 ***" );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
/* Task_create_extension
|
|
||||||
*
|
|
||||||
* This routine is the tcreate user extension.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* unused - pointer to currently running TCB
|
|
||||||
* created_task - pointer to new TCB being created
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_boolean Task_create_extension(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *created_task
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ( task_number( created_task->Object.id ) > 0 ) {
|
|
||||||
puts_nocr( "TASK_CREATE - " );
|
|
||||||
put_name( Task_name[ task_number( created_task->Object.id ) ], FALSE );
|
|
||||||
puts( " - created." );
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
/* Task_delete_extension
|
|
||||||
*
|
|
||||||
* This routine is the delete user extension.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* running_task - pointer to running TCB
|
|
||||||
* deleted_task - pointer to TCB deleted
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_extension Task_delete_extension(
|
|
||||||
rtems_tcb *running_task,
|
|
||||||
rtems_tcb *deleted_task
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ( task_number( running_task->Object.id ) > 0 ) {
|
|
||||||
puts_nocr( "TASK_DELETE - " );
|
|
||||||
put_name( Task_name[ task_number( running_task->Object.id ) ], FALSE );
|
|
||||||
}
|
|
||||||
if ( task_number( deleted_task->Object.id ) > 0 ) {
|
|
||||||
puts_nocr( " deleting " );
|
|
||||||
put_name( Task_name[ task_number( deleted_task->Object.id ) ], TRUE );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/* Task_restart_extension
|
|
||||||
*
|
|
||||||
* This routine is the trestart user extension.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* unused - pointer to currently running TCB
|
|
||||||
* restarted_task - pointer to new TCB being started
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Task_restart_extension(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *restarted_task
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ( task_number( restarted_task->Object.id ) > 0 ) {
|
|
||||||
puts_nocr( "TASK_RESTART - " );
|
|
||||||
put_name( Task_name[ task_number( restarted_task->Object.id ) ], FALSE );
|
|
||||||
puts( " - restarted." );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
/* Task_start_extension
|
|
||||||
*
|
|
||||||
* This routine is the tstart user extension.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* unused - pointer to currently running TCB
|
|
||||||
* started_task - pointer to new TCB being started
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_extension Task_start_extension(
|
|
||||||
rtems_tcb *unused,
|
|
||||||
rtems_tcb *started_task
|
|
||||||
)
|
|
||||||
{
|
|
||||||
if ( task_number( started_task->Object.id ) > 0 ) {
|
|
||||||
puts_nocr( "TASK_START - " );
|
|
||||||
put_name( Task_name[ task_number( started_task->Object.id ) ], FALSE );
|
|
||||||
puts( " - started." );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp08
|
|
||||||
|
|
||||||
MANAGERS = io
|
|
||||||
|
|
||||||
C_FILES = init.c task1.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 8 ***" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 2,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test8
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, t_create, t_start, tm_tick, i_return,
|
|
||||||
t_mode
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies every mode change possible.
|
|
||||||
|
|
||||||
b. Verifies the fatal error handler.
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
*** TEST 8 ***
|
|
||||||
TA1 - rtems_task_mode - RTEMS_ASR - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_NO_ASR - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_NO_ASR - previous mode: 00000400
|
|
||||||
TA1 - rtems_task_mode - RTEMS_ASR - previous mode: 00000400
|
|
||||||
TA1 - rtems_task_mode - RTEMS_NO_TIMESLICE - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_TIMESLICE - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_TIMESLICE - previous mode: 00000200
|
|
||||||
TA1 - rtems_task_mode - RTEMS_NO_TIMESLICE - previous mode: 00000200
|
|
||||||
TA1 - rtems_task_mode - RTEMS_PREEMPT - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_NO_PREEMPT - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_NO_PREEMPT - previous mode: 00000100
|
|
||||||
TA1 - rtems_task_mode - RTEMS_PREEMPT - previous mode: 00000100
|
|
||||||
TA1 - rtems_task_mode - RTEMS_INTERRUPT_LEVEL( 3 ) - previous mode: 00000000
|
|
||||||
TA1 - rtems_task_mode - RTEMS_INTERRUPT_LEVEL( 5 ) - previous mode: 00000003
|
|
||||||
TA1 - rtems_task_mode - set all modes - previous mode: 00000005
|
|
||||||
TA1 - rtems_task_mode - set all modes - previous mode: 00000703
|
|
||||||
TA1 - rtems_task_mode - clear all modes - previous mode: 00000703
|
|
||||||
TA1 - rtems_task_mode - get current mode - previous mode: 00000000
|
|
||||||
*** END OF TEST 8 ***
|
|
||||||
|
|
||||||
NOTE: The interrupt level lines will be different on CPUs with few levels.
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
/* system.h
|
|
||||||
*
|
|
||||||
* This include file contains information that is included in every
|
|
||||||
* function in the test set.
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <tmacros.h>
|
|
||||||
|
|
||||||
/* functions */
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
);
|
|
||||||
|
|
||||||
#define put_mode( _comment, _output_mode ) \
|
|
||||||
printf( "%s %08x\n", _comment, _output_mode );
|
|
||||||
|
|
||||||
/* configuration information */
|
|
||||||
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
|
||||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
|
||||||
|
|
||||||
#define CONFIGURE_TICKS_PER_TIMESLICE 100
|
|
||||||
|
|
||||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
|
||||||
|
|
||||||
#define CONFIGURE_EXTRA_TASK_STACKS (1 * RTEMS_MINIMUM_STACK_SIZE)
|
|
||||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
|
||||||
|
|
||||||
#include <confdefs.h>
|
|
||||||
|
|
||||||
/* global variables */
|
|
||||||
|
|
||||||
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
|
|
||||||
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
|
|
||||||
|
|
||||||
/* end of include file */
|
|
||||||
@@ -1,255 +0,0 @@
|
|||||||
/* Task_1
|
|
||||||
*
|
|
||||||
* This routine serves as a test task. It verifies all combinations of
|
|
||||||
* task mode changes.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Task_1(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_mode previous_mode;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
/* BEGINNING OF RTEMS_ASR */
|
|
||||||
|
|
||||||
status = rtems_task_mode( RTEMS_ASR, RTEMS_ASR_MASK, &previous_mode );
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_ASR - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_ASR,
|
|
||||||
RTEMS_ASR_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_NO_ASR - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_ASR,
|
|
||||||
RTEMS_ASR_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_NO_ASR - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_ASR,
|
|
||||||
RTEMS_ASR_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_ASR - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/* END OF RTEMS_ASR */
|
|
||||||
|
|
||||||
/* BEGINNING OF RTEMS_TIMESLICE */
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_TIMESLICE,
|
|
||||||
RTEMS_TIMESLICE_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_NO_TIMESLICE - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_TIMESLICE,
|
|
||||||
RTEMS_TIMESLICE_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_TIMESLICE - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_TIMESLICE,
|
|
||||||
RTEMS_TIMESLICE_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_TIMESLICE - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_TIMESLICE,
|
|
||||||
RTEMS_TIMESLICE_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_NO_TIMESLICE - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/* END OF RTEMS_TIMESLICE */
|
|
||||||
|
|
||||||
/* BEGINNING OF RTEMS_PREEMPT */
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_PREEMPT,
|
|
||||||
RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_PREEMPT - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_PREEMPT,
|
|
||||||
RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_NO_PREEMPT - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_NO_PREEMPT,
|
|
||||||
RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_NO_PREEMPT - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_PREEMPT,
|
|
||||||
RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_PREEMPT - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/* END OF RTEMS_PREEMPT */
|
|
||||||
|
|
||||||
/* BEGINNING OF RTEMS_INTERRUPT_LEVEL */
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_INTERRUPT_LEVEL(3),
|
|
||||||
RTEMS_INTERRUPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_INTERRUPT_LEVEL( 3 ) - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_INTERRUPT_LEVEL(5),
|
|
||||||
RTEMS_INTERRUPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - RTEMS_INTERRUPT_LEVEL( 5 ) - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/* END OF RTEMS_INTERRUPT_LEVEL */
|
|
||||||
|
|
||||||
/* BEGINNING OF COMBINATIONS */
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_INTERRUPT_LEVEL(3) | RTEMS_NO_ASR |
|
|
||||||
RTEMS_TIMESLICE | RTEMS_NO_PREEMPT,
|
|
||||||
RTEMS_INTERRUPT_MASK | RTEMS_ASR_MASK |
|
|
||||||
RTEMS_TIMESLICE_MASK | RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - set all modes - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_INTERRUPT_LEVEL(3) | RTEMS_NO_ASR |
|
|
||||||
RTEMS_TIMESLICE | RTEMS_NO_PREEMPT,
|
|
||||||
RTEMS_INTERRUPT_MASK | RTEMS_ASR_MASK |
|
|
||||||
RTEMS_TIMESLICE_MASK | RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - set all modes - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_INTERRUPT_LEVEL(0) | RTEMS_ASR | RTEMS_NO_TIMESLICE | RTEMS_PREEMPT,
|
|
||||||
RTEMS_INTERRUPT_MASK | RTEMS_ASR_MASK |
|
|
||||||
RTEMS_TIMESLICE_MASK | RTEMS_PREEMPT_MASK,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - clear all modes - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/* END OF COMBINATIONS */
|
|
||||||
|
|
||||||
/* BEGINNING OF CURRENT MODE */
|
|
||||||
|
|
||||||
status = rtems_task_mode(
|
|
||||||
RTEMS_CURRENT_MODE,
|
|
||||||
RTEMS_CURRENT_MODE,
|
|
||||||
&previous_mode
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_mode" );
|
|
||||||
put_mode(
|
|
||||||
"TA1 - rtems_task_mode - get current mode - previous mode: ",
|
|
||||||
previous_mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/* END OF CURRENT MODE */
|
|
||||||
|
|
||||||
puts( "*** END OF TEST 8 ***" );
|
|
||||||
rtems_test_exit( 0 );
|
|
||||||
}
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
##
|
|
||||||
## $Id$
|
|
||||||
##
|
|
||||||
|
|
||||||
|
|
||||||
TEST = sp09
|
|
||||||
|
|
||||||
MANAGERS = io message dual_ported_memory event multi_processor region \
|
|
||||||
semaphore signal rate_monotonic timer partition
|
|
||||||
|
|
||||||
C_FILES = init.c delay.c isr.c screen01.c screen02.c screen03.c screen04.c \
|
|
||||||
screen05.c screen06.c screen07.c screen08.c screen09.c screen10.c \
|
|
||||||
screen11.c screen12.c screen13.c screen14.c task1.c task2.c task3.c \
|
|
||||||
task4.c
|
|
||||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
|
|
||||||
|
|
||||||
H_FILES = system.h
|
|
||||||
noinst_HEADERS = $(H_FILES)
|
|
||||||
|
|
||||||
DOCTYPES = scn doc
|
|
||||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
|
||||||
|
|
||||||
SRCS = $(C_FILES) $(H_FILES)
|
|
||||||
OBJS = $(C_O_FILES)
|
|
||||||
|
|
||||||
PRINT_SRCS = $(DOCS)
|
|
||||||
|
|
||||||
PGM = ${ARCH}/$(TEST).exe
|
|
||||||
|
|
||||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
|
||||||
include $(top_srcdir)/../automake/compile.am
|
|
||||||
include $(top_srcdir)/../automake/leaf.am
|
|
||||||
include $(top_srcdir)/sptests.am
|
|
||||||
|
|
||||||
${PGM}: $(OBJS) $(LINK_FILES)
|
|
||||||
$(make-exe)
|
|
||||||
|
|
||||||
all-local: $(ARCH) $(TMPINSTALL_FILES)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(C_FILES) $(DOCS)
|
|
||||||
|
|
||||||
include $(top_srcdir)/../automake/local.am
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/* Delayed_routine
|
|
||||||
*
|
|
||||||
* This routine is used as the timer routine for Timer Manager tests.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* ignored - this parameter is ignored
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_timer_service_routine Delayed_routine(
|
|
||||||
rtems_id ignored_id,
|
|
||||||
void *ignored_address
|
|
||||||
)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -1,119 +0,0 @@
|
|||||||
/* Init
|
|
||||||
*
|
|
||||||
* This routine is the initialization task for this test program.
|
|
||||||
* It is a user initialization task and has the responsibility for creating
|
|
||||||
* and starting the tasks that make up the test. If the time of day
|
|
||||||
* clock is required for the test, it should also be set to a known
|
|
||||||
* value by this function.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* argument - task argument
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define TEST_INIT
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_task Init(
|
|
||||||
rtems_task_argument argument
|
|
||||||
)
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
puts( "\n\n*** TEST 9 ***" );
|
|
||||||
|
|
||||||
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
|
|
||||||
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
|
|
||||||
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
|
|
||||||
Task_name[ 4 ] = rtems_build_name( 'T', 'A', '4', ' ' );
|
|
||||||
Task_name[ 5 ] = rtems_build_name( 'T', 'A', '5', ' ' );
|
|
||||||
Task_name[ 6 ] = rtems_build_name( 'T', 'A', '6', ' ' );
|
|
||||||
Task_name[ 7 ] = rtems_build_name( 'T', 'A', '7', ' ' );
|
|
||||||
Task_name[ 8 ] = rtems_build_name( 'T', 'A', '8', ' ' );
|
|
||||||
Task_name[ 9 ] = rtems_build_name( 'T', 'A', '9', ' ' );
|
|
||||||
Task_name[ 10 ] = rtems_build_name( 'T', 'A', 'A', ' ' );
|
|
||||||
|
|
||||||
Timer_name[ 1 ] = rtems_build_name( 'T', 'M', '1', ' ' );
|
|
||||||
|
|
||||||
Semaphore_name[ 1 ] = rtems_build_name( 'S', 'M', '1', ' ' );
|
|
||||||
Semaphore_name[ 2 ] = rtems_build_name( 'S', 'M', '2', ' ' );
|
|
||||||
Semaphore_name[ 3 ] = rtems_build_name( 'S', 'M', '3', ' ' );
|
|
||||||
|
|
||||||
Queue_name[ 1 ] = rtems_build_name( 'M', 'Q', '1', ' ' );
|
|
||||||
Queue_name[ 2 ] = rtems_build_name( 'M', 'Q', '2', ' ' );
|
|
||||||
|
|
||||||
Partition_name[ 1 ] = rtems_build_name( 'P', 'T', '1', ' ' );
|
|
||||||
|
|
||||||
Region_name[ 1 ] = rtems_build_name( 'R', 'N', '1', ' ' );
|
|
||||||
|
|
||||||
Port_name[ 1 ] = rtems_build_name( 'D', 'P', '1', ' ' );
|
|
||||||
|
|
||||||
Period_name[ 1 ] = rtems_build_name( 'T', 'M', '1', ' ' );
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[1],
|
|
||||||
4,
|
|
||||||
10,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_task_create with illegal stack size"
|
|
||||||
);
|
|
||||||
puts( "INIT - rtems_task_create - RTEMS_INVALID_SIZE" );
|
|
||||||
#endif
|
|
||||||
puts( "INIT - rtems_task_create - RTEMS_INVALID_SIZE -- NOT CHECKED" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[1],
|
|
||||||
0,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_PRIORITY,
|
|
||||||
"rtems_task_create with illegal priority"
|
|
||||||
);
|
|
||||||
puts( "INIT - rtems_task_create - RTEMS_INVALID_PRIORITY" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 1 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE * 3,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_restart( Task_id[ 1 ], 0 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INCORRECT_STATE,
|
|
||||||
"rtems_task_restart of DORMANT task"
|
|
||||||
);
|
|
||||||
puts( "INIT - rtems_task_restart - RTEMS_INCORRECT_STATE" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA1" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( RTEMS_SELF );
|
|
||||||
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
/* Service_routine
|
|
||||||
*
|
|
||||||
* This routine is used as the timer routine for Interrupt Manager tests.
|
|
||||||
*
|
|
||||||
* Input parameters:
|
|
||||||
* ignored - this parameter is ignored
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
rtems_isr Service_routine(
|
|
||||||
rtems_vector_number ignored
|
|
||||||
)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
@@ -1,179 +0,0 @@
|
|||||||
/* Screen1
|
|
||||||
*
|
|
||||||
* This routine generates error screen 1 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen1()
|
|
||||||
{
|
|
||||||
rtems_unsigned32 notepad_value;
|
|
||||||
rtems_id self_id;
|
|
||||||
rtems_task_priority previous_priority;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_task_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_delete - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_get_note( RTEMS_SELF, 100, ¬epad_value );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_task_get_note with illegal notepad"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
status = rtems_task_get_note( 100, RTEMS_NOTEPAD_LAST, ¬epad_value );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_get_note with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_get_note - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &self_id );
|
|
||||||
directive_failed( status, "rtems_task_ident of self" );
|
|
||||||
|
|
||||||
if ( self_id != Task_id[ 1 ] ) {
|
|
||||||
puts( "ERROR - rtems_task_ident - incorrect ID returned!" );
|
|
||||||
}
|
|
||||||
puts( "TA1 - rtems_task_ident - current task RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_ident( 100, RTEMS_SEARCH_ALL_NODES, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_task_ident with illegal name (local)"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_ident - global RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_task_ident( 100, 1, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_task_ident with illegal name (global)"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_ident - local RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This one case is different if MP is enabled/disabled.
|
|
||||||
*/
|
|
||||||
|
|
||||||
status = rtems_task_ident( 100, 2, &Junk_id );
|
|
||||||
#if defined(RTEMS_MULTIPROCESSING)
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NODE,
|
|
||||||
"rtems_task_ident with illegal node"
|
|
||||||
);
|
|
||||||
#else
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_task_ident with illegal node"
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
puts( "TA1 - rtems_task_ident - RTEMS_INVALID_NODE" );
|
|
||||||
|
|
||||||
status = rtems_task_restart( 100, 0 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_restart with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_restart - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_resume( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_resume with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_resume - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_resume( RTEMS_SELF );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INCORRECT_STATE,
|
|
||||||
"rtems_task_resume of ready task"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_resume - RTEMS_INCORRECT_STATE" );
|
|
||||||
|
|
||||||
status = rtems_task_set_priority( RTEMS_SELF, 512, &previous_priority );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_PRIORITY,
|
|
||||||
"rtems_task_set_priority with illegal priority"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_PRIORITY" );
|
|
||||||
|
|
||||||
status = rtems_task_set_priority( 100, 8, &previous_priority );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_set_priority with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_set_priority - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_set_note(
|
|
||||||
RTEMS_SELF,
|
|
||||||
RTEMS_NOTEPAD_LAST+10,
|
|
||||||
notepad_value
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_task_set_note with illegal notepad"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_set_note - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
status = rtems_task_set_note( 100, RTEMS_NOTEPAD_LAST, notepad_value );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_set_note with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_set_note - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_start( 100, Task_1, 0 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_start with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_start - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_task_start( 0, Task_1, 0 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INCORRECT_STATE,
|
|
||||||
"rtems_task_start of ready task"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_start - RTEMS_INCORRECT_STATE" );
|
|
||||||
|
|
||||||
status = rtems_task_suspend( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_suspend with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_suspend - RTEMS_INVALID_ID" );
|
|
||||||
}
|
|
||||||
@@ -1,191 +0,0 @@
|
|||||||
/* Screen2
|
|
||||||
*
|
|
||||||
* This routine generates error screen 2 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen2()
|
|
||||||
{
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
/* errors before clock is set */
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
if ( status == RTEMS_SUCCESSFUL ) {
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_clock_get - RTEMS_NOT_DEFINED -- DID BSP SET THE TIME OF DAY?"
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_clock_get before clock is set"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_clock_get - RTEMS_NOT_DEFINED" );
|
|
||||||
}
|
|
||||||
|
|
||||||
status = rtems_task_wake_when( &time );
|
|
||||||
if ( status == RTEMS_SUCCESSFUL ) {
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_task_wake_when - RTEMS_NOT_DEFINED -- DID BSP SET THE TIME OF DAY?"
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_task_wake_when before clock is set"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_wake_when - RTEMS_NOT_DEFINED" );
|
|
||||||
}
|
|
||||||
|
|
||||||
status = rtems_timer_fire_when( 0, &time, Delayed_routine, NULL );
|
|
||||||
if ( status == RTEMS_SUCCESSFUL ) {
|
|
||||||
puts(
|
|
||||||
"TA1 - timer_wake_when - RTEMS_NOT_DEFINED -- DID BSP SET THE TIME OF DAY?"
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"task_fire_when before clock is set"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_fire_when - RTEMS_NOT_DEFINED" );
|
|
||||||
}
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1987, 8, 30, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid year"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 15, 5, 1988, 8, 30, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid month"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 32, 1988, 8, 30, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid day"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 25, 30, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid hour"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 8, 61, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid minute"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 8, 30, 61, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid second"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 8, 30, 45, TICKS_PER_SECOND + 1 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_clock_set with invalid ticks per second"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 8, 30, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set successful" );
|
|
||||||
puts( " - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
/* rtems_task_wake_when */
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 8, 30, 48, TICKS_PER_SECOND + 1 );
|
|
||||||
time.second += 3;
|
|
||||||
puts( "TA1 - rtems_task_wake_when - TICKINVALID - sleep about 3 seconds" );
|
|
||||||
|
|
||||||
status = rtems_task_wake_when( &time );
|
|
||||||
directive_failed(
|
|
||||||
status,
|
|
||||||
"rtems_task_wake_when with invalid ticks per second"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_wake_when - TICKINVALID - woke up RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1961, 8, 30, 48, 0 );
|
|
||||||
print_time( "TA1 - rtems_task_wake_when - ", &time, "" );
|
|
||||||
status = rtems_task_wake_when( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_task_wake_when with invalid year"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 25, 30, 48, 0 );
|
|
||||||
print_time( "TA1 - rtems_task_wake_when - ", &time, "" );
|
|
||||||
status = rtems_task_wake_when( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_task_wake_when with invalid hour"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
|
|
||||||
rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
print_time( "TA1 - current time - ", &time, "\n" );
|
|
||||||
|
|
||||||
time.month = 1;
|
|
||||||
print_time( "TA1 - rtems_task_wake_when - ", &time, "" );
|
|
||||||
status = rtems_task_wake_when( &time );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_task_wake_when before current time"
|
|
||||||
);
|
|
||||||
puts( " - RTEMS_INVALID_CLOCK" );
|
|
||||||
}
|
|
||||||
@@ -1,217 +0,0 @@
|
|||||||
/* Screen3
|
|
||||||
*
|
|
||||||
* This routine generates error screen 3 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen3()
|
|
||||||
{
|
|
||||||
rtems_name task_name;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
task_name = 1;
|
|
||||||
status = rtems_task_create(
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_task_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* If the bsp provides its own stack allocator, then
|
|
||||||
* skip the test that tries to allocate a stack that is too big.
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (rtems_cpu_configuration_get_stack_allocate_hook()) {
|
|
||||||
puts( "TA1 - rtems_task_create - stack size - RTEMS_UNSATISFIED -- SKIPPED" );
|
|
||||||
} else {
|
|
||||||
status = rtems_task_create(
|
|
||||||
task_name,
|
|
||||||
1,
|
|
||||||
rtems_configuration_get_work_space_size(),
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_task_create with a stack size larger than the workspace"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_create - stack size - RTEMS_UNSATISFIED" );
|
|
||||||
}
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 2 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA2" );
|
|
||||||
puts( "TA1 - rtems_task_create - TA2 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_suspend( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_suspend of TA2" );
|
|
||||||
puts( "TA1 - rtems_task_suspend - suspend TA2 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_suspend( Task_id[ 2 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_ALREADY_SUSPENDED,
|
|
||||||
"rtems_task_suspend of suspended TA2"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_suspend - suspend TA2 - RTEMS_ALREADY_SUSPENDED" );
|
|
||||||
|
|
||||||
status = rtems_task_resume( Task_id[ 2 ] );
|
|
||||||
directive_failed( status, "rtems_task_resume of TA2" );
|
|
||||||
puts( "TA1 - rtems_task_resume - TA2 resumed - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 3 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 3 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA3" );
|
|
||||||
puts( "TA1 - rtems_task_create - TA3 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 4 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 4 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA4" );
|
|
||||||
puts( "TA1 - rtems_task_create - 4 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 5 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 5 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA5" );
|
|
||||||
puts( "TA1 - rtems_task_create - 5 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 6 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 6 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA6" );
|
|
||||||
puts( "TA1 - rtems_task_create - 6 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 7 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 7 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA7" );
|
|
||||||
puts( "TA1 - rtems_task_create - 7 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 8 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 8 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA8" );
|
|
||||||
puts( "TA1 - rtems_task_create - 8 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 9 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 9 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA9" );
|
|
||||||
puts( "TA1 - rtems_task_create - 9 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
Task_name[ 10 ],
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Task_id[ 10 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_task_create of TA10" );
|
|
||||||
puts( "TA1 - rtems_task_create - 10 created - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_task_create(
|
|
||||||
task_name,
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_task_create for too many tasks"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_task_create - 11 - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The check for an object being global is only made if
|
|
||||||
* multiprocessing is enabled.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(RTEMS_MULTIPROCESSING)
|
|
||||||
status = rtems_task_create(
|
|
||||||
task_name,
|
|
||||||
4,
|
|
||||||
RTEMS_MINIMUM_STACK_SIZE,
|
|
||||||
RTEMS_DEFAULT_MODES,
|
|
||||||
RTEMS_GLOBAL,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_MP_NOT_CONFIGURED,
|
|
||||||
"rtems_task_create of global task in a single cpu system"
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
puts( "TA1 - rtems_task_create - RTEMS_MP_NOT_CONFIGURED" );
|
|
||||||
}
|
|
||||||
@@ -1,84 +0,0 @@
|
|||||||
/* Screen4
|
|
||||||
*
|
|
||||||
* This routine generates error screen 4 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen4()
|
|
||||||
{
|
|
||||||
rtems_event_set event_out;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_event_receive(
|
|
||||||
RTEMS_EVENT_16,
|
|
||||||
RTEMS_NO_WAIT,
|
|
||||||
RTEMS_NO_TIMEOUT,
|
|
||||||
&event_out
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_event_receive unsatisfied (ALL)"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_event_receive - RTEMS_UNSATISFIED ( all conditions )" );
|
|
||||||
|
|
||||||
status = rtems_event_receive(
|
|
||||||
RTEMS_EVENT_16,
|
|
||||||
RTEMS_EVENT_ANY | RTEMS_NO_WAIT,
|
|
||||||
RTEMS_NO_TIMEOUT,
|
|
||||||
&event_out
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_event_receive unsatisfied (ANY)"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_event_receive - RTEMS_UNSATISFIED ( any condition )" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_event_receive - timeout in 3 seconds" );
|
|
||||||
status = rtems_event_receive(
|
|
||||||
RTEMS_EVENT_16,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
3 * TICKS_PER_SECOND,
|
|
||||||
&event_out
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TIMEOUT,
|
|
||||||
"rtems_event_receive"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_event_receive - woke up with RTEMS_TIMEOUT" );
|
|
||||||
|
|
||||||
status = rtems_event_send( 100, RTEMS_EVENT_16 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_event_send with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_event_send - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - sleep 1 second - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_wake_after( TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1988, 8, 30, 45, 0 );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, "" );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
puts( " - RTEMS_SUCCESSFUL" );
|
|
||||||
}
|
|
||||||
@@ -1,170 +0,0 @@
|
|||||||
/* Screen5
|
|
||||||
*
|
|
||||||
* This routine generates error screen 5 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen5()
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
0,
|
|
||||||
1,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_semaphore_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Semaphore_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_semaphore_create" );
|
|
||||||
puts( "TA1 - rtems_semaphore_create - 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 2 ],
|
|
||||||
1,
|
|
||||||
RTEMS_BINARY_SEMAPHORE | RTEMS_PRIORITY | RTEMS_INHERIT_PRIORITY,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Semaphore_id[ 2 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_semaphore_create" );
|
|
||||||
puts( "TA1 - rtems_semaphore_create - 2 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
do {
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 3 ],
|
|
||||||
1,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
} while (status == RTEMS_SUCCESSFUL);
|
|
||||||
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_semaphore_create of too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_create - 3 - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_INHERIT_PRIORITY | RTEMS_BINARY_SEMAPHORE | RTEMS_FIFO,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_semaphore_create of RTEMS_FIFO RTEMS_INHERIT_PRIORITY"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 1 ],
|
|
||||||
1,
|
|
||||||
RTEMS_INHERIT_PRIORITY | RTEMS_COUNTING_SEMAPHORE | RTEMS_PRIORITY,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_semaphore_create of RTEMS_COUNTING_SEMAPHORE RTEMS_INHERIT_PRIORITY"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_create - RTEMS_NOT_DEFINED" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 1 ],
|
|
||||||
2,
|
|
||||||
RTEMS_BINARY_SEMAPHORE,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_semaphore_create of binary semaphore with count > 1"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_create - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The check for an object being global is only made if
|
|
||||||
* multiprocessing is enabled.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(RTEMS_MULTIPROCESSING)
|
|
||||||
status = rtems_semaphore_create(
|
|
||||||
Semaphore_name[ 3 ],
|
|
||||||
1,
|
|
||||||
RTEMS_GLOBAL,
|
|
||||||
RTEMS_NO_PRIORITY,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_MP_NOT_CONFIGURED,
|
|
||||||
"rtems_semaphore_create of mp not configured"
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
puts( "TA1 - rtems_semaphore_create - RTEMS_MP_NOT_CONFIGURED" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_semaphore_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_delete - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_delete( 0x010100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_semaphore_delete with local illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_delete - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_ident( 100, RTEMS_SEARCH_ALL_NODES, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_semaphore_ident will illegal name (local)"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_ident - global RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_ident( 100, 1, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_semaphore_ident will illegal name (global)"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_ident - local RTEMS_INVALID_NAME" );
|
|
||||||
}
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
/* Screen6
|
|
||||||
*
|
|
||||||
* This routine generates error screen 6 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen6()
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_semaphore_obtain(
|
|
||||||
100,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
RTEMS_NO_TIMEOUT
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_semaphore_obtain with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_obtain - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_obtain(
|
|
||||||
Semaphore_id[ 1 ],
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
RTEMS_NO_TIMEOUT
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_semaphore_obtain successful" );
|
|
||||||
puts( "TA1 - rtems_semaphore_obtain - got sem 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_obtain(
|
|
||||||
Semaphore_id[ 1 ],
|
|
||||||
RTEMS_NO_WAIT,
|
|
||||||
RTEMS_NO_TIMEOUT
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_semaphore_obtain not available"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_obtain - RTEMS_UNSATISFIED" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_semaphore_obtain - timeout in 3 seconds" );
|
|
||||||
status = rtems_semaphore_obtain(
|
|
||||||
Semaphore_id[ 1 ],
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
3 * TICKS_PER_SECOND
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TIMEOUT,
|
|
||||||
"rtems_semaphore_obtain timeout"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_obtain - woke up with RTEMS_TIMEOUT" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_release( Semaphore_id[ 2 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_OWNER_OF_RESOURCE,
|
|
||||||
"rtems_semaphore_release and not owner"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_release - RTEMS_NOT_OWNER_OF_RESOURCE" );
|
|
||||||
|
|
||||||
status = rtems_semaphore_release( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_semaphore_release with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_semaphore_release - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA2" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
directive_failed( status, "rtems_task_wake_after (yield)" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_semaphore_delete - delete sem 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_semaphore_delete( Semaphore_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_semaphore_delete of SM1" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_semaphore_obtain - binary semaphore" );
|
|
||||||
status = rtems_semaphore_obtain(
|
|
||||||
Semaphore_id[ 2 ],
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
RTEMS_NO_TIMEOUT
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_semaphore_obtain");
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_semaphore_delete - delete sem 2 - RTEMS_RESOURCE_IN_USE" );
|
|
||||||
status = rtems_semaphore_delete( Semaphore_id[ 2 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_RESOURCE_IN_USE,
|
|
||||||
"rtems_semaphore_delete of SM2"
|
|
||||||
);
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
directive_failed( status, "rtems_task_wake_after (yield)" );
|
|
||||||
|
|
||||||
status = rtems_task_delete( Task_id[ 2 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_task_delete after the task has been deleted"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,208 +0,0 @@
|
|||||||
/* Screen7
|
|
||||||
*
|
|
||||||
* This routine generates error screen 7 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
#define MESSAGE_SIZE (sizeof(long) * 4)
|
|
||||||
|
|
||||||
void Screen7()
|
|
||||||
{
|
|
||||||
long buffer[ 4 ];
|
|
||||||
rtems_unsigned32 size;
|
|
||||||
rtems_unsigned32 count;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_message_queue_broadcast( 100, buffer, MESSAGE_SIZE, &count );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_broadcast with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_broadcast - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
0,
|
|
||||||
3,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_message_queue_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_create - Q 1 - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The check for an object being global is only made if
|
|
||||||
* multiprocessing is enabled.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(RTEMS_MULTIPROCESSING)
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
Queue_name[ 1 ],
|
|
||||||
1,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_GLOBAL,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_MP_NOT_CONFIGURED,
|
|
||||||
"rtems_message_queue_create of mp not configured"
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
puts( "TA1 - rtems_message_queue_create - Q 1 - RTEMS_MP_NOT_CONFIGURED" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
Queue_name[ 1 ],
|
|
||||||
2,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Queue_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_message_queue_create successful" );
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
Queue_name[ 2 ],
|
|
||||||
1,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_message_queue_create of too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_create - Q 2 - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_create with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_delete - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_delete( 0x10100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_delete with local illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_delete - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_ident( 100, RTEMS_SEARCH_ALL_NODES, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_message_queue_ident with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_ident - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_get_number_pending( 100, &count );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_get_number_pending with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_get_number_pending - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_flush( 100, &count );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_flush with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_flush - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_receive(
|
|
||||||
100,
|
|
||||||
(long (*)[4]) buffer,
|
|
||||||
&size,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_receive wit illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_receive - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_receive(
|
|
||||||
Queue_id[ 1 ],
|
|
||||||
(long (*)[4]) buffer,
|
|
||||||
&size,
|
|
||||||
RTEMS_NO_WAIT,
|
|
||||||
RTEMS_NO_TIMEOUT
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_message_queue_receive unsatisfied"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_receive - Q 1 - RTEMS_UNSATISFIED" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_message_queue_receive - Q 1 - timeout in 3 seconds" );
|
|
||||||
status = rtems_message_queue_receive(
|
|
||||||
Queue_id[ 1 ],
|
|
||||||
(long (*)[4]) buffer,
|
|
||||||
&size,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
3 * TICKS_PER_SECOND
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TIMEOUT,
|
|
||||||
"rtems_message_queue_receive 3 second timeout"
|
|
||||||
);
|
|
||||||
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_message_queue_receive - Q 1 - woke up with RTEMS_TIMEOUT"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( 100, buffer, MESSAGE_SIZE );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_message_queue_send with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_send - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_message_queue_send too many to a limited queue"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_TOO_MANY" );
|
|
||||||
}
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
/* Screen8
|
|
||||||
*
|
|
||||||
* This routine generates error screen 8 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
#define MESSAGE_SIZE (sizeof(long) * 4)
|
|
||||||
|
|
||||||
void Screen8()
|
|
||||||
{
|
|
||||||
long buffer[ 4 ];
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_message_queue_delete( Queue_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_message_queue_delete successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
Queue_name[ 1 ],
|
|
||||||
2,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Queue_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_message_queue_create successful" );
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_message_queue_create - Q 1 - 2 DEEP - RTEMS_SUCCESSFUL"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_message_queue_send too many to limited queue"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_delete( Queue_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_message_queue_delete successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
Queue_name[ 1 ],
|
|
||||||
3,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Queue_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_message_queue_create successful" );
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_message_queue_create - Q 1 - 3 DEEP - RTEMS_SUCCESSFUL"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
directive_failed( status, "rtems_message_queue_send successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_message_queue_send too many to limited queue"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_message_queue_send - BUFFER 4 TO Q 1 - RTEMS_TOO_MANY"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_message_queue_delete( Queue_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_message_queue_delete successful" );
|
|
||||||
puts( "TA1 - rtems_message_queue_delete - Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_message_queue_create(
|
|
||||||
Queue_name[ 1 ],
|
|
||||||
3,
|
|
||||||
MESSAGE_SIZE,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Queue_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_message_queue_create successful" );
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_message_queue_create - Q 1 - 3 DEEP - RTEMS_SUCCESSFUL"
|
|
||||||
);
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_start - start TA3 - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA3" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
directive_failed( status, "rtems_task_wake_after (yield)" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_message_queue_delete - delete Q 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_message_queue_delete( Queue_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_message_queue_delete successful" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL" );
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
directive_failed( status, "rtems_task_wake_after (yield)" );
|
|
||||||
}
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
/* Screen9
|
|
||||||
*
|
|
||||||
* This routine generates error screen 9 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen9()
|
|
||||||
{
|
|
||||||
void *converted;
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_isr_entry old_service_routine;
|
|
||||||
|
|
||||||
status = rtems_interrupt_catch(
|
|
||||||
Service_routine,
|
|
||||||
ISR_INTERRUPT_MAXIMUM_VECTOR_NUMBER + 10,
|
|
||||||
&old_service_routine
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_interrupt_catch with invalid vector"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_interrupt_catch - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_interrupt_catch - bad handler RTEMS_INVALID_ADDRESS -- SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_interrupt_catch( NULL, 3, &old_service_routine );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_interrupt_catch with invalid handler"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_interrupt_catch - bad handler RTEMS_INVALID_ADDRESS" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_interrupt_catch - old isr RTEMS_INVALID_ADDRESS - SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_interrupt_catch( Service_routine, 3, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_interrupt_catch with invalid old isr pointer"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_interrupt_catch - old isr RTEMS_INVALID_ADDRESS" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
status = rtems_signal_send( 100, RTEMS_SIGNAL_1 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_signal_send with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_signal_send - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_signal_send( RTEMS_SELF, RTEMS_SIGNAL_16 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_signal_send with no handler"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_signal_send - RTEMS_NOT_DEFINED" );
|
|
||||||
|
|
||||||
status = rtems_port_create(
|
|
||||||
0,
|
|
||||||
Internal_port_area,
|
|
||||||
External_port_area,
|
|
||||||
sizeof( Internal_port_area ),
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_port_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_port_create - RTEMS_INVALID_ADDRESS - SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_port_create(
|
|
||||||
Port_name[ 1 ],
|
|
||||||
&((char *)Internal_port_area)[ 1 ],
|
|
||||||
External_port_area,
|
|
||||||
sizeof( Internal_port_area ),
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_port_create with illegal address"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_create - RTEMS_INVALID_ADDRESS" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
status = rtems_port_create(
|
|
||||||
Port_name[ 1 ],
|
|
||||||
Internal_port_area,
|
|
||||||
External_port_area,
|
|
||||||
sizeof( Internal_port_area ),
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_port_create of too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_create - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_port_delete( 0 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_port_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_delete - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_port_ident( 0, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_port_ident with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_ident - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_port_external_to_internal(
|
|
||||||
100,
|
|
||||||
Internal_port_area,
|
|
||||||
&converted
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_port_external_to_internal with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_external_to_internal - RTEMS_INVALID_ID" );
|
|
||||||
status = rtems_port_internal_to_external(
|
|
||||||
100,
|
|
||||||
Internal_port_area,
|
|
||||||
&converted
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_port_internal_to_external with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_port_internal_to_external - RTEMS_INVALID_ID" );
|
|
||||||
}
|
|
||||||
@@ -1,163 +0,0 @@
|
|||||||
/* Screen10
|
|
||||||
*
|
|
||||||
* This routine generates error screen 10 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen10()
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_create( 0, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_rate_monotonic_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_create( Period_name[ 1 ], &Period_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_rate_monotonic_create successful" );
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_create - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_create( Period_name[ 1 ], &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_rate_monotonic_create of too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_create - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_ident( 0, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_rate_monotonic_ident with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_ident - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( 100, 5 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_rate_monotonic_period with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_period - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( 0x10100, 5 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_rate_monotonic_period with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_period - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( Period_id[ 1 ], RTEMS_PERIOD_STATUS );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_rate_monotonic_period status not defined"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_NOT_DEFINED"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( Period_id[ 1 ], 100 );
|
|
||||||
directive_failed( status, "rtems_rate_monotonic_period successful" );
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_period - 100 ticks - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( Period_id[ 1 ], RTEMS_PERIOD_STATUS );
|
|
||||||
directive_failed( status, "rtems_rate_monotonic_period status" );
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_SUCCESSFUL"
|
|
||||||
);
|
|
||||||
|
|
||||||
while ( FOREVER ) {
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period(Period_id[ 1 ], RTEMS_PERIOD_STATUS);
|
|
||||||
|
|
||||||
if ( status == RTEMS_TIMEOUT ) break;
|
|
||||||
|
|
||||||
directive_failed(
|
|
||||||
status,
|
|
||||||
"rtems_rate_monotonic_period waiting for timeout"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_rate_monotonic_period(RTEMS_PERIOD_STATUS) - RTEMS_TIMEOUT"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_cancel( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_rate_monotonic_cancel with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_cancel - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_cancel( 0x10100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_rate_monotonic_cancel will illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_cancel - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_cancel( Period_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_rate_monotonic_cancel" );
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_cancel - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( Period_id[ 1 ], 5 );
|
|
||||||
directive_failed( status, "rtems_rate_monotonic_period restart" );
|
|
||||||
|
|
||||||
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
|
|
||||||
directive_failed( status, "rtems_task_wake_after" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_period( Period_id[ 1 ], 5 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TIMEOUT,
|
|
||||||
"rtems_rate_monotonic_period"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_period - 5 ticks - RTEMS_TIMEOUT" );
|
|
||||||
|
|
||||||
status = rtems_task_start( Task_id[ 4 ], Task_4, 0 );
|
|
||||||
directive_failed( status, "rtems_task_start of TA4" );
|
|
||||||
|
|
||||||
puts( "TA1 - yielding to TA4" );
|
|
||||||
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_rate_monotonic_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_delete - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_delete( 0x10100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_rate_monotonic_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_delete - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_rate_monotonic_delete( Period_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_rate_monotonic_delete" );
|
|
||||||
puts( "TA1 - rtems_rate_monotonic_delete - RTEMS_SUCCESSFUL" );
|
|
||||||
}
|
|
||||||
@@ -1,264 +0,0 @@
|
|||||||
/* Screen11
|
|
||||||
*
|
|
||||||
* This routine generates error screen 11 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen11()
|
|
||||||
{
|
|
||||||
void *buffer_address_1;
|
|
||||||
void *buffer_address_2;
|
|
||||||
void *buffer_address_3;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_partition_create(
|
|
||||||
0,
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
40,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_partition_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
0,
|
|
||||||
80,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_partition_create with illegal length"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_create - length - RTEMS_INVALID_SIZE" );
|
|
||||||
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
0,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_partition_create with illegal buffer size"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_create - buffer size - RTEMS_INVALID_SIZE" );
|
|
||||||
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
256,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_partition_create with buffer_size > length"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_partition_create - length < buffer size - RTEMS_INVALID_SIZE"
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The check for an object being global is only made if
|
|
||||||
* multiprocessing is enabled.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#if defined(RTEMS_MULTIPROCESSING)
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
64,
|
|
||||||
RTEMS_GLOBAL,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_MP_NOT_CONFIGURED,
|
|
||||||
"rtems_partition_create of global"
|
|
||||||
);
|
|
||||||
#endif
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_MP_NOT_CONFIGURED" );
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS - SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_bad_area,
|
|
||||||
128,
|
|
||||||
64,
|
|
||||||
RTEMS_GLOBAL,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_partition_create with bad address"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_INVALID_ADDRESS" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_INVALID_SIZE - SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
34,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_partition_create with unaligned buffer_size"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_INVALID_SIZE" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
status = rtems_partition_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_partition_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_delete - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_partition_delete( 0x10100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_partition_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_delete - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_partition_get_buffer( 100, &buffer_address_1 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_partition_get_buffer with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_get_buffer - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_partition_ident( 0, RTEMS_SEARCH_ALL_NODES, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_partition_ident with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_ident - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_partition_return_buffer( 100, buffer_address_1 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_partition_return_buffer with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
64,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Partition_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_partition_create" );
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_partition_create(
|
|
||||||
Partition_name[ 1 ],
|
|
||||||
Partition_good_area,
|
|
||||||
128,
|
|
||||||
32,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_partition_create of too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_create - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_1 );
|
|
||||||
directive_failed( status, "rtems_partition_get_buffer");
|
|
||||||
puts( "TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_2 );
|
|
||||||
directive_failed( status, "rtems_partition_get_buffer" );
|
|
||||||
puts( "TA1 - rtems_partition_get_buffer - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_partition_get_buffer( Partition_id[ 1 ], &buffer_address_3 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_partition_get_buffer unsatisfied"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_get_buffer - RTEMS_UNSATISFIED" );
|
|
||||||
|
|
||||||
status = rtems_partition_delete( Partition_id[ 1 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_RESOURCE_IN_USE,
|
|
||||||
"rtems_partition_delete with buffers in use"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_partition_delete - RTEMS_RESOURCE_IN_USE" );
|
|
||||||
|
|
||||||
status = rtems_partition_return_buffer(
|
|
||||||
Partition_id[ 1 ],
|
|
||||||
Region_good_area /* NOTE: Region Memory */
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_partition_return_buffer with buffer address out of partition"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_partition_return_buffer - RTEMS_INVALID_ADDRESS - out of range"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_partition_return_buffer(
|
|
||||||
Partition_id[ 1 ],
|
|
||||||
&Partition_good_area[ 7 ]
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_partition_return_buffer with buffer address not on boundary"
|
|
||||||
);
|
|
||||||
puts_nocr( "TA1 - rtems_partition_return_buffer - " );
|
|
||||||
puts ( "RTEMS_INVALID_ADDRESS - not on boundary");
|
|
||||||
}
|
|
||||||
@@ -1,344 +0,0 @@
|
|||||||
/* Screen12
|
|
||||||
*
|
|
||||||
* This routine generates error screen 12 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen12()
|
|
||||||
{
|
|
||||||
void *segment_address_1;
|
|
||||||
void *segment_address_2;
|
|
||||||
void *segment_address_3;
|
|
||||||
rtems_unsigned32 offset;
|
|
||||||
rtems_unsigned32 good_front_flag;
|
|
||||||
rtems_unsigned32 good_back_flag;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_region_create(
|
|
||||||
0,
|
|
||||||
Region_good_area,
|
|
||||||
0x40,
|
|
||||||
32,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_region_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS - SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_region_create(
|
|
||||||
Region_name[ 1 ],
|
|
||||||
Region_bad_area,
|
|
||||||
0x40,
|
|
||||||
32,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_region_create with illegal address"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_INVALID_ADDRESS" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(_C3x) || defined(_C4x)
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_INVALID_SIZE - SKIPPED" );
|
|
||||||
#else
|
|
||||||
status = rtems_region_create(
|
|
||||||
Region_name[ 1 ],
|
|
||||||
Region_good_area,
|
|
||||||
0x40,
|
|
||||||
34,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_region_create with illegal size"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_INVALID_SIZE" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
status = rtems_region_create(
|
|
||||||
Region_name[ 1 ],
|
|
||||||
&Region_good_area[ REGION_START_OFFSET ],
|
|
||||||
REGION_LENGTH,
|
|
||||||
0x40,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Region_id[ 1 ]
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_region_create" );
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_region_create(
|
|
||||||
Region_name[ 1 ],
|
|
||||||
Region_good_area,
|
|
||||||
REGION_LENGTH,
|
|
||||||
0x40,
|
|
||||||
RTEMS_DEFAULT_ATTRIBUTES,
|
|
||||||
&Junk_id
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_region_create of too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_create - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_region_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_region_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_delete - unknown RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_region_delete( 0x10100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_region_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_delete - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_region_ident( 0, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_region_ident with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_ident - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_region_get_segment(
|
|
||||||
100,
|
|
||||||
0x40,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
RTEMS_NO_TIMEOUT,
|
|
||||||
&segment_address_1
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_region_get_segment with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_get_segment - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_region_get_segment(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
sizeof( Region_good_area ) * 2,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
RTEMS_NO_TIMEOUT,
|
|
||||||
&segment_address_1
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_SIZE,
|
|
||||||
"rtems_region_get_segment with illegal size"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_get_segment - RTEMS_INVALID_SIZE" );
|
|
||||||
|
|
||||||
status = rtems_region_get_segment(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
384,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
RTEMS_NO_TIMEOUT,
|
|
||||||
&segment_address_1
|
|
||||||
);
|
|
||||||
directive_failed( status, "rtems_region_get_segment" );
|
|
||||||
puts( "TA1 - rtems_region_get_segment - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_region_get_segment(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
REGION_LENGTH / 2,
|
|
||||||
RTEMS_NO_WAIT,
|
|
||||||
RTEMS_NO_TIMEOUT,
|
|
||||||
&segment_address_2
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_UNSATISFIED,
|
|
||||||
"rtems_region_get_segment unsatisfied"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_get_segment - RTEMS_UNSATISFIED" );
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_region_get_segment - timeout in 3 seconds" );
|
|
||||||
status = rtems_region_get_segment(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
128,
|
|
||||||
RTEMS_DEFAULT_OPTIONS,
|
|
||||||
3 * TICKS_PER_SECOND,
|
|
||||||
&segment_address_3
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TIMEOUT,
|
|
||||||
"rtems_region_get_segment timeout"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_get_segment - woke up with RTEMS_TIMEOUT" );
|
|
||||||
|
|
||||||
status = rtems_region_delete( Region_id[ 1 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_RESOURCE_IN_USE,
|
|
||||||
"rtems_region_delete with buffers in use"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_delete - RTEMS_RESOURCE_IN_USE" );
|
|
||||||
|
|
||||||
status = rtems_region_return_segment( 100, segment_address_1 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_region_return_segment with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_return_segment - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_region_return_segment( Region_id[ 1 ], Region_good_area );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_region_return_segment with illegal segment"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_return_segment - RTEMS_INVALID_ADDRESS" );
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The following generate internal heap errors. Thus this code
|
|
||||||
* is subject to change if the heap code changes.
|
|
||||||
*/
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_debug_disable - RTEMS_DEBUG_REGION" );
|
|
||||||
rtems_debug_disable( RTEMS_DEBUG_REGION );
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
|
|
||||||
offset = (segment_address_1 - (void *)Region_good_area) / 4;
|
|
||||||
|
|
||||||
/* bad FRONT_FLAG error */
|
|
||||||
|
|
||||||
good_front_flag = Region_good_area[ offset - 1 ];
|
|
||||||
Region_good_area[ offset - 1 ] = good_front_flag + 2;
|
|
||||||
|
|
||||||
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_1 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_region_return_segment with back_flag != front_flag"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_return_segment - RTEMS_INVALID_ADDRESS" );
|
|
||||||
|
|
||||||
Region_good_area[ offset - 1 ] = good_front_flag;
|
|
||||||
|
|
||||||
/* bad FRONT_FLAG error */
|
|
||||||
|
|
||||||
good_back_flag = Region_good_area[ offset - 2 ];
|
|
||||||
Region_good_area[ offset - 2 ] = 1024;
|
|
||||||
|
|
||||||
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_1 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_region_return_segment with back_flag != front_flag"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_return_segment - RTEMS_INVALID_ADDRESS" );
|
|
||||||
|
|
||||||
Region_good_area[ offset - 2 ] = good_back_flag;
|
|
||||||
|
|
||||||
#else
|
|
||||||
offset = 0;
|
|
||||||
good_front_flag = 0;
|
|
||||||
good_back_flag = 0;
|
|
||||||
puts( "TA1 - rtems_region_return_segment - RTEMS_INVALID_ADDRESS - SKIPPED" );
|
|
||||||
puts( "TA1 - rtems_region_return_segment - RTEMS_INVALID_ADDRESS - SKIPPED" );
|
|
||||||
#endif
|
|
||||||
|
|
||||||
puts( "TA1 - rtems_debug_enable - RTEMS_DEBUG_REGION" );
|
|
||||||
rtems_debug_enable( RTEMS_DEBUG_REGION );
|
|
||||||
|
|
||||||
status = rtems_region_extend(
|
|
||||||
100,
|
|
||||||
Region_good_area,
|
|
||||||
128
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_region_extend with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_extend - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_region_extend(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
&Region_good_area[ REGION_START_OFFSET + 16 ],
|
|
||||||
128
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ADDRESS,
|
|
||||||
"rtems_region_extend with illegal starting address"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_region_extend - within heap - RTEMS_INVALID_ADDRESS" );
|
|
||||||
|
|
||||||
status = rtems_region_extend(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
Region_bad_area,
|
|
||||||
128
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_IMPLEMENTED,
|
|
||||||
"rtems_region_extend with unsupported starting address"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_region_extend - non-contiguous lower - RTEMS_NOT_IMPLEMENTED"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_region_extend(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
&Region_good_area[ REGION_START_OFFSET - REGION_LENGTH ],
|
|
||||||
128
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_IMPLEMENTED,
|
|
||||||
"rtems_region_extend with unsupported starting address"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_region_extend - contiguous lower - RTEMS_NOT_IMPLEMENTED"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_region_extend(
|
|
||||||
Region_id[ 1 ],
|
|
||||||
&Region_good_area[ REGION_START_OFFSET + REGION_LENGTH + 16 ],
|
|
||||||
128
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_IMPLEMENTED,
|
|
||||||
"rtems_region_extend with unsupported starting address"
|
|
||||||
);
|
|
||||||
puts(
|
|
||||||
"TA1 - rtems_region_extend - non-contiguous higher - RTEMS_NOT_IMPLEMENTED"
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,113 +0,0 @@
|
|||||||
/* Screen13
|
|
||||||
*
|
|
||||||
* This routine generates error screen 13 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen13()
|
|
||||||
{
|
|
||||||
rtems_time_of_day time;
|
|
||||||
rtems_status_code status;
|
|
||||||
|
|
||||||
status = rtems_io_close( 0xffff, 0x0000, NULL);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_io_close with bad major number"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_io_close - RTEMS_INVALID_NUMBER" );
|
|
||||||
status = rtems_io_control( 0xffff, 0x00000, NULL);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_io_close with bad major number"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_io_control - RTEMS_INVALID_NUMBER" );
|
|
||||||
status = rtems_io_initialize( 0xffff, 0x00000, NULL);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_io_initialize with bad major number"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_io_initialize - RTEMS_INVALID_NUMBER" );
|
|
||||||
status = rtems_io_open( 0xffff, 0x00000, NULL);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_io_open with bad major number"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_io_open - RTEMS_INVALID_NUMBER" );
|
|
||||||
status = rtems_io_read( 0xffff, 0x00000, NULL);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_io_read with bad major number"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_io_read - RTEMS_INVALID_NUMBER" );
|
|
||||||
status = rtems_io_write( 0xffff, 0x0ffff, NULL);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_io_write with bad major number"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_io_write - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 2000, 23, 59, 59, 0 );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 1999, 23, 59, 59, 0 );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 2100, 23, 59, 59, 0 );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 2099, 23, 59, 59, 0 );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 1991, 23, 59, 59, 0 );
|
|
||||||
status = rtems_clock_set( &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_set - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, " - RTEMS_SUCCESSFUL\n" );
|
|
||||||
}
|
|
||||||
@@ -1,245 +0,0 @@
|
|||||||
/* Screen14
|
|
||||||
*
|
|
||||||
* This routine generates error screen 14 for test 9.
|
|
||||||
*
|
|
||||||
* Input parameters: NONE
|
|
||||||
*
|
|
||||||
* Output parameters: NONE
|
|
||||||
*
|
|
||||||
* COPYRIGHT (c) 1989-1999.
|
|
||||||
* On-Line Applications Research Corporation (OAR).
|
|
||||||
*
|
|
||||||
* The license and distribution terms for this file may be
|
|
||||||
* found in the file LICENSE in this distribution or at
|
|
||||||
* http://www.rtems.com/license/LICENSE.
|
|
||||||
*
|
|
||||||
* $Id$
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "system.h"
|
|
||||||
|
|
||||||
void Screen14()
|
|
||||||
{
|
|
||||||
rtems_status_code status;
|
|
||||||
rtems_time_of_day time;
|
|
||||||
|
|
||||||
status = rtems_timer_create( 0, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_timer_create with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_create - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_timer_create( Timer_name[ 1 ], &Timer_id[ 1 ] );
|
|
||||||
directive_failed( status, "rtems_timer_create" );
|
|
||||||
puts( "TA1 - rtems_timer_create - 1 - RTEMS_SUCCESSFUL" );
|
|
||||||
|
|
||||||
status = rtems_timer_create( 2, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_TOO_MANY,
|
|
||||||
"rtems_timer_create for too many"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_create - 2 - RTEMS_TOO_MANY" );
|
|
||||||
|
|
||||||
status = rtems_timer_delete( 100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_delete - local RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_timer_delete( 0x010100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_delete with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_delete - global RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_timer_ident( 0, &Junk_id );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NAME,
|
|
||||||
"rtems_timer_ident with illegal name"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_ident - RTEMS_INVALID_NAME" );
|
|
||||||
|
|
||||||
status = rtems_timer_cancel( 0x010100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_cancel with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_cancel - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_timer_reset( 0x010100 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_reset with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_reset - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_timer_reset( Timer_id[ 1 ] );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_NOT_DEFINED,
|
|
||||||
"rtems_timer_reset before initiated"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_reset - RTEMS_NOT_DEFINED" );
|
|
||||||
|
|
||||||
status = rtems_timer_fire_after(
|
|
||||||
0x010100,
|
|
||||||
5 * TICKS_PER_SECOND,
|
|
||||||
Delayed_routine,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_fire_after illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_fire_after - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 1994, 9, 0, 0, 0 );
|
|
||||||
status = rtems_timer_fire_when( 0x010100, &time, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_fire_when with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_fire_when - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_timer_fire_after( Timer_id[ 1 ], 0, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_timer_fire_after with 0 ticks"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_fire_after - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1987, 8, 30, 45, 0 );
|
|
||||||
status = rtems_timer_fire_when( Timer_id[ 1 ], &time, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_timer_fire_when with illegal time"
|
|
||||||
);
|
|
||||||
print_time(
|
|
||||||
"TA1 - rtems_timer_fire_when - ",
|
|
||||||
&time,
|
|
||||||
" - RTEMS_INVALID_CLOCK\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, "\n" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1990, 8, 30, 45, 0 );
|
|
||||||
status = rtems_timer_fire_when( Timer_id[ 1 ], &time, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_timer_fire_when before current time"
|
|
||||||
);
|
|
||||||
print_time(
|
|
||||||
"TA1 - rtems_timer_fire_when - ",
|
|
||||||
&time,
|
|
||||||
" - before RTEMS_INVALID_CLOCK\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
/* timer server interface routines */
|
|
||||||
|
|
||||||
status = rtems_timer_server_fire_after( 0, 5, NULL, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INCORRECT_STATE,
|
|
||||||
"rtems_timer_server_fire_after incorrect state"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_server_fire_after - RTEMS_INCORRECT_STATE" );
|
|
||||||
|
|
||||||
status = rtems_timer_server_fire_when( 0, &time, NULL, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INCORRECT_STATE,
|
|
||||||
"rtems_timer_server_fire_when incorrect state"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_server_fire_when - RTEMS_INCORRECT_STATE" );
|
|
||||||
|
|
||||||
status =
|
|
||||||
rtems_timer_initiate_server( 0, 0, 0 );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_PRIORITY,
|
|
||||||
"rtems_timer_initiate_server invalid priority"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_initiate_server - RTEMS_INVALID_PRIORITY" );
|
|
||||||
|
|
||||||
status =
|
|
||||||
rtems_timer_initiate_server( RTEMS_TIMER_SERVER_DEFAULT_PRIORITY, 0, 0 );
|
|
||||||
directive_failed( status, "rtems_timer_initiate_server" );
|
|
||||||
puts( "TA1 - rtems_timer_initiate_server" );
|
|
||||||
|
|
||||||
status = rtems_timer_server_fire_after(
|
|
||||||
0x010100,
|
|
||||||
5 * TICKS_PER_SECOND,
|
|
||||||
Delayed_routine,
|
|
||||||
NULL
|
|
||||||
);
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_server_fire_after illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_server_fire_after - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
build_time( &time, 12, 31, 1994, 9, 0, 0, 0 );
|
|
||||||
status = rtems_timer_server_fire_when( 0x010100, &time, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_ID,
|
|
||||||
"rtems_timer_server_fire_when with illegal id"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_server_fire_when - RTEMS_INVALID_ID" );
|
|
||||||
|
|
||||||
status = rtems_timer_server_fire_after( Timer_id[ 1 ], 0, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_NUMBER,
|
|
||||||
"rtems_timer_server_fire_after with 0 ticks"
|
|
||||||
);
|
|
||||||
puts( "TA1 - rtems_timer_server_fire_after - RTEMS_INVALID_NUMBER" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1987, 8, 30, 45, 0 );
|
|
||||||
status = rtems_timer_server_fire_when( Timer_id[ 1 ], &time, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_timer_server_fire_when with illegal time"
|
|
||||||
);
|
|
||||||
print_time(
|
|
||||||
"TA1 - rtems_timer_server_fire_when - ",
|
|
||||||
&time,
|
|
||||||
" - RTEMS_INVALID_CLOCK\n"
|
|
||||||
);
|
|
||||||
|
|
||||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
|
||||||
directive_failed( status, "rtems_clock_set" );
|
|
||||||
print_time( "TA1 - rtems_clock_get - ", &time, "\n" );
|
|
||||||
|
|
||||||
build_time( &time, 2, 5, 1990, 8, 30, 45, 0 );
|
|
||||||
status = rtems_timer_server_fire_when( Timer_id[ 1 ], &time, Delayed_routine, NULL );
|
|
||||||
fatal_directive_status(
|
|
||||||
status,
|
|
||||||
RTEMS_INVALID_CLOCK,
|
|
||||||
"rtems_timer_server_fire_when before current time"
|
|
||||||
);
|
|
||||||
print_time(
|
|
||||||
"TA1 - rtems_timer_server_fire_when - ",
|
|
||||||
&time,
|
|
||||||
" - before RTEMS_INVALID_CLOCK\n"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# COPYRIGHT (c) 1989-1999.
|
|
||||||
# On-Line Applications Research Corporation (OAR).
|
|
||||||
#
|
|
||||||
# The license and distribution terms for this file may be
|
|
||||||
# found in the file LICENSE in this distribution or at
|
|
||||||
# http://www.rtems.com/license/LICENSE.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
This file describes the directives and concepts tested by this test set.
|
|
||||||
|
|
||||||
test set name: test9
|
|
||||||
|
|
||||||
directives:
|
|
||||||
ex_init, ex_start, tm_tick, i_return,
|
|
||||||
t_create,t_delete, t_getreg, t_ident, t_restart, t_resume, t_setpri,
|
|
||||||
t_setreg, t_start, t_suspend, tm_delete, tm_get,
|
|
||||||
tm_set, tm_wkafter, tm_wkwhen, ev_receive, ev_send, sm_create, sm_delete,
|
|
||||||
sm_ident, sm_p, sm_v, q_broadcast, q_create, q_delete, q_ident, q_receive,
|
|
||||||
q_send, q_urgent, as_catch, as_send, as_return, rn_create, rn_delete,
|
|
||||||
rn_getseg, rn_ident, rn_retseg, pt_create, pt_delete, pt_getbug, pt_ident,
|
|
||||||
pt_retbuf, de_close, de_cntrl, de_init, de_open, de_read, de_write
|
|
||||||
|
|
||||||
concepts:
|
|
||||||
|
|
||||||
a. Verifies all error codes returned by the executive in single
|
|
||||||
processor configurations.
|
|
||||||
|
|
||||||
b. Verifies error conditions in the following kernel routines or macros:
|
|
||||||
_Ck_date_time, _Expired, _Q_submit, _Get_mnodes, _Get_node,
|
|
||||||
_Free_mem, _Get_mem, _Valid_block, _Set_tcb, _Set_resource,
|
|
||||||
_In_range, _On_boundary
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user