| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
* sapi/include/rtems/fatal.h, score/include/rtems/score/interr.h:
Remove volatile on return type (GCC-4.0 complains about them).
|
|
|
|
|
| |
PR 742/rtems
* score/include/rtems/system.h: Remove stringify().
|
|
|
|
|
|
| |
* score/include/rtems/score/chain.h:
Use uint32_t instead of unsigned32.
* score/src/chain.c: Remove superfluous type cast.
|
|
|
|
|
| |
* score/include/rtems/system.h: Don't define NULL, include
<stddef.h>.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* 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).
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* 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>.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* score/include/rtems/system.h: include <stdint.h>.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
PR 504/rtems
* include/rtems/score/coremutex.h: Add fatal error check for a task
blocking on a mutex when thread dispatching is disabled.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* include/Makefile.am: Remove.
* inline/Makefile.am: Remove.
* macros/Makefile.am: Remove.
* src/Makefile.am: Remove.
* Makefile.am: Merge-in removed Makefile.ams.
|
|
|
|
|
| |
* include/rtems/score/object.h, include/rtems/score/tod.h:
Added casts to eliminate warnings on 16 bit targets like the h8300.
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
* 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/...).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* Include $(top_srcdir)/automake/*.am.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* include/Makefile.am: Work-around to autoconf-2.53 adding PACKAGE_*
to autoheaders - sed out *PACKAGE* from cpuopts-tmp.h.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
* include/rtems/system.h: Remove targopts.h.
|
|
|
|
|
| |
* include/rtems/system.h: Add the sparc to the target supporting
multlibs.
|