summaryrefslogtreecommitdiffstats
path: root/cpukit/score/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Always provide <rtems/score/smplock.h>Sebastian Huber2013-06-121-1/+1
|
* score: Move thread dispatch content to new fileSebastian Huber2013-06-071-0/+1
| | | | | | | 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.
* smp: New SMP lock APISebastian Huber2013-05-311-1/+1
| | | | | | | | | | | | | | Move the SMP lock implementation to the CPU port. An optimal SMP lock implementation is highly architecture dependent. For example the memory models may be fundamentally different. The new SMP lock API has a flaw. It does not provide the ability to use a local context for acquire and release pairs. Such a context is necessary to implement for example the Mellor-Crummey and Scott (MCS) locks. The SMP lock is currently used in _Thread_Disable_dispatch() and _Thread_Enable_dispatch() and makes them to a giant lock acquire and release. Since these functions do not pass state information via a local context there is currently no use case for such a feature.
* Clear the atomic conditional compilation.WeiY2013-05-011-2/+0
|
* Implement a generic atomic ops for all UP mode architectures with ↵WeiY2013-05-011-0/+1
| | | | disable/enable-IRQ function simulated.
* Conditionally install atomic-headers.Ralf Corsépius2013-02-141-0/+2
|
* score: atomic support for RTEMS automake and autoconf changesWeiY2013-02-071-1/+3
|
* score: Add _Objects_Active_count()Sebastian Huber2012-12-211-1/+2
|
* score: Add rtems_chain_node_count_unprotected()Sebastian Huber2012-12-211-0/+1
|
* score: PR1607: Add and use CPU_SIZEOF_POINTERSebastian Huber2012-11-221-0/+1
| | | | | | | | | | | | | | | | | Add and use new CPU port define CPU_SIZEOF_POINTER. It must be an integer literal that can be used by the assembler. This value will be used to calculate offsets of structure members. These offsets will be used in assembler code. The size of a pointer is part of the application binary interface (ABI) and thus independent of the actual programming language. The compiler will provide defines to determine the current ABI. We use these defines to select the appropriate CPU_SIZEOF_POINTER value. Static assertions in the new file "cpukit/score/src/percpuasm.c" will ensure that the value of CPU_SIZEOF_POINTER is consistent with the current compiler settings. Also the offset values used by assembler code are verfied.
* score: Inline _User_extensions_Thread_switch()Sebastian Huber2012-11-221-2/+1
| | | | | The _User_extensions_Thread_switch() function is only used in _Thread_Dispatch().
* score: Add and use <rtems/score/userextimpl.h>Sebastian Huber2012-11-221-0/+1
| | | | | This file contains the parts of <rtems/score/userext.h> that are only necessary for the RTEMS implementation.
* score: Add and use _TOD_Get_with_nanoseconds()Sebastian Huber2012-11-211-1/+1
| | | | Delete _TOD_Get_as_timestamp().
* score: Add _Timestamp_To_timeval()Sebastian Huber2012-11-211-1/+1
|
* score: Add and use _User_extensions_Iterate()Sebastian Huber2012-11-131-3/+1
| | | | | | | Replace the separate user extension iterations with a single iteration function. This reduces code size and improves maintainability since the iteration logic is only in one function. The runtime overhead is insignificant.
* score: Change _Heap_Extend() APISebastian Huber2012-10-251-1/+1
| | | | | | | | | | | | | | The _Heap_Extend() has now the same signature as _Heap_Initialize(). The 4th parameter is ignored (page size in _Heap_Initialize()). Add Heap_Area and Heap_Initialization_or_extend_handler. Add and test _Heap_No_extend(). This helps to do a table based heap initialization and extension. Create a table of Heap_Area elements and iterate through it. Set the handler to _Heap_Initialize() in the first iteration and then to _Heap_Extend().
* PR2069: [CBS Scheduler] Memory leak and enqueue problemAndreas Heinig2012-08-061-0/+1
| | | | | | | Due to the fact that CBS extends the EDF scheduler, most parts of EDF are reused. One part is the allocation of the per-thread data. However, the CBS per-thread structure defines a further element (while including the rest of Scheduler_EDF_Per_thread)
* Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill2012-05-111-4/+0
| | | | | | | | | | | | 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.
* score/rbtree: eliminate unused function _RBTree_Peek.Gedare Bloom2012-05-081-2/+1
|
* Revert: Remove CVS IdsJoel Sherrill2012-05-071-0/+4
| | | | | See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
* Remove CVS-Ids.Ralf Corsépius2012-05-041-4/+0
|
* rbtree: New function _RBTree_Iterate_unprotected()Sebastian Huber2012-04-111-1/+2
|
* rbtree: PR1995: API changeSebastian Huber2012-04-111-1/+1
| | | | | | | | | | | | | | | | 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().
* Added support functions for greedy heap allocationSebastian Huber2012-02-101-1/+2
| | | | | | Various tests must check program paths that result due to failed memory allocations from the heap. To avoid tinkering with internal heap structures throughout the test code these functions should be used.
* 2011-12-12 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-121-1/+1
| | | | | | | * score/src/wkstringduplicate.c: New file. * score/Makefile.am: Reflect change above. * score/include/rtems/score/wkspace.h: Declare _Workspace_String_duplicate().
* 2011-12-06 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-12-061-2/+2
| | | | | | | | | | * score/src/heapiterate.c, score/src/pheapiterate.c: New files. * score/Makefile.am: Reflect changes above. * score/include/rtems/score/heap.h: Declare _Heap_Iterate() and define Heap_Block_visitor. * score/include/rtems/score/protectedheap.h: Declare _Protected_heap_Iterate(). * score/src/heapgetinfo.c: Use _Heap_Iterate().
* 2011-09-28 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2011-09-281-2/+2
| | | | | | | | | | | | | | | | | | PR 1914/cpukit * score/src/timespecgreaterthan.c, score/src/ts64greaterthan.c: Removed files. * score/Makefile.am: Reflect changes above. * score/include/rtems/score/timespec.h, score/include/rtems/score/timestamp.h, score/include/rtems/score/timestamp64.h, score/src/ts64addto.c, score/src/ts64divide.c, score/src/ts64dividebyinteger.c, score/src/ts64equalto.c, score/src/ts64getnanoseconds.c, score/src/ts64getseconds.c, score/src/ts64lessthan.c, score/src/ts64set.c, score/src/ts64settozero.c, score/src/ts64subtract.c, score/src/ts64toticks.c, score/src/ts64totimespec.c: Use CPU_TIMESTAMP_USE_STRUCT_TIMESPEC, CPU_TIMESTAMP_USE_INT64, and CPU_TIMESTAMP_USE_INT64_INLINE. Removed copy and paste.
* 2011-09-15 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill2011-09-151-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR 1906/cpukit * sapi/Makefile.am, sapi/preinstall.am, sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add the CBS (Constant Bandwidth Server) scheduler. This is a complex scheduling policy built atop of the EDF scheduler. Unlike other schedulers, this one provides a user API and handles not only deadlines of tasks but also claimed budget per period. The main aim of the scheduler is isolation of tasks so that each task is guaranteed to meet all deadlines regardless of how other tasks behave. * sapi/include/rtems/cbs.h, sapi/inline/rtems/cbs.inl, score/include/rtems/score/schedulercbs.h, score/src/schedulercbs.c, score/src/schedulercbsattachthread.c, score/src/schedulercbscleanup.c, score/src/schedulercbscreateserver.c, score/src/schedulercbsdestroyserver.c, score/src/schedulercbsdetachthread.c, score/src/schedulercbsgetapprovedbudget.c, score/src/schedulercbsgetexecutiontime.c, score/src/schedulercbsgetparameters.c, score/src/schedulercbsgetremainingbudget.c, score/src/schedulercbsgetserverid.c, score/src/schedulercbsreleasejob.c, score/src/schedulercbssetparameters.c, score/src/schedulercbsunblock.c: New files.
* 2011-09-11 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill2011-09-111-0/+16
| | | | | | | | | | | | | | | PR 1896/cpukit * sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add Earliest Deadline First (EDF) Scheduling Algorithm implementation. * score/include/rtems/score/scheduleredf.h, score/src/scheduleredf.c, score/src/scheduleredfallocate.c, score/src/scheduleredfblock.c, score/src/scheduleredfenqueue.c, score/src/scheduleredfenqueuefirst.c, score/src/scheduleredfextract.c, score/src/scheduleredffree.c, score/src/scheduleredfprioritycompare.c, score/src/scheduleredfreleasejob.c, score/src/scheduleredfschedule.c, score/src/scheduleredfunblock.c, score/src/scheduleredfupdate.c, score/src/scheduleredfyield.c: New files.
* 2011-09-01 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill2011-09-011-0/+2
| | | | | | | | | | | | | | | | 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-22 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-08-221-1/+1
| | | | | | | | PR 1876 * score/Makefile.am, score/include/rtems/score/isr.h, score/src/isr.c, score/src/smp.c, score/src/smplock.c, score/src/threaddispatch.c, score/src/threaddispatchdisablelevel.c: Add smp isr support. * score/src/isrsmp.c: New file.
* 2011-07-15 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-07-151-0/+1
| | | | | | | | * score/Makefile.am, score/preinstall.am, score/include/rtems/score/isr.h, score/include/rtems/score/percpu.h: Split isrlevel into its own file to avoid a circular dependancy in smp code. * score/include/rtems/score/isrlevel.h: New file.
* 2011-06-28 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-281-1/+1
| | | | | | * score/Makefile.am, score/include/rtems/score/schedulersimplesmp.h, score/src/schedulersimplesmptick.c: Build schedulersimplesmptick.c and fix typos.
* 2011-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-06-171-3/+4
| | | | | | | | | | | | | | | | | | | 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-0/+4
| | | | | | | * 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-18 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius2011-05-181-48/+80
| | | | * score/Makefile.am: Reformat.
* 2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-05-171-5/+1
| | | | | * score/Makefile.am, score/preinstall.am: bspsmp.h is now supposed to be installed all the time. Revert part of previous commit.
* 2011-05-17 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-05-171-4/+13
| | | | | | | | | | PR 1789/cpukit * sapi/include/confdefs.h, score/Makefile.am, score/preinstall.am: Add Simple SMP Priority Scheduler. * score/include/rtems/score/schedulersimplesmp.h, score/src/schedulersimplesmpblock.c, score/src/schedulersimplesmpschedule.c, score/src/schedulersimplesmpunblock.c: New files.
* 2011-05-11 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-05-111-2/+2
| | | | | * score/Makefile.am, score/include/rtems/score/isr.h: Replace tabs with spaces.
* 2011-05-11 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-05-111-1/+8
| | | | | | | | * score/Makefile.am, score/preinstall.am, score/include/rtems/score/percpu.h, score/src/percpu.c, score/src/threadcreateidle.c: Modifications to restrict compilation of SMP only code to when SMP is enabled. Entire SMP specific files are disabled via Makefile.am.
* 2011-04-27 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett2011-04-271-1/+1
| | | | | | | | | PR 1784 * sapi/src/exinit.c, score/Makefile.am, score/preinstall.am, score/include/rtems/bspsmp.h, score/src/percpu.c, score/src/smp.c, score/src/threadcreateidle.c: Split bspsmp.h into two files smp.h and bspsmp.h * score/include/rtems/score/smp.h: New file.
* 2011-04-21 Jennifer Averett <Jennifer.Averett@OARcorp.comJennifer Averett2011-04-211-0/+1
| | | | | | | | | | | | | 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.
* 2010-07-28 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2011-04-041-0/+7
| | | | | | | | | | | | 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-2/+5
| | | | | | | | | | | | | | | | | | | | | | PR 1729/cpukit * configure.ac, sapi/include/confdefs.h, sapi/src/exinit.c, score/Makefile.am, score/preinstall.am, score/cpu/i386/rtems/score/cpu.h, score/cpu/sparc/cpu_asm.S, score/cpu/sparc/rtems/score/cpu.h, score/include/rtems/score/basedefs.h, score/include/rtems/score/context.h, score/include/rtems/score/percpu.h, score/src/percpu.c, score/src/thread.c, score/src/threadcreateidle.c: Add next step in SMP support. This adds an allocated array of the Per_CPU structures to support multiple cpus vs a single instance of the structure which is still used if SMP support is disabled. Configuration support is also added to explicitly enable or disable SMP. But SMP can only be enabled for the CPUs which will support it initially -- SPARC and i386. With the stub BSP support, a BSP can be run as a single core SMP system from an RTEMS data structure standpoint. * aclocal/check-smp.m4, aclocal/enable-smp.m4, score/include/rtems/bspsmp.h, score/include/rtems/score/smplock.h, score/src/smp.c, score/src/smplock.c: New files.
* 2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>Joel Sherrill2011-03-161-0/+14
| | | | | | | | | | | | | | | | | | | 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-03-15 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-03-151-3/+2
| | | | | | | * rtems/src/taskresume.c, score/Makefile.am, score/include/rtems/score/thread.h: Convert _Thread_Resume and _Thread_Suspend into macros. * score/src/threadresume.c, score/src/threadsuspend.c: Removed.
* 2011-02-18 Joel Sherrill <joel.sherrill@oarcorp.com>Joel Sherrill2011-02-181-7/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* 2010-12-16 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-12-161-1/+2
| | | | | | | | * score/src/watchdognanoseconds.c: New file. * score/Makefile.am: Reflect change above. * score/include/rtems/score/watchdog.h, score/src/coretodget.c, score/src/coretodgetuptime.c: Do not allow NULL as nanoseconds since last tick handler pointer.
* 2010-11-24 Gedare Bloom <giddyup44@yahoo.com>Joel Sherrill2010-11-241-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-23 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber2010-08-231-0/+1
| | | | | | | | | | | | | | 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().