| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
| |
* score/macros/rtems/score/chain.inl, score/src/objectidtoname.c:
Add cast to avoid type punning warning in gcc 3.3.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libblock/src/bdbuf.c, libblock/src/ramdisk.c,
libcsupport/src/newlibc.c, libcsupport/src/sync.c,
libmisc/cpuuse/cpuuse.c, libmisc/monitor/mon-symbols.c,
libmisc/shell/cmds.c, libmisc/shell/shell.c,
libnetworking/kern/kern_sysctl.c, libnetworking/lib/ftpfs.c,
libnetworking/lib/tftpDriver.c, libnetworking/libc/gethostbydns.c,
libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c,
libnetworking/libc/getnetbyht.c, libnetworking/libc/getnetnamadr.c,
libnetworking/libc/inet_addr.c, libnetworking/libc/linkaddr.c,
libnetworking/libc/map_v4v6.c, libnetworking/libc/ns_print.c,
libnetworking/libc/ns_ttl.c, libnetworking/libc/nsap_addr.c,
libnetworking/libc/rcmd.c, libnetworking/libc/res_debug.c,
libnetworking/libc/res_mkupdate.c, libnetworking/libc/res_query.c,
libnetworking/libc/res_send.c, libnetworking/libc/res_update.c,
libnetworking/net/radix.c, libnetworking/rtems/mkrootfs.c,
librpc/src/rpc/clnt_perror.c, librpc/src/rpc/svc.c,
score/macros/rtems/score/chain.inl, score/src/objectidtoname.c: Too
much was accidentally committed -- revert.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libblock/src/bdbuf.c, libblock/src/ramdisk.c,
libcsupport/src/newlibc.c, libcsupport/src/sync.c,
libmisc/cpuuse/cpuuse.c, libmisc/monitor/mon-symbols.c,
libmisc/shell/cmds.c, libmisc/shell/shell.c,
libnetworking/kern/kern_sysctl.c, libnetworking/lib/ftpfs.c,
libnetworking/lib/tftpDriver.c, libnetworking/libc/gethostbydns.c,
libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c,
libnetworking/libc/getnetbyht.c, libnetworking/libc/getnetnamadr.c,
libnetworking/libc/inet_addr.c, libnetworking/libc/linkaddr.c,
libnetworking/libc/map_v4v6.c, libnetworking/libc/ns_print.c,
libnetworking/libc/ns_ttl.c, libnetworking/libc/nsap_addr.c,
libnetworking/libc/rcmd.c, libnetworking/libc/res_debug.c,
libnetworking/libc/res_mkupdate.c, libnetworking/libc/res_query.c,
libnetworking/libc/res_send.c, libnetworking/libc/res_update.c,
libnetworking/net/radix.c, libnetworking/rtems/mkrootfs.c,
librpc/src/rpc/clnt_perror.c, librpc/src/rpc/rtems_rpc.c,
librpc/src/rpc/svc.c, sapi/include/confdefs.h,
score/macros/rtems/score/chain.inl, score/src/objectidtoname.c:
|
|
|
|
|
| |
PR 533/bsps
* startup/linkcmds: Update linkcmds for gcc 3.3.2.
|
|
|
|
|
|
| |
PR 526/rtems
* src/threadcreateidle.c: Idle task name should be a string and
PR484 broke this.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
* src/coremsgseize.c, src/coremsgsubmit.c:
Remove unnecessary typecasts in assignments to
thread->Wait.return_argument.
|
|
|
|
|
| |
PR 484/rtems
* src/threadcreateidle.c: Idle task name was initialized incorrectly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
PR 417/rtems
* src/coresemsurrender.c: Correct incorrect check for maximum_count
reported by Sergei Organov <osv@topconrd.ru>.
|
|
|
|
| |
* src/threadloadenv.c: Removed warnings.
|
|
|
|
| |
* src/objectmp.c: Removed warnings.
|
|
|
|
|
|
|
|
| |
PR 356/bsps
* src/threadhandlerc: This patch makes RTEMS/PowerPC eabi compliant.
Let Thread_Handler verify that _init/_main are non-NULL
before calling them (gives the linker script/user more
freedom to handle special cases).
|
|
|
|
|
| |
* src/objectmp.c: Corrected use of name parameter to reflect that it
is actually the name not a pointer to the name.
|
|
|
|
|
|
|
|
| |
* include/Makefile.am: Remove.
* inline/Makefile.am: Remove.
* macros/Makefile.am: Remove.
* src/Makefile.am: Remove.
* Makefile.am: Merge-in removed Makefile.ams.
|
|
|
|
|
| |
* src/heapgetinfo.c: Fixed comment.
* src/mpci.c: Removed warning.
|
|
|
|
|
| |
* src/threadhandler.c: Prototype _init() and _main() if they are needed
to avoid a warning.
|
|
|
|
|
| |
* macros/rtems/score/coremsg.inl: Add <string.h> to remove warning.
* src/threadidlebody.c: Add return 0 to avoid warning.
|
|
|
|
|
|
| |
* src/coretodset.c: Correct calculation of ticks until next section
boundary. It was incorrectly based upon current time not the
time that is being set.
|
|
|
|
| |
* src/Makefile.am: Build into libscore.a.
|
|
|
|
| |
* src/Makefile.am: Use .$(OBJEXT) instead of .o.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/threaddispatch.c, src/threadhandler.c: Per PR211 fix
saving/restoring floating point context. The fpsave and fprestore
routines are only used in a executing context which _is_ fp and hence
has the FPU enabled. The current behavior required the FPU always to
be on which is very dangerous if lazy context switching is used.
[Joel Note: Some ports explicitly enabled the FPU in the FP save and
restore routines to avoid this.]
The patch also makes sure (on powerpc only) that the FPU is disabled
for integer tasks. Note that this is crucial if deferred fp context
switching is used. Otherwise, fp context corruption may go undetected!
Also note that even tasks which merely push/pop FP registers to/from
the stack without modifying them still MUST be FP tasks - otherwise
(if lazy FP context switching is used), FP register corruption (of
other, FP, tasks may occur)!
Furthermore, (on PPC) by default, lazy FP context save/restore
is _disabled_.
|
|
|
|
| |
* src/objectcomparenamestring.c: Fix typos.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
| |
* src/threadinitialize.c: Per PR181, clear the array of user extension
pointers. This lets user extensions that have hooked the switch handler
know if a task has been processed by the user extension before. If a
user extension is created after a task is started it may not know it.
|
|
|
|
|
|
|
|
|
| |
* cpu/Makefile.am: Remove AUTOMAKE_OPTIONS.
* src/Makefile.am: Remove AUTOMAKE_OPTIONS.
* Makefile.am: Remove AUTOMAKE_OPTIONS.
* include/Makefile.am: Remove AUTOMAKE_OPTIONS.
* inline/Makefile.am: Remove AUTOMAKE_OPTIONS.
* macros/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
|
|
|
| |
* src/Makefile.am: Add multilib support.
|
|
|
|
|
|
|
|
| |
* src/threadhandler.c: When __USE__MAIN__ is defined by the toolset,
invoke the global constructors via __main. Reported as tested by
Alexandra Kossovsky <sasha@oktet.ru> and Victor V. Vengerov
<vvv@oktet.ru> in conjunction with a new set of tool RPMs
(gcc2.95.3newlib1.9.0-3). This was tracked as GNATS PR tools/84.
|
|
|
|
|
|
|
|
|
| |
Reported by Todor.Todorov@barco.com and tracked as PR36.
* include/rtems/score/object.h: Added prototype for
_Objects_Get_by_index().
* src/objectget.c, src/objectgetisr.c: Corrected procedure for
getting index from Id so it is correct and optimal for both single
and multiprocessor configurations.
|
|
|
|
|
| |
* src/threadhandler.c: Use __USE_INIT_FINI__ since USE_INIT_FINI
pollutes the application namespace.
|
|
|
|
|
|
|
| |
* src/threadhandler.c: Now process C++ global constructors
(_init) as part of the first task execution not in BSP space.
This depends on the toolset defining USE_INIT_FINI so you
have to have the right toolset version.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/coremutex.c, src/coremutexseize.c, src/coremutexsurrender.c,
inline/rtems/score/coremutex.inl: The per thread field resource_count
should only be manipulated when a mutex is priority ceiling or
priority inherit. This was reported by Chris Johns <ccj@acm.org>
who also noticed that the use of switches for all disciplines
generated less efficient code than using explicit tests for the one
or two cases we were really interested in. Further review of his
modifications made it apparent that the "isa" methods to test mutex
discipline were not being used so this modification was swept into
the code as well.
|
|
|
|
|
|
| |
* src/coremutexsurrender.c: Use holder thread not executing
thread because even though they may and often are the same
it is not guaranteed unless the proper attribute is set.
|
|
|
|
|
|
|
|
| |
* include/rtems/score/coremsg.h, src/coremsgsubmit.c: Add a new
return status to account for blocking sends. Otherwise, the
caller will think that the returned message status will have
the ultimate results of the operation. If the send times out,
the final status will be in the return_code of the thread.
|
|
|
|
|
|
|
|
| |
* include/rtems/score/coremsg.h, inline/rtems/score/coremsg.inl,
src/coremsgsubmit.c: Unblocking message queue operations should
NOT use _Thread_Executing for return status since it is permissible
to invoke message send operations from an ISR. This was reported
by Suvrat Gupta <suvrat@utstar.com>.
|
|
|
|
|
| |
* src/objectextendinformation.c: Added include of string.h to
eliminate warning.
|
|
|
|
|
| |
* src/threadinitialize.c: Fix my bad hack of Ralf's fp_area
warning removal patch. :(
|
|
|
|
| |
* src/threadinitialize.c: Removed warning.
|
|
|
|
| |
* rtems/score/cpu.h: Added _CPU_Initialize_vectors().
|
|
|
|
|
| |
* src/isr.c: Allocate the _ISR_Vector_table all the time not just when
we are allocating an interrupt stack.
|
|
|
|
|
|
| |
* include/rtems/score/isr.h, src/isr.c: Allocate it from the
workspace rather than explicitly declaring it. This allows
the size to be a non-constant from the perspective of score/cpu.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* General effort to make things compile with macros not inlines
* inline/rtems/score/coremutex.inl: Added comment indicating
for macros there is another copy of
_CORE_mutex_Seize_interrupt_trylock() in src/coremutexseize.c.
* src/coremutexseize.c: Added body of
_CORE_mutex_Seize_interrupt_trylock() for macro case.
* macros/rtems/score/coremutex.inl: Added prototype for
_CORE_mutex_Seize_interrupt_trylock() since there is a real
body when macros are enabled.
* macros/rtems/score/coresem.inl: Added macro implementation of
_CORE_semaphore_Seize_isr_disable.
* macros/score/Makefile.am: Fixed typos.
* rtems/score/address.inl: Correct macro implementation of
_Addresses_Is_aligned() so it would compile.
* macros/rtems/score/coremsg.inl: Added closing parentheses.
|