Commit Graph

59 Commits

Author SHA1 Message Date
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
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
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
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
Ralf Corsepius
fed6210d43 2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Include $(top_srcdir)/automake/*.am.
2002-06-17 09:27:44 +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
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
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
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
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
ff61414ac8 2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/Makefile.am: Remove.
	* include/rtems/Makefile.am: Remove.
	* include/Makefile.am: Handle subdirs, require automake-1.5.
	* macros/rtems/Makefile.am: Remove.
	* macros/rtems/score/Makefile.am: Remove.
	* macros/Makefile.am: Handle subdirs, require automake-1.5.
	* inline/rtems/Makefile.am: Remove.
	* inline/rtems/score/Makefile.am: Remove.
	* inline/Makefile.am: Handle subdirs, require automake-1.5.
	* Makefile.am: require automake-1.5
2001-10-16 13:30:52 +00:00
Joel Sherrill
fe70df1927 2000-05-25 Sergei Organov <osv@javad.ru>
* macros/rtems/score/coresem.inl, inline/rtems/score/coresem.inl:
	Cut and paste problem incorrectly enabled interrupts twice with
	the first time being too early.
2001-05-25 16:59:28 +00:00
Joel Sherrill
c9fd602c8c 2000-12-01 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/coresem.inl: Removed comments since convention
	calls for comments to be in inline versin.
	* macros/rtems/score/object.inl (Objects_Get_local_object): Fixed
	style to use _ prefix on variable names and use parentheses.
	* macros/rtems/score/object.inl (_Objects_Namespace_remove): Added.
2000-12-01 19:16:52 +00:00
Joel Sherrill
43b6f757ce 2000-11-30 Joel Sherrill <joel@OARcorp.com>
* General effort to make things compile with macros not inlines
	* inline/rtems/score/coremutex.inl: Added comment indicating
	for macros there is another copy of
	_CORE_mutex_Seize_interrupt_trylock() in src/coremutexseize.c.
	* src/coremutexseize.c: Added body of
	_CORE_mutex_Seize_interrupt_trylock() for macro case.
	* macros/rtems/score/coremutex.inl: Added prototype for
	_CORE_mutex_Seize_interrupt_trylock() since there is a real
	body when macros are enabled.
	* macros/rtems/score/coresem.inl: Added macro implementation of
	_CORE_semaphore_Seize_isr_disable.
	* macros/score/Makefile.am: Fixed typos.
	* rtems/score/address.inl: Correct macro implementation of
	_Addresses_Is_aligned() so it would compile.
	* macros/rtems/score/coremsg.inl: Added closing parentheses.
2000-11-30 14:08:30 +00:00
Joel Sherrill
17508d02bb Port of RTEMS to the Texas Instruments C3x/C4x DSP families including
a BSP (c4xsim) supporting the simulator included with gdb.  This port
was done by Joel Sherrill and Jennifer Averett of OAR Corporation.
Also included with this port is a space/time optimization to eliminate
FP context switch management on CPUs without hardware or software FP.

An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8)
on this CPU.  This required addressing alignment checks and assumptions
as well as fixing code that assumed sizeof(unsigned32) == 4.
2000-07-26 19:26:28 +00:00
Joel Sherrill
df49c60c96 Merged from 4.5.0-beta3a 2000-06-12 15:00:15 +00:00
Joel Sherrill
e4c0744478 Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.
adds .cvsignore.
2000-04-13 14:47:15 +00:00
Joel Sherrill
53fb837afc POSIX message queues now include complete functionality including
blocking sends when the queue is full.  The SuperCore was enhanced
to support blocking on send.  The existing POSIX API was debugged
and numerous test cases were added to psxmsgq01 by Jennifer Averett.
SuperCore enhancements and resulting modifications to other APIs
were done by Joel.

There is one significant point of interpretation for the POSIX API.
What happens to threads already blocked on a message queue when the
mode of that same message queue is changed from blocking to non-blocking?
We decided to unblock all waiting tasks with an EAGAIN error just
as if a non-blocking version of the same operation had returned
unsatisfied.  This case is not discussed in the POSIX standard and
other implementations may have chosen differently.
2000-01-13 19:25:15 +00:00
Joel Sherrill
5870ac5567 Added support for simple binary semaphores in addition to the high
power binary/mutex style semaphores already supported by RTEMS.  This
was done at the request of Eric Norum <eric@cls.usask.ca> in support
of his effort to port EPICS to RTEMS.  This change consisted of
changing the nesting_allowed boolean into a lock_nesting_behavior
enumerated value as well as allowing the core mutex object to optionally
support ensuring that the holder of a binary semaphore released it.
Finally, a more subtle enhancement was to allow the non-holder to release
a priority inheritance/ceiling mutex and still allow the holding task
to return to its original priority.
2000-01-05 22:19:21 +00:00
Joel Sherrill
08311cc3a9 Updated copyright notice. 1999-11-17 17:51:34 +00:00
Joel Sherrill
eb02f47b12 Committed modifications from ITRON Task and Task Dependendent Synchronization
Working Group.  Included are tests.
1999-11-10 13:48:27 +00:00
Joel Sherrill
811804fec8 Patch from Ralf Corsepius <corsepiu@faw.uni-ulm.de> to make fix bug
where wrapup left pieces out of the librtemsall.a.
1999-10-04 19:15:14 +00:00
Joel Sherrill
e1d8abbe28 Applied patch rtems-rc-19990820-6.diff.gz from
Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many
Makefile.in's to Makefile.am's.  This added a lot of files.
1999-09-07 13:45:03 +00:00
Joel Sherrill
f4a8ee1c55 Unlimited objects patch from Chris Johns <ccj@acm.org>. Email follows:
First, the unlimited patch. I have compiled the unlmited patch for the
    Linux posix BSP only and it seems to work cleanly. I would like a really
    major application run on this change before commiting as the changes are
    very core and significant. I am currently building all the tests to run.

    I have no targets suitable to test on at the moment.

    I have tested the patch for inline functions and macros.

    Turning macros on has found some core bugs. I have fixed these but have
    not run all the tests. Please review the patch for these changes. They
    are:

    1) The conditional compilation for MP support broke the core messages
    code. You cannot embed a conditional macro in another macro. The Send
    and Urgent Send calls are macros.

    2) User extensions handler initialisation now has two parameters. I have
    updated the macros to support the extra parameter.

    The patch also contains the gcc-target-default.cfg fix required to build
    the kernel. More of a by product than a fix for you.
1999-03-17 16:01:03 +00:00
Joel Sherrill
7e4c3d8b1d Modified _Objects_Is_class_valid() to correctly report that 0 was
not a valid object class.  This was discovered while looking for
a bug reported by Jennifer.
1998-06-18 18:58:42 +00:00
Joel Sherrill
60b791ada1 updated copyright to 1998 1998-02-17 23:46:28 +00:00
Joel Sherrill
6ab91d9724 Removed warning per Chris Johns' suggestion. 1998-01-20 20:32:15 +00:00
Joel Sherrill
98e4ebf594 Fixed typo in the pointer to the license terms. 1997-10-08 15:45:54 +00:00
Joel Sherrill
03f2154e51 headers updated to reflect new style copyright notice as part
of switching to the modified GNU GPL.
1997-04-22 17:20:27 +00:00
Joel Sherrill
c43b34cf34 modified _Chain_Insert_unprotected to have the form required to be used
as the sole statement in an if or else statement
1997-03-11 15:42:14 +00:00
Joel Sherrill
7fea679b6f changed _TOD_Is_set from a function to a boolean variable 1996-09-06 15:16:19 +00:00
Mark Johannes
a66fcc57aa removed Thread_queue_Get_number_waiting 1996-08-13 20:43:51 +00:00
Joel Sherrill
5e7b6272fc renamed _TOD_Ticks_since_boot as _Watchdog_Ticks_since_boot so the Watchdog
Handler could timestamp the starting and stopping of timers.  Since
TOD is built on top of Watchdog, this avoided a circular dependency.
1996-05-31 23:27:45 +00:00
Joel Sherrill
6365f81898 made initialization routine a regular subroutine 1996-04-22 16:46:00 +00:00
Joel Sherrill
1a8fde6ca2 Removed prototyes for static inline routines and moved the comments into
the inline implementation.   The impetus for this was twofold.  First,
it is incorrect to have static inline prototypes when using the macro
implementation.  Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.

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

In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation 10 morgana.
1996-03-06 21:34:57 +00:00
Joel Sherrill
adf98bd423 Removed the internal thread objects and dispersed its contents to
the thread handler (IDLE), MPCI object (SYSI now MP Receive)
and initialize_executive_early (IO initialization).  The SYSI task
no longer exists in a single processor configuration.  This reduces
single processor Workspace requirements by a TCB and a stack which
is often larger than the minimum stack size.  Moving the IO initialization
plus accompanying BSP hooks eliminated an initialization ordering problem
in which a global task could be created before the MPCI was initialized.
1996-02-21 14:44:11 +00:00
Joel Sherrill
94b3ec5970 changed post task extension from user set to api set and added flag
in each thread which must be set when the post switch extension is to be run.
1996-02-13 22:14:48 +00:00
Joel Sherrill
107ce47b4b new isr synchronization algorithm using a single enumerated set of states. 1996-02-09 14:30:42 +00:00
Joel Sherrill
d57392d0e1 alignment on workspace changed from CPU_ALIGNMENT to CPU_HEAP_ALIGNMENT 1996-02-08 16:18:38 +00:00
Joel Sherrill
5c491aef41 changes remerged after lost in disk crash -- recovered from snapshot, partially recovered working tree, etc 1995-12-20 15:39:19 +00:00
Joel Sherrill
97005786d8 SPARC port passes all tests 1995-10-30 21:54:45 +00:00
Joel Sherrill
11290355c9 all targets compile .. tony's patches in place 1995-09-29 17:19:16 +00:00
Joel Sherrill
c701f1974b Fixed typo 1995-09-27 20:52:56 +00:00
Joel Sherrill
5e9b32b439 posix support initially added 1995-09-26 19:27:15 +00:00
Joel Sherrill
91a3554ded Modifications from Tony Bennett accepted to return aligned block. 1995-09-19 21:43:12 +00:00