summaryrefslogtreecommitdiffstats
path: root/c/src/exec/rtems/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove, moved to cpukit.Ralf Corsepius2002-07-22108-10877/+0
|
* 2002-07-05 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-057-7/+7
| | | | | | | | * src/dpmemident.c, src/msgqident.c, src/partident.c, src/ratemonident.c, src/regionident.c, src/semident.c, src/timerident.c: Corrected use of name parameter to be consistent with fixes implemented to string name processing which were committed with the POSIX Message Queue update.
* 2002-07-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-0124-118/+158
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/rtems.h, inline/rtems/rtems/region.inl, macros/rtems/rtems/region.inl, src/dpmem.c, src/dpmemcreate.c, src/msg.c, src/msgqcreate.c, src/part.c, src/partcreate.c, src/ratemon.c, src/ratemoncreate.c, src/region.c, src/regioncreate.c, src/regiondelete.c, src/regionextend.c, src/regiongetinfo.c, src/regiongetsegment.c, src/regiongetsegmentsize.c, src/regionident.c, src/regionreturnsegment.c, src/rtemstimer.c, src/sem.c, src/semcreate.c, src/taskcreate.c, src/taskident.c, src/tasks.c, src/timercreate.c: Modified as part of above.
* 2002-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-06-171-4/+4
| | | | * Include $(top_srcdir)/automake/*.am.
* 2001-04-08 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-04-081-1/+1
| | | | * src/tasks.c: Pre-initialized switch extension for list.
* 2002-04-08 Chris Johns <ccj@acm.org>Joel Sherrill2002-04-081-0/+1
| | | | | * Per PR142, make task switch extension its own list. * src/tasks.c (_RTEMS_tasks_User_extensions): Reflect above.
* 2001-03-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-03-294-59/+29
| | | | | | | | | | | * Per PR147 addressed problems when reseting and inserting a timer into a timer chain that did not honor time passage since the last time the timer server was scheduled and the new insertion. * include/rtems/rtems/timer.h, src/timerreset.c, src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: Broke up the "reset server" routine into a set of very specific routines that allowed the server to be unscheduled, timer chains to be "synchronized" with the current time before inserting a new timer.
* 2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-03-281-1/+0
| | | | | | | | * Makefile.am: Remove AUTOMAKE_OPTIONS. * include/Makefile.am: Remove AUTOMAKE_OPTIONS. * inline/Makefile.am: Remove AUTOMAKE_OPTIONS. * macros/Makefile.am: Remove AUTOMAKE_OPTIONS. * src/Makefile.am: Remove AUTOMAKE_OPTIONS.
* 2001-01-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-293-50/+174
| | | | | | | | | | * Fixed bug where resetting a timer that was not at the head of one of the task timer chains resulted in the Timer Server task waking up too far in the future. * Added rtems_timer_get_information() directive to support testing. * src/timerserver.c, include/rtems/rtems/timer.h, * src/timergetinfo.c: New file. * src/Makefile.am: Modified to reflect above.
* 2001-01-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-221-19/+33
| | | | | * include/rtems/rtems/timer.h, src/timerserver.c: Add priority argument to rtems_timer_initiate_server().
* 2001-01-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-181-1/+2
| | | | | | | * 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.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-163-0/+454
| | | | | | | | | | | | | | | | | | | | * Added task-based timers to the Timer Manager. This added three new directives: - rtems_timer_initiate_server - rtems_timer_server_fire_after - rtems_timer_server_fire_when In the process of doing this, a number of cleanups were made. * src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: New files. * include/timer/timer.h: Added new prototypes and supporting types. * inline/rtems/rtems/timer.h, macros/rtems/rtems/timer.h: Enhanced _Timer_Is_interval_class() to cover the class TIMER_INTERVAL_ON_TASK. * src/Makefile.am: Accounted for new files. * src/rtemstimer.c: Added initialization of _Timer_Server variable. * src/timercancel.c, src/timerreset.c: Account for addition of timer classes. Also corrected the headers. * src/timercreate.c, src/timerdelete.c, src/timerfireafter.c, src/timerfireafter.c, src/timerident.c: Corrected header.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-169-33/+53
| | | | | | | | | | | | | | | | | | | | * Added task-based timers to the Timer Manager. This added three new directives: - rtems_timer_initiate_server - rtems_timer_server_fire_after - rtems_timer_server_fire_when In the process of doing this, a number of cleanups were made. * src/timerserver.c, src/timerserverfireafter.c, src/timerserverfirewhen.c: New files. * include/timer/timer.h: Added new prototypes and supporting types. * inline/rtems/rtems/timer.h, macros/rtems/rtems/timer.h: Enhanced _Timer_Is_interval_class() to cover the class TIMER_INTERVAL_ON_TASK. * src/Makefile.am: Accounted for new files. * src/rtemstimer.c: Added initialization of _Timer_Server variable. * src/timercancel.c, src/timerreset.c: Account for addition of timer classes. Also corrected the headers. * src/timercreate.c, src/timerdelete.c, src/timerfireafter.c, src/timerfireafter.c, src/timerident.c: Corrected header.
* 2001-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-01-161-2/+3
| | | | | * src/taskmode.c: Ensure the this service does not dispatch before tasking is enabled at initialization time.
* 2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2001-12-191-1/+1
| | | | | * src/Makefile.am: Add multilib support. * optman/Makefile.am: Add multilib support.
* 2001-09-14 Fernando Ruiz <fernando.ruiz@ctv.es>Joel Sherrill2001-09-211-1/+1
| | | | * src/tasks.c: Dereference pointer passed to destructor.
* 2001-08-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-08-161-0/+6
| | | | | | * 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-09 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2001-08-091-5/+5
| | | | | | | * src/msgqsubmit.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-03-26 Zoltan Kocsi <zoltan@bendor.com.au>Joel Sherrill2001-03-291-0/+1
| | | | | | * 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-01-22 Michael Hamel <mhamel@adi.co.nz>Joel Sherrill2001-01-221-1/+1
| | | | | * include/rtems.h, src/signalcatch.c: Modifications to make CodeWarrior happy.
* 2000-12-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-12-061-1/+0
| | | | * src/regiongetinfo.c: Removed unused variable to eliminate warning.
* 2000-11-30 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-11-301-10/+8
| | | | | * src/msgqsubmit.c: Modified multiprocessing conditional so this would compile with both macros and inlines.
* 2000-10-18 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2000-10-182-1/+72
| | | | | | | * src/regiongetinfo.c, include/rtems/rtems/region.h, include/rtems/rtems/types.h, src/Makefile.am: Added region_get_information() and information control block. * src/regiongetinfo.c: New file.
* 2000-09-29 Stephan Merker <merker@decrc.abb.de>Joel Sherrill2000-09-292-3/+13
| | | | | | | * include/rtems/rtems/ratemon.h, src/ratemonperiod.c, src/ratemontimeout.c: Add next_length field so period length can be changed by the the sequence period(X), period(not X) with no intervening cancel or expiration.
* 2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-09-051-0/+1
| | | | * optman/Makefile.am, src/Makefile.am: Include compile.am.
* 2000-08-30 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2000-08-301-38/+5
| | | | | | * taskstart.c: Removed 1st cut at rtems_task_start_main_style. Only committed this so it could be easily revisited as we discussing moving main() to user space from BSP space.
* 2000-08-30 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2000-08-301-5/+38
| | | | * taskstart.c: Added 1st cut at rtems_task_start_main_style.
* Switched to faster implementation.Joel Sherrill2000-07-061-25/+20
|
* Modfied to execute faster and have fewer instructions.Joel Sherrill2000-07-061-38/+38
|
* Switched to using isr disable version of _Objects_Get. When theJoel Sherrill2000-07-061-13/+15
| | | | | semaphore/mutex can be obtained immediately, this cuts execution time by 50%.
* Cleaned up to avoid disruptive use of inline conditionals.Joel Sherrill2000-07-061-18/+16
|
* Moved i386 and m68k cache management code to libcpu. EverythingJoel Sherrill2000-06-132-253/+1
| | | | | | now is an implementation of the prototypes in rtems/rtems/cache.h. The libcpu/i386/wrapup directory is no longer needed. The PowerPC needs this done to it.
* Patch from John Cotton <john.cotton@nrc.ca>, Charles-Antoine GauthierJoel Sherrill2000-06-122-1/+253
| | | | | | | | | | | | | | | <charles.gauthier@iit.nrc.ca>, and Darlene A. Stewart <Darlene.Stewart@nrc.ca> to add support for a number of very significant things: + BSPs for many variations on the Motorola MBX8xx board series + Cache Manager including initial support for m68040 and PowerPC + Rework of mpc8xx libcpu code so all mpc8xx CPUs now use same code base. + Rework of eth_comm BSP to utiltize above. John reports this works on the 821 and 860
* Merged from 4.5.0-beta3aJoel Sherrill2000-06-126-26/+30
|
* Patch rtems-rc-4.5.0-13-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>.Joel Sherrill2000-04-131-0/+2
| | | | adds .cvsignore.
* Patches rtems-rc-20000204-0.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2000-02-081-2/+1
| | | | | | | | | | | | | | | | | that contains: * Removes remaining (now illegal) references to $(SRC) from a couple of Makefile.ams * Removes duplicate AC_CONFIG_SUBDIRS macro from c/configure.in * Moves ENABLE_LIBCDIR into RTEMS_PROG_C[C|XX]_FOR_TARGET (hides LIBCDIR from most configure scripts, i.e. LIBCDIR becomes less visible) * Adds RTEMS_PROG_C[C|XX]_FOR_TARGET and RTEMS_CANONICALIZE_TOOLS to libbsp/*/configure.ins (A minor bug in previous implementations, which only has an impact when switching to GNU/Cygnus canonicalization) * Cleans up several bogus comments. * Removes MKLIB * Switches the version number to 4.5.0 (for testing version number handling)
* Incorrect error status returned. Noted by Andrew KlossnerJoel Sherrill2000-02-041-1/+1
| | | | <andrew@pogo.wv.tek.com>.
* Incorrect error status returned. Noted by Andrew KlossnerJoel Sherrill2000-02-041-1/+1
| | | | <andrew@pogo.wv.tek.com>.
* Changed behavior to match that expected by EPICS test code. Reported byJoel Sherrill2000-02-031-2/+1
| | | | Eric Norum <eric@cls.usask.ca>.
* Fixed spelling errors.Joel Sherrill2000-02-031-2/+2
|
* Directive rtems_task_variable_get() added by Eric Norum.Joel Sherrill2000-01-232-1/+74
|
* Patch from Eric Norum <eric@cls.usask.ca> to implement this:Joel Sherrill2000-01-213-3/+7
| | | | | | | | | | | | | | | | | | | | I'd like to propose a change to RTEMS task variables that I think would make them more useful. I think that it is early enough in their existence to still make changes to their API. 1) Change type from `int' to `void *'. 2) Add extra argument to task_variable_add -- if non-NULL, a pointer to a `destructor' function to be called when the task exits. This function would be called with that task's value of the task variable as its argument. In many cases, the `dtor' function could be `free'. rtems_status_code rtems_task_variable_add ( rtems_id tid, void **ptr, void (*dtor)(void *)); rtems_status_code rtems_task_variable_delete (rtems_id tid, void **ptr); This would be all we'd need to cleanly and efficiently support C++ per-thread exception information without dragging in all that POSIX API stuff.
* Removed unused variable warning.Joel Sherrill2000-01-141-1/+0
|
* POSIX message queues now include complete functionality includingJoel Sherrill2000-01-133-30/+31
| | | | | | | | | | | | | | | | 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.
* Added comment to indicate this path does not occur.Jennifer Averett2000-01-131-1/+2
|
* Added support for simple binary semaphores in addition to the highJoel Sherrill2000-01-055-15/+34
| | | | | | | | | | | | 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.
* Added message priority parameter returned by core support routine.Joel Sherrill2000-01-051-1/+3
|
* First attempt at adding simple binary semaphore in addition to the currentJoel Sherrill1999-12-132-4/+7
| | | | | "mutex" and counting semaphore. This is at the request of Eric Norum and his EPICS porting effort.
* Patch rtems-rc-19991117-11.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill1999-11-232-95/+79
| | | | | to convert the libc directory to automake and "dozens of small fixes for Makefile.ins/configure.ins below c/src/lib."
* Updated copyright notice.Joel Sherrill1999-11-17100-200/+100
|