summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/rtems (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Move test support from sapi to libmisc/testsupportSebastian Huber2015-03-051-125/+0
|
* rbtree: Simplify insert and extractSebastian Huber2014-08-071-9/+3
| | | | | | | Simplify _RBTree_Insert() and _RBTree_Extract(). Remove more superfluous NULL pointer checks. Change _RBTree_Is_root() to use only the node. Add parent parameter to _RBTree_Sibling(). Delete _RBTree_Grandparent() and _RBTree_Parent_sibling().
* rbtree: Add and use RBTree_Compare_resultSebastian Huber2014-08-052-4/+6
|
* Add and use RTEMS_CONTAINER_OF()Sebastian Huber2014-08-052-11/+1
|
* rbtree: Rename find header in find controlSebastian Huber2014-07-291-4/+4
| | | | Simplify _RBTree_Find_control(). Avoid superfluous NULL pointer checks.
* rbtree: Simplify off-tree handlingSebastian Huber2014-07-291-4/+4
| | | | | | | Only use the parent pointer, since this pointer is never NULL for nodes which are part of a tree. Rename functions from *_off_rbtree() to *_off_tree().
* Delete unused *_Is_null() functionsSebastian Huber2014-07-261-7/+0
|
* rbtree: Reduce RBTree_Control sizeSebastian Huber2014-07-151-28/+18
| | | | | | | | | | | | Remove compare function and is unique indicator from the control structure. Rename RBTree_Compare_function to RBTree_Compare. Rename rtems_rbtree_compare_function to rtems_rbtree_compare. Provide C++ compatible initializers. Add compare function and is unique indicator to _RBTree_Find(), _RBTree_Insert(), rtems_rbtree_find() and rtems_rbtree_insert(). Remove _RBTree_Is_unique() and rtems_rbtree_is_unique(). Remove compare function and is unique indicator from _RBTree_Initialize_empty() and rtems_rbtree_initialize_empty().
* rbtree: Delete unused functionsSebastian Huber2014-07-151-40/+0
|
* score: Fix scheduler context initializerSebastian Huber2014-06-121-3/+3
|
* score: Add clustered/partitioned schedulingSebastian Huber2014-04-151-0/+23
| | | | | | | | | | | | | | | Clustered/partitioned scheduling helps to control the worst-case latencies in the system. The goal is to reduce the amount of shared state in the system and thus prevention of lock contention. Modern multi-processor systems tend to have several layers of data and instruction caches. With clustered/partitioned scheduling it is possible to honour the cache topology of a system and thus avoid expensive cache synchronization traffic. We have clustered scheduling in case the set of processors of a system is partitioned into non-empty pairwise-disjoint subsets. These subsets are called clusters. Clusters with a cardinality of one are partitions. Each cluster is owned by exactly one scheduler instance.
* score: Add scheduler nameSebastian Huber2014-04-151-14/+21
|
* score: Static scheduler configurationSebastian Huber2014-04-151-0/+160
| | | | | | Do not allocate the scheduler control structures from the workspace. This is a preparation step for configuration of clustered/partitioned schedulers on SMP.
* score: Statically initialize IO managerSebastian Huber2014-04-102-24/+2
| | | | | | | | | | | | This simplifies the RTEMS initialization and helps to avoid a memory overhead. The workspace demands of the IO manager were not included in the <rtems/confdefs.h> workspace size estimate. This is also fixed as a side-effect. Update documentation and move "Specifying Application Defined Device Driver Table" to the section end. This sub-section is not that important for the user. Mentioning this at the beginning may lead to confusion.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-2116-16/+16
|
* sapi: Add <rtems/test.h>Sebastian Huber2014-03-171-0/+125
| | | | | | Provide support functions to print the begin/end of test message. Provide a test fatal extension to print out profiling reports in the future.
* sapi: Add SMP lock profiling app. level dataSebastian Huber2014-03-141-1/+98
|
* sapi: Add per-CPU profiling application level dataSebastian Huber2014-03-141-0/+101
|
* sapi: Add profiling application level supportSebastian Huber2014-03-141-0/+148
|
* sapi: TyposSebastian Huber2014-03-131-3/+3
|
* sapi: Use one SMP lock for all chainsSebastian Huber2014-03-111-83/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This partially reverts commit 1215fd4d9426a59d568560e9a485628560363133. In order to support profiling of SMP locks and provide a future compatible SMP locks API it is necessary to add an SMP lock destroy function. Since the commit above adds an SMP lock to each chain control we would have to add a rtems_chain_destroy() function as well. This complicates the chain usage dramatically. Thus revert the patch above. A global SMP lock for all chains is used to implement the protected chain operations. Advantages: * The SAPI chain API is now identical on SMP and non-SMP configurations. * The size of the chain control is reduced and is then equal to the Score chains. * The protected chain operations work correctly on SMP. Disadvantage: * Applications using many different chains and the protected operations may notice lock contention. The chain control size drop is a huge benefit (SAPI chain controls are 66% larger than the Score chain controls). The only disadvantage is not really a problem since these applications can use specific interrupt locks and unprotected chain operations to avoid this issue.
* POSIX keys now enabled in all configurations.Joel Sherrill2014-03-071-1/+17
| | | | | | | Formerly POSIX keys were only enabled when POSIX threads were enabled. Because they are a truly safe alternative to per-task variables in an SMP system, they are being enabled in all configurations.
* score: Rename _Internal_error_Occurred()Sebastian Huber2014-02-211-2/+2
| | | | Rename _Internal_error_Occurred() into _Terminate().
* score: Add CPU counter supportSebastian Huber2014-02-141-0/+160
| | | | | | | | | Add a CPU counter interface to allow access to a free-running counter. It is useful to measure short time intervals. This can be used for example to enable profiling of critical low-level functions. Add two busy wait functions rtems_counter_delay_ticks() and rtems_counter_delay_nanoseconds() implemented via the CPU counter.
* score: Change debug helper functionsSebastian Huber2014-02-121-8/+12
| | | | | | | | Rename rtems_internal_error_description() to rtems_internal_error_text(). Rename rtems_fatal_source_description() to rtems_fatal_source_text(). Rename rtems_status_code_description() to rtems_status_text(). Remove previous implementation of rtems_status_text().
* score/rbtree: Remove "unprotected" from APISebastian Huber2013-11-211-22/+38
|
* score/rbtree: Delete protected operationsSebastian Huber2013-11-211-112/+0
| | | | | The user of the red-black tree container must now ensure that at most one thread at once can access an instance.
* sapi: SMP support for chainsSebastian Huber2013-08-301-31/+134
| | | | | | | | Add ISR lock to chain control for proper SMP protection. Replace rtems_chain_extract() with rtems_chain_explicit_extract() and rtems_chain_insert() with rtems_chain_explicit_insert() on SMP configurations. Use rtems_chain_explicit_extract() and rtems_chain_explicit_insert() to provide SMP support.
* score: Add and use CHAIN_INITIALIZER_ONE_NODE().Sebastian Huber2013-08-271-0/+16
| | | | | | Add and use CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(), RTEMS_CHAIN_INITIALIZER_ONE_NODE() and RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
* score: Create object implementation headerSebastian Huber2013-07-261-0/+1
| | | | | | Move implementation specific parts of object.h and object.inl into new header file objectimpl.h. The object.h contains now only the application visible API.
* score: Merge sysstate API into one fileSebastian Huber2013-07-241-1/+0
|
* sapi: Create extension implementation headerSebastian Huber2013-07-232-17/+73
| | | | | | Move implementation specific parts of extension.h and extension.inl into new header file extensionimpl.h. The extension.h contains now only the application visible API.
* sapi: Merge rbtree API into one fileSebastian Huber2013-07-231-4/+469
|
* sapi: Merge timespec API into one fileSebastian Huber2013-07-231-7/+261
|
* sapi: Merge CBS API into one fileSebastian Huber2013-07-231-4/+182
|
* sapi: Merge chain implementation into one fileSebastian Huber2013-07-221-9/+643
|
* score: Create chain implementation headerSebastian Huber2013-07-221-2/+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.
* rtems: Create message queue implementation headerSebastian Huber2013-07-221-1/+0
| | | | | | Move implementation specific parts of message.h and message.inl into new header file messageimpl.h. The message.h contains now only the application visible API.
* sapi: Add rtems_configuration_is_smp_enabled()Sebastian Huber2013-07-221-0/+25
| | | | | | Add a configuration field which indicates if the SMP mode of operation is enabled. This can be used to disable features unsupported on SMP, e.g task variables.
* rtems: Create semaphore implementation headerSebastian Huber2013-07-181-1/+0
| | | | | | Move implementation specific parts of sem.h and sem.inl into new header file semimpl.h. The sem.h contains now only the application visible API.
* smp: Add maximum_processors field to configSebastian Huber2013-05-161-0/+19
| | | | | | | Delete rtems_configuration_get_smp_maximum_processors(). Delete rtems_configuration_smp_maximum_processors variable. Add maximum_processors field to rtems_configuration_table if RTEMS_SMP is defined. Add rtems_configuration_get_maximum_processors().
* score: Add and use rtems_assert_contextSebastian Huber2013-02-121-0/+10
|
* cpukit: Use Consistent Beginning of Doxygen Group NotationJoel Sherrill2013-01-104-11/+6
| | | | | This is the result of a sed script which converts all uses of @{ into a consistent form.
* cpukit: Doxygen group fixes and many warnings addressedJoel Sherrill2013-01-101-4/+3
| | | | | | | The output of the modules.html is much improved. Most filesystem and POSIX API related groups are properly nested. Some formatting issues were addressed as were multiple inconsistencies.
* sapi: DocumentationSebastian Huber2013-01-091-15/+16
|
* sapi: Doxygen Clean Up Task #1Alex Ivanov2013-01-0812-179/+183
|
* sapi: Add rtems_fatal_source_description()Sebastian Huber2013-01-071-0/+10
|
* Header File Doxygen Enhancement Task #1Alex Ivanov2012-12-282-8/+4
|
* Header File Doxygen Enhancement Task #7Mathew Kallada2012-12-282-0/+5
|
* Header File Doxygen Enhancement Task #2Mathew Kallada2012-12-282-2/+7
|