2005-10-04 Till Straumann <strauman@slac.stanford.edu>
PR 829/rtems
* src/tasks.c, src/taskvariabledelete.c: If task variables are deleted
from a different context (i.e., executing context != owner of the
task variable. The owner meaning the task that registered the dtor in
question) the argument passed to the task variable dtor must be tvar
and not *ptr which yields the executing task's value of the task
variable instead of the owner's.
2005-08-18 Andrew Sinclair <Andrew.Sinclair@elprotech.com>
PR 807/rtems
* src/timerfireafter.c, src/timerserverfireafter.c: First patch
returned without exitting dispatching critical section.
2005-08-17 Andrew Sinclair <Andrew.Sinclair@elprotech.com>
PR 807/rtems
* rtems/src/timerfireafter.c, rtems/src/timerserverfireafter.c,
score/src/watchdoginsert.c: Tighten critical section checks on an ISR
using the same timer being inserted by a lower priority ISR or
interupt task.
2005-05-13 Jennifer Averett <jennifer.averett@oarcorp.com>
PR 786/rtems
Backport mallocfreespace optimization.
* Makefile.am, include/rtems/rtems/region.h:
* src/regiongetfreeinfo.c: New file.
2005-03-17 Joel Sherrill <joel@OARcorp.com>
PR 692/rtems
* src/regiongetsegment.c, src/regionreturnsegment.c: The Region
Manager did not follow the proper protocol when blocking and
unblocking tasks waiting on buffers. This was a bug introduced with
the transition to an Allocation Mutex.
2005-03-17 Joel Sherrill <joel@OARcorp.com>
PR 745/rtems
* src/ratemoncreate.c, src/timercreate.c: Make sure internal timer
structures are initialized so object control reuse is safe.
2004-10-15 Joel Sherrill <joel@OARcorp.com>
PR 692/rtems
* src/regiongetsegment.c, src/regionreturnsegment.c: The Region Manager
did not follow the proper protocol when blocking and unblocking tasks
waiting on buffers. This was a bug introduced with the transition to
an Allocation Mutex.
2004-07-24 Mick Davis <mickd@microsol.iinet.net.au>
PR 641/rtems
* src/eventsurrender.c: The problem here is that events may be lost
when sent to a task which enters rtems_event_receive() with options
set to wait with a timeout and to return on receipt of any event. The
events are sent from an interrupt source such as a timer service
routine. If more than one set of events is sent to the task before it
returns, the first event set may be overwritten.
2004-07-24 Joel Sherrill <joel@OARcorp.com>
PR 652/rtems
* src/signalsend.c: Return RTEMS_INVALID_NUMBER when sending an empty
signal set.
2004-07-14 Joel Sherrill <joel@OARcorp.com>
PR 651/core
* src/taskident.c: Add NULL check for id.
2004-06-29 Joel Sherrill <joel@OARcorp.com>
PR 631/rtems
* src/msgqcreate.c: Return unsatisfied from message_queue_create
when unable to allocate message buffer memory.
2004-05-06 Joel Sherrill <joel@OARcorp.com>
PR 618/rtems
* include/rtems/rtems/status.h, src/clockget.c, src/clockset.c,
src/dpmemcreate.c, src/dpmemexternal2internal.c,
src/dpmeminternal2external.c, src/eventmp.c, src/eventreceive.c,
src/eventsend.c, src/msgqbroadcast.c, src/msgqcreate.c,
src/msgqflush.c, src/msgqgetnumberpending.c, src/msgqreceive.c,
src/msgqsubmit.c, src/partcreate.c, src/partdelete.c,
src/partgetbuffer.c, src/ratemoncancel.c, src/ratemoncreate.c,
src/ratemondelete.c, src/ratemongetstatus.c, src/ratemonident.c,
src/ratemonperiod.c, src/regioncreate.c, src/regiondelete.c,
src/regionextend.c, src/regiongetsegment.c,
src/regiongetsegmentsize.c, src/regionreturnsegment.c,
src/semcreate.c, src/semdelete.c, src/semflush.c, src/semident.c,
src/taskcreate.c, src/taskgetnote.c, src/taskmode.c,
src/taskrestart.c, src/taskresume.c, src/tasksetnote.c,
src/tasksuspend.c, src/taskvariableadd.c, src/taskvariabledelete.c,
src/taskvariableget.c, src/taskwakewhen.c, src/timercreate.c,
src/timerdelete.c, src/timerfireafter.c, src/timerfirewhen.c,
src/timerserverfireafter.c, src/timerserverfirewhen.c: Add NULL
checks.
2004-02-26 Thomas Rauscher <trauscher@loytec.com.
PR 584/RTEMS
* src/eventtimeout.c: Fix critical section window.
2003-10-22 Joel Sherrill <joel@OARcorp.com>
PR 512/core
* src/tasks.c, src/taskvariabledelete.c: Run task variable destructor
when task variable is deleted. Also some style cleanup.
2003-09-11 Joel Sherrill <joel@OARcorp.com>
PR 488/rtems
* src/taskcreate.c, src/tasks.c: Ensure notepads are zeroed.
2003-09-04 Joel Sherrill <joel@OARcorp.com>
* include/rtems.h, include/rtems/rtems/asr.h,
include/rtems/rtems/attr.h, include/rtems/rtems/cache.h,
include/rtems/rtems/clock.h, include/rtems/rtems/config.h,
include/rtems/rtems/dpmem.h, include/rtems/rtems/event.h,
include/rtems/rtems/eventmp.h, include/rtems/rtems/eventset.h,
include/rtems/rtems/intr.h, include/rtems/rtems/message.h,
include/rtems/rtems/modes.h, include/rtems/rtems/mp.h,
include/rtems/rtems/msgmp.h, include/rtems/rtems/options.h,
include/rtems/rtems/part.h, include/rtems/rtems/partmp.h,
include/rtems/rtems/ratemon.h, include/rtems/rtems/region.h,
include/rtems/rtems/regionmp.h, include/rtems/rtems/rtemsapi.h,
include/rtems/rtems/sem.h, include/rtems/rtems/semmp.h,
include/rtems/rtems/signal.h, include/rtems/rtems/signalmp.h,
include/rtems/rtems/status.h, include/rtems/rtems/support.h,
include/rtems/rtems/taskmp.h, include/rtems/rtems/tasks.h,
include/rtems/rtems/timer.h, include/rtems/rtems/types.h,
inline/rtems/rtems/asr.inl, inline/rtems/rtems/attr.inl,
inline/rtems/rtems/dpmem.inl, inline/rtems/rtems/event.inl,
inline/rtems/rtems/eventset.inl, inline/rtems/rtems/message.inl,
inline/rtems/rtems/modes.inl, inline/rtems/rtems/options.inl,
inline/rtems/rtems/part.inl, inline/rtems/rtems/ratemon.inl,
inline/rtems/rtems/region.inl, inline/rtems/rtems/sem.inl,
inline/rtems/rtems/status.inl, inline/rtems/rtems/support.inl,
inline/rtems/rtems/tasks.inl, inline/rtems/rtems/timer.inl,
macros/rtems/rtems/asr.inl, macros/rtems/rtems/attr.inl,
macros/rtems/rtems/dpmem.inl, macros/rtems/rtems/event.inl,
macros/rtems/rtems/eventset.inl, macros/rtems/rtems/message.inl,
macros/rtems/rtems/modes.inl, macros/rtems/rtems/options.inl,
macros/rtems/rtems/part.inl, macros/rtems/rtems/ratemon.inl,
macros/rtems/rtems/region.inl, macros/rtems/rtems/sem.inl,
macros/rtems/rtems/status.inl, macros/rtems/rtems/support.inl,
macros/rtems/rtems/tasks.inl, macros/rtems/rtems/timer.inl,
src/attr.c, src/clockget.c, src/clockset.c, src/clocktick.c,
src/dpmem.c, src/dpmemcreate.c, src/dpmemdelete.c,
src/dpmemexternal2internal.c, src/dpmemident.c,
src/dpmeminternal2external.c, src/event.c, src/eventmp.c,
src/eventreceive.c, src/eventseize.c, src/eventsend.c,
src/eventsurrender.c, src/eventtimeout.c, src/intr.c, src/intrbody.c,
src/intrcatch.c, src/mp.c, src/msg.c, src/msgmp.c,
src/msgqallocate.c, src/msgqbroadcast.c, src/msgqcreate.c,
src/msgqdelete.c, src/msgqflush.c, src/msgqgetnumberpending.c,
src/msgqident.c, src/msgqreceive.c, src/msgqsend.c, src/msgqsubmit.c,
src/msgqtranslatereturncode.c, src/msgqurgent.c, src/part.c,
src/partcreate.c, src/partdelete.c, src/partgetbuffer.c,
src/partident.c, src/partmp.c, src/partreturnbuffer.c, src/ratemon.c,
src/ratemoncancel.c, src/ratemoncreate.c, src/ratemondelete.c,
src/ratemongetstatus.c, src/ratemonident.c, src/ratemonperiod.c,
src/ratemontimeout.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/regionmp.c, src/regionreturnsegment.c,
src/rtclock.c, src/rtemstimer.c, src/sem.c, src/semcreate.c,
src/semdelete.c, src/semflush.c, src/semident.c, src/semmp.c,
src/semobtain.c, src/semrelease.c, src/semtranslatereturncode.c,
src/signal.c, src/signalcatch.c, src/signalmp.c, src/signalsend.c,
src/taskcreate.c, src/taskdelete.c, src/taskgetnote.c,
src/taskident.c, src/taskinitusers.c, src/taskissuspended.c,
src/taskmode.c, src/taskmp.c, src/taskrestart.c, src/taskresume.c,
src/tasks.c, src/tasksetnote.c, src/tasksetpriority.c,
src/taskstart.c, src/tasksuspend.c, src/taskvariableadd.c,
src/taskvariabledelete.c, src/taskvariableget.c, src/taskwakeafter.c,
src/taskwakewhen.c, src/timercancel.c, src/timercreate.c,
src/timerdelete.c, src/timerfireafter.c, src/timerfirewhen.c,
src/timergetinfo.c, src/timerident.c, src/timerreset.c,
src/timerserver.c, src/timerserverfireafter.c,
src/timerserverfirewhen.c: URL for license changed.
2003-06-12 Joel Sherrill <joel@OARcorp.com>
* include/rtems/rtems/msgmp.h, include/rtems/rtems/partmp.h,
include/rtems/rtems/regionmp.h, include/rtems/rtems/semmp.h,
src/msgmp.c, src/partmp.c, src/regionmp.c, src/semmp.c: Removed
warnings.
2003-05-30 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/rtems/types.h: Include stdint.h.
2003-05-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
PR 409:
* include/rtems/rtems/types.h: Include rtems/stdint.h.
Apply c99-types to typedef rtems_[un]signed[8|16|32|64].
2003-01-10 Joel Sherrill <joel@OARcorp.com>
* src/msg.c, src/part.c, src/sem.c, src/tasks.c: Correct object
class control structure initialization for multiprocessing
configurations.
2002-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Don't create $ARCH as side-effect of compilation.
Re-order all-local.
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-02 Joel Sherrill <joel@OARcorp.com>
* include/rtems/rtems/support.h: Added casts to eliminate warnings
on 16 bit targets like the h8300.
2002-11-13 Paul Whitfield <paulw@microsol.iinet.net.au>
* src/regionreturnsegment.c: When RTEMS_REGION_SHRED_ON_FREE is
set, there should have been an & in front of size.
2002-10-31 Joel Sherrill <joel@OARcorp.com>
* src/regiongetinfo.c: Corrected return value check.
2002-10-28 Joel Sherrill <joel@OARcorp.com>
* src/timerserver.c: Add useless return to avoid warning.
2002-09-14 Joel Sherrill <joel@OARcorp.com>
* src/dpmemcreate.c, src/dpmemident.c, src/msgqcreate.c,
src/msgqident.c, src/partcreate.c, src/partident.c,
src/ratemoncreate.c, src/ratemonident.c, src/regioncreate.c,
src/regionident.c, src/semcreate.c, src/semident.c, src/taskcreate.c,
src/taskident.c, src/timercreate.c, src/timerident.c: Added casts
to Objects_Name to eliminate warnings.
2002-08-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Add librtems.a.
2002-07-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Use .$(OBJEXT) instead of .o.
2002-07-05 Joel Sherrill <joel@OARcorp.com>
* 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>
* 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.
2001-04-08 Joel Sherrill <joel@OARcorp.com>
* src/tasks.c: Pre-initialized switch extension for list.
2001-04-08 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/score/timer.inl: Corrected typo on end of line.
2002-04-08 Chris Johns <ccj@acm.org>
* 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>
* Per PR126, configuration structures now match docs.
* include/rtems/rtems/config.h: Use public data types.
2001-03-29 Joel Sherrill <joel@OARcorp.com>
* 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>
* 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-31 Joel Sherrill <joel@OARcorp.com>
* include/rtems/rtems/timer.h: Missed merging these modifications
in previous merge of new timer functionality.
2001-01-29 Joel Sherrill <joel@OARcorp.com>
* 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>
* include/rtems/rtems/timer.h, src/timerserver.c: Add priority
argument to rtems_timer_initiate_server().
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.
2001-01-16 Joel Sherrill <joel@OARcorp.com>
* 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>
* src/taskmode.c: Ensure the this service does not dispatch before
tasking is enabled at initialization time.
2002-01-07 Joel Sherrill <joel@OARcorp.com>
* optman/, optman/.cvsignore, optman/Makefile.am, optman/no-dpmem.c,
optman/no-event.c, optman/no-mp.c, optman/no-msg.c, optman/no-part.c,
optman/no-region.c, optman/no-rtmon.c, optman/no-sem.c,
optman/no-signal.c, optman/no-timer.c: Removed entire contents of
optman/ directory since it has been moved.
2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* src/Makefile.am: Add multilib support.
* optman/Makefile.am: Add multilib support.
2001-10-23 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/rtems/asr.nil: Fixed typo.
2001-10-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* macros/Makefile.am: Replace INLINES w/ MACROS (Fix stupid typo in
previous patch).
2001-10-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/Makefile.am: Remove.
* include/rtems/rtems/Makefile.am: Remove.
* include/Makefile.am: Handle subdirs, require automake-1.5.
* inline/rtems/Makefile.am: Remove.
* inline/rtems/rtems/Makefile.am: Remove.
* inline/Makefile.am: Handle subdirs, require automake-1.5.
* macros/rtems/Makefile.am: Remove.
* macros/rtems/rtems/Makefile.am: Remove.
* macros: Handle subdirs, require automake-1.5.
* Makefile.am: require automake-1.5.
2001-09-28 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/rtems/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
* include/Makefile.am: Use 'PREINSTALL_FILES ='.
* inline/rtems/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
* macros/rtems/rtems/Makefile.am: Use 'PREINSTALL_FILES ='.
2001-09-14 Fernando Ruiz <fernando.ruiz@ctv.es>
* src/tasks.c: Dereference pointer passed to destructor.
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-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-09 Joel Sherrill <joel@OARcorp.com>
* 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>
* 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-02-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* include/Makefile.am, include/rtems/rtems/Makefile.am,
inline/rtems/rtems/Makefile.am, macros/rtems/rtems/Makefile.am,
rtems/optman/Makefile.am:
Apply include_*HEADERS instead of H_FILES.
2001-01-22 Michael Hamel <mhamel@adi.co.nz>
* include/rtems.h, src/signalcatch.c: Modifications to make
CodeWarrior happy.
2000-12-06 Joel Sherrill <joel@OARcorp.com>
* src/regiongetinfo.c: Removed unused variable to eliminate warning.
2000-11-30 Joel Sherrill <joel@OARcorp.com>
* src/msgqsubmit.c: Modified multiprocessing conditional so
this would compile with both macros and inlines.
2000-11-30 Joel Sherrill <joel@OARcorp.com>
* macros/rtems/rtems/sem.inl: Added macro implementation of
_Semaphore_Get_interrupt_disable().
2000-10-18 Joel Sherrill <joel@OARcorp.com>
* 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>
* 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>
* optman/Makefile.am, src/Makefile.am: Include compile.am.
2000-08-30 Joel Sherrill <joel.sherrill@OARcorp.com>
* 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>
* taskstart.c: Added 1st cut at rtems_task_start_main_style.
2000-08-10 Joel Sherrill <joel@OARcorp.com>
* ChangeLog: New file.