summaryrefslogtreecommitdiffstats
path: root/cpukit/score/Makefile.am (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-07-23score: Merge wkspace API into one fileSebastian Huber1-1/+0
2013-07-23score: Merge address API into one fileSebastian Huber1-1/+0
2013-07-23score: Create rbtree implementation headerSebastian Huber1-1/+1
Move implementation specific parts of rbtree.h and rbtree.inl into new header file rbtreeimpl.h. The rbtree.h contains now only the application visible API.
2013-07-22score: Create watchdog implementation headerSebastian Huber1-1/+1
Move implementation specific parts of watchdog.h and watchdog.inl into new header file watchdogimpl.h. The watchdog.h contains now only the application visible API.
2013-07-22score: Create chain implementation headerSebastian Huber1-1/+1
Move implementation specific parts of chain.h and chain.inl into new header file chainimpl.h. The chain.h contains now only the application visible API.
2013-07-22score: Create spinlock implementation headerSebastian Huber1-4/+1
Move implementation specific parts of corespinlock.h and corespinlock.inl into new header file corespinlockimpl.h. The corespinlock.h contains now only the application visible API.
2013-07-22score: Create rwlock implementation headerSebastian Huber1-1/+1
Move implementation specific parts of corerwlock.h and corerwlock.inl into new header file corerwlockimpl.h. The corerwlock.h contains now only the application visible API.
2013-07-22score: Create barrier implementation headerSebastian Huber1-1/+1
Move implementation specific parts of corebarrier.h and corebarrier.inl into new header file corebarrierimpl.h. The corebarrier.h contains now only the application visible API.
2013-07-22score: Create message queue implementation headerSebastian Huber1-1/+1
Move implementation specific parts of coremsg.h and coremsg.inl into new header file coremsgimpl.h. The coremsg.h contains now only the application visible API.
2013-07-22score: Create semaphore implementation headerSebastian Huber1-1/+1
Move implementation specific parts of coresem.h and coresem.inl into new header file coresemimpl.h. The coresem.h contains now only the application visible API.
2013-07-22score: Move ISR catch support functionsSebastian Huber1-1/+0
Delete now unused file <rtems/score/isr.inl>.
2013-07-18score: Create mutex implementation headerSebastian Huber1-1/+1
Move implementation specific parts of coremutex.h and coremutex.inl into new header file coremuteximpl.h. The coremutex.h contains now only the application visible API.
2013-07-17clean up old atomic related filesWeiY1-3/+0
2013-07-17stdatomic.h support check when configureWeiY1-0/+2
2013-07-17A generic atomic implementation for smp architecturesWeiY1-0/+1
2013-06-14scheduler: New simple SMP scheduler implementationSebastian Huber1-3/+3
The new Simple SMP Scheduler allocates a processor for the processor count highest priority ready threads. The thread priority and position in the ready chain are the only information to determine the scheduling decision. Threads with an allocated processor are in the scheduled chain. After initialization the scheduled chain has exactly processor count nodes. Each processor has exactly one allocated thread after initialization. All enqueue and extract operations may exchange threads with the scheduled chain. One thread will be added and another will be removed. The scheduled and ready chain is ordered according to the thread priority order. The chain insert operations are O(count of ready threads), thus this scheduler is unsuitable for most real-time applications. The thread preempt mode will be ignored.
2013-06-14scheduler: Add and use _Scheduler_default_Tick()Sebastian Huber1-2/+2
Delete _Scheduler_priority_Tick(). Use _SMP_Get_processor_count() for default tick operation. Delete _Scheduler_simple_smp_Tick().
2013-06-14scheduler: Add start idle thread operationSebastian Huber1-0/+1
Add and use _Scheduler_Start_idle().
2013-06-14score: Rename rtems_smp_get_number_of_processors()Sebastian Huber1-3/+1
Rename in rtems_smp_get_processor_count(). Always provide <rtems/score/smp.h> and <rtems/rtems/smp.h>. Add _SMP_Get_processor_count(). This function will be a compile time constant defined to be one on uni-processor configurations. This allows iterations over all processors without overhead on uni-processor configurations.
2013-06-12score: Always provide <rtems/score/smplock.h>Sebastian Huber1-1/+1
2013-06-07score: Move thread dispatch content to new fileSebastian Huber1-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.
2013-05-31smp: New SMP lock APISebastian Huber1-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.
2013-05-01Clear the atomic conditional compilation.WeiY1-2/+0
2013-05-01Implement a generic atomic ops for all UP mode architectures with ↵WeiY1-0/+1
disable/enable-IRQ function simulated.
2013-02-14Conditionally install atomic-headers.Ralf Corsépius1-0/+2
2013-02-07score: atomic support for RTEMS automake and autoconf changesWeiY1-1/+3
2012-12-21score: Add _Objects_Active_count()Sebastian Huber1-1/+2
2012-12-21score: Add rtems_chain_node_count_unprotected()Sebastian Huber1-0/+1
2012-11-22score: PR1607: Add and use CPU_SIZEOF_POINTERSebastian Huber1-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.
2012-11-22score: Inline _User_extensions_Thread_switch()Sebastian Huber1-2/+1
The _User_extensions_Thread_switch() function is only used in _Thread_Dispatch().
2012-11-22score: Add and use <rtems/score/userextimpl.h>Sebastian Huber1-0/+1
This file contains the parts of <rtems/score/userext.h> that are only necessary for the RTEMS implementation.
2012-11-21score: Add and use _TOD_Get_with_nanoseconds()Sebastian Huber1-1/+1
Delete _TOD_Get_as_timestamp().
2012-11-21score: Add _Timestamp_To_timeval()Sebastian Huber1-1/+1
2012-11-13score: Add and use _User_extensions_Iterate()Sebastian Huber1-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.
2012-10-25score: Change _Heap_Extend() APISebastian Huber1-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().
2012-08-06PR2069: [CBS Scheduler] Memory leak and enqueue problemAndreas Heinig1-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)
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-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.
2012-05-08score/rbtree: eliminate unused function _RBTree_Peek.Gedare Bloom1-2/+1
2012-05-07Revert: Remove CVS IdsJoel Sherrill1-0/+4
See http://www.rtems.org/pipermail/rtems-devel/2012-May/001006.html for details.
2012-05-04Remove CVS-Ids.Ralf Corsépius1-4/+0
2012-04-11rbtree: New function _RBTree_Iterate_unprotected()Sebastian Huber1-1/+2
2012-04-11rbtree: PR1995: API changeSebastian Huber1-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().
2012-02-10Added support functions for greedy heap allocationSebastian Huber1-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-122011-12-12 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-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-062011-12-06 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-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-282011-09-28 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-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-152011-09-15 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill1-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-112011-09-11 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill1-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-012011-09-01 Petr Benes <benesp16@fel.cvut.cz>Joel Sherrill1-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-222011-08-22 Jennifer Averett <Jennifer.Averett@OARcorp.com>Jennifer Averett1-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.