| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
PR 829/rtems
* rtems/src/tasks.c, rtems/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.
|
|
|
|
|
|
| |
PR 807/rtems
* rtems/src/timerfireafter.c, rtems/src/timerserverfireafter.c: First
patch returned without exitting dispatching critical section.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
* rtems/src/regiongetfreeinfo.c: Return RTEMS_SUCCESSFUL instead of
RTEMS_INVALID_ADDRESS on success path.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* itron/Makefile.am, libblock/Makefile.am, libcsupport/Makefile.am,
libfs/Makefile.am, libmisc/Makefile.am, posix/Makefile.am,
rtems/Makefile.am, sapi/Makefile.am:
Remove AM_CPPFLAGS += -I$(top_builddir).
|
| |
|
|
|
|
|
|
|
| |
PR 745/rtems
* rtems/src/ratemoncreate.c, rtems/src/timercreate.c: Make sure
internal timer structures are initialized so object control reuse is
safe.
|
| |
|
|
|
|
|
|
|
|
| |
* httpd/Makefile.am, itron/Makefile.am, libblock/Makefile.am,
libcsupport/Makefile.am, libfs/Makefile.am, libmisc/Makefile.am,
libnetworking/Makefile.am, librpc/Makefile.am, posix/Makefile.am,
rtems/Makefile.am, sapi/Makefile.am, score/Makefile.am:
Eliminate CFLAGS_OPTIMIZE_V.
|
|
|
|
|
| |
* rtems/src/eventsurrender.c: Remove bogus type casts.
* sapi/Makefile.am: Eliminate *_FILES.
|
|
|
|
|
|
|
|
|
| |
* automake/compile.am, httpd/Makefile.am, itron/Makefile.am,
libblock/Makefile.am, libcsupport/Makefile.am, libfs/Makefile.am,
libmisc/Makefile.am, libnetworking/Makefile.am, librpc/Makefile.am,
posix/Makefile.am, rtems/Makefile.am, sapi/Makefile.am,
score/Makefile.am, wrapup/Makefile.am:
Remove build-variant support.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/include/rtems.h,
rtems/include/rtems/rtems/asr.h,
rtems/include/rtems/rtems/attr.h,
rtems/include/rtems/rtems/cache.h,
rtems/include/rtems/rtems/clock.h,
rtems/include/rtems/rtems/config.h,
rtems/include/rtems/rtems/dpmem.h,
rtems/include/rtems/rtems/event.h,
rtems/include/rtems/rtems/eventmp.h,
rtems/include/rtems/rtems/eventset.h,
rtems/include/rtems/rtems/intr.h,
rtems/include/rtems/rtems/message.h,
rtems/include/rtems/rtems/modes.h,
rtems/include/rtems/rtems/mp.h,
rtems/include/rtems/rtems/msgmp.h,
rtems/include/rtems/rtems/options.h,
rtems/include/rtems/rtems/part.h,
rtems/include/rtems/rtems/partmp.h,
rtems/include/rtems/rtems/ratemon.h,
rtems/include/rtems/rtems/region.h,
rtems/include/rtems/rtems/regionmp.h,
rtems/include/rtems/rtems/rtemsapi.h,
rtems/include/rtems/rtems/sem.h,
rtems/include/rtems/rtems/semmp.h,
rtems/include/rtems/rtems/signal.h,
rtems/include/rtems/rtems/signalmp.h,
rtems/include/rtems/rtems/status.h,
rtems/include/rtems/rtems/support.h,
rtems/include/rtems/rtems/taskmp.h,
rtems/include/rtems/rtems/tasks.h,
rtems/include/rtems/rtems/timer.h,
rtems/include/rtems/rtems/types.h: Add doxygen preamble.
|
|
|
|
|
| |
* rtems/include/rtems/rtems/tasks.h, rtems/src/taskstart.c:
rtems_task_start(..., rtems_task_argument argument );
|
|
|
|
|
|
|
|
| |
PR 692/rtems
* rtems/src/regiongetsegment.c, rtems/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.
|
|
|
|
|
|
|
|
|
|
| |
PR 641/rtems
* 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.
|
|
|
|
|
|
| |
PR rtems/652
* rtems/src/signalsend.c: Return RTEMS_INVALID_NUMBER when sending an
empty signal set.
|
|
|
|
|
| |
PR 651/core
* rtems/src/taskident.c: Add NULL check for id.
|
|
|
|
|
|
| |
PR 631/rtems
* rtems/src/msgqcreate.c: Return unsatisfied from message_queue_create
when unable to allocate message buffer memory.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>.
|
|
|
|
|
|
|
|
| |
* rtems/include/rtems/rtems/region.h:
Include stddef.h for size_t.
(rtems_region_get_segment_size): Use size_t instead of uint32_t for "size" (3rd arg).
* rtems/src/regiongetsegmentsize.c: Reflect changes above.
* libcsupport/src/malloc.c: Reflect changes above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems/include/rtems.h,
rtems/include/rtems/rtems/asr.h,
rtems/include/rtems/rtems/attr.h,
rtems/include/rtems/rtems/clock.h,
rtems/include/rtems/rtems/config.h,
rtems/include/rtems/rtems/dpmem.h,
rtems/include/rtems/rtems/eventset.h,
rtems/include/rtems/rtems/message.h,
rtems/include/rtems/rtems/modes.h,
rtems/include/rtems/rtems/msgmp.h,
rtems/include/rtems/rtems/options.h,
rtems/include/rtems/rtems/part.h,
rtems/include/rtems/rtems/ratemon.h,
rtems/include/rtems/rtems/region.h,
rtems/include/rtems/rtems/regionmp.h,
rtems/include/rtems/rtems/sem.h,
rtems/include/rtems/rtems/support.h,
rtems/include/rtems/rtems/taskmp.h,
rtems/include/rtems/rtems/tasks.h,
rtems/include/rtems/rtems/timer.h,
rtems/inline/rtems/rtems/part.inl,
rtems/inline/rtems/rtems/region.inl,
rtems/macros/rtems/rtems/part.inl,
rtems/src/attr.c,
rtems/src/dpmem.c,
rtems/src/dpmemcreate.c,
rtems/src/dpmemexternal2internal.c,
rtems/src/dpmeminternal2external.c,
rtems/src/eventseize.c,
rtems/src/msg.c,
rtems/src/msgmp.c,
rtems/src/msgqallocate.c,
rtems/src/msgqbroadcast.c,
rtems/src/msgqcreate.c,
rtems/src/msgqflush.c,
rtems/src/msgqgetnumberpending.c,
rtems/src/msgqident.c,
rtems/src/msgqreceive.c,
rtems/src/msgqsend.c,
rtems/src/msgqsubmit.c,
rtems/src/msgqtranslatereturncode.c,
rtems/src/msgqurgent.c,
rtems/src/part.c,
rtems/src/partcreate.c,
rtems/src/partident.c,
rtems/src/partmp.c,
rtems/src/ratemon.c,
rtems/src/region.c,
rtems/src/regioncreate.c,
rtems/src/regionextend.c,
rtems/src/regiongetsegment.c,
rtems/src/regiongetsegmentsize.c,
rtems/src/regionmp.c,
rtems/src/regionreturnsegment.c,
rtems/src/rtemstimer.c,
rtems/src/sem.c,
rtems/src/semcreate.c,
rtems/src/semident.c,
rtems/src/semmp.c,
rtems/src/semobtain.c,
rtems/src/semtranslatereturncode.c,
rtems/src/taskcreate.c,
rtems/src/taskgetnote.c,
rtems/src/taskident.c,
rtems/src/taskinitusers.c,
rtems/src/taskmp.c,
rtems/src/taskrestart.c,
rtems/src/tasks.c,
rtems/src/tasksetnote.c,
rtems/src/taskstart.c,
rtems/src/timerserver.c: Convert to using c99 fixed size types.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* score/src/Unlimited.txt, score/src/chain.c, score/src/coremsg.c,
score/src/coremsgbroadcast.c, score/src/coremsgclose.c,
score/src/coremsgflush.c, score/src/coremsgflushsupp.c,
score/src/coremsgseize.c, score/src/coremsgsubmit.c,
score/src/coremutex.c, score/src/coremutexflush.c,
score/src/coresem.c, score/src/coresemflush.c, score/src/coretod.c,
score/src/coretodtickle.c, score/src/coretodtoseconds.c,
score/src/coretodvalidate.c, score/src/heap.c,
score/src/heapallocate.c, score/src/heapextend.c,
score/src/heapfree.c, score/src/heapsizeofuserarea.c,
score/src/interr.c, score/src/iterateoverthreads.c,
score/src/mpci.c, score/src/object.c, score/src/objectallocate.c,
score/src/objectallocatebyindex.c, score/src/objectclearname.c,
score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c,
score/src/objectextendinformation.c, score/src/objectfree.c,
score/src/objectget.c, score/src/objectgetbyindex.c,
score/src/objectgetisr.c, score/src/objectgetnoprotection.c,
score/src/objectidtoname.c, score/src/objectinitializeinformation.c,
score/src/objectmp.c, score/src/objectnametoid.c,
score/src/objectshrinkinformation.c, score/src/thread.c,
score/src/threadcreateidle.c, score/src/threadget.c,
score/src/threadidlebody.c, score/src/threadinitialize.c,
score/src/threadmp.c, score/src/threadq.c,
score/src/threadqdequeuepriority.c,
score/src/threadqenqueuepriority.c,
score/src/threadqfirstpriority.c, score/src/threadqflush.c,
score/src/threadreset.c, score/src/threadrestart.c,
score/src/threadsettransient.c, score/src/threadstackallocate.c,
score/src/threadstart.c, score/src/userext.c,
score/src/watchdoginsert.c, score/src/wkspace.c: Convert to using
c99 fixed size types.
|
| |
|
|
|
|
|
| |
PR 584/RTEMS
* rtems/src/eventtimeout.c: Fix critical section window.
|
|
|
|
|
| |
* ChangeLog, rtems/Makefile.am, rtems/include/rtems/rtems/support.h:
Reverse developmental patches accidentally committed.
|
|
|
|
|
|
|
| |
PR pppd/564
* rtems/Makefile.am, rtems/include/rtems/rtems/support.h: ppp0
Interface lose packets if the system use a slow baudrate for the
modem or the tcp/ip-packet is fragmented.
|
|
|
|
|
|
|
| |
* ChangeLog: Merge-in itron/ChangeLog, posix/ChangeLog, score/ChangeLog,
sapi/ChangeLog, rtems/ChangeLog.
* itron/ChangeLog, posix/ChangeLog, score/ChangeLog, sapi/ChangeLog,
rtems/ChangeLog: Remove.
|
| |
|
|
|
|
| |
* Makefile.am: Add PREINSTALL_DIRS.
|
|
|
|
|
| |
* Makefile.am: Re-add dirstamps to PREINSTALL_FILES.
Add PREINSTALL_FILES to CLEANFILES.
|
|
|
|
| |
* Makefile.am: Include compile.am, again.
|
|
|
|
|
| |
* Makefile.am: Add libs to CLEANFILES
Set lib*_g_a_SOURCES = lib*_a_SOURCES.
|
|
|
|
|
| |
* Makefile.am: Build librtems$(LIB_VARIANT).a instead of
$(ARCH)/librtems.a.
|
|
|
|
| |
* Makefile.am: Build library using EXTRA_LIBRARIES and automake rules.
|
|
|
|
| |
* Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
|
|
|
|
|
| |
* Makefile.am: Add $(dirstamp) to compilation rules.
Add AM_CPPFLAGS += -I$(top_builddir).
|
|
|
|
|
| |
* Makefile.am: Add $(dirstamp) to preinstallation rules.
Remove MACROS.
|
|
|
|
| |
* Makefile.am: Reworked.
|