Compare commits

...

52 Commits

Author SHA1 Message Date
cvs2git
6b5b5deffe This commit was manufactured by cvs2svn to create tag 'rtems-4-5-1-pre3'.
Sprout from rtems-4-5-branch 2002-01-30 20:04:25 UTC cvs2git <rtems-devel@rtems.org> 'This commit was manufactured by cvs2svn to create branch 'rtems-4-5-branch'.'
Cherrypick from rtems-4-5-branch 2001-08-30 19:12:24 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'changed version to 4.5.1-pre1':
    VERSION
    c/src/lib/libc/termios.c
Cherrypick from master 1999-03-31 23:21:19 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'Fixed paths to include files so this will build.':
    c/src/lib/libcpu/mips/clock/clock.S
Cherrypick from master 2002-01-22 17:38:37 UTC Joel Sherrill <joel.sherrill@OARcorp.com> '2002-01-21	Ralf Corsepius <corsepiu@faw.uni-ulm.de>':
    doc/.cvsignore
2002-01-30 20:04:26 +00:00
cvs2git
636ef9a103 This commit was manufactured by cvs2svn to create branch 'rtems-4-5-branch'.
Cherrypick from master 2002-01-30 20:04:24 UTC Joel Sherrill <joel.sherrill@OARcorp.com> 'fixing branch':
    doc/Makefile.am
2002-01-30 20:04:25 +00:00
Joel Sherrill
b09580859c changed version to 4.5.1-pre3 2001-11-29 17:13:22 +00:00
Joel Sherrill
09b3a2facd 2001-11-27 Joel Sherrill <joel@OARcorp.com>,
This was tracked as PR89.
	* inline/rtems/score/thread.inl, macros/rtems/score/thread.inl,
	src/threadclose.c: Do not reference FP context if the CPU does
	not have an FPU.
2001-11-28 01:21:16 +00:00
Joel Sherrill
f3dc8e62bc 2001-11-14 Till Straumann <strauman@SLAC.Stanford.EDU>
* new_exception_processing/cpu_asm.S: Support double or single
	precision context switches.  Note that doing a single precision
	context save/restore on a double precision PowerPC machine does not
	only result in rounding errors but also screws up the FPSCR register!
2001-11-15 16:32:46 +00:00
Joel Sherrill
21766bd609 2001-11-08 Jiri Gaisler <jiri@gaisler.com>
This fix is in response to test results reported by Jerry Needell
	<jerry.needell@unh.edu> for the SPARC/ERC32 and tracked as PR80.
	* erc32/include/bsp.h: TM27 was not running properly because the ERC32
	and LEON cannot nest interrupts at the same level.  The BSP test support
	had to be modified to support using two different interrupt sources.
	* tm27/task1.c: Account for overhead in starting and stopping
	the timer.
2001-11-08 14:15:47 +00:00
Joel Sherrill
1fd366130f 2001-11-07 Jennifer Averett <jennifer@OARcorp.com>
Reported by Ibragimov Ilya <ibr@oktet.ru> and tracked as PR49.
	*  src/imfs/imfs_directory.c: Do not calculate the offset twice.
2001-11-08 00:31:44 +00:00
Joel Sherrill
a637c087f4 2001-11-07 Jennifer Averett <jennifer@OARcorp.com>
Reported by Ibragimov Ilya <ibr@oktet.ru> and tracked as PR63.
	* libc/chdir.c: Check for search/execute permissions on chdir.
	This requires passing RTEMS_LIBIO_PERMS_SEARCH to
	rtems_filesystem_evaluate_path().
2001-11-08 00:00:01 +00:00
Joel Sherrill
3fe8f44b92 2001-11-07 Jennifer Averett <jennifer@OARcorp.com>
Reported by Ibragimov Ilya <ibr@oktet.ru> and tracked as PR63.
	* psxstat/test.c: Fix test ENOTDIR to correspond to chdir() change.
	Since we check permissions before evaluating enough to see if it
	a regular file or directory, this hack is needed to make the regular
	file executable.
2001-11-07 23:59:26 +00:00
Joel Sherrill
ec1e4f4f87 2001-11-07 Joel Sherrill <joel@OARcorp.com>
Tracked as PR72 but related to the object id problem (PR36)
	reported by Todor.Todorov@barco.com.
	* include/tmacros.h: Added fatal_directive_check_status_only().
2001-11-07 23:07:32 +00:00
Joel Sherrill
f883132802 2001-11-07 Joel Sherrill <joel@OARcorp.com>
Tracked as PR72 but related to the object id problem (PR36)
	reported by Todor.Todorov@barco.com.
	* mp03/delay.c: Dispatch disable level is actually 1 not 0.
	* mp13/system.h: Configure enough tasks (CONFIGURE_MAXIMUM_TASKS=3).
	* mp14/delay.c: Dispatch disable level may be arbitrarily > 0.
2001-11-07 23:05:07 +00:00
Joel Sherrill
410b18c1f3 2001-11-07 Joel Sherrill <joel@OARcorp.com>
Discovered while fixing PR36 reported by Todor.Todorov@barco.com.
	* include/rtems/itron/object.h: Corrected _ITRON_Objects_Get()
	to use _Objects_Get_by_index().
2001-11-07 22:55:57 +00:00
Joel Sherrill
7d573e9e15 2001-11-07 Joel Sherrill <joel@OARcorp.com>
* include/rtems/score/object.h: Added prototype for
	_Objects_Get_by_index().
	* src/objectget.c: Corrected procedure for getting index from Id so
	it is correct and optimal for both single and multiprocessor
	configurations.
2001-11-07 22:51:28 +00:00
Joel Sherrill
e7585ed517 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-11-01 23:09:04 +00:00
Joel Sherrill
2b1d6de02c 2001-11-01 Joel Sherrill <joel@OARcorp.com>
* rtems++/Makefile.am: Make sure debug variant of librtems++
	is linked against.  Reported by Jerry Needell <jerry.needell@unh.edu>
	and processed as PR78.
2001-11-01 17:58:45 +00:00
Joel Sherrill
7f62220428 changed version to 4.5.1-pre2 2001-10-16 20:54:30 +00:00
Joel Sherrill
7307d94354 2001-10-11 Mike Siers <mikes@poliac.com>
* libc/termios.c: Fixed a memory leak in the termios
	software.  Basically the tty open function was allocating an input
	raw buffer, an output raw buffer, and a cooked buffer that were
	not getting released.  I have attached a patch for the latest
	snapshot.  The patch also has a fix to ensure the tty link list
	is updated correctly when a tty is closed.
2001-10-16 20:52:57 +00:00
Joel Sherrill
fda1996850 2001-10-10 Joel Sherrill <joel@OARcorp.com>
* imfs_getchild.c: Correct length of static string
	as reported by Ibragimov Ilya <ibr@oktet.ru>.
2001-10-11 13:17:04 +00:00
Joel Sherrill
710b4e09b4 2001-09-28 Joel Sherrill <joel@OARcorp.com>
* src/clockgetres.c: Fixed math problem.  We are not converting
	an interval to a timespec -- it is actually a real number of
	microseconds.
2001-10-10 18:37:02 +00:00
Joel Sherrill
7ec48c0511 2001-10-08 Joel Sherrill <joel@OARcorp.com>
* custom/ods68302.cfg: Added BSP specific make-cxx-exe rule.
	* custom/rxgen960.cfg: Account for special start file.
2001-10-08 21:59:50 +00:00
Joel Sherrill
a0ef1069ca 2001-09-28 Joel Sherrill <joel@OARcorp.com>
* Generally add support for make-cxx-exe for all BSPs.
	* automake/leaf.am: New file.
	* aclocal/rtems-top.m4: Added ENDIF macro.
	* c/src/exec/score/include/rtems/score/Makefile.am,
	c/src/tests/itrontests/itronmbf01/Makefile.am,
	c/src/tests/itrontests/itronmbox01/Makefile.am,
	c/src/tests/itrontests/itronsem01/Makefile.am,
	c/src/tests/itrontests/itrontask01/Makefile.am,
	c/src/tests/itrontests/itrontask02/Makefile.am,
	c/src/tests/itrontests/itrontask03/Makefile.am,
	c/src/tests/itrontests/itrontask04/Makefile.am,
	c/src/tests/itrontests/itrontime01/Makefile.am,
	c/src/tests/libtests/cpuuse/Makefile.am,
	c/src/tests/libtests/malloctest/Makefile.am,
	c/src/tests/libtests/monitor/Makefile.am,
	c/src/tests/libtests/putenvtest/Makefile.am,
	c/src/tests/libtests/rtems++/Makefile.am,
	c/src/tests/libtests/rtmonuse/Makefile.am,
	c/src/tests/libtests/stackchk/Makefile.am,
	c/src/tests/libtests/termios/Makefile.am,
	c/src/tests/mptests/mp01/node1/Makefile.am,
	c/src/tests/mptests/mp01/node2/Makefile.am,
	c/src/tests/mptests/mp02/node1/Makefile.am,
	c/src/tests/mptests/mp02/node2/Makefile.am,
	c/src/tests/mptests/mp03/node1/Makefile.am,
	c/src/tests/mptests/mp03/node2/Makefile.am,
	c/src/tests/mptests/mp04/node1/Makefile.am,
	c/src/tests/mptests/mp04/node2/Makefile.am,
	c/src/tests/mptests/mp05/node1/Makefile.am,
	c/src/tests/mptests/mp05/node2/Makefile.am,
	c/src/tests/mptests/mp06/node1/Makefile.am,
	c/src/tests/mptests/mp06/node2/Makefile.am,
	c/src/tests/mptests/mp07/node1/Makefile.am,
	c/src/tests/mptests/mp07/node2/Makefile.am,
	c/src/tests/mptests/mp08/node1/Makefile.am,
	c/src/tests/mptests/mp08/node2/Makefile.am,
	c/src/tests/mptests/mp09/node1/Makefile.am,
	c/src/tests/mptests/mp09/node2/Makefile.am,
	c/src/tests/mptests/mp10/node1/Makefile.am,
	c/src/tests/mptests/mp10/node2/Makefile.am,
	c/src/tests/mptests/mp11/node1/Makefile.am,
	c/src/tests/mptests/mp11/node2/Makefile.am,
	c/src/tests/mptests/mp12/node1/Makefile.am,
	c/src/tests/mptests/mp12/node2/Makefile.am,
	c/src/tests/mptests/mp13/node1/Makefile.am,
	c/src/tests/mptests/mp13/node2/Makefile.am,
	c/src/tests/mptests/mp14/node1/Makefile.am,
	c/src/tests/mptests/mp14/node2/Makefile.am,
	c/src/tests/psxtests/psx01/Makefile.am,
	c/src/tests/psxtests/psx02/Makefile.am,
	c/src/tests/psxtests/psx03/Makefile.am,
	c/src/tests/psxtests/psx04/Makefile.am,
	c/src/tests/psxtests/psx05/Makefile.am,
	c/src/tests/psxtests/psx06/Makefile.am,
	c/src/tests/psxtests/psx07/Makefile.am,
	c/src/tests/psxtests/psx08/Makefile.am,
	c/src/tests/psxtests/psx09/Makefile.am,
	c/src/tests/psxtests/psx10/Makefile.am,
	c/src/tests/psxtests/psx11/Makefile.am,
	c/src/tests/psxtests/psx12/Makefile.am,
	c/src/tests/psxtests/psx13/Makefile.am,
	c/src/tests/psxtests/psxcancel/Makefile.am,
	c/src/tests/psxtests/psxfile01/Makefile.am,
	c/src/tests/psxtests/psxhdrs/Makefile.am,
	c/src/tests/psxtests/psxmount/Makefile.am,
	c/src/tests/psxtests/psxmsgq01/Makefile.am,
	c/src/tests/psxtests/psxreaddir/Makefile.am,
	c/src/tests/psxtests/psxsem01/Makefile.am,
	c/src/tests/psxtests/psxstat/Makefile.am,
	c/src/tests/psxtests/psxtime/Makefile.am,
	c/src/tests/psxtests/psxtimer/Makefile.am,
	c/src/tests/samples/base_mp/node1/Makefile.am,
	c/src/tests/samples/base_mp/node2/Makefile.am,
	c/src/tests/samples/base_sp/Makefile.am,
	c/src/tests/samples/cdtest/Makefile.am,
	c/src/tests/samples/hello/Makefile.am,
	c/src/tests/samples/minimum/Makefile.am,
	c/src/tests/samples/paranoia/Makefile.am,
	c/src/tests/samples/ticker/Makefile.am,
	c/src/tests/samples/unlimited/Makefile.am,
	c/src/tests/sptests/sp01/Makefile.am,
	c/src/tests/sptests/sp02/Makefile.am,
	c/src/tests/sptests/sp03/Makefile.am,
	c/src/tests/sptests/sp04/Makefile.am,
	c/src/tests/sptests/sp05/Makefile.am,
	c/src/tests/sptests/sp06/Makefile.am,
	c/src/tests/sptests/sp07/Makefile.am,
	c/src/tests/sptests/sp08/Makefile.am,
	c/src/tests/sptests/sp09/Makefile.am,
	c/src/tests/sptests/sp11/Makefile.am,
	c/src/tests/sptests/sp12/Makefile.am,
	c/src/tests/sptests/sp13/Makefile.am,
	c/src/tests/sptests/sp14/Makefile.am,
	c/src/tests/sptests/sp15/Makefile.am,
	c/src/tests/sptests/sp16/Makefile.am,
	c/src/tests/sptests/sp17/Makefile.am,
	c/src/tests/sptests/sp19/Makefile.am,
	c/src/tests/sptests/sp20/Makefile.am,
	c/src/tests/sptests/sp21/Makefile.am,
	c/src/tests/sptests/sp22/Makefile.am,
	c/src/tests/sptests/sp23/Makefile.am,
	c/src/tests/sptests/sp24/Makefile.am,
	c/src/tests/sptests/sp25/Makefile.am,
	c/src/tests/sptests/sp26/Makefile.am,
	c/src/tests/sptests/sp27/Makefile.am,
	c/src/tests/sptests/sp28/Makefile.am,
	c/src/tests/sptests/sp29/Makefile.am,
	c/src/tests/sptests/spfatal/Makefile.am,
	c/src/tests/sptests/spsize/Makefile.am,
	c/src/tests/support/stubdr/Makefile.am,
	c/src/tests/tmitrontests/tmitronsem01/Makefile.am,
	c/src/tests/tmtests/tm01/Makefile.am,
	c/src/tests/tmtests/tm02/Makefile.am,
	c/src/tests/tmtests/tm03/Makefile.am,
	c/src/tests/tmtests/tm04/Makefile.am,
	c/src/tests/tmtests/tm05/Makefile.am,
	c/src/tests/tmtests/tm06/Makefile.am,
	c/src/tests/tmtests/tm07/Makefile.am,
	c/src/tests/tmtests/tm08/Makefile.am,
	c/src/tests/tmtests/tm09/Makefile.am,
	c/src/tests/tmtests/tm10/Makefile.am,
	c/src/tests/tmtests/tm11/Makefile.am,
	c/src/tests/tmtests/tm12/Makefile.am,
	c/src/tests/tmtests/tm13/Makefile.am,
	c/src/tests/tmtests/tm14/Makefile.am,
	c/src/tests/tmtests/tm15/Makefile.am,
	c/src/tests/tmtests/tm16/Makefile.am,
	c/src/tests/tmtests/tm17/Makefile.am,
	c/src/tests/tmtests/tm18/Makefile.am,
	c/src/tests/tmtests/tm19/Makefile.am,
	c/src/tests/tmtests/tm20/Makefile.am,
	c/src/tests/tmtests/tm21/Makefile.am,
	c/src/tests/tmtests/tm22/Makefile.am,
	c/src/tests/tmtests/tm23/Makefile.am,
	c/src/tests/tmtests/tm24/Makefile.am,
	c/src/tests/tmtests/tm25/Makefile.am,
	c/src/tests/tmtests/tm26/Makefile.am,
	c/src/tests/tmtests/tm27/Makefile.am,
	c/src/tests/tmtests/tm28/Makefile.am,
	c/src/tests/tmtests/tm29/Makefile.am,
	c/src/tests/tmtests/tmck/Makefile.am,
	c/src/tests/tmtests/tmoverhd/Makefile.am: Use leaf.am instead of
	leaf.cfg.
2001-10-08 21:49:47 +00:00
Joel Sherrill
6343f19b5b 2001-09-28 Joel Sherrill <joel@OARcorp.com>
* Generally add support for make-cxx-exe for all BSPs.
	* automake/leaf.am: New file.
	* aclocal/rtems-top.m4: Added ENDIF macro.
	* c/src/exec/score/include/rtems/score/Makefile.am,
	c/src/tests/itrontests/itronmbf01/Makefile.am,
	c/src/tests/itrontests/itronmbox01/Makefile.am,
	c/src/tests/itrontests/itronsem01/Makefile.am,
	c/src/tests/itrontests/itrontask01/Makefile.am,
	c/src/tests/itrontests/itrontask02/Makefile.am,
	c/src/tests/itrontests/itrontask03/Makefile.am,
	c/src/tests/itrontests/itrontask04/Makefile.am,
	c/src/tests/itrontests/itrontime01/Makefile.am,
	c/src/tests/libtests/cpuuse/Makefile.am,
	c/src/tests/libtests/malloctest/Makefile.am,
	c/src/tests/libtests/monitor/Makefile.am,
	c/src/tests/libtests/putenvtest/Makefile.am,
	c/src/tests/libtests/rtems++/Makefile.am,
	c/src/tests/libtests/rtmonuse/Makefile.am,
	c/src/tests/libtests/stackchk/Makefile.am,
	c/src/tests/libtests/termios/Makefile.am,
	c/src/tests/mptests/mp01/node1/Makefile.am,
	c/src/tests/mptests/mp01/node2/Makefile.am,
	c/src/tests/mptests/mp02/node1/Makefile.am,
	c/src/tests/mptests/mp02/node2/Makefile.am,
	c/src/tests/mptests/mp03/node1/Makefile.am,
	c/src/tests/mptests/mp03/node2/Makefile.am,
	c/src/tests/mptests/mp04/node1/Makefile.am,
	c/src/tests/mptests/mp04/node2/Makefile.am,
	c/src/tests/mptests/mp05/node1/Makefile.am,
	c/src/tests/mptests/mp05/node2/Makefile.am,
	c/src/tests/mptests/mp06/node1/Makefile.am,
	c/src/tests/mptests/mp06/node2/Makefile.am,
	c/src/tests/mptests/mp07/node1/Makefile.am,
	c/src/tests/mptests/mp07/node2/Makefile.am,
	c/src/tests/mptests/mp08/node1/Makefile.am,
	c/src/tests/mptests/mp08/node2/Makefile.am,
	c/src/tests/mptests/mp09/node1/Makefile.am,
	c/src/tests/mptests/mp09/node2/Makefile.am,
	c/src/tests/mptests/mp10/node1/Makefile.am,
	c/src/tests/mptests/mp10/node2/Makefile.am,
	c/src/tests/mptests/mp11/node1/Makefile.am,
	c/src/tests/mptests/mp11/node2/Makefile.am,
	c/src/tests/mptests/mp12/node1/Makefile.am,
	c/src/tests/mptests/mp12/node2/Makefile.am,
	c/src/tests/mptests/mp13/node1/Makefile.am,
	c/src/tests/mptests/mp13/node2/Makefile.am,
	c/src/tests/mptests/mp14/node1/Makefile.am,
	c/src/tests/mptests/mp14/node2/Makefile.am,
	c/src/tests/psxtests/psx01/Makefile.am,
	c/src/tests/psxtests/psx02/Makefile.am,
	c/src/tests/psxtests/psx03/Makefile.am,
	c/src/tests/psxtests/psx04/Makefile.am,
	c/src/tests/psxtests/psx05/Makefile.am,
	c/src/tests/psxtests/psx06/Makefile.am,
	c/src/tests/psxtests/psx07/Makefile.am,
	c/src/tests/psxtests/psx08/Makefile.am,
	c/src/tests/psxtests/psx09/Makefile.am,
	c/src/tests/psxtests/psx10/Makefile.am,
	c/src/tests/psxtests/psx11/Makefile.am,
	c/src/tests/psxtests/psx12/Makefile.am,
	c/src/tests/psxtests/psx13/Makefile.am,
	c/src/tests/psxtests/psxcancel/Makefile.am,
	c/src/tests/psxtests/psxfile01/Makefile.am,
	c/src/tests/psxtests/psxhdrs/Makefile.am,
	c/src/tests/psxtests/psxmount/Makefile.am,
	c/src/tests/psxtests/psxmsgq01/Makefile.am,
	c/src/tests/psxtests/psxreaddir/Makefile.am,
	c/src/tests/psxtests/psxsem01/Makefile.am,
	c/src/tests/psxtests/psxstat/Makefile.am,
	c/src/tests/psxtests/psxtime/Makefile.am,
	c/src/tests/psxtests/psxtimer/Makefile.am,
	c/src/tests/samples/base_mp/node1/Makefile.am,
	c/src/tests/samples/base_mp/node2/Makefile.am,
	c/src/tests/samples/base_sp/Makefile.am,
	c/src/tests/samples/cdtest/Makefile.am,
	c/src/tests/samples/hello/Makefile.am,
	c/src/tests/samples/minimum/Makefile.am,
	c/src/tests/samples/paranoia/Makefile.am,
	c/src/tests/samples/ticker/Makefile.am,
	c/src/tests/samples/unlimited/Makefile.am,
	c/src/tests/sptests/sp01/Makefile.am,
	c/src/tests/sptests/sp02/Makefile.am,
	c/src/tests/sptests/sp03/Makefile.am,
	c/src/tests/sptests/sp04/Makefile.am,
	c/src/tests/sptests/sp05/Makefile.am,
	c/src/tests/sptests/sp06/Makefile.am,
	c/src/tests/sptests/sp07/Makefile.am,
	c/src/tests/sptests/sp08/Makefile.am,
	c/src/tests/sptests/sp09/Makefile.am,
	c/src/tests/sptests/sp11/Makefile.am,
	c/src/tests/sptests/sp12/Makefile.am,
	c/src/tests/sptests/sp13/Makefile.am,
	c/src/tests/sptests/sp14/Makefile.am,
	c/src/tests/sptests/sp15/Makefile.am,
	c/src/tests/sptests/sp16/Makefile.am,
	c/src/tests/sptests/sp17/Makefile.am,
	c/src/tests/sptests/sp19/Makefile.am,
	c/src/tests/sptests/sp20/Makefile.am,
	c/src/tests/sptests/sp21/Makefile.am,
	c/src/tests/sptests/sp22/Makefile.am,
	c/src/tests/sptests/sp23/Makefile.am,
	c/src/tests/sptests/sp24/Makefile.am,
	c/src/tests/sptests/sp25/Makefile.am,
	c/src/tests/sptests/sp26/Makefile.am,
	c/src/tests/sptests/sp27/Makefile.am,
	c/src/tests/sptests/sp28/Makefile.am,
	c/src/tests/sptests/sp29/Makefile.am,
	c/src/tests/sptests/spfatal/Makefile.am,
	c/src/tests/sptests/spsize/Makefile.am,
	c/src/tests/support/stubdr/Makefile.am,
	c/src/tests/tmitrontests/tmitronsem01/Makefile.am,
	c/src/tests/tmtests/tm01/Makefile.am,
	c/src/tests/tmtests/tm02/Makefile.am,
	c/src/tests/tmtests/tm03/Makefile.am,
	c/src/tests/tmtests/tm04/Makefile.am,
	c/src/tests/tmtests/tm05/Makefile.am,
	c/src/tests/tmtests/tm06/Makefile.am,
	c/src/tests/tmtests/tm07/Makefile.am,
	c/src/tests/tmtests/tm08/Makefile.am,
	c/src/tests/tmtests/tm09/Makefile.am,
	c/src/tests/tmtests/tm10/Makefile.am,
	c/src/tests/tmtests/tm11/Makefile.am,
	c/src/tests/tmtests/tm12/Makefile.am,
	c/src/tests/tmtests/tm13/Makefile.am,
	c/src/tests/tmtests/tm14/Makefile.am,
	c/src/tests/tmtests/tm15/Makefile.am,
	c/src/tests/tmtests/tm16/Makefile.am,
	c/src/tests/tmtests/tm17/Makefile.am,
	c/src/tests/tmtests/tm18/Makefile.am,
	c/src/tests/tmtests/tm19/Makefile.am,
	c/src/tests/tmtests/tm20/Makefile.am,
	c/src/tests/tmtests/tm21/Makefile.am,
	c/src/tests/tmtests/tm22/Makefile.am,
	c/src/tests/tmtests/tm23/Makefile.am,
	c/src/tests/tmtests/tm24/Makefile.am,
	c/src/tests/tmtests/tm25/Makefile.am,
	c/src/tests/tmtests/tm26/Makefile.am,
	c/src/tests/tmtests/tm27/Makefile.am,
	c/src/tests/tmtests/tm28/Makefile.am,
	c/src/tests/tmtests/tm29/Makefile.am,
	c/src/tests/tmtests/tmck/Makefile.am,
	c/src/tests/tmtests/tmoverhd/Makefile.am: Use leaf.am instead of
	leaf.cfg.
2001-10-08 21:23:01 +00:00
Joel Sherrill
b9adf9b180 2001-09-28 Joel Sherrill <joel@OARcorp.com>
* Generally add support for make-cxx-exe for all BSPs.
	* automake/leaf.am: New file.
	* aclocal/rtems-top.m4: Added ENDIF macro.
	* c/src/exec/score/include/rtems/score/Makefile.am,
	c/src/tests/itrontests/itronmbf01/Makefile.am,
	c/src/tests/itrontests/itronmbox01/Makefile.am,
	c/src/tests/itrontests/itronsem01/Makefile.am,
	c/src/tests/itrontests/itrontask01/Makefile.am,
	c/src/tests/itrontests/itrontask02/Makefile.am,
	c/src/tests/itrontests/itrontask03/Makefile.am,
	c/src/tests/itrontests/itrontask04/Makefile.am,
	c/src/tests/itrontests/itrontime01/Makefile.am,
	c/src/tests/libtests/cpuuse/Makefile.am,
	c/src/tests/libtests/malloctest/Makefile.am,
	c/src/tests/libtests/monitor/Makefile.am,
	c/src/tests/libtests/putenvtest/Makefile.am,
	c/src/tests/libtests/rtems++/Makefile.am,
	c/src/tests/libtests/rtmonuse/Makefile.am,
	c/src/tests/libtests/stackchk/Makefile.am,
	c/src/tests/libtests/termios/Makefile.am,
	c/src/tests/mptests/mp01/node1/Makefile.am,
	c/src/tests/mptests/mp01/node2/Makefile.am,
	c/src/tests/mptests/mp02/node1/Makefile.am,
	c/src/tests/mptests/mp02/node2/Makefile.am,
	c/src/tests/mptests/mp03/node1/Makefile.am,
	c/src/tests/mptests/mp03/node2/Makefile.am,
	c/src/tests/mptests/mp04/node1/Makefile.am,
	c/src/tests/mptests/mp04/node2/Makefile.am,
	c/src/tests/mptests/mp05/node1/Makefile.am,
	c/src/tests/mptests/mp05/node2/Makefile.am,
	c/src/tests/mptests/mp06/node1/Makefile.am,
	c/src/tests/mptests/mp06/node2/Makefile.am,
	c/src/tests/mptests/mp07/node1/Makefile.am,
	c/src/tests/mptests/mp07/node2/Makefile.am,
	c/src/tests/mptests/mp08/node1/Makefile.am,
	c/src/tests/mptests/mp08/node2/Makefile.am,
	c/src/tests/mptests/mp09/node1/Makefile.am,
	c/src/tests/mptests/mp09/node2/Makefile.am,
	c/src/tests/mptests/mp10/node1/Makefile.am,
	c/src/tests/mptests/mp10/node2/Makefile.am,
	c/src/tests/mptests/mp11/node1/Makefile.am,
	c/src/tests/mptests/mp11/node2/Makefile.am,
	c/src/tests/mptests/mp12/node1/Makefile.am,
	c/src/tests/mptests/mp12/node2/Makefile.am,
	c/src/tests/mptests/mp13/node1/Makefile.am,
	c/src/tests/mptests/mp13/node2/Makefile.am,
	c/src/tests/mptests/mp14/node1/Makefile.am,
	c/src/tests/mptests/mp14/node2/Makefile.am,
	c/src/tests/psxtests/psx01/Makefile.am,
	c/src/tests/psxtests/psx02/Makefile.am,
	c/src/tests/psxtests/psx03/Makefile.am,
	c/src/tests/psxtests/psx04/Makefile.am,
	c/src/tests/psxtests/psx05/Makefile.am,
	c/src/tests/psxtests/psx06/Makefile.am,
	c/src/tests/psxtests/psx07/Makefile.am,
	c/src/tests/psxtests/psx08/Makefile.am,
	c/src/tests/psxtests/psx09/Makefile.am,
	c/src/tests/psxtests/psx10/Makefile.am,
	c/src/tests/psxtests/psx11/Makefile.am,
	c/src/tests/psxtests/psx12/Makefile.am,
	c/src/tests/psxtests/psx13/Makefile.am,
	c/src/tests/psxtests/psxcancel/Makefile.am,
	c/src/tests/psxtests/psxfile01/Makefile.am,
	c/src/tests/psxtests/psxhdrs/Makefile.am,
	c/src/tests/psxtests/psxmount/Makefile.am,
	c/src/tests/psxtests/psxmsgq01/Makefile.am,
	c/src/tests/psxtests/psxreaddir/Makefile.am,
	c/src/tests/psxtests/psxsem01/Makefile.am,
	c/src/tests/psxtests/psxstat/Makefile.am,
	c/src/tests/psxtests/psxtime/Makefile.am,
	c/src/tests/psxtests/psxtimer/Makefile.am,
	c/src/tests/samples/base_mp/node1/Makefile.am,
	c/src/tests/samples/base_mp/node2/Makefile.am,
	c/src/tests/samples/base_sp/Makefile.am,
	c/src/tests/samples/cdtest/Makefile.am,
	c/src/tests/samples/hello/Makefile.am,
	c/src/tests/samples/minimum/Makefile.am,
	c/src/tests/samples/paranoia/Makefile.am,
	c/src/tests/samples/ticker/Makefile.am,
	c/src/tests/samples/unlimited/Makefile.am,
	c/src/tests/sptests/sp01/Makefile.am,
	c/src/tests/sptests/sp02/Makefile.am,
	c/src/tests/sptests/sp03/Makefile.am,
	c/src/tests/sptests/sp04/Makefile.am,
	c/src/tests/sptests/sp05/Makefile.am,
	c/src/tests/sptests/sp06/Makefile.am,
	c/src/tests/sptests/sp07/Makefile.am,
	c/src/tests/sptests/sp08/Makefile.am,
	c/src/tests/sptests/sp09/Makefile.am,
	c/src/tests/sptests/sp11/Makefile.am,
	c/src/tests/sptests/sp12/Makefile.am,
	c/src/tests/sptests/sp13/Makefile.am,
	c/src/tests/sptests/sp14/Makefile.am,
	c/src/tests/sptests/sp15/Makefile.am,
	c/src/tests/sptests/sp16/Makefile.am,
	c/src/tests/sptests/sp17/Makefile.am,
	c/src/tests/sptests/sp19/Makefile.am,
	c/src/tests/sptests/sp20/Makefile.am,
	c/src/tests/sptests/sp21/Makefile.am,
	c/src/tests/sptests/sp22/Makefile.am,
	c/src/tests/sptests/sp23/Makefile.am,
	c/src/tests/sptests/sp24/Makefile.am,
	c/src/tests/sptests/sp25/Makefile.am,
	c/src/tests/sptests/sp26/Makefile.am,
	c/src/tests/sptests/sp27/Makefile.am,
	c/src/tests/sptests/sp28/Makefile.am,
	c/src/tests/sptests/sp29/Makefile.am,
	c/src/tests/sptests/spfatal/Makefile.am,
	c/src/tests/sptests/spsize/Makefile.am,
	c/src/tests/support/stubdr/Makefile.am,
	c/src/tests/tmitrontests/tmitronsem01/Makefile.am,
	c/src/tests/tmtests/tm01/Makefile.am,
	c/src/tests/tmtests/tm02/Makefile.am,
	c/src/tests/tmtests/tm03/Makefile.am,
	c/src/tests/tmtests/tm04/Makefile.am,
	c/src/tests/tmtests/tm05/Makefile.am,
	c/src/tests/tmtests/tm06/Makefile.am,
	c/src/tests/tmtests/tm07/Makefile.am,
	c/src/tests/tmtests/tm08/Makefile.am,
	c/src/tests/tmtests/tm09/Makefile.am,
	c/src/tests/tmtests/tm10/Makefile.am,
	c/src/tests/tmtests/tm11/Makefile.am,
	c/src/tests/tmtests/tm12/Makefile.am,
	c/src/tests/tmtests/tm13/Makefile.am,
	c/src/tests/tmtests/tm14/Makefile.am,
	c/src/tests/tmtests/tm15/Makefile.am,
	c/src/tests/tmtests/tm16/Makefile.am,
	c/src/tests/tmtests/tm17/Makefile.am,
	c/src/tests/tmtests/tm18/Makefile.am,
	c/src/tests/tmtests/tm19/Makefile.am,
	c/src/tests/tmtests/tm20/Makefile.am,
	c/src/tests/tmtests/tm21/Makefile.am,
	c/src/tests/tmtests/tm22/Makefile.am,
	c/src/tests/tmtests/tm23/Makefile.am,
	c/src/tests/tmtests/tm24/Makefile.am,
	c/src/tests/tmtests/tm25/Makefile.am,
	c/src/tests/tmtests/tm26/Makefile.am,
	c/src/tests/tmtests/tm27/Makefile.am,
	c/src/tests/tmtests/tm28/Makefile.am,
	c/src/tests/tmtests/tm29/Makefile.am,
	c/src/tests/tmtests/tmck/Makefile.am,
	c/src/tests/tmtests/tmoverhd/Makefile.am: Use leaf.am instead of
	leaf.cfg.
2001-10-08 15:29:10 +00:00
Joel Sherrill
a3ab6ab6de 2001-09-28 Joel Sherrill <joel@OARcorp.com>
* Generally add support for make-cxx-exe for all BSPs.
	* automake/leaf.am: New file.
	* aclocal/rtems-top.m4: Added ENDIF macro.
	* c/src/exec/score/include/rtems/score/Makefile.am,
	c/src/tests/itrontests/itronmbf01/Makefile.am,
	c/src/tests/itrontests/itronmbox01/Makefile.am,
	c/src/tests/itrontests/itronsem01/Makefile.am,
	c/src/tests/itrontests/itrontask01/Makefile.am,
	c/src/tests/itrontests/itrontask02/Makefile.am,
	c/src/tests/itrontests/itrontask03/Makefile.am,
	c/src/tests/itrontests/itrontask04/Makefile.am,
	c/src/tests/itrontests/itrontime01/Makefile.am,
	c/src/tests/libtests/cpuuse/Makefile.am,
	c/src/tests/libtests/malloctest/Makefile.am,
	c/src/tests/libtests/monitor/Makefile.am,
	c/src/tests/libtests/putenvtest/Makefile.am,
	c/src/tests/libtests/rtems++/Makefile.am,
	c/src/tests/libtests/rtmonuse/Makefile.am,
	c/src/tests/libtests/stackchk/Makefile.am,
	c/src/tests/libtests/termios/Makefile.am,
	c/src/tests/mptests/mp01/node1/Makefile.am,
	c/src/tests/mptests/mp01/node2/Makefile.am,
	c/src/tests/mptests/mp02/node1/Makefile.am,
	c/src/tests/mptests/mp02/node2/Makefile.am,
	c/src/tests/mptests/mp03/node1/Makefile.am,
	c/src/tests/mptests/mp03/node2/Makefile.am,
	c/src/tests/mptests/mp04/node1/Makefile.am,
	c/src/tests/mptests/mp04/node2/Makefile.am,
	c/src/tests/mptests/mp05/node1/Makefile.am,
	c/src/tests/mptests/mp05/node2/Makefile.am,
	c/src/tests/mptests/mp06/node1/Makefile.am,
	c/src/tests/mptests/mp06/node2/Makefile.am,
	c/src/tests/mptests/mp07/node1/Makefile.am,
	c/src/tests/mptests/mp07/node2/Makefile.am,
	c/src/tests/mptests/mp08/node1/Makefile.am,
	c/src/tests/mptests/mp08/node2/Makefile.am,
	c/src/tests/mptests/mp09/node1/Makefile.am,
	c/src/tests/mptests/mp09/node2/Makefile.am,
	c/src/tests/mptests/mp10/node1/Makefile.am,
	c/src/tests/mptests/mp10/node2/Makefile.am,
	c/src/tests/mptests/mp11/node1/Makefile.am,
	c/src/tests/mptests/mp11/node2/Makefile.am,
	c/src/tests/mptests/mp12/node1/Makefile.am,
	c/src/tests/mptests/mp12/node2/Makefile.am,
	c/src/tests/mptests/mp13/node1/Makefile.am,
	c/src/tests/mptests/mp13/node2/Makefile.am,
	c/src/tests/mptests/mp14/node1/Makefile.am,
	c/src/tests/mptests/mp14/node2/Makefile.am,
	c/src/tests/psxtests/psx01/Makefile.am,
	c/src/tests/psxtests/psx02/Makefile.am,
	c/src/tests/psxtests/psx03/Makefile.am,
	c/src/tests/psxtests/psx04/Makefile.am,
	c/src/tests/psxtests/psx05/Makefile.am,
	c/src/tests/psxtests/psx06/Makefile.am,
	c/src/tests/psxtests/psx07/Makefile.am,
	c/src/tests/psxtests/psx08/Makefile.am,
	c/src/tests/psxtests/psx09/Makefile.am,
	c/src/tests/psxtests/psx10/Makefile.am,
	c/src/tests/psxtests/psx11/Makefile.am,
	c/src/tests/psxtests/psx12/Makefile.am,
	c/src/tests/psxtests/psx13/Makefile.am,
	c/src/tests/psxtests/psxcancel/Makefile.am,
	c/src/tests/psxtests/psxfile01/Makefile.am,
	c/src/tests/psxtests/psxhdrs/Makefile.am,
	c/src/tests/psxtests/psxmount/Makefile.am,
	c/src/tests/psxtests/psxmsgq01/Makefile.am,
	c/src/tests/psxtests/psxreaddir/Makefile.am,
	c/src/tests/psxtests/psxsem01/Makefile.am,
	c/src/tests/psxtests/psxstat/Makefile.am,
	c/src/tests/psxtests/psxtime/Makefile.am,
	c/src/tests/psxtests/psxtimer/Makefile.am,
	c/src/tests/samples/base_mp/node1/Makefile.am,
	c/src/tests/samples/base_mp/node2/Makefile.am,
	c/src/tests/samples/base_sp/Makefile.am,
	c/src/tests/samples/cdtest/Makefile.am,
	c/src/tests/samples/hello/Makefile.am,
	c/src/tests/samples/minimum/Makefile.am,
	c/src/tests/samples/paranoia/Makefile.am,
	c/src/tests/samples/ticker/Makefile.am,
	c/src/tests/samples/unlimited/Makefile.am,
	c/src/tests/sptests/sp01/Makefile.am,
	c/src/tests/sptests/sp02/Makefile.am,
	c/src/tests/sptests/sp03/Makefile.am,
	c/src/tests/sptests/sp04/Makefile.am,
	c/src/tests/sptests/sp05/Makefile.am,
	c/src/tests/sptests/sp06/Makefile.am,
	c/src/tests/sptests/sp07/Makefile.am,
	c/src/tests/sptests/sp08/Makefile.am,
	c/src/tests/sptests/sp09/Makefile.am,
	c/src/tests/sptests/sp11/Makefile.am,
	c/src/tests/sptests/sp12/Makefile.am,
	c/src/tests/sptests/sp13/Makefile.am,
	c/src/tests/sptests/sp14/Makefile.am,
	c/src/tests/sptests/sp15/Makefile.am,
	c/src/tests/sptests/sp16/Makefile.am,
	c/src/tests/sptests/sp17/Makefile.am,
	c/src/tests/sptests/sp19/Makefile.am,
	c/src/tests/sptests/sp20/Makefile.am,
	c/src/tests/sptests/sp21/Makefile.am,
	c/src/tests/sptests/sp22/Makefile.am,
	c/src/tests/sptests/sp23/Makefile.am,
	c/src/tests/sptests/sp24/Makefile.am,
	c/src/tests/sptests/sp25/Makefile.am,
	c/src/tests/sptests/sp26/Makefile.am,
	c/src/tests/sptests/sp27/Makefile.am,
	c/src/tests/sptests/sp28/Makefile.am,
	c/src/tests/sptests/sp29/Makefile.am,
	c/src/tests/sptests/spfatal/Makefile.am,
	c/src/tests/sptests/spsize/Makefile.am,
	c/src/tests/support/stubdr/Makefile.am,
	c/src/tests/tmitrontests/tmitronsem01/Makefile.am,
	c/src/tests/tmtests/tm01/Makefile.am,
	c/src/tests/tmtests/tm02/Makefile.am,
	c/src/tests/tmtests/tm03/Makefile.am,
	c/src/tests/tmtests/tm04/Makefile.am,
	c/src/tests/tmtests/tm05/Makefile.am,
	c/src/tests/tmtests/tm06/Makefile.am,
	c/src/tests/tmtests/tm07/Makefile.am,
	c/src/tests/tmtests/tm08/Makefile.am,
	c/src/tests/tmtests/tm09/Makefile.am,
	c/src/tests/tmtests/tm10/Makefile.am,
	c/src/tests/tmtests/tm11/Makefile.am,
	c/src/tests/tmtests/tm12/Makefile.am,
	c/src/tests/tmtests/tm13/Makefile.am,
	c/src/tests/tmtests/tm14/Makefile.am,
	c/src/tests/tmtests/tm15/Makefile.am,
	c/src/tests/tmtests/tm16/Makefile.am,
	c/src/tests/tmtests/tm17/Makefile.am,
	c/src/tests/tmtests/tm18/Makefile.am,
	c/src/tests/tmtests/tm19/Makefile.am,
	c/src/tests/tmtests/tm20/Makefile.am,
	c/src/tests/tmtests/tm21/Makefile.am,
	c/src/tests/tmtests/tm22/Makefile.am,
	c/src/tests/tmtests/tm23/Makefile.am,
	c/src/tests/tmtests/tm24/Makefile.am,
	c/src/tests/tmtests/tm25/Makefile.am,
	c/src/tests/tmtests/tm26/Makefile.am,
	c/src/tests/tmtests/tm27/Makefile.am,
	c/src/tests/tmtests/tm28/Makefile.am,
	c/src/tests/tmtests/tm29/Makefile.am,
	c/src/tests/tmtests/tmck/Makefile.am,
	c/src/tests/tmtests/tmoverhd/Makefile.am: Use leaf.am instead of
	leaf.cfg.
2001-09-28 23:22:06 +00:00
Joel Sherrill
c48d648576 2001-09-28 Joel Sherrill <joel@OARcorp.com>
* sonic/Makefile.am: Don't build unless HAS_NETWORKING.
2001-09-28 23:04:01 +00:00
Joel Sherrill
388cf1286f 2001-09-27 Jiri Gaisler <jiri@gaisler.com>
* cpu_asm.S: Small patch to fix a bug in the rtems sparc port. The
	bug has been there all the time, but only hits the leon bsp since the
	leon cpu has a 5-stage pipeline (erc32 has 4 stages).
2001-09-28 14:10:46 +00:00
Joel Sherrill
7a5dbdd33d 2001-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* automake/leaf.am: New file.
2001-09-20 19:56:11 +00:00
cvs2git
09b663b38c This commit was manufactured by cvs2svn to create branch 'rtems-4-5-branch'.
Cherrypick from master 2001-09-19 17:19:27 UTC Joel Sherrill <joel.sherrill@OARcorp.com> '2001-09-19	Ralf Corsepius <corsepiu@faw.uni-ulm.de>':
    automake/leaf.am
2001-09-19 17:19:28 +00:00
Joel Sherrill
a7b8de0589 changed version to 4.5.1-pre1 2001-08-30 19:12:24 +00:00
Joel Sherrill
3efa52954d changed version to 4.5.1-pre1 2001-08-30 18:54:18 +00:00
Joel Sherrill
36d90eec36 changed version to 4.5.1-pre1 2001-08-30 18:42:03 +00:00
Joel Sherrill
2b31cc882c changed version to 4.5.1-pre1 2001-08-30 18:41:42 +00:00
Joel Sherrill
b68cc333d3 2001-08-30 Joel Sherrill <joel@OARcorp.com>
* libc/lseek.c: Modified to reflect 4.5 placement of libio_.h.
2001-08-30 18:35:01 +00:00
Joel Sherrill
6f1118a0c5 2001-08-30 Joel Sherrill <joel@OARcorp.com>
* src/coremutex.c, src/coremutexseize.c, src/coremutexsurrender.c:
	The per thread field resource_count should only be manipulated
	when a mutex is priority ceiling or priority inherit.  This
	was reported by Chris Johns <ccj@acm.org> who also noticed that
	the use of switches for all disciplines generated less efficient
	code than using explicit tests for the one or two cases we were
	really interested in.  Further review of his modifications made
	it apparent that the "isa" methods to test mutex discipline were
	not being used so this modification was swept into the code as well.
2001-08-30 18:32:12 +00:00
Joel Sherrill
ca739de315 2001-08-30 Joel Sherrill <joel@OARcorp.com>
* inline/rtems/rtems/attr.inl: Correct typo and use correct
	attribute RTEMS_SYSTEM_TASK. Reported by Chris Johns <ccj@acm.org>.
2001-08-30 18:27:52 +00:00
Joel Sherrill
770f6e99fb 2001-08-17 Joel Sherrill <joel@OARcorp.com>
* libc/lseek.c: Fix minor bug introduced by misinterpretation of
	return code.
2001-08-17 13:17:04 +00:00
Joel Sherrill
45e1417c51 2001-08-16 Joel Sherrill <joel@OARcorp.com>
* src/mqueuesendsupp.c: Account for possibly blocking during the
	core send operation.


2001-08-16	Joel Sherrill <joel@OARcorp.com>

	* src/msgqsubmit.c: Add a comment indicating that we do not have
	to account for possibly blocking during the core send operation
	because Classic API message queue send is always non-blocking.

2001-08-16	Joel Sherrill <joel@OARcorp.com>

	* include/rtems/score/coremsg.h, src/coremsgsubmit.c: Add a new
	return status to account for blocking sends.  Otherwise, the
	caller will think that the returned message status will have
	the ultimate results of the operation.  If the send times out,
	the final status will be in the return_code of the thread.

2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * src/coremutexsurrender.c: Use holder thread not executing
        thread because even though they may and often are the same
        it is not guaranteed unless the proper attribute is set.

2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * startup/linkcmds: Modified to work better with gcc 2.8.1 and
        gnat 3.13p.

2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * tools/runtest.in: Recognize debug variant of monitor test.


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-08-16      Joel Sherrill <joel@OARcorp.com>

        * sp20/system.h: Account for extra task stacks properly.


2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * include/tmacros.h: Attempt to print errno as further information.
2001-08-16 22:22:16 +00:00
Joel Sherrill
cbdb14497c 2001-08-16 Joel Sherrill <joel@OARcorp.com>
* libc/lseek.c: Modified after discussion with Eugeny S. Mints
	<jack@oktet.ru> to correct the behavior.  There were two mistakes.
	First, iop->offset was incorrectly set for SEEK_END.  Second,
	iop->offset should be left unmodified if there are errors.
	This modification attempts to fix both situations.
2001-08-16 22:15:35 +00:00
Joel Sherrill
b3a6713265 2001-08-16 Joel Sherrill <joel@OARcorp.com>
* src/mqueuesendsupp.c: Account for possibly blocking during the
	core send operation.


2001-08-16	Joel Sherrill <joel@OARcorp.com>

	* src/msgqsubmit.c: Add a comment indicating that we do not have
	to account for possibly blocking during the core send operation
	because Classic API message queue send is always non-blocking.

2001-08-16	Joel Sherrill <joel@OARcorp.com>

	* include/rtems/score/coremsg.h, src/coremsgsubmit.c: Add a new
	return status to account for blocking sends.  Otherwise, the
	caller will think that the returned message status will have
	the ultimate results of the operation.  If the send times out,
	the final status will be in the return_code of the thread.

2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * src/coremutexsurrender.c: Use holder thread not executing
        thread because even though they may and often are the same
        it is not guaranteed unless the proper attribute is set.

2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * startup/linkcmds: Modified to work better with gcc 2.8.1 and
        gnat 3.13p.

2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * tools/runtest.in: Recognize debug variant of monitor test.


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-08-16      Joel Sherrill <joel@OARcorp.com>

        * sp20/system.h: Account for extra task stacks properly.


2001-08-16      Joel Sherrill <joel@OARcorp.com>

        * include/tmacros.h: Attempt to print errno as further information.
2001-08-16 21:36:15 +00:00
Joel Sherrill
5ccb03b887 2001-08-09 Joel Sherrill <joel@OARcorp.com>
* scripts/setup.def, scripts/gccnewlib/base-gcc.add,
 	scripts/gccnewlib/gccnewlib.add, scripts-ada/buildall.in:
	Updated to reflect new versions.
2001-08-09 21:25:48 +00:00
Joel Sherrill
6559511b4e 2001-08-09 Joel Sherrill <joel@OARcorp.com>
* c/src/lib/libbsp/i386/i386ex/startup/linkcmds,
	c/src/lib/libbsp/powerpc/eth_comm/canbus/Makefile.am,
	c/src/libnetworking/pppd/ipxcp.c: These files had latent single
	bit mistakes from the CVS server's RAM failure.
2001-08-09 21:23:42 +00:00
Joel Sherrill
256226b87e 2001-08-09 Chris Johns <ccj@acm.org>
* cpu_asm.S: This patch was co-developed with Eric Norum
	<eric.norum@usask.ca>.  It closes a one instruction window
	on some m68k CPU cores.  It fixes symptoms seen as:
	    1) No more `interrupt handler invoked twice for
	       a single interrupt'.
	    2) No more `lockup when mc68360 CPM and PIT interrupts
	       are at different levels'.
	It does insert a little more overhead on machines without hardware
	interrupt stacks but correctness has a price.
2001-08-09 21:09:52 +00:00
Joel Sherrill
3bb9542cd6 2001-08-09 Joel Sherrill <joel@OARcorp.com>
* c/src/exec/itron/src/snd_mbx.c, c/src/exec/itron/src/tsnd_mbf.c
	c/src/exec/posix/src/mqueuesendsupp.c,
	c/src/exec/rtems/src/msgqsubmit.c,
	c/src/exec/score/include/rtems/score/coremsg.h,
	c/src/exec/score/inline/rtems/score/coremsg.inl,
	c/src/exec/score/src/coremsgsubmit.c: Unblocking message queue
	operations should NOT use _Thread_Executing for return status
	since it is permissible to invoke message send operations from
	an ISR.  This was reported by Suvrat Gupta <suvrat@utstar.com>.
2001-08-09 21:08:50 +00:00
Joel Sherrill
b748fff9c5 2001-03-26 Zoltan Kocsi <zoltan@bendor.com.au>
* src/eventsurrender.c: Clear event condition when task is unblocked.
	This makes sure that subsequent event send thinks the task is still
	blocked and overwrites the initial events received.
2001-03-29 15:51:54 +00:00
Joel Sherrill
ca4c387054 2000-11-28 Joel Sherrill <joel@OARcorp.com>
* src/imfs/memfile.c: Bug report from Sturniolo Jose
	<jsturnio@nec.com.ar> where NULL pointer was dereferenced.
2000-11-28 21:52:53 +00:00
Joel Sherrill
079b1f4c2c 2000-11-28 Sergei Organov <osv@javad.ru>
* libc/getcwd.c: Ensure _closedir(dir) is called even on
	error exit from the routine.
2000-11-28 21:49:50 +00:00
Joel Sherrill
99cfdc2dea 2000-11-28 Chris Johns <ccj@acm.org>
* src/heapallocate.c: Do not allow the size to overflow when
	adjusting it.  A test allocated a stack of -1 (~0). This
	actually resulted in a stack being allocated but with a
	size of 0xb. The allocator did not test the size to see if
	it rolled through 0 and so allowed the allocation to happen, the
	thread to get created. The task crashed as you would expect.
2000-11-28 21:47:27 +00:00
Joel Sherrill
e5aeae7b30 2000-11-20 Dmitry Kargapolov <dk@gentex.ru>
* libc/mount.c: Make sure there is space allocated for a device name
	in the mount table entry.
2000-11-20 13:30:03 +00:00
Joel Sherrill
0b18036afc 2000-09-20 Joel Sherrill <joel@OARcorp.com>
* src/objectgetbyindex.c: Do not enable dispatching on an
	error path it was not disabled on.
2000-09-20 13:27:47 +00:00
Joel Sherrill
74835d7880 2000-08-11 Chris Johns <ccj@acm.org>
* libc/chmod.c: Return ENOTSUP if filesystem does not have handler.
	* libc/eval.c: Ditto.
	* libc/fcntl.c: Ditto.
	* libc/fsync.c: Ditto.
	* libc/ioctl.c: Ditto.
	* libc/ioman.c: Ditto.
	* libc/link.c: Ditto.
	* libc/memfile.c: Ditto.
	* libc/mknod.c: Ditto.
	* libc/symlink.c: Ditto.
	* libc/libio.h(rtems_filesystem_dev_major_t): New macro.
	* libc/libio.h(rtems_filesystem_dev_minor_t): New macro.
2000-08-11 20:04:03 +00:00
Joel Sherrill
289f822131 IEEE
====
-4 = {d = -4, i = {0xc0100000, 0x0}} s=1 e=0x80 m=0x100000 (0x0900000)
-3 = {d = -3, i = {0xc0080000, 0x0}} s=1 e=0x80 m=0x080000 (0x0880000)
-2 = {d = -2, i = {0xc0000000, 0x0}} s=1 e=0x80 m=0x000000 (0x0800000)
-1 = {d = -1, i = {0xbff00000, 0x0}} s=1 e=0x7f m=0x000000 (0x0800000)
 0 = {d =  0, i = {0x00000000, 0x0}} s=0 e=0    m=0x000000 (0x0800000)
 1 = {d =  1, i = {0x3ff00000, 0x0}} s=0 e=0x7f m=0x000000 (0x0800000)
 2 = {d =  2, i = {0x40000000, 0x0}} s=0 e=0    m=0x000000 (0x0800000)
 3 = {d =  3, i = {0x40080000, 0x0}} s=0 e=0    m=0x080000 (0x0880000)

C4X
===
-4 = {d = -4, i = {0x01800000, 0x0}} s=1 e=1    m=0x800000 (0x1000000)
-3 = {d = -3, i = {0x01c00000, 0x0}} s=1 e=1    m=0xa00000 (0x1400000)
-2 = {d = -2, i = {0x00800000, 0x0}} s=1 e=0    m=0x800000 (0x1000000)
-1 = {d = -1, i = {0xff800000, 0x0}} s=1 e=0xff m=0x000000 (0x1000000)
 0 = {d =  0, i = {0x80000000, 0x0}} s=0 e=0    m=0x000000 (0x0800000)
 1 = {d =  1, i = {0x00000000, 0x0}} s=0 e=0x7f m=0x000000 (0x0800000)
 2 = {d =  2, i = {0x01000000, 0x0}} s=0 e=1    m=0x400000 (0x0800000)
 3 = {d =  3, i = {0x01400000, 0x0}} s=0 e=1    m=0x600000 (0x0c00000)
 4 = {d =  4, i = {0x02000000, 0x0}} s=0 e=2    m=0xXXXXXX (0x0000000)

0x1010 0000
  0101 0000
  0010 1002
2000-08-03 14:43:43 +00:00
Joel Sherrill
d7d1096c78 Patch from Eric Valette <valette@crf.canon.fr> with debugging
by Till Straumann <strauman@SLAC.Stanford.EDU>.  With this
patch, the motorola_shared BSP should also support the MVME2303.
2000-07-24 19:17:34 +00:00
214 changed files with 751 additions and 515 deletions

View File

@@ -4,4 +4,4 @@
# $Id$
#
RTEMS Version 4.5.0
RTEMS Version 4.5.1-pre1

View File

@@ -15,6 +15,10 @@ AC_ARG_WITH(target-subdir,
TARGET_SUBDIR="$withval",
TARGET_SUBDIR=".")
## HACK to allow gnu-make conditionals in automake-Makefiles.
ENDIF=endif
AC_SUBST(ENDIF)
RTEMS_TOPdir="$1";
AC_SUBST(RTEMS_TOPdir)

9
automake/leaf.am Normal file
View File

@@ -0,0 +1,9 @@
include $(RTEMS_ROOT)/make/leaf.cfg
ifndef make-cxx-exe
define make-cxx-exe
$(LINK.cc) $(AM_CFLAGS) $(AM_LDFLAGS) \
$(LDLIBS) -o $@ \
$(LINK_OBJS) $(LINK_LIBS)
endef
@ENDIF@

View File

@@ -109,7 +109,7 @@ typedef Objects_Control ITRON_Objects_Control;
*/
#define _ITRON_Objects_Get( _the_information, _id, _the_object ) \
_Objects_Get( (_the_information), (_id), (_the_object) )
_Objects_Get_by_index( (_the_information), (_id), (_the_object) )
#ifdef __cplusplus
}

View File

@@ -29,6 +29,7 @@ ER snd_msg(
Objects_Locations location;
unsigned32 message_priority;
void *message_contents;
CORE_message_queue_Status msg_status;
if ( !pk_msg )
return E_PAR;
@@ -46,7 +47,7 @@ ER snd_msg(
message_priority = CORE_MESSAGE_QUEUE_SEND_REQUEST;
message_contents = pk_msg;
_CORE_message_queue_Submit(
msg_status = _CORE_message_queue_Submit(
&the_mailbox->message_queue,
&message_contents,
sizeof(T_MSG *),
@@ -60,8 +61,6 @@ ER snd_msg(
}
_ITRON_return_errorno(
_ITRON_Mailbox_Translate_core_message_queue_return_code(
_Thread_Executing->Wait.return_code
)
_ITRON_Mailbox_Translate_core_message_queue_return_code( msg_status )
);
}

View File

@@ -33,6 +33,7 @@ ER tsnd_mbf(
Objects_Locations location;
Watchdog_Interval interval;
boolean wait;
CORE_message_queue_Status msg_status;
if (msgsz <= 0 || !msg)
return E_PAR;
@@ -57,7 +58,7 @@ ER tsnd_mbf(
case OBJECTS_LOCAL:
/* XXX Submit needs to take into account blocking */
_CORE_message_queue_Submit(
msg_status = _CORE_message_queue_Submit(
&the_message_buffer->message_queue,
msg,
msgsz,
@@ -69,7 +70,7 @@ ER tsnd_mbf(
);
_Thread_Enable_dispatch();
return _ITRON_Message_buffer_Translate_core_message_buffer_return_code(
_Thread_Executing->Wait.return_code
msg_status
);
}

View File

@@ -36,8 +36,11 @@ int clock_getres(
case CLOCK_REALTIME:
case CLOCK_PROCESS_CPUTIME:
case CLOCK_THREAD_CPUTIME:
if ( res )
_POSIX_Interval_to_timespec( _TOD_Microseconds_per_tick, res );
if ( res ) {
res->tv_sec = _TOD_Microseconds_per_tick / 1000000;
res->tv_nsec = _TOD_Microseconds_per_tick * 1000;
/* _POSIX_Interval_to_timespec( _TOD_Microseconds_per_tick, res ); */
}
break;
default:

View File

@@ -44,6 +44,7 @@ int _POSIX_Message_queue_Send_support(
{
register POSIX_Message_queue_Control *the_mq;
Objects_Locations location;
CORE_message_queue_Status msg_status;
/*
* Validate the priority.
@@ -70,7 +71,7 @@ int _POSIX_Message_queue_Send_support(
set_errno_and_return_minus_one( EBADF );
}
_CORE_message_queue_Submit(
msg_status = _CORE_message_queue_Submit(
&the_mq->Message_queue,
(void *) msg_ptr,
msg_len,
@@ -86,12 +87,23 @@ int _POSIX_Message_queue_Send_support(
);
_Thread_Enable_dispatch();
if ( !_Thread_Executing->Wait.return_code )
return 0;
/*
* If we had to block, then this is where the task returns
* after it wakes up. The returned status is correct for
* non-blocking operations but if we blocked, then we need
* to look at the status in our TCB.
*/
if ( msg_status == CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_WAIT )
msg_status = _Thread_Executing->Wait.return_code;
if ( !msg_status )
return msg_status;
set_errno_and_return_minus_one(
_POSIX_Message_queue_Translate_core_message_queue_return_code(
_Thread_Executing->Wait.return_code
msg_status
)
);
}

View File

@@ -205,7 +205,7 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_system_task(
rtems_attribute attribute_set
)
{
return ( attribute_set & RTEMS_PRIORITY_CEILING );
return ( attribute_set & RTEMS_SYSTEM_TASK );
}
#endif

View File

@@ -65,6 +65,7 @@ void _Event_Surrender(
api->pending_events =
_Event_sets_Clear( pending_events, seized_events );
*(rtems_event_set *)the_thread->Wait.return_argument = seized_events;
(rtems_event_set) the_thread->Wait.count = 0; /* FIX 26MAR01 */
_ISR_Flash( level );

View File

@@ -61,6 +61,7 @@ rtems_status_code _Message_queue_Submit(
{
register Message_queue_Control *the_message_queue;
Objects_Locations location;
CORE_message_queue_Status msg_status;
the_message_queue = _Message_queue_Get( id, &location );
switch ( location )
@@ -97,7 +98,7 @@ rtems_status_code _Message_queue_Submit(
case OBJECTS_LOCAL:
switch ( submit_type ) {
case MESSAGE_QUEUE_SEND_REQUEST:
_CORE_message_queue_Send(
msg_status = _CORE_message_queue_Send(
&the_message_queue->message_queue,
buffer,
size,
@@ -112,7 +113,7 @@ rtems_status_code _Message_queue_Submit(
);
break;
case MESSAGE_QUEUE_URGENT_REQUEST:
_CORE_message_queue_Urgent(
msg_status = _CORE_message_queue_Urgent(
&the_message_queue->message_queue,
buffer,
size,
@@ -131,9 +132,13 @@ rtems_status_code _Message_queue_Submit(
}
_Thread_Enable_dispatch();
return _Message_queue_Translate_core_message_queue_return_code(
_Thread_Executing->Wait.return_code
);
/*
* Since this API does not allow for blocking sends, we can directly
* return the returned msg_status.
*/
return
_Message_queue_Translate_core_message_queue_return_code( msg_status );
}
return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */

View File

@@ -3,7 +3,7 @@
* This file contains all assembly code for the MC68020 implementation
* of RTEMS.
*
* COPYRIGHT (c) 1989-1999.
* COPYRIGHT (c) 1989-2001.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -68,7 +68,7 @@ SYM (_CPU_Context_save_fp):
moval a1@,a0 | a0 = Save context area
fsave a0@- | save 68881/68882 state frame
tstb a0@ | check for a null frame
beq nosv | Yes, skip save of user model
beq.b nosv | Yes, skip save of user model
fmovem fp0-fp7,a0@- | save data registers (fp0-fp7)
fmovem fpc/fps/fpi,a0@- | and save control registers
movl #-1,a0@- | place not-null flag on stack
@@ -83,7 +83,7 @@ SYM (_CPU_Context_restore_fp):
moval a7@(FPCONTEXT_ARG),a1 | a1 = &ptr to context area
moval a1@,a0 | a0 = address of saved context
tstb a0@ | Null context frame?
beq norst | Yes, skip fp restore
beq.b norst | Yes, skip fp restore
addql #4,a0 | throwaway non-null flag
fmovem a0@+,fpc/fps/fpi | restore control registers
fmovem a0@+,fp0-fp7 | restore data regs (fp0-fp7)
@@ -101,24 +101,12 @@ norst: frestore a0@+ | restore the fp state frame
* NOTE:
* Upon entry, the master stack will contain an interrupt stack frame
* back to the interrupted thread and the interrupt stack will contain
* a throwaway interrupt stack frame. If dispatching is enabled, this
* is the outer most interrupt, and (a context switch is necessary or
* the current thread has signals), then set up the master stack to
* a throwaway interrupt stack frame. If dispatching is enabled, and this
* is the outer most interrupt, and a context switch is necessary or
* the current thread has pending signals, then set up the master stack to
* transfer control to the interrupt dispatcher.
*/
/*
* With this approach, lower priority interrupts may
* execute twice if a higher priority interrupt is
* acknowledged before _Thread_Dispatch_disable is
* incremented and the higher priority interrupt
* performs a context switch after executing. The lower
* priority interrupt will execute (1) at the end of the
* higher priority interrupt in the new context if
* permitted by the new interrupt level mask, and (2) when
* the original context regains the cpu.
*/
#if ( M68K_COLDFIRE_ARCH == 1 )
.set SR_OFFSET, 2 | Status register offset
.set PC_OFFSET, 4 | Program Counter offset
@@ -142,45 +130,31 @@ SYM (_ISR_Handler):
addql #1,SYM (_Thread_Dispatch_disable_level) | disable multitasking
#if ( M68K_COLDFIRE_ARCH == 0 )
moveml d0-d1/a0-a1,a7@- | save d0-d1,a0-a1
movew a7@(SAVED+FVO_OFFSET),d0 | d0 = F/VO
andl #0x0fff,d0 | d0 = vector offset in vbr
#else
lea a7@(-SAVED),a7
movm.l d0-d1/a0-a1,a7@ | save d0-d1,a0-a1
#endif
movew a7@(SAVED+FVO_OFFSET),d0 | d0 = F/VO
andl #0x0ffc,d0 | d0 = vector offset in vbr
#endif
#if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 )
#if ( M68K_COLDFIRE_ARCH == 0 )
movew sr,d1 | Save status register
oriw #0x700,sr | Disable interrupts
#else
move.l d0,a7@- | Save d0 value
move.l #0x700,d0 | Load in disable ints value
move.w sr,d1 | Grab SR
or.l d1,d0 | Create new SR
move.w d0,sr | Disable interrupts
move.l a7@+,d0 | Restore d0 value
#endif
tstl SYM (_ISR_Nest_level) | Interrupting an interrupt handler?
bne 1f | Yes, just skip over stack switch code
movel SYM(_CPU_Interrupt_stack_high),a0 | End of interrupt stack
movel a7,a0@- | Save task stack pointer
movel a0,a7 | Switch to interrupt stack
movel _CPU_Interrupt_stack_high,a0 | a0 now point just above interrupt stack
cmpl _CPU_Interrupt_stack_low,a7 | stack below interrupt stack?
bcs.b 1f | yes, switch to interrupt stack
cmpl a0,a7 | stack above interrupt stack?
bcs.b 2f | no, do not switch stacks
1:
addql #1,SYM(_ISR_Nest_level) | one nest level deeper
movew d1,sr | Restore status register
#else
addql #1,SYM (_ISR_Nest_level) | one nest level deeper
movel a7,a1 | copy task stack pointer
movel a0,a7 | switch to interrupt stack
movel a1,a7@- | store task stack pointer on interrupt stack
2:
#endif /* CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 */
#if ( M68K_HAS_PREINDEXING == 1 )
movel @( SYM (_ISR_Vector_table),d0:w:1),a0| fetch the ISR
#else
movel # SYM (_ISR_Vector_table),a0 | a0 = base of RTEMS table
movel # SYM (_ISR_Vector_table),a0 | a0 = base of RTEMS table
addal d0,a0 | a0 = address of vector
movel (a0),a0 | a0 = address of user routine
#endif
@@ -191,45 +165,44 @@ SYM (_ISR_Handler):
addql #4,a7 | remove vector number
#if ( CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 )
#if ( M68K_COLDFIRE_ARCH == 0 )
movew sr,d0 | Save status register
oriw #0x700,sr | Disable interrupts
#else
move.l #0x700,d1 | Load in disable int value
move.w sr,d0 | Grab SR
or.l d0,d1 | Create new SR
move.w d1,sr | Load to disable interrupts
#endif
subql #1,SYM(_ISR_Nest_level) | Reduce interrupt-nesting count
bne 1f | Skip if return to interrupt
movel _CPU_Interrupt_stack_high,a0
subql #4,a0
cmpl a0,a7 | At top of interrupt stack?
bne.b 1f | No, do not restore task stack pointer
movel (a7),a7 | Restore task stack pointer
1:
movew d0,sr | Restore status register
#else
subql #1,SYM (_ISR_Nest_level) | one less nest level
#endif /* CPU_HAS_SOFTWARE_INTERRUPT_STACK == 1 */
subql #1,SYM (_Thread_Dispatch_disable_level)
| unnest multitasking
bne exit | If dispatch disabled, exit
bne.b exit | If dispatch disabled, exit
#if ( M68K_HAS_SEPARATE_STACKS == 1 )
movew #0xf000,d0 | isolate format nibble
andw a7@(SAVED+FVO_OFFSET),d0 | get F/VO
cmpiw #0x1000,d0 | is it a throwaway isf?
bne exit | NOT outer level, so branch
bne.b exit | NOT outer level, so branch
#else
/*
* If we have a CPU which allows a higher-priority interrupt to preempt a
* lower priority handler before the lower-priority handler can increment
* _Thread_Dispatch_disable_level then we must check the PC on the stack to
* see if it is _ISR_Handler. If it is we have the case of nesting interrupts
* without the dispatch level being incremented.
*/
#if ( M68K_COLDFIRE_ARCH == 0 && M68K_MC68060_ARCH == 0 )
cmpl #_ISR_Handler,a7@(SAVED+PC_OFFSET)
beq.b exit
#endif
#endif
tstl SYM (_Context_Switch_necessary)
| Is thread switch necessary?
bne bframe | Yes, invoke dispatcher
bne.b bframe | Yes, invoke dispatcher
tstl SYM (_ISR_Signals_to_thread_executing)
| signals sent to Run_thread
| while in interrupt handler?
beq exit | No, then exit
beq.b exit | No, then exit
bframe: clrl SYM (_ISR_Signals_to_thread_executing)
| If sent, will be processed

View File

@@ -67,39 +67,49 @@
.set GP_PC, (GP_CR + 4)
.set GP_MSR, (GP_PC + 4)
#if (PPC_HAS_DOUBLE==1)
.set FP_SIZE, 8
#define LDF lfd
#define STF stfd
#else
.set FP_SIZE, 4
#define LDF lfs
#define STF stfs
#endif
.set FP_0, 0
.set FP_1, (FP_0 + 4)
.set FP_2, (FP_1 + 4)
.set FP_3, (FP_2 + 4)
.set FP_4, (FP_3 + 4)
.set FP_5, (FP_4 + 4)
.set FP_6, (FP_5 + 4)
.set FP_7, (FP_6 + 4)
.set FP_8, (FP_7 + 4)
.set FP_9, (FP_8 + 4)
.set FP_10, (FP_9 + 4)
.set FP_11, (FP_10 + 4)
.set FP_12, (FP_11 + 4)
.set FP_13, (FP_12 + 4)
.set FP_14, (FP_13 + 4)
.set FP_15, (FP_14 + 4)
.set FP_16, (FP_15 + 4)
.set FP_17, (FP_16 + 4)
.set FP_18, (FP_17 + 4)
.set FP_19, (FP_18 + 4)
.set FP_20, (FP_19 + 4)
.set FP_21, (FP_20 + 4)
.set FP_22, (FP_21 + 4)
.set FP_23, (FP_22 + 4)
.set FP_24, (FP_23 + 4)
.set FP_25, (FP_24 + 4)
.set FP_26, (FP_25 + 4)
.set FP_27, (FP_26 + 4)
.set FP_28, (FP_27 + 4)
.set FP_29, (FP_28 + 4)
.set FP_30, (FP_29 + 4)
.set FP_31, (FP_30 + 4)
.set FP_FPSCR, (FP_31 + 4)
.set FP_1, (FP_0 + FP_SIZE)
.set FP_2, (FP_1 + FP_SIZE)
.set FP_3, (FP_2 + FP_SIZE)
.set FP_4, (FP_3 + FP_SIZE)
.set FP_5, (FP_4 + FP_SIZE)
.set FP_6, (FP_5 + FP_SIZE)
.set FP_7, (FP_6 + FP_SIZE)
.set FP_8, (FP_7 + FP_SIZE)
.set FP_9, (FP_8 + FP_SIZE)
.set FP_10, (FP_9 + FP_SIZE)
.set FP_11, (FP_10 + FP_SIZE)
.set FP_12, (FP_11 + FP_SIZE)
.set FP_13, (FP_12 + FP_SIZE)
.set FP_14, (FP_13 + FP_SIZE)
.set FP_15, (FP_14 + FP_SIZE)
.set FP_16, (FP_15 + FP_SIZE)
.set FP_17, (FP_16 + FP_SIZE)
.set FP_18, (FP_17 + FP_SIZE)
.set FP_19, (FP_18 + FP_SIZE)
.set FP_20, (FP_19 + FP_SIZE)
.set FP_21, (FP_20 + FP_SIZE)
.set FP_22, (FP_21 + FP_SIZE)
.set FP_23, (FP_22 + FP_SIZE)
.set FP_24, (FP_23 + FP_SIZE)
.set FP_25, (FP_24 + FP_SIZE)
.set FP_26, (FP_25 + FP_SIZE)
.set FP_27, (FP_26 + FP_SIZE)
.set FP_28, (FP_27 + FP_SIZE)
.set FP_29, (FP_28 + FP_SIZE)
.set FP_30, (FP_29 + FP_SIZE)
.set FP_31, (FP_30 + FP_SIZE)
.set FP_FPSCR, (FP_31 + FP_SIZE)
.set IP_LINK, 0
.set IP_0, (IP_LINK + 8)
@@ -152,40 +162,40 @@
PROC (_CPU_Context_save_fp):
#if (PPC_HAS_FPU == 1)
lwz r3, 0(r3)
stfs f0, FP_0(r3)
stfs f1, FP_1(r3)
stfs f2, FP_2(r3)
stfs f3, FP_3(r3)
stfs f4, FP_4(r3)
stfs f5, FP_5(r3)
stfs f6, FP_6(r3)
stfs f7, FP_7(r3)
stfs f8, FP_8(r3)
stfs f9, FP_9(r3)
stfs f10, FP_10(r3)
stfs f11, FP_11(r3)
stfs f12, FP_12(r3)
stfs f13, FP_13(r3)
stfs f14, FP_14(r3)
stfs f15, FP_15(r3)
stfs f16, FP_16(r3)
stfs f17, FP_17(r3)
stfs f18, FP_18(r3)
stfs f19, FP_19(r3)
stfs f20, FP_20(r3)
stfs f21, FP_21(r3)
stfs f22, FP_22(r3)
stfs f23, FP_23(r3)
stfs f24, FP_24(r3)
stfs f25, FP_25(r3)
stfs f26, FP_26(r3)
stfs f27, FP_27(r3)
stfs f28, FP_28(r3)
stfs f29, FP_29(r3)
stfs f30, FP_30(r3)
stfs f31, FP_31(r3)
STF f0, FP_0(r3)
STF f1, FP_1(r3)
STF f2, FP_2(r3)
STF f3, FP_3(r3)
STF f4, FP_4(r3)
STF f5, FP_5(r3)
STF f6, FP_6(r3)
STF f7, FP_7(r3)
STF f8, FP_8(r3)
STF f9, FP_9(r3)
STF f10, FP_10(r3)
STF f11, FP_11(r3)
STF f12, FP_12(r3)
STF f13, FP_13(r3)
STF f14, FP_14(r3)
STF f15, FP_15(r3)
STF f16, FP_16(r3)
STF f17, FP_17(r3)
STF f18, FP_18(r3)
STF f19, FP_19(r3)
STF f20, FP_20(r3)
STF f21, FP_21(r3)
STF f22, FP_22(r3)
STF f23, FP_23(r3)
STF f24, FP_24(r3)
STF f25, FP_25(r3)
STF f26, FP_26(r3)
STF f27, FP_27(r3)
STF f28, FP_28(r3)
STF f29, FP_29(r3)
STF f30, FP_30(r3)
STF f31, FP_31(r3)
mffs f2
stfs f2, FP_FPSCR(r3)
STF f2, FP_FPSCR(r3)
#endif
blr
@@ -207,40 +217,40 @@ PROC (_CPU_Context_save_fp):
PROC (_CPU_Context_restore_fp):
#if (PPC_HAS_FPU == 1)
lwz r3, 0(r3)
lfs f2, FP_FPSCR(r3)
LDF f2, FP_FPSCR(r3)
mtfsf 255, f2
lfs f0, FP_0(r3)
lfs f1, FP_1(r3)
lfs f2, FP_2(r3)
lfs f3, FP_3(r3)
lfs f4, FP_4(r3)
lfs f5, FP_5(r3)
lfs f6, FP_6(r3)
lfs f7, FP_7(r3)
lfs f8, FP_8(r3)
lfs f9, FP_9(r3)
lfs f10, FP_10(r3)
lfs f11, FP_11(r3)
lfs f12, FP_12(r3)
lfs f13, FP_13(r3)
lfs f14, FP_14(r3)
lfs f15, FP_15(r3)
lfs f16, FP_16(r3)
lfs f17, FP_17(r3)
lfs f18, FP_18(r3)
lfs f19, FP_19(r3)
lfs f20, FP_20(r3)
lfs f21, FP_21(r3)
lfs f22, FP_22(r3)
lfs f23, FP_23(r3)
lfs f24, FP_24(r3)
lfs f25, FP_25(r3)
lfs f26, FP_26(r3)
lfs f27, FP_27(r3)
lfs f28, FP_28(r3)
lfs f29, FP_29(r3)
lfs f30, FP_30(r3)
lfs f31, FP_31(r3)
LDF f0, FP_0(r3)
LDF f1, FP_1(r3)
LDF f2, FP_2(r3)
LDF f3, FP_3(r3)
LDF f4, FP_4(r3)
LDF f5, FP_5(r3)
LDF f6, FP_6(r3)
LDF f7, FP_7(r3)
LDF f8, FP_8(r3)
LDF f9, FP_9(r3)
LDF f10, FP_10(r3)
LDF f11, FP_11(r3)
LDF f12, FP_12(r3)
LDF f13, FP_13(r3)
LDF f14, FP_14(r3)
LDF f15, FP_15(r3)
LDF f16, FP_16(r3)
LDF f17, FP_17(r3)
LDF f18, FP_18(r3)
LDF f19, FP_19(r3)
LDF f20, FP_20(r3)
LDF f21, FP_21(r3)
LDF f22, FP_22(r3)
LDF f23, FP_23(r3)
LDF f24, FP_24(r3)
LDF f25, FP_25(r3)
LDF f26, FP_26(r3)
LDF f27, FP_27(r3)
LDF f28, FP_28(r3)
LDF f29, FP_29(r3)
LDF f30, FP_30(r3)
LDF f31, FP_31(r3)
#endif
blr

View File

@@ -52,8 +52,8 @@ SYM(_CPU_Context_save_fp):
or %l1, %lo(SPARC_PSR_EF_MASK), %l1
or %l0, %l1, %l0
mov %l0, %psr ! **** ENABLE FLOAT ACCESS ****
ld [%i0], %l0
nop; nop; nop; ! Need three nops before EF is
ld [%i0], %l0 ! active due to pipeline delay!!!
std %f0, [%l0 + FO_F1_OFFSET]
std %f2, [%l0 + F2_F3_OFFSET]
std %f4, [%l0 + F4_F5_OFFSET]
@@ -101,8 +101,8 @@ SYM(_CPU_Context_restore_fp):
or %l1, %lo(SPARC_PSR_EF_MASK), %l1
or %l0, %l1, %l0
mov %l0, %psr ! **** ENABLE FLOAT ACCESS ****
ld [%i0], %l0
nop; nop; nop; ! Need three nops before EF is
ld [%i0], %l0 ! active due to pipeline delay!!!
ldd [%l0 + FO_F1_OFFSET], %f0
ldd [%l0 + F2_F3_OFFSET], %f2
ldd [%l0 + F4_F5_OFFSET], %f4

View File

@@ -5,7 +5,6 @@
AUTOMAKE_OPTIONS = foreign 1.4
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
# We only build multiprocessing related files if HAS_MP was defined
MP_H_FILES = mpci.h mppkt.h objectmp.h threadmp.h

View File

@@ -95,7 +95,8 @@ typedef enum {
CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED,
CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT,
CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED,
CORE_MESSAGE_QUEUE_STATUS_TIMEOUT
CORE_MESSAGE_QUEUE_STATUS_TIMEOUT,
CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_WAIT
} CORE_message_queue_Status;
/*
@@ -239,7 +240,7 @@ CORE_message_queue_Status _CORE_message_queue_Broadcast(
*
*/
void _CORE_message_queue_Submit(
CORE_message_queue_Status _CORE_message_queue_Submit(
CORE_message_queue_Control *the_message_queue,
void *buffer,
unsigned32 size,

View File

@@ -443,6 +443,12 @@ Objects_Control *_Objects_Get (
Objects_Locations *location
);
Objects_Control *_Objects_Get_by_index (
Objects_Information *information,
Objects_Id id,
Objects_Locations *location
);
/*
* _Objects_Get_next
*

View File

@@ -27,7 +27,7 @@
* This routine sends a message to the end of the specified message queue.
*/
RTEMS_INLINE_ROUTINE void _CORE_message_queue_Send(
RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Send(
CORE_message_queue_Control *the_message_queue,
void *buffer,
unsigned32 size,
@@ -37,7 +37,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Send(
Watchdog_Interval timeout
)
{
_CORE_message_queue_Submit(
return _CORE_message_queue_Submit(
the_message_queue,
buffer,
size,
@@ -62,7 +62,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Send(
* This routine sends a message to the front of the specified message queue.
*/
RTEMS_INLINE_ROUTINE void _CORE_message_queue_Urgent(
RTEMS_INLINE_ROUTINE CORE_message_queue_Status _CORE_message_queue_Urgent(
CORE_message_queue_Control *the_message_queue,
void *buffer,
unsigned32 size,
@@ -72,7 +72,7 @@ RTEMS_INLINE_ROUTINE void _CORE_message_queue_Urgent(
Watchdog_Interval timeout
)
{
_CORE_message_queue_Submit(
return _CORE_message_queue_Submit(
the_message_queue,
buffer,
size,

View File

@@ -111,8 +111,10 @@ RTEMS_INLINE_ROUTINE void _Thread_Unblock (
RTEMS_INLINE_ROUTINE void _Thread_Restart_self( void )
{
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
if ( _Thread_Executing->fp_context != NULL )
_Context_Restore_fp( &_Thread_Executing->fp_context );
#endif
_CPU_Context_Restart_self( &_Thread_Executing->Registers );
}
@@ -144,12 +146,14 @@ RTEMS_INLINE_ROUTINE void _Thread_Calculate_heir( void )
* FALSE otherwise.
*/
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
RTEMS_INLINE_ROUTINE boolean _Thread_Is_allocated_fp (
Thread_Control *the_thread
)
{
return ( the_thread == _Thread_Allocated_fp );
}
#endif
/*PAGE
*
@@ -161,10 +165,12 @@ RTEMS_INLINE_ROUTINE boolean _Thread_Is_allocated_fp (
* point context is now longer associated with an active thread.
*/
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
RTEMS_INLINE_ROUTINE void _Thread_Deallocate_fp( void )
{
_Thread_Allocated_fp = NULL;
}
#endif
/*PAGE
*

View File

@@ -67,6 +67,7 @@
*
*/
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
#define _Thread_Restart_self() \
{ \
if ( _Thread_Executing->fp_context != NULL ) \
@@ -74,6 +75,12 @@
\
_CPU_Context_Restart_self( &_Thread_Executing->Registers ); \
}
#else
#define _Thread_Restart_self() \
{ \
_CPU_Context_Restart_self( &_Thread_Executing->Registers ); \
}
#endif
/*PAGE
*
@@ -96,8 +103,10 @@
*
*/
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
#define _Thread_Is_allocated_fp( _the_thread ) \
( (_the_thread) == _Thread_Allocated_fp )
#endif
/*PAGE
*
@@ -105,8 +114,10 @@
*
*/
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
#define _Thread_Deallocate_fp() \
_Thread_Allocated_fp = NULL
#endif
/*PAGE
*

View File

@@ -53,7 +53,7 @@
* error code - if unsuccessful
*/
void _CORE_message_queue_Submit(
CORE_message_queue_Status _CORE_message_queue_Submit(
CORE_message_queue_Control *the_message_queue,
void *buffer,
unsigned32 size,
@@ -67,14 +67,9 @@ void _CORE_message_queue_Submit(
ISR_Level level;
CORE_message_queue_Buffer_control *the_message;
Thread_Control *the_thread;
Thread_Control *executing;
_Thread_Executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;
if ( size > the_message_queue->maximum_message_size ) {
_Thread_Executing->Wait.return_code =
CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE;
return;
return CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE;
}
/*
@@ -96,7 +91,7 @@ void _CORE_message_queue_Submit(
if ( !_Objects_Is_local_id( the_thread->Object.id ) )
(*api_message_queue_mp_support) ( the_thread, id );
#endif
return;
return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;
}
}
@@ -114,10 +109,9 @@ void _CORE_message_queue_Submit(
/*
* NOTE: If the system is consistent, this error should never occur.
*/
if ( !the_message ) {
_Thread_Executing->Wait.return_code =
CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED;
return;
return CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED;
}
_CORE_message_queue_Copy_buffer(
@@ -133,7 +127,7 @@ void _CORE_message_queue_Submit(
the_message,
submit_type
);
return;
return CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL;
}
/*
@@ -143,20 +137,39 @@ void _CORE_message_queue_Submit(
*/
if ( !wait ) {
_Thread_Executing->Wait.return_code = CORE_MESSAGE_QUEUE_STATUS_TOO_MANY;
return;
return CORE_MESSAGE_QUEUE_STATUS_TOO_MANY;
}
executing = _Thread_Executing;
/*
* Do NOT block on a send if the caller is in an ISR. It is
* deadly to block in an ISR.
*/
_ISR_Disable( level );
_Thread_queue_Enter_critical_section( &the_message_queue->Wait_queue );
executing->Wait.queue = &the_message_queue->Wait_queue;
executing->Wait.id = id;
executing->Wait.return_argument = (void *)buffer;
executing->Wait.return_argument_1 = (void *)size;
executing->Wait.count = submit_type;
_ISR_Enable( level );
if ( _ISR_Is_in_progress() ) {
return CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED;
}
_Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );
/*
* WARNING!! executing should NOT be used prior to this point.
* Thus the unusual choice to open a new scope and declare
* it as a variable. Doing this emphasizes how dangerous it
* would be to use this variable prior to here.
*/
{
Thread_Control *executing = _Thread_Executing;
_ISR_Disable( level );
_Thread_queue_Enter_critical_section( &the_message_queue->Wait_queue );
executing->Wait.queue = &the_message_queue->Wait_queue;
executing->Wait.id = id;
executing->Wait.return_argument = (void *)buffer;
executing->Wait.return_argument_1 = (void *)size;
executing->Wait.count = submit_type;
_ISR_Enable( level );
_Thread_queue_Enqueue( &the_message_queue->Wait_queue, timeout );
}
return CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_WAIT;
}

View File

@@ -72,7 +72,9 @@ void _CORE_mutex_Initialize(
the_mutex->nest_count = 1;
the_mutex->holder = _Thread_Executing;
the_mutex->holder_id = _Thread_Executing->Object.id;
_Thread_Executing->resource_count++;
if ( _CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) ||
_CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) )
_Thread_Executing->resource_count++;
} else {
the_mutex->nest_count = 0;
the_mutex->holder = NULL;

View File

@@ -53,17 +53,11 @@ void _CORE_mutex_Seize(
ISR_Level level;
executing = _Thread_Executing;
switch ( the_mutex->Attributes.discipline ) {
case CORE_MUTEX_DISCIPLINES_FIFO:
case CORE_MUTEX_DISCIPLINES_PRIORITY:
case CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT:
break;
case CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING:
if ( executing->current_priority <
the_mutex->Attributes.priority_ceiling) {
executing->Wait.return_code = CORE_MUTEX_STATUS_CEILING_VIOLATED;
return;
}
if ( _CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) {
if ( executing->current_priority < the_mutex->Attributes.priority_ceiling) {
executing->Wait.return_code = CORE_MUTEX_STATUS_CEILING_VIOLATED;
return;
}
}
executing->Wait.return_code = CORE_MUTEX_STATUS_SUCCESSFUL;
_ISR_Disable( level );
@@ -72,17 +66,17 @@ void _CORE_mutex_Seize(
the_mutex->holder = executing;
the_mutex->holder_id = executing->Object.id;
the_mutex->nest_count = 1;
executing->resource_count++;
if ( _CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ||
_CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) )
executing->resource_count++;
_ISR_Enable( level );
switch ( the_mutex->Attributes.discipline ) {
case CORE_MUTEX_DISCIPLINES_FIFO:
case CORE_MUTEX_DISCIPLINES_PRIORITY:
case CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT:
/* already the highest priority */
break;
case CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING:
if ( the_mutex->Attributes.priority_ceiling <
executing->current_priority ) {
/*
* if CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT then nothing to do
* because this task is already the highest priority.
*/
if ( _CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) {
if (the_mutex->Attributes.priority_ceiling < executing->current_priority){
_Thread_Change_priority(
the_mutex->holder,
the_mutex->Attributes.priority_ceiling,
@@ -120,40 +114,27 @@ void _CORE_mutex_Seize(
executing->Wait.id = id;
_ISR_Enable( level );
switch ( the_mutex->Attributes.discipline ) {
case CORE_MUTEX_DISCIPLINES_FIFO:
case CORE_MUTEX_DISCIPLINES_PRIORITY:
case CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING:
break;
case CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT:
if ( the_mutex->holder->current_priority > executing->current_priority ) {
_Thread_Change_priority(
the_mutex->holder,
executing->current_priority,
FALSE
);
}
break;
if ( _CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) ) {
if ( the_mutex->holder->current_priority > executing->current_priority ) {
_Thread_Change_priority(
the_mutex->holder,
executing->current_priority,
FALSE
);
}
}
_Thread_queue_Enqueue( &the_mutex->Wait_queue, timeout );
if ( _Thread_Executing->Wait.return_code == CORE_MUTEX_STATUS_SUCCESSFUL ) {
switch ( the_mutex->Attributes.discipline ) {
case CORE_MUTEX_DISCIPLINES_FIFO:
case CORE_MUTEX_DISCIPLINES_PRIORITY:
case CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT:
break;
case CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING:
if ( the_mutex->Attributes.priority_ceiling <
executing->current_priority ) {
_Thread_Change_priority(
executing,
the_mutex->Attributes.priority_ceiling,
FALSE
);
};
break;
if ( _CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) {
if (the_mutex->Attributes.priority_ceiling < executing->current_priority){
_Thread_Change_priority(
executing,
the_mutex->Attributes.priority_ceiling,
FALSE
);
}
}
}
}

View File

@@ -86,7 +86,9 @@ CORE_mutex_Status _CORE_mutex_Surrender(
}
}
_Thread_Executing->resource_count--;
if ( _CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) ||
_CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) )
holder->resource_count--;
the_mutex->holder = NULL;
the_mutex->holder_id = 0;
@@ -96,20 +98,14 @@ CORE_mutex_Status _CORE_mutex_Surrender(
* mutex (i.e. resource) this task has.
*/
switch ( the_mutex->Attributes.discipline ) {
case CORE_MUTEX_DISCIPLINES_FIFO:
case CORE_MUTEX_DISCIPLINES_PRIORITY:
break;
case CORE_MUTEX_DISCIPLINES_PRIORITY_CEILING:
case CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT:
if ( holder->resource_count == 0 &&
holder->real_priority != holder->current_priority ) {
_Thread_Change_priority( holder, holder->real_priority, TRUE );
}
break;
if ( _CORE_mutex_Is_inherit_priority( &the_mutex->Attributes ) ||
_CORE_mutex_Is_priority_ceiling( &the_mutex->Attributes ) ) {
if ( holder->resource_count == 0 &&
holder->real_priority != holder->current_priority ) {
_Thread_Change_priority( holder, holder->real_priority, TRUE );
}
}
if ( ( the_thread = _Thread_queue_Dequeue( &the_mutex->Wait_queue ) ) ) {
#if defined(RTEMS_MULTIPROCESSING)

View File

@@ -43,7 +43,15 @@ void *_Heap_Allocate(
Heap_Block *temporary_block;
void *ptr;
unsigned32 offset;
/*
* Catch the case of a user allocating close to the limit of the
* unsigned32.
*/
if ( size >= (-1 - HEAP_BLOCK_USED_OVERHEAD) )
return( NULL );
excess = size % the_heap->page_size;
the_size = size + the_heap->page_size + HEAP_BLOCK_USED_OVERHEAD;

View File

@@ -53,11 +53,18 @@ Objects_Control *_Objects_Get(
Objects_Control *the_object;
unsigned32 index;
index = _Objects_Get_index( id );
#if defined(RTEMS_MULTIPROCESSING)
index = id - information->minimum_id + 1;
#else
/* index = _Objects_Get_index( id ); */
index = id & 0x0000ffff;
/* This should work but doesn't always :( */
/* index = (unsigned16) id; */
#endif
if ( information->maximum >= index ) {
_Thread_Disable_dispatch();
if ( (the_object = _Objects_Get_local_object( information, index )) != NULL ) {
if ( (the_object = information->local_table[ index ]) != NULL ) {
*location = OBJECTS_LOCAL;
return( the_object );
}
@@ -67,12 +74,7 @@ Objects_Control *_Objects_Get(
}
*location = OBJECTS_ERROR;
#if defined(RTEMS_MULTIPROCESSING)
_Objects_MP_Is_remote(
information,
_Objects_Build_id( information->the_class, _Objects_Local_node, index ),
location,
&the_object
);
_Objects_MP_Is_remote( information, id, location, &the_object );
return the_object;
#else
return NULL;

View File

@@ -67,7 +67,6 @@ Objects_Control *_Objects_Get_by_index(
* With just an index, you can't access a remote object.
*/
_Thread_Enable_dispatch();
*location = OBJECTS_ERROR;
return NULL;
}

View File

@@ -53,6 +53,7 @@ void _Thread_Close(
_User_extensions_Thread_delete( the_thread );
#if ( CPU_HARDWARE_FP == TRUE ) || ( CPU_SOFTWARE_FP == TRUE )
#if ( CPU_USE_DEFERRED_FP_SWITCH == TRUE )
if ( _Thread_Is_allocated_fp( the_thread ) )
_Thread_Deallocate_fp();
@@ -60,7 +61,8 @@ void _Thread_Close(
the_thread->fp_context = NULL;
if ( the_thread->Start.fp_context )
(void) _Workspace_Free( the_thread->Start.fp_context );
(void) _Workspace_Free( the_thread->Start.fp_context );
#endif
_Thread_Stack_Free( the_thread );

View File

@@ -112,7 +112,7 @@ SECTIONS
*(.dtors)
LONG(0)
__DTOR_END__ = .;
_rodata_start 5 . ;
_rodata_start = . ;
*(.rodata)
*(.gnu.linkonce.r*)
_erodata = ALIGN( 0x10 ) ;

View File

@@ -8,14 +8,15 @@
%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
*lib:
%{!qrtems: %(old_lib)} \
%{qrtems: --start-group -lc \
%{!qrtems_debug: -lrtemsall } %{qrtems_debug: -lrtemsall_g} \
-lgcc --end-group}
%{!qrtems: %(old_lib)} %{qrtems: --start-group \
%{!qrtems_debug: -lrtemsall} %{qrtems_debug: -lrtemsall_g} \
-lc -lgcc --end-group \
%{!qnolinkcmds: -T linkcmds%s}}
*startfile:
%{!qrtems: %(old_startfile)} \
%{qrtems: %{qrtems_debug: start_g.o%s} %{!qrtems_debug: start.o%s}
%{!qrtems: %(old_startfile)} %{qrtems: \
%{!qrtems_debug: } \
%{qrtems_debug: }}
*link:
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e _start}

View File

@@ -25,7 +25,9 @@ $(PGM): $(OBJS)
# the .rel file built here will be put into libbsp.a by ../wrapup/Makefile
if HAS_NETWORKING
all-local: $(ARCH) $(OBJS) $(PGM)
endif
.PRECIOUS: $(PGM)

View File

@@ -12,7 +12,7 @@ C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
OBJS = $(C_O_FILES)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
anclude $(top_srcdir)/../../../../../../automake/lib.am
include $(top_srcdir)/../../../../../../automake/lib.am
#
# (OPTIONAL) Add local stuff here using +=

View File

@@ -64,8 +64,8 @@ SECTIONS
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
} >RAM
.init : { *(.init) } >RAM
.fini : { *(.fini) } >RAM
.init : { __init = .; *(.init) } >RAM
.fini : { __fini = .; *(.fini) } >RAM
.rodata : { *(.rodata) *(.gnu.linkonce.r*) } >RAM
.rodata1 : { *(.rodata1) } >RAM
PROVIDE (_etext = .);

View File

@@ -78,17 +78,16 @@ __rtems_entry_point:
isync
/*
* we now have the 1st 64M of ram mapped with the bats.
* we now have the 1st 64M of ram mapped with the bats. We are still
* running on the bootloader stack and cannot switch to an RTEMS allocated
* init stack before copying the residual data that may have been set just after
* rtems_end address. This bug has been experienced on MVME2304. Thank to
* Till Straumann <strauman@SLAC.Stanford.EDU> for hunting it and suggesting
* the appropriate code.
*/
enter_C_code:
bl MMUon
/*
* stack = &__rtems_end + 4096
*/
addis r9,r0, __rtems_end+(4096-CPU_MINIMUM_STACK_FRAME_SIZE)@ha
addi r9,r9, __rtems_end+(4096-CPU_MINIMUM_STACK_FRAME_SIZE)@l
mr r1, r9
bl zero_bss
/*
* restore prep boot params
@@ -99,6 +98,15 @@ enter_C_code:
mr r6,r28
mr r7,r27
bl save_boot_params
/*
* stack = &__rtems_end + 4096
*/
addis r9,r0, __rtems_end+(4096-CPU_MINIMUM_STACK_FRAME_SIZE)@ha
addi r9,r9, __rtems_end+(4096-CPU_MINIMUM_STACK_FRAME_SIZE)@l
mr r1, r9
/*
* We are know in a environment that is totally independent from bootloader setup.
*/
bl boot_card
bl _return_to_ppcbug

View File

@@ -19,8 +19,9 @@
* $Id$
*/
#ifndef __SIS_h
#define __SIS_h
#ifndef __ERC32_BSP_h
#define __ERC32_BSP_h
#ifdef __cplusplus
extern "C" {
@@ -90,16 +91,19 @@ extern "C" {
#else /* use a regular asynchronous trap */
#define TEST_INTERRUPT_SOURCE ERC32_INTERRUPT_EXTERNAL_1
#define TEST_INTERRUPT_SOURCE2 (ERC32_INTERRUPT_EXTERNAL_1+1)
#define TEST_VECTOR ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE )
#define TEST_VECTOR2 ERC32_TRAP_TYPE( TEST_INTERRUPT_SOURCE2 )
#define MUST_WAIT_FOR_INTERRUPT 1
#define Install_tm27_vector( handler ) \
set_vector( (handler), TEST_VECTOR, 1 );
set_vector( (handler), TEST_VECTOR, 1 ); \
set_vector( (handler), TEST_VECTOR2, 1 );
#define Cause_tm27_intr() \
do { \
ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE ); \
ERC32_Force_interrupt( TEST_INTERRUPT_SOURCE+(Interrupt_nest>>1) ); \
nop(); \
nop(); \
nop(); \

View File

@@ -131,7 +131,7 @@ do
TEST_TYPE="single"
case $tname in
monitor)
monitor*)
if [ $run_to_completion = "yes" ]
then
warn "Skipping $tname; it is interactive"

View File

@@ -29,7 +29,8 @@ int chdir(
* Get the node where we wish to go.
*/
result = rtems_filesystem_evaluate_path( pathname, 0, &loc, TRUE );
result = rtems_filesystem_evaluate_path(
pathname, RTEMS_LIBIO_PERMS_SEARCH, &loc, TRUE );
if ( result != 0 )
return -1;

View File

@@ -33,6 +33,11 @@ int chmod(
if ( status != 0 )
return -1;
if ( !loc.handlers ){
rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( EBADF );
}
if ( !loc.handlers->fchmod ){
rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( ENOTSUP );

View File

@@ -43,6 +43,9 @@ int rtems_filesystem_evaluate_path(
rtems_filesystem_get_start_loc( pathname, &i, pathloc );
if ( !pathloc->ops->evalpath )
set_errno_and_return_minus_one( ENOTSUP );
result = (*pathloc->ops->evalpath)( &pathname[i], flags, pathloc );
/*

View File

@@ -131,10 +131,16 @@ int fcntl(
ret = -1;
break;
}
if ((ret >= 0) && iop->handlers->fcntl) {
int err = (*iop->handlers->fcntl)( cmd, iop );
if (err) {
errno = err;
if (ret >= 0) {
if (iop->handlers->fcntl) {
int err = (*iop->handlers->fcntl)( cmd, iop );
if (err) {
errno = err;
ret = -1;
}
}
else {
errno = ENOTSUP;
ret = -1;
}
}

View File

@@ -30,6 +30,9 @@ int fsync(
* Now process the fsync().
*/
if ( !iop->handlers )
set_errno_and_return_minus_one( EBADF );
if ( !iop->handlers->fsync )
set_errno_and_return_minus_one( ENOTSUP );

View File

@@ -74,7 +74,7 @@ getcwd (pt, size)
size_t size;
{
register struct dirent *dp;
register DIR *dir;
register DIR *dir = 0;
register dev_t dev;
register ino_t ino;
register int first;
@@ -254,6 +254,7 @@ getcwd (pt, size)
bpt -= strlen (dp->d_name);
bcopy (dp->d_name, bpt, strlen (dp->d_name));
(void) _closedir (dir);
dir = 0;
/* Truncate any file name. */
*bup = '\0';
@@ -271,6 +272,8 @@ notfound:
/* FALLTHROUGH */
err:
if(dir)
(void) _closedir (dir);
if (ptsize)
free (pt);
free (up);

View File

@@ -175,19 +175,11 @@ int imfs_dir_lseek(
int whence
)
{
off_t normal_offset;
normal_offset = (offset/sizeof(struct dirent)) * sizeof(struct dirent);
switch( whence )
{
case SEEK_SET: /* absolute move from the start of the file */
iop->offset = normal_offset;
break;
case SEEK_CUR: /* relative move */
iop->offset = iop->offset + normal_offset;
iop->offset = (offset/sizeof(struct dirent)) * sizeof(struct dirent);
break;
case SEEK_END: /* Movement past the end of the directory via lseek */

View File

@@ -18,7 +18,7 @@
#include "imfs.h"
static char dotname[2] = ".";
static char dotdotname[2] = "..";
static char dotdotname[3] = "..";
IMFS_jnode_t *IMFS_find_match_in_dir(
IMFS_jnode_t *directory,

View File

@@ -33,6 +33,9 @@ int ioctl(
* Now process the ioctl().
*/
if ( !iop->handlers )
set_errno_and_return_minus_one( EBADF );
if ( !iop->handlers->ioctl )
set_errno_and_return_minus_one( ENOTSUP );

View File

@@ -80,6 +80,11 @@ rtems_status_code rtems_io_lookup_name(
result = rtems_filesystem_evaluate_path( name, 0x00, &loc, TRUE );
the_jnode = loc.node_access;
if ( !loc.ops->node_type ) {
rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( ENOTSUP );
}
node_type = (*loc.ops->node_type)( &loc );
if ( (result != 0) || node_type != RTEMS_FILESYSTEM_DEVICE ) {

View File

@@ -473,10 +473,16 @@ typedef int (*rtems_libio_lseek_t)(
#define rtems_filesystem_make_dev_t( _major, _minor ) \
((((dev_t)(_major)) << 32) | (dev_t)(_minor))
#define rtems_filesystem_dev_major_t( _dev ) \
(rtems_device_major_number) ((_dev) >> 32)
#define rtems_filesystem_dev_minor_t( _dev ) \
(rtems_device_minor_number) ((_dev) & 0xFFFFFFFF)
#define rtems_filesystem_split_dev_t( _dev, _major, _minor ) \
do { \
(_major) = (rtems_device_major_number) ((_dev) >> 32); \
(_minor) = (rtems_device_minor_number) ((_dev) & 0xFFFFFFFF); \
(_major) = rtems_filesystem_dev_major_t ( _dev ); \
(_minor) = rtems_filesystem_dev_minor_t( _dev ); \
} while(0)
/*

View File

@@ -32,6 +32,13 @@ struct socket *rtems_bsdnet_fdToSocket(
return NULL;
}
iop = &rtems_libio_iops[fd];
/* same as rtems_libio_check_is_open(iop) but different return */
if ((iop->flags & LIBIO_FLAGS_OPEN) == 0) {
errno = EBADF;
return NULL;
}
if (iop->data1 == NULL)
errno = EBADF;
return iop->data1;

View File

@@ -41,8 +41,16 @@ int link(
*/
rtems_filesystem_get_start_loc( new, &i, &parent_loc );
if ( !parent_loc.ops->evalformake ) {
rtems_filesystem_freenode( &existing_loc );
rtems_filesystem_freenode( &parent_loc );
set_errno_and_return_minus_one( ENOTSUP );
}
result = (*parent_loc.ops->evalformake)( &new[i], &parent_loc, &name_start );
if ( result != 0 ) {
rtems_filesystem_freenode( &existing_loc );
rtems_filesystem_freenode( &parent_loc );
set_errno_and_return_minus_one( result );
}

View File

@@ -11,6 +11,10 @@
* $Id$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <stdio.h>
#include "libio_.h"
@@ -22,15 +26,25 @@ off_t lseek(
)
{
rtems_libio_t *iop;
off_t old_offset;
off_t status;
rtems_libio_check_fd( fd );
iop = rtems_libio_iop( fd );
rtems_libio_check_is_open(iop);
/*
* Check as many errors as possible before touching iop->offset.
*/
if ( !iop->handlers->lseek )
set_errno_and_return_minus_one( ENOTSUP );
/*
* Now process the lseek().
*/
old_offset = iop->offset;
switch ( whence ) {
case SEEK_SET:
iop->offset = offset;
@@ -41,18 +55,27 @@ off_t lseek(
break;
case SEEK_END:
iop->offset = iop->size - offset;
iop->offset = iop->size + offset;
break;
default:
errno = EINVAL;
return -1;
set_errno_and_return_minus_one( EINVAL );
}
if ( !iop->handlers->lseek )
set_errno_and_return_minus_one( ENOTSUP );
/*
* At this time, handlers assume iop->offset has the desired
* new offset.
*/
return (*iop->handlers->lseek)( iop, offset, whence );
status = (*iop->handlers->lseek)( iop, offset, whence );
if ( status == (off_t) -1 )
iop->offset = old_offset;
/*
* So if the operation failed, we have to restore iop->offset.
*/
return status;
}
/*

View File

@@ -112,6 +112,9 @@ int memfile_close(
the_jnode = iop->file_info;
if (iop->flags & LIBIO_FLAGS_APPEND)
iop->offset = the_jnode->info.file.size;
return 0;
}
@@ -340,7 +343,6 @@ MEMFILE_STATIC int IMFS_memfile_addblock(
#endif
memory = memfile_alloc_block();
assert( memory );
if ( !memory )
return 1;
*block_entry_ptr = memory;
@@ -497,6 +499,8 @@ int IMFS_memfile_remove(
if ( info->triply_indirect ) {
for ( i=0 ; i<IMFS_MEMFILE_BLOCK_SLOTS ; i++ ) {
p = (block_p *) info->triply_indirect[i];
if (!p) /* ensure we have a valid pointer */
break;
for ( j=0 ; j<IMFS_MEMFILE_BLOCK_SLOTS ; j++ ) {
if ( p[j] ) {
memfile_free_blocks_in_table( (block_p **)&p[j], to_free);

View File

@@ -43,6 +43,11 @@ int mknod(
rtems_filesystem_get_start_loc( pathname, &i, &temp_loc );
if ( !temp_loc.ops->evalformake ) {
rtems_filesystem_freenode( &temp_loc );
set_errno_and_return_minus_one( ENOTSUP );
}
result = (*temp_loc.ops->evalformake)(
&pathname[i],
&temp_loc,

View File

@@ -95,6 +95,7 @@ int mount(
rtems_filesystem_location_info_t loc;
rtems_filesystem_mount_table_entry_t *temp_mt_entry;
rtems_filesystem_location_info_t *loc_to_free = NULL;
size_t size;
/* XXX add code to check for required operations */
@@ -121,7 +122,10 @@ int mount(
* Allocate a mount table entry
*/
temp_mt_entry = malloc( sizeof(rtems_filesystem_mount_table_entry_t) );
size = sizeof(rtems_filesystem_mount_table_entry_t);
if ( device )
size += strlen( device ) + 1;
temp_mt_entry = malloc( size );
if ( !temp_mt_entry ) {
errno = ENOMEM;
@@ -130,9 +134,11 @@ int mount(
temp_mt_entry->mt_fs_root.mt_entry = temp_mt_entry;
temp_mt_entry->options = options;
if ( device )
if ( device ) {
temp_mt_entry->dev =
(char *)temp_mt_entry + sizeof( rtems_filesystem_mount_table_entry_t );
strcpy( temp_mt_entry->dev, device );
else
} else
temp_mt_entry->dev = 0;
/*

View File

@@ -112,7 +112,7 @@ scandir(dirname, namelist, select, dcomp)
p->d_ino = d->d_ino;
p->d_reclen = d->d_reclen;
p->d_namlen = d->d_namlen;
strncpy(d->d_name, p->d_name, p->d_namlen + 1);
strncpy(p->d_name, d->d_name, p->d_namlen + 1);
/*
* Check to make sure the array has space left and
* realloc the maximum size.

View File

@@ -28,6 +28,11 @@ int symlink(
if ( result != 0 )
return -1;
if ( !loc.ops->symlink ) {
rtems_filesystem_freenode( &loc );
set_errno_and_return_minus_one( ENOTSUP );
}
result = (*loc.ops->symlink)( &loc, actualpath, name_start);
rtems_filesystem_freenode( &loc );

View File

@@ -0,0 +1,45 @@
/* clock.s
*
* This file contains the assembly code for the IDT 4650 clock driver.
*
* Author: Craig Lebakken <craigl@transition.com>
*
* COPYRIGHT (c) 1996 by Transition Networks Inc.
*
* To anyone who acknowledges that this file is provided "AS IS"
* without any express or implied warranty:
* permission to use, copy, modify, and distribute this file
* for any purpose is hereby granted without fee, provided that
* the above copyright notice and this notice appears in all
* copies, and that the name of Transition Networks not be used in
* advertising or publicity pertaining to distribution of the
* software without specific, written prior permission.
* Transition Networks makes no representations about the suitability
* of this software for any purpose.
*
* $Id$
*/
/* @(#)clock.S 08/20/96 1.2 */
#include <iregdef.h>
#include <idtcpu.h>
#include <idtmon.h>
FRAME(mips_set_timer,sp,0,ra)
.set noreorder
mfc0 t0,C0_COUNT
nop
addu t0,a0,t0
mtc0 t0,C0_COMPARE
nop
j ra
.set reorder
ENDFRAME(mips_set_timer)
FRAME(mips_get_timer,sp,0,ra)
.set noreorder
mfc0 v0,C0_COUNT
nop
j ra
.set reorder
ENDFRAME(mips_get_timer)

View File

@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = foreign 1.4
H_FILES = io_types.h null.h sci.h sh7_pfc.h sh7_sci.h
H_FILES = null.h sci.h sh7_pfc.h sh7_sci.h
# NOTE: Unlike other CPUS, we install into a subdirectory to avoid
# file name conflicts

View File

@@ -728,7 +728,7 @@ ipxcp_rejci(f, p, len)
#define REJCINODE(opt,neg,val) REJCICHARS(opt,neg,val,sizeof(val))
#define REJCINAME(opt,neg,val) REJCICHARS(opt,neg,val,strlen(val))
#define REJCIVOID(gpt, neg! \
#define REJCIVOID(opt, neg) \
if (neg && p[0] == opt) { \
if ((len -= CILEN_VOID) < 0) \
break; \

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -24,7 +24,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/itrontests.am
#

View File

@@ -25,7 +25,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -25,7 +25,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -26,7 +26,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -25,7 +25,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -25,18 +25,19 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#
# (OPTIONAL) Add local stuff here using +=
#
LD_LIBS += $(CPLUS_LD_LIBS)
LD_LIBS += -lrtems++$(LIB_VARIANT)
if HAS_CXX
${PGM}: $(OBJS) $(LINK_FILES)
$(make-exe)
$(make-cxx-exe)
all-local: $(ARCH) $(TMPINSTALL_FILES)
else

View File

@@ -25,7 +25,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -25,7 +25,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -25,7 +25,7 @@ PRINT_SRCS = $(DOCS)
PGM = ${ARCH}/$(TEST).exe
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/libtests.am
#

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,5 +26,5 @@ rtems_timer_service_routine Delayed_send_event(
rtems_status_code status;
status = rtems_event_send( Task_id[ 1 ], RTEMS_EVENT_16 );
directive_failed( status, "rtems_event_send" );
directive_failed_with_level( status, "rtems_event_send", 1 );
}

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

View File

@@ -26,7 +26,7 @@ OBJS = $(C_O_FILES)
PRINT_SRCS = $(DOCS)
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/../../../../automake/leaf.am
include $(top_srcdir)/mptests.am
if HAS_MP

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