| Commit message (Collapse) | Author | Files | Lines |
|
* configure.ac, itron/Makefile.am, itron/preinstall.am,
posix/Makefile.am, posix/preinstall.am, rtems/Makefile.am,
rtems/preinstall.am, sapi/Makefile.am, sapi/preinstall.am,
score/Makefile.am, score/preinstall.am, score/include/rtems/system.h,
score/include/rtems/score/chain.h,
score/include/rtems/score/thread.h, score/src/chain.c,
score/src/coremutexseize.c, score/src/threadget.c: Remove all macro
implementations and use only the static inline. Static inline
functions are now well supported so there is no reason for duplicate
maintenance.
* itron/macros/rtems/itron/eventflags.inl,
itron/macros/rtems/itron/fmempool.inl,
itron/macros/rtems/itron/intr.inl, itron/macros/rtems/itron/mbox.inl,
itron/macros/rtems/itron/msgbuffer.inl,
itron/macros/rtems/itron/network.inl,
itron/macros/rtems/itron/port.inl,
itron/macros/rtems/itron/semaphore.inl,
itron/macros/rtems/itron/sysmgmt.inl,
itron/macros/rtems/itron/task.inl, itron/macros/rtems/itron/time.inl,
itron/macros/rtems/itron/vmempool.inl,
posix/macros/rtems/posix/cond.inl, posix/macros/rtems/posix/key.inl,
posix/macros/rtems/posix/mqueue.inl,
posix/macros/rtems/posix/mutex.inl,
posix/macros/rtems/posix/priority.inl,
posix/macros/rtems/posix/pthread.inl,
posix/macros/rtems/posix/semaphore.inl,
posix/macros/rtems/posix/timer.inl, rtems/macros/rtems/rtems/asr.inl,
rtems/macros/rtems/rtems/attr.inl,
rtems/macros/rtems/rtems/barrier.inl,
rtems/macros/rtems/rtems/dpmem.inl,
rtems/macros/rtems/rtems/event.inl,
rtems/macros/rtems/rtems/eventset.inl,
rtems/macros/rtems/rtems/message.inl,
rtems/macros/rtems/rtems/modes.inl,
rtems/macros/rtems/rtems/options.inl,
rtems/macros/rtems/rtems/part.inl,
rtems/macros/rtems/rtems/ratemon.inl,
rtems/macros/rtems/rtems/region.inl,
rtems/macros/rtems/rtems/sem.inl,
rtems/macros/rtems/rtems/status.inl,
rtems/macros/rtems/rtems/support.inl,
rtems/macros/rtems/rtems/tasks.inl,
rtems/macros/rtems/rtems/timer.inl, sapi/macros/rtems/extension.inl,
score/macros/README, score/macros/rtems/score/address.inl,
score/macros/rtems/score/chain.inl,
score/macros/rtems/score/corebarrier.inl,
score/macros/rtems/score/coremsg.inl,
score/macros/rtems/score/coremutex.inl,
score/macros/rtems/score/corerwlock.inl,
score/macros/rtems/score/coresem.inl,
score/macros/rtems/score/corespinlock.inl,
score/macros/rtems/score/heap.inl, score/macros/rtems/score/isr.inl,
score/macros/rtems/score/mppkt.inl,
score/macros/rtems/score/object.inl,
score/macros/rtems/score/objectmp.inl,
score/macros/rtems/score/priority.inl,
score/macros/rtems/score/stack.inl,
score/macros/rtems/score/states.inl,
score/macros/rtems/score/sysstate.inl,
score/macros/rtems/score/thread.inl,
score/macros/rtems/score/threadmp.inl,
score/macros/rtems/score/tod.inl,
score/macros/rtems/score/tqdata.inl,
score/macros/rtems/score/userext.inl,
score/macros/rtems/score/watchdog.inl,
score/macros/rtems/score/wkspace.inl: Removed.
|
|
|
|
|
|
* 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.
|
|
* macros/rtems/score/object.inl: Keep consistent with inline version.
|
|
* macros/rtems/score/object.inl: Corrected typos in
_Objects_Open, _Objects_Close, and _Objects_Namespace_remove.
|
|
* macros/rtems/score/object.inl: Corrected implementation of
_Objects_Open, _Objects_Close, and _Objects_Namespace_remove
to be consistent with the inline implementation.
|
|
* 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.
|
|
* macros/rtems/score/object.inl: Corrected arguments.
|
|
* 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).
|
|
* macros/rtems/score/coresem.inl: Removed comments since convention
calls for comments to be in inline versin.
* macros/rtems/score/object.inl (Objects_Get_local_object): Fixed
style to use _ prefix on variable names and use parentheses.
* macros/rtems/score/object.inl (_Objects_Namespace_remove): Added.
|
|
|
|
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.
|
|
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.
|
|
(andy@i-cubed.demon.co.uk). This initial submission is known
to work on the IBM 403. It is thought to work on the Motorola
601, 603, and 604 although this remains to be tested.
Another user -- Doug Currie (e@flavors.com) -- is interested in
this work and will be testing it on the 604 using the Metrowerks
C compiler and a different format assembly language.
|
|
+ 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.
|
|
|