Commit Graph
88 Commits
Author SHA1 Message Date
Joel Sherrill ff08b80878 2003-08-14 Joel Sherrill <joel@OARcorp.com>
* Makefile.am, include/rtems/score/object.h,
	include/rtems/score/objectmp.h, src/objectmp.c, src/objectnametoid.c:
	Added ID to name lookup service and changed name of id/name
	translation status code. This propagated to multiple functions. The
	user API service added was rtems_object_id_to_name()
	* src/objectidtoname.c: New file.
2003-08-14 21:01:30 +00:00
Joel Sherrill 17c6686753 2003-08-14 Joel Sherrill <joel@OARcorp.com>
PR 408/filesystem
	* score/Makefile.am, score/include/rtems/score/thread.h: Added
	sync() service. As part of adding this service, the
	new RTEMS service rtems_iterate_over_all_threads() was also added.
	This new service makes it easier to iterate over all the
	tasks/threads in a system and perform an action on them.
	* score/src/iterateoverthreads.c: New file.
	* ChangeLog: Fixed screwup.
2003-08-14 20:04:18 +00:00
Joel Sherrill 3fd8dcf4cc 2003-08-14 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: Add fileio to list of interactive tests.
2003-08-14 20:01:36 +00:00
Joel Sherrill a82413d3f3 2003-08-14 Joel Sherrill <joel@OARcorp.com>
* Makefile.am, include/rtems/score/thread.h: Add fileio to list of
	interactive tests.
2003-08-14 20:01:02 +00:00
Joel Sherrill fbbe5fde57 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:55 +00:00
Ralf Corsepius 051c0b9a4a 2003-07-08 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* cpu/Makefile.am: Add DIST_SUBDIRS = $(RTEMS_CPU).
2003-07-08 17:15:20 +00:00
Joel Sherrill 0d469f0a29 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:02:43 +00:00
Joel Sherrill c5c21225f4 2003-06-13 Joel Sherrill <joel@OARcorp.com>
* src/threadloadenv.c: Removed warnings.
2003-06-13 13:21:01 +00:00
Joel Sherrill e99ff4266e 2003-06-12 Joel Sherrill <joel@OARcorp.com>
* src/objectmp.c: Removed warnings.
2003-06-12 15:40:14 +00:00
Joel Sherrill 66565bb217 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:13 +00:00
Ralf Corsepius d2c26e4bad Merger from rtems-4-6-branch. 2003-03-11 08:10:00 +00:00
Ralf Corsepius 9c59c2d953 Merger from rtems-4-6-branch. 2003-02-28 07:08:21 +00:00
Joel Sherrill 04040112b6 2003-02-14 Joel Sherrill <joel@OARcorp.com>
AMD a29k declared obsolete.
	* cpu/Makefile.am: Removed reference.
	* cpu/a29k/.cvsignore, cpu/a29k/ChangeLog, cpu/a29k/Makefile.am,
	cpu/a29k/amd.ah, cpu/a29k/asm.h, cpu/a29k/configure.ac,
	cpu/a29k/cpu.c, cpu/a29k/cpu_asm.S, cpu/a29k/pswmacro.ah,
	cpu/a29k/register.ah, cpu/a29k/sig.S, cpu/a29k/rtems/.cvsignore,
	cpu/a29k/rtems/score/.cvsignore, cpu/a29k/rtems/score/a29k.h,
	cpu/a29k/rtems/score/cpu.h, cpu/a29k/rtems/score/cpu_asm.h,
	cpu/a29k/rtems/score/types.h: Removed.
2003-02-14 19:40:49 +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