summaryrefslogtreecommitdiffstats
path: root/cpukit/score/inline/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* rbtree: API changes. Remove rbtree control node from RBTree_Next.Gedare Bloom2012-05-081-8/+4
| | | | | | | | | | | | The implementation of RBTree_Next was using an awkward construction to detect and avoid accessing the false root of the red-black tree. To deal with the false root, RBTree_Next was comparing node parents with the control node. Instead the false root can be detected by checking if the grandparent of a node exists; the grandparent of the tree's true root is NULL by definition so the root of the tree is found while walking up the tree by checking for the non-existence of a grandparent. This change propagates into the predecessor/successor and iterate functions.
* score/rbtree: replace _RBTree_Peek_unprotected with _RBTree_First.Gedare Bloom2012-05-081-19/+1
|
* score: Remove _Stack_Adjust_size()Sebastian Huber2012-04-241-18/+0
| | | | | | | | | | The increase of the stack size by CPU_STACK_ALIGNMENT in _Thread_Stack_Allocate() is disadvantageous. This may lead to a huge over allocation for specialized stack allocators. The CPU_STACK_ALIGNMENT is at most 16 on all current RTEMS CPU ports. The mimimum stack size ensured by _Stack_Ensure_minimum() must be considerable larger than this value, otherwise stack overflows will likely occur. Thus the _Stack_Adjust_size() is also superfluous.
* score: New macros and functionsSebastian Huber2012-04-111-0/+20
| | | | | | | | | | 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().
* rbtree: PR1995: API changeSebastian Huber2012-04-111-26/+48
| | | | | | | | | | | | | | | | New functions o _RBTree_Next_unprotected(), o _RBTree_Next(), o _RBTree_Successor_unprotected(), o _RBTree_Predecessor_unprotected(), o rtems_rbtree_successor_unprotected(), and o rtems_rbtree_predecessor_unprotected(). Change prototype of o _RBTree_Successor(), o _RBTree_Predecessor(), o rtems_rbtree_successor(), and o rtems_rbtree_predecessor().
* score/rbtree: Add const qualifierSebastian Huber2012-03-301-30/+30
|
* score/rbtree: C++ compatibilitySebastian Huber2012-03-301-2/+3
|
* PR1994: RBTree Compare Result ChangeGedare Bloom2012-03-291-2/+21
| | | | | Change the meaning of the compare result to simplify comparison of integer keys.
* score: Add _RBTree_Opposite_direction.Gedare Bloom2012-03-041-3/+13
| | | | | Add a red-black tree helper method to ease obtaining the direction opposite to the current direction. Useful for manipulating and traversing an rbtree.
* Extended API to support iteration of const chains.Sebastian Huber2012-02-021-6/+36
|
* 2011-12-03 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-12-031-8/+0
| | | | | * score/inline/rtems/score/coremsg.inl (_CORE_message_queue_Send, _CORE_message_queue_Urgent):
* 2011-11-26 Gedare Bloom <gedare@rtems.org>Gedare Bloom2011-11-261-2/+2
| | | | | PR 1964 * score/inline/rtems/score/chain.inl: Fix chain is first and last.
* 2011-11-09 Werner Almesberger <werner@almesberger.net>Joel Sherrill2011-11-091-1/+1
| | | | | | | PR 1957/cpukit * score/include/rtems/score/coremutex.h, score/inline/rtems/score/threadmp.inl: Add parentheses to protect macro arguments.
* 2011-09-24 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-09-241-0/+4
| | | | | | | PR 1921/cpukit * score/inline/rtems/score/thread.inl, score/src/threadstartmultitasking.c: Allow CPU port to provide optional multitasking start and stop.
* 2011-09-01 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill2011-09-012-0/+43
| | | | | | | | | | | | | | | | PR 1895/cpukit * rtems/src/ratemoncancel.c, rtems/src/ratemondelete.c, rtems/src/ratemonperiod.c, sapi/include/confdefs.h, score/Makefile.am, score/include/rtems/score/scheduler.h, score/include/rtems/score/schedulerpriority.h, score/include/rtems/score/schedulersimple.h, score/include/rtems/score/schedulersimplesmp.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl, score/src/coremutexseize.c: Add priority_compare and release_job hooks interfaces to scheduler interface. * score/src/schedulerpriorityprioritycompare.c, score/src/schedulerpriorityreleasejob.c: New files.
* 2011-08-21 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill2011-08-211-6/+22
| | | | | | | | | | PR 1886/cpukit * sapi/include/rtems/rbtree.h, sapi/inline/rtems/rbtree.inl, score/include/rtems/score/rbtree.h, score/inline/rtems/score/rbtree.inl, score/src/rbtree.c, score/src/rbtreeinsert.c: This patch enables inserting duplicate keys into rbtree. It is possible to turn on this feature when initializing the tree.
* 2011-08-02 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-08-021-10/+17
| | | | | | | | | PR 1877/cpukit * libfs/src/imfs/imfs_mknod.c, libfs/src/imfs/memfile.c, sapi/inline/rtems/rbtree.inl, score/include/rtems/score/rbtree.h, score/inline/rtems/score/rbtree.inl, score/src/rbtree.c, score/src/rbtreefind.c, score/src/rbtreeinsert.c: Add comparison function for RBTrees.
* 2011-06-24 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-242-9/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-171-0/+12
| | | | | | | | | | | | | | | | | | | PR 1819/cpukit * rtems/src/clocktick.c, score/Makefile.am, score/include/rtems/score/scheduler.h, score/include/rtems/score/schedulerpriority.h, score/include/rtems/score/schedulersimple.h, score/include/rtems/score/schedulersimplesmp.h, score/include/rtems/score/thread.h, score/inline/rtems/score/scheduler.inl: Add a scheduler entry point which is invoked at each clock tick. _Thread_Tickle_timeslice() is now a method owned by the Deterministic Priority Scheduler and shared by the Simple Priority Scheduler. The Simple SMP Scheduler has its own variation on this which does timeslicing bookkeeping on all cores. * score/src/schedulerprioritytick.c, score/src/schedulersimplesmptick.c: New files. * score/src/threadtickletimeslice.c: Removed.
* 2011-05-23 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-231-49/+63
| | | | | | | * score/Makefile.am, score/include/rtems/score/thread.h, score/inline/rtems/score/thread.inl: Add smp support to dispable dispatch level accesses. * score/src/threaddispatchdisablelevel.c: New file.
* 2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-05-171-1/+1
| | | | | | * score/inline/rtems/score/schedulersimple.inl, score/src/schedulersimpleyield.c: Fix violations of naming convention.
* 2011-05-12 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-05-121-1/+1
| | | | | | | | | | | * score/include/rtems/score/schedulersimple.h, score/inline/rtems/score/schedulersimple.inl, score/src/schedulersimpleenqueue.c, score/src/schedulersimpleenqueuefirst.c, score/src/schedulersimplereadyqueueenqueue.c, score/src/schedulersimplereadyqueueenqueuefirst.c, score/src/schedulersimpleunblock.c: Correct names as pointed out by Gedare.
* 2011-04-21 Jennifer Averett <Jennifer.Averett@OARcorp.comJennifer Averett2011-04-211-64/+74
| | | | | | | | | | | | | PR 1777/cpukit * libcsupport/src/malloc_deferred.c, libcsupport/src/realloc.c, score/Makefile.am, score/cpu/lm32/irq.c, score/cpu/nios2/irq.c, score/include/rtems/score/coremutex.h, score/include/rtems/score/thread.h, score/inline/rtems/score/thread.inl, score/src/heapfree.c, score/src/pheapwalk.c, score/src/smp.c, score/src/threaddispatch.c: Consolidated access to _Thread_Dispatch_disable_level. * score/src/threaddisabledispatch.c, score/src/threadenabledispatch.c: New files.
* 2011-04-18 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-04-181-4/+0
| | | | | * posix/src/mqueuegetattr.c, score/inline/rtems/score/schedulerpriority.inl: Remove warnings.
* 2010-07-28 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2011-04-041-0/+442
| | | | | | | | | | | | PR 1641/cpukit * sapi/Makefile.am, sapi/preinstall.am, score/Makefile.am, score/preinstall.am: Add Red Black Tree data structure to score. * sapi/include/rtems/rbtree.h, sapi/inline/rtems/rbtree.inl, score/include/rtems/score/rbtree.h, score/inline/rtems/score/rbtree.inl, score/src/rbtree.c, score/src/rbtreeextract.c, score/src/rbtreefind.c, score/src/rbtreefindheader.c, score/src/rbtreeget.c, score/src/rbtreeinsert.c, score/src/rbtreepeek.c: New files.
* 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2011-03-161-0/+53
| | | | | | | | | | | | | | | | | | | PR 1743/cpu * sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add Simple Priority Scheduler as complement to existing Deterministic Priority Scheduler. This scheduler serves both as an example and as a lighter weight implementation for smaller systems. * score/include/rtems/score/schedulersimple.h, score/inline/rtems/score/schedulersimple.inl, score/src/schedulersimple.c, score/src/schedulersimpleblock.c, score/src/schedulersimpleenqueue.c, score/src/schedulersimpleenqueuefirst.c, score/src/schedulersimpleextract.c, score/src/schedulersimplereadyqueueenqueue.c, score/src/schedulersimplereadyqueueenqueuefirst.c, score/src/schedulersimpleschedule.c, score/src/schedulersimpleunblock.c, score/src/schedulersimpleyield.c: New files.
* 2011-02-23 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-02-233-0/+7
| | | | | | | | * score/include/rtems/debug.h, score/include/rtems/score/sysstate.h, score/include/rtems/score/timespec.h, score/inline/rtems/score/address.inl, score/inline/rtems/score/stack.inl, score/inline/rtems/score/states.inl: Add missing includes.
* 2011-02-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-02-182-94/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * sapi/include/confdefs.h, score/Makefile.am, score/include/rtems/score/scheduler.h, score/include/rtems/score/schedulerpriority.h, score/include/rtems/score/thread.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl, score/src/scheduler.c, score/src/schedulerpriority.c, score/src/schedulerpriorityblock.c, score/src/schedulerpriorityschedule.c, score/src/schedulerpriorityunblock.c, score/src/schedulerpriorityyield.c, score/src/threadchangepriority.c, score/src/threadclose.c, score/src/threadinitialize.c, score/src/threadsetpriority.c, score/src/threadsettransient.c: Significant clean up on Scheduler Plugin Interface. Names were shortened. Missing operations added. Many scheduler files had unneeded includes removed. Made pointer to scheduler information in Thread_Control and Scheduler_Control a void * pointer because the thread and scheduler wrapper should be unaware of scheduler types AND this is broken for user provided schedulers. * score/src/schedulerpriorityallocate.c, score/src/schedulerpriorityenqueue.c, score/src/schedulerpriorityenqueuefirst.c, score/src/schedulerpriorityextract.c, score/src/schedulerpriorityfree.c, score/src/schedulerpriorityupdate.c: New files. * score/src/schedulerprioritythreadschedulerallocate.c, score/src/schedulerprioritythreadschedulerfree.c, score/src/schedulerprioritythreadschedulerupdate.c: Removed.
* 2011-02-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-02-172-112/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | * sapi/include/confdefs.h, sapi/include/rtems/config.h, score/include/rtems/score/scheduler.h, score/include/rtems/score/schedulerpriority.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl, score/src/scheduler.c, score/src/schedulerpriority.c, score/src/schedulerpriorityblock.c, score/src/schedulerpriorityschedule.c, score/src/schedulerprioritythreadschedulerallocate.c, score/src/schedulerprioritythreadschedulerfree.c, score/src/schedulerprioritythreadschedulerupdate.c, score/src/schedulerpriorityunblock.c, score/src/schedulerpriorityyield.c, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threadclose.c, score/src/threadinitialize.c, score/src/threadready.c, score/src/threadresume.c, score/src/threadsetpriority.c, score/src/threadsetstate.c, score/src/threadsuspend.c: Simplify the pluggable scheduler interface. Its configuration made a table of available schedulers and set a pointer to one of the. This was heavy handed since you can only use one scheduler in an application. This configuration mechanism resulted in a scheduler pointer being passed around when you could put all scheduler configuration in an initialized structure.
* 2011-02-14 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2011-02-141-4/+6
| | | | | | | * score/include/rtems/score/coremutex.h, score/inline/rtems/score/coremutex.inl, score/src/apimutexallocate.c: Fix direction of conditional and eliminate use of nesting is error when POSIX is disabled.
* 2010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-11-252-13/+13
| | | | | | | | | | | | * sapi/include/confdefs.h, score/include/rtems/score/scheduler.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl, score/src/schedulerpriority.c, score/src/schedulerprioritythreadschedulerallocate.c, score/src/schedulerprioritythreadschedulerfree.c, score/src/schedulerprioritythreadschedulerupdate.c, score/src/schedulerpriorityyield.c: Added attribute unused. Renamed types and fields to follow the Score naming conventions.
* 2010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-11-251-32/+100
| | | | | | | | | PR 1711/cpukit * score/inline/rtems/score/chain.inl, score/src/chain.c: New functions _Chain_Immutable_head(), _Chain_Immutable_tail(), _Chain_Immutable_first(), and _Chain_Immutable_last(). The Chain_Control is now a union to avoid casts. The function _Chain_Is_empty() takes now a const pointer parameter.
* 2010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-11-252-4/+4
| | | | | | | | | | | | | | | | | | * libfs/src/dosfs/fat_file.c, libfs/src/imfs/imfs_debug.c, libfs/src/imfs/imfs_directory.c, libfs/src/imfs/imfs_getchild.c, posix/src/killinfo.c, score/inline/rtems/score/schedulerpriority.inl, score/inline/rtems/score/watchdog.inl, score/src/apiext.c, score/src/chain.c, score/src/coremsgflushsupp.c, score/src/coremsginsert.c, score/src/objectshrinkinformation.c, score/src/schedulerpriorityyield.c, score/src/threadqdequeuepriority.c, score/src/threadqenqueuepriority.c, score/src/threadqextractpriority.c, score/src/threadqfirstfifo.c, score/src/threadqfirstpriority.c, score/src/threadyieldprocessor.c, score/src/userextthreadbegin.c, score/src/userextthreadcreate.c, score/src/userextthreaddelete.c, score/src/userextthreadrestart.c, score/src/userextthreadstart.c, score/src/userextthreadswitch.c, score/src/watchdogreportchain.c: Avoid chain API violations.
* 2010-11-24 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2010-11-243-11/+425
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR 1647/cpukit * posix/src/nanosleep.c, posix/src/sched_yield.c, rtems/src/taskwakeafter.c, sapi/include/confdefs.h, sapi/include/rtems/config.h, sapi/src/exinit.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/prioritybitmap.h, score/include/rtems/score/thread.h, score/inline/rtems/score/thread.inl, score/src/thread.c, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threadclose.c, score/src/threadinitialize.c, score/src/threadready.c, score/src/threadresume.c, score/src/threadsetpriority.c, score/src/threadsetstate.c, score/src/threadsettransient.c, score/src/threadsuspend.c, score/src/threadtickletimeslice.c: Refactor scheduler out of thread handler to facilitate alternate scheduler implementations. * score/src/threadyieldprocessor.c: Removed. * score/src/schedulerprioritythreadschedulerupdate.c, score/src/schedulerprioritythreadschedulerfree.c, score/src/schedulerpriorityblock.c, score/src/scheduler.c, score/src/schedulerprioritythreadschedulerallocate.c, score/src/schedulerpriorityunblock.c, score/src/schedulerpriority.c, score/src/schedulerpriorityyield.c, score/include/rtems/score/schedulerpriority.h, score/include/rtems/score/scheduler.h, score/inline/rtems/score/scheduler.inl, score/inline/rtems/score/schedulerpriority.inl: New files.
* 2010-08-25 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2010-08-252-0/+26
| | | | | | | | | | Coverity Id 164/UNINIT Coverity Id 165/UNINIT * posix/src/prwlockinit.c, posix/src/pspininit.c, score/include/rtems/score/corespinlock.h, score/inline/rtems/score/corerwlock.inl, score/inline/rtems/score/corespinlock.inl: Add initialization helpers for score rwlock and spinlock. Use them from POSIX.
* 2010-08-23 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-08-231-6/+98
| | | | | | | | | | | | | | PR 1673/cpukit * score/src/chainappendempty.c, score/src/chaingetempty.c, score/src/chainprependempty.c: New files. * score/Makefile.am: Reflect changes above. * score/include/rtems/score/chain.h: Declare _Chain_Append_with_empty_check(), _Chain_Prepend_with_empty_check(), and _Chain_Get_with_empty_check(). * score/inline/rtems/score/chain.inl: Define _Chain_Append_with_empty_check_unprotected(), _Chain_Prepend_with_empty_check_unprotected(), and _Chain_Get_with_empty_check_unprotected().
* 2010-08-09 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-08-091-0/+4
| | | | | * score/inline/rtems/score/object.inl: Use attribute unused in _Objects_Is_local_id().
* 2010-07-30 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2010-07-301-2/+2
| | | | | | | | | | | | | PR 1599/cpukit * posix/src/psignalunblockthread.c, posix/src/pthreadkill.c, rtems/src/signalsend.c, score/include/rtems/score/percpu.h, score/inline/rtems/score/thread.inl, score/src/thread.c, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threaddispatch.c, score/src/threadready.c, score/src/threadresume.c, score/src/threadsetstate.c, score/src/threadstartmultitasking.c, score/src/threadsuspend.c, score/src/threadyieldprocessor.c: Rename _Context_Switch_necessary to _Thread_Dispatch_necessary to more properly reflect the intent.
* 2010-07-29 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2010-07-293-166/+194
| | | | | | | | | | | | | | | | | | | | | | | PR 1635/cpukit * sapi/src/exinit.c, score/Makefile.am, score/preinstall.am, score/include/rtems/score/bitfield.h, score/include/rtems/score/priority.h, score/include/rtems/score/thread.h, score/inline/rtems/score/priority.inl, score/inline/rtems/score/thread.inl, score/src/threadchangepriority.c, score/src/threadclearstate.c, score/src/threadready.c, score/src/threadresume.c, score/src/threadsetpriority.c, score/src/threadsetstate.c, score/src/threadsettransient.c, score/src/threadsuspend.c: Refactoring of priority handling, to isolate the bitmap implementation of priorities in the supercore so that priority management is a little more modular. This change is in anticipation of scheduler implementations that can select how they manage tracking priority levels / finding the highest priority ready task. Note that most of the changes here are simple renaming, to clarify the use of the bitmap-based priority management. * score/include/rtems/score/prioritybitmap.h, score/inline/rtems/score/prioritybitmap.inl: New files.
* 2010-07-26 Joel Sherrill <joel.sherrilL@OARcorp.com>Joel Sherrill2010-07-271-3/+8
| | | | | | * rtems/src/taskmode.c, score/inline/rtems/score/thread.inl: Rework a bit to eliminate unreachable path for task blocked while calling rtems_task_mode() on itself.
* 2010-06-24 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2010-06-241-0/+21
| | | | | | | | PR 1589/cpukit * score/Makefile.am, score/include/rtems/score/thread.h, score/inline/rtems/score/thread.inl: Make _Thread_Evaluate_mode() an inline method. It is only used in one place and relatively simple. * score/src/threadevaluatemode.c: Removed.
* 2010-06-07 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-06-071-0/+18
| | | | | | | | | | | | | | | | | | | * score/include/rtems/score/heap.h: Declare _Heap_Get_first_and_last_block(). Removed Heap_Extend_status. Changed return type of _Heap_Extend() to bool. * score/inline/rtems/score/heap.inl: Define _Heap_Set_last_block_size(). * score/src/heap.c: Define and use _Heap_Get_first_and_last_block(). * score/src/heapgetinfo.c: Removed assert statements. Do not count the last block. This ensures that all size values are an integral multiple of the page size which is consistent with the other statistics. * score/src/heapextend.c: Implemented support for scattered heap areas. * score/src/heapwalk.c: Dump also last block. Changes for new first and last block values. * ./score/src/pheapextend.c, rtems/src/regionextend.c: Update for _Heap_Extend() changes.
* 2009-11-23 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-11-231-6/+0
| | | | | * score/inline/rtems/score/thread.inl: Eliminate unused variable and code.
* 2009-11-09 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-11-092-13/+11
| | | | | | | * score/inline/rtems/score/coremutex.inl, score/inline/rtems/score/coresem.inl: Eliminate use of local variable. This local variable causes unused variable warnings on some ports.
* 2009-10-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-10-111-1/+2
| | | | | | * score/inline/rtems/score/thread.inl, score/src/threaddispatch.c: Correct conditionals so _Thread_Enable_dispatch() is always inlined when intended.
* 2009-10-10 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-10-101-3/+10
| | | | | | | * 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.
* 2009-10-08 Chris Johns <chrisj@rtems.org>Chris Johns2009-10-082-4/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am, preinstall.am: Added statvfs.h. * libcsupport/Makefile.am: Add statvfs.c. * libcsupport/include/sys/statvfs.h, libcsupport/src/statvfs.c: New. * libcsupport/include/rtems/libio.h: Add a file system handler for the statvfs call. * libfs/src/devfs/devfs_init.c, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c, libfs/src/nfsclient/src/nfs.c: Set the statvfs handler to NULL. * include/rtems/fs.h: Add a second node access field for the RFS file system to hold a directory offset while the existing field holds the inode number. This save a rescan of the directory when working with directories. * libblock/include/rtems/bdbuf.h: Added references and user fields to the buffer descriptor. * libblock/src/bdbuf.c: Added dynamic buffer support for different block sizes. Fixed a number of bugs. * libblock/src/blkdev.c: Release the disk device on an error. * libblock/src/diskdevs.c: Set the block size to the media block size during initialisation of the disk device. * libblock/src/flashdisk.c, libblock/src/nvdisk.c, libblock/src/ramdisk.c: Updated the drivers to handle variable block sizes. * libfs/src/dosfs/fat.c, libfs/src/dosfs/fat.h: Release any buffers when an error occurs. The FAT buffer layer hangs onto a single buffer while mounted. This should be fixed. * sapi/inline/rtems/chain.inl: Added rtems_chain_set_off_chain, rtems_chain_is_node_off_chain, and rtems_chain_previous. * score/inline/rtems/score/chain.inl: Added _Chain_Set_off_chain, and _Chain_Is_node_off_chain. * libmisc/shell/main_ln.c, libmisc/shell/main_mknod.c, libmisc/shell/mknod-pack_dev.c, libmisc/shell/mknod-pack_dev.h: New shell commands. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Added ln and mknod commands. * libmisc/shell/hexdump-display.c: Fixed the reopen bug which showed up as a free with a bad pointer. * libmisc/shell/main_mount.c: List the user adding file system when listing the available file systems to mount. * libmisc/shell/utils-cp.c: Remove the fixed static copy buffer and use a large dynamic buffer. * score/inline/rtems/score/address.inl, score/src/coremsgsubmit.c, score/src/objectallocate.c, score/src/objectfree.c: Remove warnings.
* 2009-09-25 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-09-251-1/+17
| | | | | | * score/inline/rtems/score/thread.inl: Restore the BSP context -- do not save the current. This routine is also marked as not returning which saves the exit path code.
* 2009-09-13 Joel Sherrill <joel.sherrill@OARcorp.com>Joel Sherrill2009-09-131-11/+17
| | | | | * score/inline/rtems/score/coremsg.inl: Fix compilation issue when notifications are not enabled.
* 2009-09-13 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2009-09-131-16/+48
| | | | | | | | | * score/inline/rtems/score/coremsg.inl, score/src/coremsg.c, score/src/coremsgbroadcast.c, score/src/coremsginsert.c, score/src/coremsgseize.c, score/src/coremsgsubmit.c: Add wrappers for accessing message priority. Since these are empty when priority-based message queues are disabled, this eliminates some of the conditionals.