summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 2005-05-14 Sergei Organov <osv@topconrd.ru>Joel Sherrill2005-05-201-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 746/rtems Optimize realloc(). The problem is that realloc() can neither grow nor shrink efficiently the current memory region without support from underlying heap/region modules. The patch introduces one new routine for each of heap and region modules, _Heap_Resize_block(), and rtems_region_resize_segment(), respectively, and uses the latter to optimize realloc(). The implementation of _Heap_Resize_block() lead to changing of the heap allocation strategy: now the heap manager, when splits larger free block into used and new free parts, makes the first part of the block used, not the last one as it was before. Due to this new strategy, _Heap_Resize_block() never needs to change the user pointer. Caveat: unlike previous heap implementation, first few bytes of the contents of the memory allocated from the heap are now almost never all zero. This can trigger bugs in client code that have not been visible before this patch. * libcsupport/src/malloc.c (realloc): try to resize segment in place using new rtems_region_resize_segment() routine before falling back to the malloc()/free() method. * score/src/heap.c: (_Heap_Initialize): change initial heap layout to reflect new allocation strategy of using of the lower part of a previously free block when splitting it for the purpose of allocation. (_Heap_Block_allocate): when split, make the lower part used, and leave the upper part free. Return type changed from Heap_Block* to uint32_t. * score/include/rtems/score/heap.h: (Heap_Statistics): added 'resizes' field. (Heap_Resize_status): new enum. (_Heap_Resize_block): new routine. (_Heap_Block_allocate): return type changed from Heap_Block* to uint32_t. * score/src/heapwalk.c: reflect new heap layout in checks. * score/src/heapsizeofuserarea.c: more assertions added. * score/src/heapresizeblock.c: new file. (_Heap_Resize_block): new routine. * score/src/heapfree.c: reverse the checks _Heap_Is_block_in() and _Heap_Is_prev_used() on entry to be in this order. * score/src/heapallocate.c, score/src/heapallocatealigned.c: ignore return value of _Heap_Block_allocate(). * score/Makefile.am (HEAP_C_FILES): added src/heapresizeblock.c. * rtems/include/rtems/rtems/region.h: (rtems_region_resize_segment): new interface routine. (_Region_Process_queue): new internal routine called from rtems_region_resize_segment() and rtems_region_return_segment(). * rtems/src/regionreturnsegment.c: move queue management code into the new internal routine _Region_Process_queue() and call it. * rtems/src/regionresizesegment.c: new file. (rtems_region_resize_segment): new interface routine. * rtems/src/regionprocessqueue.c: new file. (_Region_Process_queue): new internal routine containing queue management code factored out from 'regionreturnsegment.c'. * rtems/Makefile.am (REGION_C_FILES): Added src/regionresizesegment.c, and src/regionprocessqueue.c. * ada/rtems.adb, ada/rtems.ads: Added Region_Resize_Segment.
* 2005-02-10 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2005-02-101-12/+19
| | | | | | | | | | | | PR 753/rtems * score/include/rtems/score/object.h, score/src/objectinitializeinformation.c: Configured number of objects needs to be of a type with more bits than Objects_Maximum to support configuring unlimited objects. The type for configuring the maximum number of objects should probably always be the same fundamental type as Object Id. For 16-bit Id configurations, the constant OBJECTS_UNLIMITED_OBJECTS was changed to 0x8000 to move in this direction.
* New header guard.Ralf Corsepius2005-01-2832-64/+64
|
* 2005-01-24 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-241-1/+1
| | | | | | | * score/include/rtems/score/heap.h: Use uintptr_t for _H_uptr_t. * score/inline/rtems/score/address.inl: Remove RTEMS_CPU_HAS_16_BIT_ADDRESSES. Use uintptr_t for void* to address cast.
* 2005-01-20 Sergei Organov <osv@topconrd.ru>Joel Sherrill2005-01-201-127/+259
| | | | | | | | | | | | | | | | PR 536/rtems Heap manager re-implementation to consume less memory and still satisfy alignment requirements. * score/src/heap.c, score/src/heapallocate.c, score/src/heapextend.c, score/src/heapfree.c, score/src/heapgetinfo.c, score/src/heapgetfreeinfo.c, core/src/heapsizeofuserarea.c, score/src/heapwalk.c, core/macros/rtems/score/heap.inl, score/inline/rtems/score/heap.inl, score/include/rtems/score/heap.h: Reimplemented. * score/src/heapallocatealigned.c: new file * score/Makefile.am: HEAP_C_FILES: add score/src/heapallocatealigned.c
* 2005-01-18 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-181-1/+1
| | | | | * sapi/include/rtems/fatal.h, score/include/rtems/score/interr.h: Remove volatile on return type (GCC-4.0 complains about them).
* 2005-01-14 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2005-01-141-2/+0
| | | | | PR 742/rtems * score/include/rtems/system.h: Remove stringify().
* 2004-12-29 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2004-12-291-2/+2
| | | | | | * score/include/rtems/score/chain.h: Use uint32_t instead of unsigned32. * score/src/chain.c: Remove superfluous type cast.
* 2004-12-09 Ralf Corsepius <ralf.corsepius@rtems.org>Ralf Corsepius2004-12-091-7/+1
| | | | | * score/include/rtems/system.h: Don't define NULL, include <stddef.h>.
* 2004-11-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-11-292-10/+37
| | | | | | | | | | | | * libcsupport/src/mallocfreespace.c, rtems/Makefile.am, rtems/include/rtems/rtems/region.h, score/Makefile.am, score/include/rtems/score/heap.h, score/src/heapgetinfo.c: Add capability to return information about just the free blocks in a region or heap. Also changed the semantics of free space available to be the largest block of memory that can be allocated. * rtems/src/regiongetfreeinfo.c, score/src/heapgetfreeinfo.c: New files. : score/include/rtems/score/object.h, score/src/objectinitializeinformation.c: Remove warning.
* 2004-11-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-11-221-3/+4
| | | | | | * score/include/rtems/score/object.h, score/src/objectclearname.c, score/src/objectcopynamestring.c: Fixing warning led to making changes to multiple prototypes for object support routines.
* Adjust doxygen @file.Ralf Corsepius2004-11-2132-33/+36
|
* 2004-11-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-11-011-2/+2
| | | | | | | | * score/include/rtems/score/object.h, score/src/object.c, score/src/objectallocatebyindex.c, score/src/objectcomparenameraw.c, score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c, score/src/objectinitializeinformation.c: Fix bugs in previous commit. Now compiles.
* Fix typo.Ralf Corsepius2004-11-011-1/+1
|
* Fix typo.Ralf Corsepius2004-11-011-0/+1
|
* Fix typo.Ralf Corsepius2004-11-011-1/+0
|
* 2004-11-01 Joel Sherrill <joel@oarcorp.com>Joel Sherrill2004-11-0131-1444/+1694
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * score/cpu/no_cpu/rtems/score/cpu.h, score/include/rtems/debug.h, score/include/rtems/seterr.h, score/include/rtems/system.h, score/include/rtems/score/address.h, score/include/rtems/score/apiext.h, score/include/rtems/score/apimutex.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/chain.h, score/include/rtems/score/context.h, score/include/rtems/score/copyrt.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/coresem.h, score/include/rtems/score/heap.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/priority.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/sysstate.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/userext.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h, score/inline/rtems/score/address.inl, score/inline/rtems/score/chain.inl, score/inline/rtems/score/coremsg.inl, score/inline/rtems/score/coremutex.inl, score/inline/rtems/score/coresem.inl, score/inline/rtems/score/heap.inl, score/inline/rtems/score/isr.inl, score/inline/rtems/score/mppkt.inl, score/inline/rtems/score/objectmp.inl, score/inline/rtems/score/priority.inl, score/inline/rtems/score/stack.inl, score/inline/rtems/score/states.inl, score/inline/rtems/score/sysstate.inl, score/inline/rtems/score/thread.inl, score/inline/rtems/score/threadmp.inl, score/inline/rtems/score/tod.inl, score/inline/rtems/score/tqdata.inl, score/inline/rtems/score/userext.inl, score/inline/rtems/score/watchdog.inl, score/inline/rtems/score/wkspace.inl: Add Doxygen comments -- working modifications which are not complete and may have broken code. Committing so work and testing can proceed. * score/Doxyfile, score/mainpage.h: New files.
* 2004-11-01 Joel Sherrill <joel@oarcorp.com>Joel Sherrill2004-11-011-16/+43
| | | | | | | * score/include/rtems/score/object.h, score/inline/rtems/score/object.inl, score/macros/rtems/score/object.inl: Add first cut of optional 16 bit object Id as space reduction for small systems (TinyRTEMS).
* 2004-10-29 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-10-291-1/+1
| | | | | | * score/src/coremsg.c: Eliminate unsigned32. * score/include/rtems/system.h: Set __RTEMS_REVISION__ to 99. * librpc/include/rpc/xdr.h: Use elipsis in xdrproc_t prototype.
* Remove obsolete files.Ralf Corsepius2004-10-271-5/+0
|
* 2004-09-29 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-09-291-4/+3
| | | | | | | * configure.ac, libmisc/cpuuse/README, libmisc/stackchk/README, librpc/src/xdr/xdr_float.c, score/cpu/Makefile.am, score/include/rtems/score/mppkt.h: i960 obsoleted and all references removed.
* 2004-05-06 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2004-05-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 618/rtems * rtems/include/rtems/rtems/status.h, rtems/src/clockget.c, rtems/src/clockset.c, rtems/src/dpmemcreate.c, rtems/src/dpmemexternal2internal.c, rtems/src/dpmeminternal2external.c, rtems/src/eventmp.c, rtems/src/eventreceive.c, rtems/src/eventsend.c, rtems/src/msgqbroadcast.c, rtems/src/msgqcreate.c, rtems/src/msgqflush.c, rtems/src/msgqgetnumberpending.c, rtems/src/msgqreceive.c, rtems/src/msgqsubmit.c, rtems/src/partcreate.c, rtems/src/partdelete.c, rtems/src/partgetbuffer.c, rtems/src/ratemoncancel.c, rtems/src/ratemoncreate.c, rtems/src/ratemondelete.c, rtems/src/ratemongetstatus.c, rtems/src/ratemonident.c, rtems/src/ratemonperiod.c, rtems/src/regioncreate.c, rtems/src/regiondelete.c, rtems/src/regionextend.c, rtems/src/regiongetsegment.c, rtems/src/regiongetsegmentsize.c, rtems/src/regionreturnsegment.c, rtems/src/semcreate.c, rtems/src/semdelete.c, rtems/src/semflush.c, rtems/src/semident.c, rtems/src/taskcreate.c, rtems/src/taskgetnote.c, rtems/src/taskmode.c, rtems/src/taskrestart.c, rtems/src/taskresume.c, rtems/src/tasksetnote.c, rtems/src/tasksuspend.c, rtems/src/taskvariableadd.c, rtems/src/taskvariabledelete.c, rtems/src/taskvariableget.c, rtems/src/taskwakewhen.c, rtems/src/timercreate.c, rtems/src/timerdelete.c, rtems/src/timerfireafter.c, rtems/src/timerfirewhen.c, rtems/src/timerserverfireafter.c, rtems/src/timerserverfirewhen.c, score/include/rtems/score/object.h, score/src/coretodvalidate.c, score/src/objectnametoid.c: Add NULL checks.
* Remove stray white spaces.Ralf Corsepius2004-04-1819-40/+40
|
* Remove stray white spaces.Ralf Corsepius2004-04-1722-120/+120
|
* Remove stray white spaces.Ralf Corsepius2004-04-153-3/+0
|
* 2004-04-13 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-04-131-1/+1
| | | | | | | | * rtems/include/rtems/rtems/types.h: Include <rtems/stdint.h> instead of <stdint.h>. Conditionally typedef rtems*signed64 types. * score/include/rtems/system.h: Include <rtems/stdint.h> instead of <stdint.h>.
* 2004-03-29 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-2924-171/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * score/include/rtems/debug.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/chain.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/coresem.h, score/include/rtems/score/heap.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/object.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/priority.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/userext.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h, score/inline/rtems/score/address.inl, score/inline/rtems/score/coremsg.inl, score/inline/rtems/score/coresem.inl, score/inline/rtems/score/heap.inl, score/inline/rtems/score/isr.inl, score/inline/rtems/score/object.inl, score/inline/rtems/score/priority.inl, score/inline/rtems/score/stack.inl, score/inline/rtems/score/thread.inl, score/inline/rtems/score/tqdata.inl, score/inline/rtems/score/userext.inl, score/inline/rtems/score/wkspace.inl, score/macros/rtems/score/address.inl, score/macros/rtems/score/heap.inl, score/macros/rtems/score/object.inl, score/macros/rtems/score/priority.inl, score/macros/rtems/score/userext.inl: Convert to using c99 fixed size types.
* 2004-03-23 Ralf Corsepius <ralf_corsepius@rtems.org>Ralf Corsepius2004-03-231-1/+2
| | | | * score/include/rtems/system.h: include <stdint.h>.
* Remove refs to Makefile*.Ralf Corsepius2004-03-091-2/+0
|
* Unused.Ralf Corsepius2004-03-082-4/+0
|
* 2003-11-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-11-233-3/+3
| | | | | | | | | | PR 525/rtems * include/rtems/system.h: Use RTEMS_INLINES instead of USE_INLINES. * include/rtems/score/chain.h: Ditto. * include/rtems/score/thread.h: Ditto. * src/chain.c: Ditto. * src/coremutexseize.c: Ditto. * src/threadget.c: Ditto.
* 2003-10-02 Phil Torre <ptorre@zetron.com>Joel Sherrill2003-10-021-0/+12
| | | | | | PR 504/rtems * include/rtems/score/coremutex.h: Add fatal error check for a task blocking on a mutex when thread dispatching is disabled.
* 2003-09-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2003-09-151-3/+2
| | | | | | | PR 489/rtems * include/rtems/score/thread.h: Change struct Thread_Control_struct.libc_reent to using struct _reent*. * inline/rtems/score/thread.inl: Reflect change above.
* 2003-09-04 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-09-0432-32/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/rtems/debug.h, include/rtems/seterr.h, include/rtems/system.h, include/rtems/score/address.h, include/rtems/score/apiext.h, include/rtems/score/apimutex.h, include/rtems/score/bitfield.h, include/rtems/score/chain.h, include/rtems/score/context.h, include/rtems/score/copyrt.h, include/rtems/score/coremsg.h, include/rtems/score/coremutex.h, include/rtems/score/coresem.h, include/rtems/score/heap.h, include/rtems/score/interr.h, include/rtems/score/isr.h, include/rtems/score/mpci.h, include/rtems/score/mppkt.h, include/rtems/score/object.h, include/rtems/score/objectmp.h, include/rtems/score/priority.h, include/rtems/score/stack.h, include/rtems/score/states.h, include/rtems/score/sysstate.h, include/rtems/score/thread.h, include/rtems/score/threadmp.h, include/rtems/score/threadq.h, include/rtems/score/tod.h, include/rtems/score/tqdata.h, include/rtems/score/userext.h, include/rtems/score/watchdog.h, include/rtems/score/wkspace.h, inline/rtems/score/address.inl, inline/rtems/score/chain.inl, inline/rtems/score/coremsg.inl, inline/rtems/score/coremutex.inl, inline/rtems/score/coresem.inl, inline/rtems/score/heap.inl, inline/rtems/score/isr.inl, inline/rtems/score/mppkt.inl, inline/rtems/score/object.inl, inline/rtems/score/objectmp.inl, inline/rtems/score/priority.inl, inline/rtems/score/stack.inl, inline/rtems/score/states.inl, inline/rtems/score/sysstate.inl, inline/rtems/score/thread.inl, inline/rtems/score/threadmp.inl, inline/rtems/score/tod.inl, inline/rtems/score/tqdata.inl, inline/rtems/score/userext.inl, inline/rtems/score/watchdog.inl, inline/rtems/score/wkspace.inl, macros/rtems/score/address.inl, macros/rtems/score/chain.inl, macros/rtems/score/coremsg.inl, macros/rtems/score/coremutex.inl, macros/rtems/score/coresem.inl, macros/rtems/score/heap.inl, macros/rtems/score/isr.inl, macros/rtems/score/mppkt.inl, macros/rtems/score/object.inl, macros/rtems/score/objectmp.inl, macros/rtems/score/priority.inl, macros/rtems/score/stack.inl, macros/rtems/score/states.inl, macros/rtems/score/sysstate.inl, macros/rtems/score/thread.inl, macros/rtems/score/threadmp.inl, macros/rtems/score/tod.inl, macros/rtems/score/tqdata.inl, macros/rtems/score/userext.inl, macros/rtems/score/watchdog.inl, macros/rtems/score/wkspace.inl, src/apiext.c, src/chain.c, src/coremsg.c, src/coremsgbroadcast.c, src/coremsgclose.c, src/coremsgflush.c, src/coremsgflushsupp.c, src/coremsgflushwait.c, src/coremsginsert.c, src/coremsgseize.c, src/coremsgsubmit.c, src/coremutex.c, src/coremutexflush.c, src/coremutexseize.c, src/coremutexsurrender.c, src/coresem.c, src/coresemflush.c, src/coresemseize.c, src/coresemsurrender.c, src/coretod.c, src/coretodset.c, src/coretodtickle.c, src/coretodtoseconds.c, src/coretodvalidate.c, src/heap.c, src/heapallocate.c, src/heapextend.c, src/heapfree.c, src/heapgetinfo.c, src/heapsizeofuserarea.c, src/heapwalk.c, src/interr.c, src/isr.c, src/iterateoverthreads.c, src/mpci.c, src/object.c, src/objectallocate.c, src/objectallocatebyindex.c, src/objectclearname.c, src/objectcomparenameraw.c, src/objectcomparenamestring.c, src/objectcopynameraw.c, src/objectcopynamestring.c, src/objectextendinformation.c, src/objectfree.c, src/objectget.c, src/objectgetbyindex.c, src/objectgetisr.c, src/objectgetnext.c, src/objectgetnoprotection.c, src/objectidtoname.c, src/objectinitializeinformation.c, src/objectmp.c, src/objectnametoid.c, src/objectshrinkinformation.c, src/thread.c, src/threadchangepriority.c, src/threadclearstate.c, src/threadclose.c, src/threadcreateidle.c, src/threaddelayended.c, src/threaddispatch.c, src/threadevaluatemode.c, src/threadget.c, src/threadhandler.c, src/threadidlebody.c, src/threadinitialize.c, src/threadloadenv.c, src/threadmp.c, src/threadq.c, src/threadqdequeue.c, src/threadqdequeuefifo.c, src/threadqdequeuepriority.c, src/threadqenqueue.c, src/threadqenqueuefifo.c, src/threadqenqueuepriority.c, src/threadqextract.c, src/threadqextractfifo.c, src/threadqextractpriority.c, src/threadqextractwithproxy.c, src/threadqfirst.c, src/threadqfirstfifo.c, src/threadqfirstpriority.c, src/threadqflush.c, src/threadqtimeout.c, src/threadready.c, src/threadreset.c, src/threadresettimeslice.c, src/threadrestart.c, src/threadresume.c, src/threadrotatequeue.c, src/threadsetpriority.c, src/threadsetstate.c, src/threadsettransient.c, src/threadstackallocate.c, src/threadstackfree.c, src/threadstart.c, src/threadstartmultitasking.c, src/threadsuspend.c, src/threadtickletimeslice.c, src/threadyieldprocessor.c, src/userext.c, src/watchdog.c, src/watchdogadjust.c, src/watchdoginsert.c, src/watchdogremove.c, src/watchdogtickle.c, src/wkspace.c: URL for license changed.
* 2003-08-14 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-08-142-5/+26
| | | | | | | | | * 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 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2003-08-141-0/+15
| | | | | | | | | | | 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-07-18 Till Straumann <strauman@slac.stanford.edu>Joel Sherrill2003-07-181-1/+1
| | | | | | | | | | | | | | | | 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.
* Merger from rtems-4-6-branch.Ralf Corsepius2003-03-111-1/+2
|
* Merger from rtems-4-6-branch.Ralf Corsepius2003-02-281-0/+7
|
* 2002-12-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-12-091-51/+0
| | | | | | | | * 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>Joel Sherrill2002-12-022-19/+19
| | | | | * include/rtems/score/object.h, include/rtems/score/tod.h: Added casts to eliminate warnings on 16 bit targets like the h8300.
* 2002-08-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-08-291-14/+0
| | | | | | | * score/include/Makefile.am: Remove cpuopt.h generation. * configure.ac: Correct package name. Don't build ada if POSIX is disabled. Generate cpuopt.h on the fly, filter out autoconf-2.53 PACKAGE crap.
* 2002-07-22 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-231-0/+1
| | | | | | * 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-01 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-07-017-67/+270
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-06-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Ralf Corsepius2002-06-171-1/+1
| | | | * Include $(top_srcdir)/automake/*.am.
* 2002-05-15 Chris Johns <ccj@acm.org>Joel Sherrill2002-05-151-0/+10
| | | | | | | | | * 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-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-05-141-1/+1
| | | | | * include/Makefile.am: Work-around to autoconf-2.53 adding PACKAGE_* to autoheaders - sed out *PACKAGE* from cpuopts-tmp.h.
* 2001-04-26 Joel Sherrill <joel@OARcorp.com>Joel Sherrill2002-04-261-12/+13
| | | | | | | | | | * 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-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-04-181-15/+1
| | | | * include/rtems/system.h: Remove targopts.h.
* 2002-04-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>Joel Sherrill2002-04-171-1/+1
| | | | | * include/rtems/system.h: Add the sparc to the target supporting multlibs.