| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Add and use _Objects_Put_without_thread_dispatch(). These two functions
pair with the _Objects_Get() function. This helps to introduce object
specific SMP locks to avoid lock contention.
|
|
|
|
|
| |
Provide SMP support. The ISR disable/enable is not enough to ensure
mutual exclusion for SMP configurations.
|
|
|
|
|
|
|
| |
Move thread dispatch declarations and inline functions to new header
<rtems/score/threaddispatch.h> to make it independent of the
Thread_Control structure. This avoids a cyclic dependency in case
thread dispatch functions are used for the object implementation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
|
|
|
|
|
|
|
|
| |
New macros
o _Objects_Maximum_per_allocation(),
o rtems_resource_is_unlimited(), and
o rtems_resource_maximum_per_allocation().
New function
o _Objects_Is_unlimited().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* include/rtems/bspIo.h, include/rtems/concat.h,
include/rtems/endian.h, include/rtems/fs.h, include/rtems/irq.h,
include/rtems/pci.h, include/rtems/userenv.h,
libblock/include/rtems/flashdisk.h,
libblock/include/rtems/nvdisk-sram.h,
libblock/include/rtems/nvdisk.h, libcsupport/include/clockdrv.h,
libcsupport/include/console.h, libcsupport/include/iosupp.h,
libcsupport/include/spurious.h,
libcsupport/include/motorola/mc68230.h,
libcsupport/include/rtems/assoc.h, libcsupport/include/rtems/error.h,
libcsupport/include/rtems/framebuffer.h,
libcsupport/include/rtems/gxx_wrappers.h,
libcsupport/include/rtems/libcsupport.h,
libcsupport/include/rtems/libio_.h,
libcsupport/include/rtems/malloc.h,
libcsupport/include/rtems/termiostypes.h,
libcsupport/include/sys/statvfs.h, libcsupport/include/sys/termios.h,
libcsupport/include/sys/utsname.h, libcsupport/include/zilog/z8036.h,
libcsupport/include/zilog/z8530.h, libcsupport/include/zilog/z8536.h,
libfs/src/imfs/imfs.h, libfs/src/pipe/pipe.h,
libmisc/capture/capture-cli.h, libmisc/capture/capture.h,
libmisc/cpuuse/cpuuse.h, libmisc/devnull/devnull.h,
libmisc/devnull/devzero.h, libmisc/dumpbuf/dumpbuf.h,
libmisc/fb/fb.h, libmisc/fb/mw_uid.h, libmisc/mouse/mouse_parser.h,
libmisc/shell/shellconfig.h, libmisc/stringto/stringto.h,
libmisc/untar/untar.h, libnetworking/memory.h, posix/include/aio.h,
posix/include/mqueue.h, posix/include/semaphore.h,
posix/include/rtems/posix/aio_misc.h,
posix/include/rtems/posix/barrier.h,
posix/include/rtems/posix/cond.h, posix/include/rtems/posix/config.h,
posix/include/rtems/posix/key.h, posix/include/rtems/posix/mqueue.h,
posix/include/rtems/posix/mutex.h,
posix/include/rtems/posix/posixapi.h,
posix/include/rtems/posix/priority.h,
posix/include/rtems/posix/psignal.h,
posix/include/rtems/posix/pthread.h,
posix/include/rtems/posix/ptimer.h,
posix/include/rtems/posix/rwlock.h,
posix/include/rtems/posix/semaphore.h,
posix/include/rtems/posix/sigset.h,
posix/include/rtems/posix/spinlock.h,
posix/include/rtems/posix/threadsup.h,
posix/include/rtems/posix/time.h, posix/include/rtems/posix/timer.h,
posix/inline/rtems/posix/barrier.inl,
posix/inline/rtems/posix/cond.inl,
posix/inline/rtems/posix/mqueue.inl,
posix/inline/rtems/posix/mutex.inl,
posix/inline/rtems/posix/priority.inl,
posix/inline/rtems/posix/pthread.inl,
posix/inline/rtems/posix/rwlock.inl,
posix/inline/rtems/posix/semaphore.inl,
posix/inline/rtems/posix/spinlock.inl,
posix/inline/rtems/posix/timer.inl, rtems/mainpage.h,
rtems/include/rtems/rtems/barrier.h,
rtems/include/rtems/rtems/object.h,
rtems/include/rtems/rtems/timer.h,
rtems/inline/rtems/rtems/barrier.inl,
rtems/inline/rtems/rtems/timer.inl,
rtems/src/semtranslatereturncode.c, sapi/include/rtems/config.h,
sapi/include/rtems/fatal.h, sapi/include/rtems/mptables.h,
score/include/rtems/score/object.h,
score/include/rtems/score/priority.h,
score/inline/rtems/score/object.inl,
score/inline/rtems/score/priority.inl: Add @file Doxygen directives
and descriptions to files which originated with RTEMS. This improves
the file list page generated by Doxygen.
|
|
|
|
|
| |
* score/inline/rtems/score/object.inl: Use attribute unused in
_Objects_Is_local_id().
|
|
|
|
|
|
|
| |
* score/inline/rtems/score/object.inl: _Objects_Get_local_object() is
only called from places where the index is known to be valid.
_Objects_Set_local_object() already assumed this. Eliminates
unreachable code.
|
|
|
|
|
|
|
|
|
|
|
| |
* score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl,
score/src/objectgetnameasstring.c, score/src/objectidtoname.c,
score/src/objectinitializeinformation.c,
score/src/objectnamespaceremove.c, score/src/objectnametoidstring.c,
score/src/objectsetname.c, score/src/thread.c,
score/src/threadcreateidle.c: Disable object string name support when
POSIX is not enabled.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libmisc/dummy/dummy-networking.c: New.
* libmisc/dummy/dummy.c, libmisc/Makefile.am: Move
trhe networking configuration into a separate file so
configuration varations do not cause conflicts.
* score/inline/rtems/score/object.inl,
score/include/rtems/score/object.h: Remove warnings.
* score/inline/rtems/score/object.inl: Add _Chain_First,
_Chain_Last, _Chain_Mext, and _Chain_Previous.
* sapi/inline/rtems/chain.inl: Add rtems_chain_first,
rtems_chain_last, rtems_chain_mext, and rtems_chain_previous.
* libblock/include/rtems/diskdevs.h: Remove the bdbuf pool id and
block_size_log2. Add media_block_size.
* libblock/src/diskdevs.c: Remove size restrictions on block
size. Add media block size initialisation. Remove comment to clean
up the bdbuf cache.
* libblock/src/blkdev.c: Remove references to
block_size_log2. Allow any block size.
* libblock/include/rtems/bdbuf.h, libblock/src/bdbuf.c: Remove all
references to pools and make the cache handle demand driver
variable buffer size allocation. Added worker threads support the
swapout task.
* sapi/include/confdefs.h: Updated the bdbuf configutation.
|
|
|
|
|
|
|
|
|
| |
* score/include/rtems/score/heap.h,
score/inline/rtems/score/address.inl,
score/inline/rtems/score/heap.inl,
score/inline/rtems/score/object.inl,
score/inline/rtems/score/priority.inl,
score/inline/rtems/score/tod.inl: Remove warnings.
|
| |
|
|
|
|
|
| |
* score/inline/rtems/score/object.inl, score/src/objectgetbyindex.c:
Fix issues when using 16-bit object Ids.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/include/rtems/itron/task.h, itron/src/del_tsk.c,
itron/src/exd_tsk.c, itron/src/task.c,
posix/include/rtems/posix/threadsup.h, posix/src/cancel.c,
posix/src/cancelrun.c, posix/src/pthread.c, posix/src/pthreadexit.c,
posix/src/setcancelstate.c, posix/src/setcanceltype.c,
posix/src/testcancel.c, rtems/src/taskdelete.c,
score/inline/rtems/score/object.inl, score/src/objectclose.c,
score/src/threadclose.c: Make all task delete/exit/cancel routines
follow the same critical section pattern. Also ensure that POSIX
cancelation routines are run at thread exit.
|
|
|
|
|
|
|
|
|
|
|
| |
* posix/src/mqueueunlink.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl: Enhance
_Objects_Namespace_remove() to handle freeing object names which are
strings. All changed _Objects_Close() to call
_Objects_Namespace_remove(). The resulting code was then moved from
inline routines to function calls.
* score/src/objectclose.c, score/src/objectnamespaceremove.c: New files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/src/exd_tsk.c, itron/src/task.c, libmisc/capture/capture.c,
libmisc/monitor/mon-config.c, libmisc/monitor/mon-driver.c,
libmisc/monitor/mon-itask.c, libmisc/monitor/mon-monitor.c,
libmisc/monitor/mon-mpci.c, libmisc/monitor/mon-object.c,
libmisc/monitor/mon-symbols.c, posix/src/cancelrun.c,
posix/src/pthreadexit.c, rtems/Makefile.am, rtems/preinstall.am,
rtems/include/rtems.h, rtems/include/rtems/rtems/support.h,
rtems/inline/rtems/rtems/tasks.inl, rtems/src/eventmp.c,
rtems/src/msgmp.c, rtems/src/partmp.c, rtems/src/regionmp.c,
rtems/src/rtemsobjectgetname.c, rtems/src/semmp.c,
rtems/src/signalmp.c, rtems/src/taskdelete.c, rtems/src/taskmp.c,
rtems/src/timerserver.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/Unlimited.txt,
score/src/objectgetnameasstring.c,
score/src/threadqextractwithproxy.c: Add new Object Services
collection. This changed the name of a few previously public but
undocumented services and added a some new services.
* rtems/include/rtems/rtems/object.h, rtems/src/rtemsbuildid.c,
rtems/src/rtemsbuildname.c, rtems/src/rtemsobjectapimaximumclass.c,
rtems/src/rtemsobjectapiminimumclass.c,
rtems/src/rtemsobjectgetapiclassname.c,
rtems/src/rtemsobjectgetapiname.c,
rtems/src/rtemsobjectgetclassicname.c,
rtems/src/rtemsobjectgetclassinfo.c,
rtems/src/rtemsobjectidapimaximum.c,
rtems/src/rtemsobjectidapiminimum.c, rtems/src/rtemsobjectidgetapi.c,
rtems/src/rtemsobjectidgetclass.c, rtems/src/rtemsobjectidgetindex.c,
rtems/src/rtemsobjectidgetnode.c, rtems/src/rtemsobjectsetname.c,
score/src/objectapimaximumclass.c, score/src/objectgetinfo.c,
score/src/objectgetinfoid.c, score/src/objectsetname.c: New files.
* rtems/src/rtemsidtoname.c: Removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* itron/include/rtems/itron/object.h, itron/src/cre_tsk.c,
libblock/src/show_bdbuf.c, libmisc/capture/capture-cli.c,
libmisc/capture/capture.c, libmisc/monitor/mon-manager.c,
libmisc/stackchk/check.c, posix/src/condinit.c,
posix/src/keycreate.c, posix/src/mqueuecreatesupp.c,
posix/src/mqueuedeletesupp.c, posix/src/mqueuenametoid.c,
posix/src/mqueueopen.c, posix/src/mqueueunlink.c,
posix/src/mutexinit.c, posix/src/pbarrierinit.c,
posix/src/prwlockinit.c, posix/src/pspininit.c,
posix/src/pthreadcreate.c, posix/src/pthreadexit.c,
posix/src/semaphorecreatesupp.c, posix/src/semaphorenametoid.c,
posix/src/timercreate.c, rtems/src/barrierident.c,
rtems/src/dpmemident.c, rtems/src/msgqident.c, rtems/src/partident.c,
rtems/src/ratemonident.c, rtems/src/regionident.c,
rtems/src/semident.c, rtems/src/taskident.c, rtems/src/timerident.c,
sapi/src/extensionident.c, score/Makefile.am,
score/include/rtems/score/object.h,
score/inline/rtems/score/object.inl, score/src/apimutexallocate.c,
score/src/objectextendinformation.c,
score/src/objectgetnameasstring.c, score/src/objectmp.c,
score/src/objectnametoid.c: Convert the Objects_Name type from a
simple type to a union of an unsigned 32 bit integer and a pointer.
This should help eliminate weird casts between u32 and pointers in
various places. The APIs now have to explicitly call _u32 or _string
versions of helper routines. This should also simplify things and
eliminate the need for ugly casts in some cases.
* score/src/objectclearname.c, score/src/objectcomparenameraw.c,
score/src/objectcomparenamestring.c, score/src/objectcopynameraw.c,
score/src/objectcopynamestring.c: Removed.
|
|
|
|
| |
* score/inline/rtems/score/object.inl: Add _Objects_Is_api_valid.
|
|
|
|
|
|
|
|
| |
* score/inline/rtems/score/object.inl: During test coverage analysis,
we identified this sanity check which should have been conditional on
RTEMS_DEBUG since it can NOT be tripped during normal RTEMS
operations. With all APIs enabled, this saved 352 bytes from the
minimum executable on the SPARC/ERC32.
|
|
|
|
|
|
| |
* score/inline/rtems/score/object.inl, score/src/objectnametoid.c:
Properly honor searching only local node even when on single CPU
system.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Large patch to improve Doxygen output. As a side-effect, grammar and
spelling errors were corrected, spacing errors were address, and some
variable names were improved.
* libmisc/monitor/mon-object.c, libmisc/monitor/monitor.h:
Account for changing OBJECTS_NO_CLASS to OBJECTS_CLASSIC_NO_CLASS.
* score/Doxyfile: Set output directory. Predefine some macro values.
Turn on graphical output.
* 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/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/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/coremutex.inl,
score/inline/rtems/score/coresem.inl,
score/inline/rtems/score/heap.inl,
score/inline/rtems/score/object.inl,
score/inline/rtems/score/stack.inl,
score/inline/rtems/score/thread.inl,
score/inline/rtems/score/tqdata.inl, score/macros/README,
score/src/heap.c, score/src/threadmp.c, score/src/threadready.c,
score/src/threadstartmultitasking.c: Improve generated Doxygen
output. Fix spelling and grammar errors in comments. Correct names of
some variables and propagate changes.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* posix/src/mqueueunlink.c, posix/src/semunlink.c,
score/inline/rtems/score/object.inl,
score/macros/rtems/score/object.inl: _Objects_Is_local_id() should be
avoided in single CPU configurations but always available in the
Objects Handlers API.
|
|
|
|
|
|
|
| |
* 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/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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/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.
|
|
|
|
|
|
| |
* inline/rtems/score/object.inl, macros/rtems/score/object.inl: Add
add casts to Objects_Id in _Objects_Build_ids to avoid implicit
typecasts from enum to int16 on bit16 targets (here: h8300).
|
| |
|
|
|
|
|
|
|
|
|
| |
its name in the name_table. This was required by the POSIX semaphore
and message queue managers which support a concept of open, close, and
unlink. The object becomes "invisible" to further opens following an
unlink but all open sessions remain active until they are closed. This
requires that the removal of an object ID be separate from the removal
of its name.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, the unlimited patch. I have compiled the unlmited patch for the
Linux posix BSP only and it seems to work cleanly. I would like a really
major application run on this change before commiting as the changes are
very core and significant. I am currently building all the tests to run.
I have no targets suitable to test on at the moment.
I have tested the patch for inline functions and macros.
Turning macros on has found some core bugs. I have fixed these but have
not run all the tests. Please review the patch for these changes. They
are:
1) The conditional compilation for MP support broke the core messages
code. You cannot embed a conditional macro in another macro. The Send
and Urgent Send calls are macros.
2) User extensions handler initialisation now has two parameters. I have
updated the macros to support the extra parameter.
The patch also contains the gcc-target-default.cfg fix required to build
the kernel. More of a by product than a fix for you.
|
|
|
|
|
| |
not a valid object class. This was discovered while looking for
a bug reported by Jennifer.
|
| |
|
| |
|
| |
|
|
|
|
| |
of switching to the modified GNU GPL.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the inline implementation. The impetus for this was twofold. First,
it is incorrect to have static inline prototypes when using the macro
implementation. Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.
Next we restricted visibility for the inline routines to inside the
executive itself EXCEPT for a handful of objects. This reduced the
number of include files included by rtems.h by 40 files and reduced
the lines in the include files seen by rtems.h by about 6000 lines.
In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation 10 morgana.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.
Configuration parameter maximum_devices added.
Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.
Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.
Added user extension for post-switch.
Utilized user extensions to implement API specific functionality
like signal dispatching.
Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.
Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.
All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.
Updated spsize to reflect new and moved variables.
Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.
Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rearranged code to created thread handler routines to initialize,
start, restart, and "close/delete" a thread.
Made internal threads their own object class. This now uses the
thread support routines for starting and initializing a thread.
Insured deleted tasks are freed to the Inactive pool associated with the
correct Information block.
Added an RTEMS API specific data area to the thread control block.
Beginnings of removing the word "rtems" from the core.
|
|
|
|
|
|
| |
both fixed length "raw" names and strings from the API's point of view.
Both inline and macro implementations were tested.
|
|
|
|
|
|
|
|
| |
+ Added name pointer to Object_Control.
+ Modified Object Open and Close to address name field.
+ Removed name as separate element from Thread and Proxy Control.
|
|
|