Commit Graph

82 Commits

Author SHA1 Message Date
Joel Sherrill
cfc257fcb6 2003-07-18 Till Straumann <strauman@slac.stanford.edu>
PR 430/rtems
	* include/rtems/score/watchdog.h: _Watchdog_Ticks_since_boot should
	be a VOLATILE variable.
	* src/watchdoginsert.c: 'restart' algorithm needs to enforce
	reloading the list head in case a TICK interrupt during ISR_Flash()
	modified the list.  This is achieved by a proper VOLATILE cast.
	Also _Watchdog_Sync_count++ should be protected by _ISR_Disable
	(prevent corruption in case ISR calls watchdoginsert)
	* src/watchdogadjust.c: ISR protection added.
	* src/watchdogtickle.c: ISR protection added.
	NOTE: PowerPC BSPs using the new exception processing MUST BE UPDATED
	to maintain _ISR_Nest_level. See also PR288 which provides fixes
	for the affected BSPs distributed with RTEMS.
2003-07-18 14:47:36 +00:00
Joel Sherrill
75063f00bc 2003-07-07 Joel Sherrill <joel@OARcorp.com>
PR 417/rtems
	* src/coresemsurrender.c: Correct incorrect check for maximum_count
	reported by Sergei Organov <osv@topconrd.ru>.
2003-07-07 18:03:05 +00:00
Joel Sherrill
10f72fd716 2003-06-13 Joel Sherrill <joel@OARcorp.com>
* src/threadloadenv.c: Removed warnings.
2003-06-13 13:25:25 +00:00
Joel Sherrill
2ec764f84a 2003-06-12 Joel Sherrill <joel@OARcorp.com>
* src/objectmp.c: Removed warnings.
2003-06-12 15:40:32 +00:00
Joel Sherrill
2e0ee93e04 2003-03-18 Till Straumann <strauman@slac.stanford.edu>
PR 356/bsps
	* src/threadhandlerc: This patch makes RTEMS/PowerPC eabi compliant.
	Let Thread_Handler verify that _init/_main are non-NULL
	before calling them (gives the linker script/user more
	freedom to handle special cases).
2003-03-18 19:24:28 +00:00
Ralf Corsepius
64e52730a8 2002-03-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/system.h: Add __RTEMS_REVISION__.
2003-03-04 17:08:41 +00:00
Ralf Corsepius
1842800039 2002-02-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/system.h: Add __RTEMS_MAJOR__, __RTEMS_MINOR__.
2003-02-28 06:19:11 +00:00
Joel Sherrill
eb7cddd3cf 2003-01-10 Joel Sherrill <joel@OARcorp.com>
* src/objectmp.c: Corrected use of name parameter to reflect that it
	is actually the name not a pointer to the name.
2003-01-10 15:04:01 +00:00
Ralf Corsepius
a2e4e4964c 2002-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
Makefile.am: Don't create $ARCH.
2002-12-12 18:20:27 +00:00
Ralf Corsepius
976ed903a1 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
Makefile.am: Fix macro-file installation.
2002-12-09 22:40:10 +00:00
Ralf Corsepius
e3e93eb7bf 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
Makefile.am: Move include/rtems/score/cpuopts.h to STD_H_FILES.
2002-12-09 11:27:37 +00:00
Ralf Corsepius
0c819966e2 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Remove.
	* inline/Makefile.am: Remove.
	* macros/Makefile.am: Remove.
	* src/Makefile.am: Remove.
	* Makefile.am: Merge-in removed Makefile.ams.
2002-12-09 09:48:32 +00:00
Joel Sherrill
2728d9cf48 2002-12-02 Joel Sherrill <joel@OARcorp.com>
* include/rtems/score/object.h, include/rtems/score/tod.h:
	Added casts to eliminate warnings on 16 bit targets like the h8300.
2002-12-02 19:16:37 +00:00
Joel Sherrill
1d6e0f9922 2002-11-14 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/object.inl: Keep consistent with inline version.
2002-11-14 18:31:49 +00:00
Joel Sherrill
b041968c19 2002-10-31 Joel Sherrill <joel@OARcorp.com>
* src/heapgetinfo.c: Fixed comment.
	* src/mpci.c: Removed warning.
2002-10-31 20:09:49 +00:00
Joel Sherrill
78f6323105 2002-10-28 Joel Sherrill <joel@OARcorp.com>
* src/threadhandler.c: Prototype _init() and _main() if they are needed
	to avoid a warning.
2002-10-28 13:48:00 +00:00
Joel Sherrill
a50b011f70 2002-08-14 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/coremsg.inl: Add <string.h> to remove warning.
	* src/threadidlebody.c: Add return 0 to avoid warning.
2002-08-14 23:32:25 +00:00
Joel Sherrill
41c4785ba6 2002-08-07 Chris Johns <ccj@acm.org>
* src/coretodset.c: Correct calculation of ticks until next section
	boundary.  It was incorrectly based upon current time not the
	time that is being set.
2002-08-07 15:03:52 +00:00
Ralf Corsepius
35fc54b18d 2002-07-31 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Build into libscore.a.
2002-07-31 15:01:48 +00:00
Joel Sherrill
323845bd67 2002-07-22 Joel Sherrill <joel@OARcorp.com>
* include/rtems/score/apimutex.h (_API_Mutex_Lock): Per PR253
	add the missing _ISR_Disable.  This fix was already applied to
	the old location (c/src/exec/score/...).
2002-07-23 22:43:13 +00:00
Ralf Corsepius
38ae496ee8 2002-07-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Use .$(OBJEXT) instead of .o.
2002-07-22 13:57:35 +00:00
Joel Sherrill
18c19a7106 2002-07-16 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/object.inl: Corrected typos in
	_Objects_Open, _Objects_Close, and _Objects_Namespace_remove.
2002-07-16 22:22:15 +00:00
Joel Sherrill
e90ff51fd8 2002-07-05 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/object.inl: Corrected implementation of
	_Objects_Open, _Objects_Close, and _Objects_Namespace_remove
	to be consistent with the inline implementation.
2002-07-05 18:15:41 +00:00
Joel Sherrill
ef9505a92f 2002-07-01 Joel Sherrill <joel@OARcorp.com>
* Mega patch merge to change the format of the object IDs to
	loosen the dependency between the SCORE and the various APIs.
	There was considerable work to simplify the object name management
        and it appears that the name_table field is no longer needed.
	This patch also includes the addition of the internal mutex
	which is currently only used to protect some types of allocation
	and deallocation.  This significantly can reduce context
	switch latency under certain circumstances.  In particular,
	some heap/region operations were O(n) and had dispatching
	disabled.  This should help enormously.  With this merge,
	the patch is not as clean as it should be.  In particular,
	the documentation has not been modified to reflect the new object
	ID layout, the IDs in the test screens are not updated, and
	_Objects_Get_information needs to be a real routine not inlined.
	As part of this patch a lot of MP code for thread/proxy blocking
	was made conditional and cleaned up.
	* include/Makefile.am, include/rtems/score/coremsg.h,
	include/rtems/score/coremutex.h, include/rtems/score/coresem.h,
	include/rtems/score/object.h, include/rtems/score/threadq.h,
	inline/rtems/score/object.inl, inline/rtems/score/thread.inl,
	macros/rtems/score/object.inl, src/Makefile.am, src/coremsg.c,
	src/coremutex.c, src/coresem.c, src/mpci.c,
	src/objectcomparenameraw.c, src/objectextendinformation.c,
	src/objectinitializeinformation.c, src/objectnametoid.c,
	src/thread.c, src/threadclose.c, src/threadget.c, src/threadq.c,
	src/threadqextractwithproxy.c: Modified as part of above.
	* include/rtems/score/apimutex.h, src/objectgetnoprotection.c: New
	files.
2002-07-01 22:30:12 +00:00
Joel Sherrill
1b074a19c3 2001-05-17 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/thread..inl: Implemented missing routines
	for new libc reentrancy support.
2002-05-17 18:01:36 +00:00
Joel Sherrill
0df8293e2b 2002-05-15 Chris Johns <ccj@acm.org>
* include/rtems/score/thread.h, inline/rtems/score/thread.inl,
	src/threaddispatch.c, src/threadinitialize.c:
	Move the C library re-enterrant support directly into
	the thread dispatch code. RTEMS needs libc and so requiring
	libc to use a user extension with its overhead is not the best
	solution. This patch lowers the overhead to 2 pointer moves.
2002-05-15 15:14:58 +00:00
Joel Sherrill
bd9265df54 2002-05-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am: Work-around to autoconf-2.53 adding PACKAGE_*
	to autoheaders - sed out *PACKAGE* from cpuopts-tmp.h.
2002-05-14 18:11:36 +00:00
Joel Sherrill
48f8968356 2001-05-14 Till Straumann <strauman@slac.stanford.edu>
* src/threaddispatch.c, src/threadhandler.c: Per PR211 fix
	saving/restoring floating point context.  The fpsave and fprestore
	routines are only used in a executing context which _is_ fp and hence
	has the FPU enabled. The current behavior required the FPU always to
	be on which is very dangerous if lazy context switching is used.
	[Joel Note: Some ports explicitly enabled the FPU in the FP save and
	restore routines to avoid this.]

	The patch also makes sure (on powerpc only) that the FPU is disabled
	for integer tasks. Note that this is crucial if deferred fp context
	switching is used. Otherwise, fp context corruption may go undetected!
	Also note that even tasks which merely push/pop FP registers to/from
	the stack without modifying them still MUST be FP tasks - otherwise
	(if lazy FP context switching is used), FP register corruption (of
	other, FP, tasks may occur)!

	Furthermore, (on PPC) by default, lazy FP context save/restore
	is _disabled_.
2002-05-14 17:45:36 +00:00
Joel Sherrill
bf99393f73 2001-04-26 Joel Sherrill <joel@OARcorp.com>
* src/objectcomparenamestring.c: Fix typos.
2002-04-27 00:20:40 +00:00
Joel Sherrill
2b454faf13 2001-04-26 Joel Sherrill <joel@OARcorp.com>
* include/rtems/score/object.h, inline/rtems/score/object.inl,
	src/objectcomparenamestring.c: Address PR81 that
	reworked POSIX message queues to add a descriptor separate from
	the underlying message queue.  This allows non-blocking to follow
	the "open" not the underlying queue.   As part of debugging this
	it became clear that _Objects_Compare_name_string was broken
	and a simple version using strncmp() was substituted.
2002-04-26 23:56:56 +00:00
Joel Sherrill
9779f3dbb7 2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/system.h: Remove targopts.h.
2002-04-18 13:07:50 +00:00
Joel Sherrill
cf80584ec6 2002-04-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/system.h: Add the sparc to the target supporting
	multlibs.
2002-04-17 14:01:19 +00:00
Joel Sherrill
f918e74b5b 2002-04-16 Chris Johns <ccj@acm.org>
* src/threadinitialize.c: Per PR181, clear the array of user extension
	pointers. This lets user extensions that have hooked the switch handler
	know if a task has been processed by the user extension before. If a
	user extension is created after a task is started it may not know it.
2002-04-16 13:42:31 +00:00
Joel Sherrill
231fccb299 2002-04-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/system.h: Add i386 to multilib-able targets.
2002-04-12 15:11:16 +00:00
Joel Sherrill
ed11413b48 2001-04-11 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/userext.inl: Now works after merging patch for
	functionality requested in PR174.
	* inline/rtems/score/userext.inl: Added a comment explaining the
	order in which routines appear since it is not the obvious order.
2002-04-11 13:51:06 +00:00
Joel Sherrill
02a200d157 2002-04-08 Chris Johns <ccj@acm.org>
* Per PR141 and PR174, make task switch extension its own list and
	fix all odd problems introduced by providing macro version.
	* inline/rtems/score/userext.inl: Fix.
2002-04-09 19:19:03 +00:00
Joel Sherrill
ab377aa641 2001-04-08 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/object.inl: Corrected arguments.
2002-04-08 18:23:12 +00:00
Joel Sherrill
aadb6b0db7 2001-04-08 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/userext.inl: Updated to reflect modifications
	to inline version from PR142.
	* inline/rtems/score/userext.inl: Cleanup as side-effect of above.
2002-04-08 18:21:47 +00:00
Joel Sherrill
e2c488a484 2002-04-08 Chris Johns <ccj@acm.org>
* Per PR142, make task switch extension its own list.
	* include/rtems/score/userext.h: Reflect above by adding
	User_extensions_Switch_control and adding it to User_extenions_Control.
	* inline/rtems/score/userext.inl: Allocate all memory in one chunk
	to minimize overhead.  Address processing dedicated switch chain.
2002-04-08 18:20:13 +00:00
Joel Sherrill
7af623bf68 2002-04-08 Chris Johns <ccj@acm.org>
* Per PR142, make task switch extension its own list.
	* include/rtems/score/userext.h: Reflect above by adding 
	User_extensions_Switch_control and adding it to User_extenions_Control.
	* inline/rtems/score/userext.inl: Allocate all memory in one chunk
	to minimize overhead.  Address processing dedicated switch chain.
2002-04-08 17:23:11 +00:00
Joel Sherrill
c43484bf54 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* cpu/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* src/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* Makefile.am: Remove AUTOMAKE_OPTIONS.
	* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
	* macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
2002-03-28 00:46:37 +00:00
Joel Sherrill
a94c2fbba4 2002-01-29 Joel Sherrill <joel@OARcorp.com>
* include/rtems/score/watchdog.h: Added WATCHDOG_MAXIMUM_INTERVAL.
2002-01-29 18:18:26 +00:00
Joel Sherrill
5addee5839 2002-01-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/system.h: Fix typo in yesterday's change:
	RTEMS_MULTILIBS.
2002-01-20 17:05:36 +00:00
Joel Sherrill
61129cc54f 2001-01-18 Joel Sherrill <joel@OARcorp.com>
* include/rtems/system.h: Only include cpuopts.h when building a
	multilib configuration.  Some ports still need targopts.h but this
	small modification lets those ports work non-multilib while
	fixing being fixed for multilib.
2002-01-18 22:33:49 +00:00
Joel Sherrill
b72e368c35 2002-01-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/seterr.h: Add do {..} while (0) in defines.
	Rename set_errno_and_return_minus_one into
	rtems_set_errno_and_return_minus_one.
2002-01-04 18:29:03 +00:00
Joel Sherrill
b804d632c0 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* inline/rtems/score/object.inl, macros/rtems/score/object.inl: Add
	add casts to Objects_Id in _Objects_Build_ids to avoid implicit
	typecasts from enum to int16 on bit16 targets (here: h8300).
2001-12-20 17:30:18 +00:00
Joel Sherrill
ca837f8ac6 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Add multilib support.
2001-12-19 14:36:53 +00:00
Joel Sherrill
89ee0b6936 2001-11-28 Joel Sherrill <joel@OARcorp.com>,
This was tracked as PR91.
	* include/rtems/score/isr.h, inline/rtems/score/isr.inl,
	macros/rtems/score/isr.inl: Modified to allow any port to provide
	its own implementation of the macro _ISR_Is_in_progress.  If the
	port overrides this macro, it must provide a non-inlined function
	implementation.
2001-11-28 18:28:24 +00:00
Joel Sherrill
94ab166c67 2001-11-20 Joel Sherrill <joel@OARcorp.com>
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
	invoke the global constructors via __main.  Reported as tested by
	Alexandra Kossovsky <sasha@oktet.ru> and  Victor V. Vengerov
	<vvv@oktet.ru> in conjunction with a new set of tool RPMs
	(gcc2.95.3newlib1.9.0-3).  This was tracked as GNATS PR tools/84.
2001-11-20 18:22:35 +00:00
Joel Sherrill
c31c15c16c 2001-11-07 Joel Sherrill <joel@OARcorp.com>
Reported by Todor.Todorov@barco.com and tracked as PR36.
	* include/rtems/score/object.h: Added prototype for
	_Objects_Get_by_index().
	* src/objectget.c, src/objectgetisr.c: Corrected procedure for
	getting index from Id so it is correct and optimal for both single
	and multiprocessor configurations.
2001-11-07 22:42:04 +00:00