2005-10-04 Till Straumann 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 PR 807/rtems * src/timerfireafter.c, src/timerserverfireafter.c: First patch returned without exitting dispatching critical section. 2005-08-17 Andrew Sinclair 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 PR 786/rtems Backport mallocfreespace optimization. * Makefile.am, include/rtems/rtems/region.h: * src/regiongetfreeinfo.c: New file. 2005-03-17 Joel Sherrill 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 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 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 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 PR 652/rtems * src/signalsend.c: Return RTEMS_INVALID_NUMBER when sending an empty signal set. 2004-07-14 Joel Sherrill PR 651/core * src/taskident.c: Add NULL check for id. 2004-06-29 Joel Sherrill PR 631/rtems * src/msgqcreate.c: Return unsatisfied from message_queue_create when unable to allocate message buffer memory. 2004-05-06 Joel Sherrill 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 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 PR 488/rtems * src/taskcreate.c, src/tasks.c: Ensure notepads are zeroed. 2003-09-04 Joel Sherrill * 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 * 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 * include/rtems/rtems/types.h: Include stdint.h. 2003-05-27 Ralf Corsepius 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 * 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 * Makefile.am: Don't create $ARCH as side-effect of compilation. Re-order all-local. 2002-12-09 Ralf Corsepius * 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 * include/rtems/rtems/support.h: Added casts to eliminate warnings on 16 bit targets like the h8300. 2002-11-13 Paul Whitfield * 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 * src/regiongetinfo.c: Corrected return value check. 2002-10-28 Joel Sherrill * src/timerserver.c: Add useless return to avoid warning. 2002-09-14 Joel Sherrill * 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 * src/Makefile.am: Add librtems.a. 2002-07-22 Ralf Corsepius * src/Makefile.am: Use .$(OBJEXT) instead of .o. 2002-07-05 Joel Sherrill * 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 * 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 * src/tasks.c: Pre-initialized switch extension for list. 2001-04-08 Joel Sherrill * macros/rtems/score/timer.inl: Corrected typo on end of line. 2002-04-08 Chris Johns * Per PR142, make task switch extension its own list. * src/tasks.c (_RTEMS_tasks_User_extensions): Reflect above. 2001-03-29 Joel Sherrill * Per PR126, configuration structures now match docs. * include/rtems/rtems/config.h: Use public data types. 2001-03-29 Joel Sherrill * 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 * 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 * include/rtems/rtems/timer.h: Missed merging these modifications in previous merge of new timer functionality. 2001-01-29 Joel Sherrill * 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 * include/rtems/rtems/timer.h, src/timerserver.c: Add priority argument to rtems_timer_initiate_server(). 2001-01-18 Joel Sherrill * 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 * 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 * src/taskmode.c: Ensure the this service does not dispatch before tasking is enabled at initialization time. 2002-01-07 Joel Sherrill * 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 * src/Makefile.am: Add multilib support. * optman/Makefile.am: Add multilib support. 2001-10-23 Joel Sherrill * macros/rtems/rtems/asr.nil: Fixed typo. 2001-10-23 Ralf Corsepius * macros/Makefile.am: Replace INLINES w/ MACROS (Fix stupid typo in previous patch). 2001-10-16 Ralf Corsepius * 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 * 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 * src/tasks.c: Dereference pointer passed to destructor. 2001-08-30 Joel Sherrill * inline/rtems/rtems/attr.inl: Correct typo and use correct attribute RTEMS_SYSTEM_TASK. Reported by Chris Johns . 2001-08-16 Joel Sherrill * 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 * 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 . 2001-03-26 Zoltan Kocsi * 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 * 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 * include/rtems.h, src/signalcatch.c: Modifications to make CodeWarrior happy. 2000-12-06 Joel Sherrill * src/regiongetinfo.c: Removed unused variable to eliminate warning. 2000-11-30 Joel Sherrill * src/msgqsubmit.c: Modified multiprocessing conditional so this would compile with both macros and inlines. 2000-11-30 Joel Sherrill * macros/rtems/rtems/sem.inl: Added macro implementation of _Semaphore_Get_interrupt_disable(). 2000-10-18 Joel Sherrill * 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 * 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 * optman/Makefile.am, src/Makefile.am: Include compile.am. 2000-08-30 Joel Sherrill * 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 * taskstart.c: Added 1st cut at rtems_task_start_main_style. 2000-08-10 Joel Sherrill * ChangeLog: New file.