summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* score: Add per scheduler instance maximum prioritySebastian Huber2016-05-202-13/+18
| | | | | | | | | | | The priority values are only valid within a scheduler instance. Thus, the maximum priority value must be defined per scheduler instance. The first scheduler instance defines PRIORITY_MAXIMUM. This implies that RTEMS_MAXIMUM_PRIORITY and POSIX_SCHEDULER_MAXIMUM_PRIORITY are only valid for threads of the first scheduler instance. Further API/implementation changes are necessary to fix this. Update #2556.
* rtems: Remove task variablesSebastian Huber2016-05-041-48/+1
| | | | | Update #2494. Update #2555.
* confdefs.h: Fix message queue size estimateSebastian Huber2016-05-041-1/+2
| | | | | Account for maximum message size alignment. Simplify _CORE_message_queue_Initialize().
* confdefs.h: Fix named object size estimateSebastian Huber2016-05-041-2/+3
| | | | | | Account for the terminating null character. Use _POSIX_PATH_MAX instead of NAME_MAX according to _POSIX_Semaphore_Manager_initialization() and _POSIX_Message_queue_Manager_initialization().
* score: Add dummy Strong APA schedulerSebastian Huber2016-05-022-0/+49
| | | | | | Start with a copy of the Priority SMP scheduler implementation. Update #2510.
* posix: Simplify message queuesSebastian Huber2016-05-021-37/+2
| | | | | | | | | | | | The mq_open() function returns a descriptor to a POSIX message queue object identified by a name. This is similar to sem_open(). In contrast to the POSIX semaphore the POSIX message queues use a separate object for the descriptor. This extra object is superfluous, since the object identifier can be used directly for this purpose, just like for the semaphores. Update #2702. Update #2555.
* score: Optimize _Objects_Get_no_protection()Sebastian Huber2016-04-211-1/+1
| | | | | Make the id the first parameter since usual callers get the object identifier as the first parameter themself.
* sapi: Avoid Giant lock for extensionsSebastian Huber2016-04-181-5/+2
| | | | | | Extension create and delete is protected by the object allocator lock. Update #2555.
* score: Delete _Chain_Append()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get()Sebastian Huber2016-04-061-9/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Extract()Sebastian Huber2016-04-061-9/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Insert()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Get_with_empty_check()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend_with_empty_check()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Append_with_empty_check()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Delete _Chain_Prepend()Sebastian Huber2016-04-061-10/+0
| | | | | | This function is not used in the score. Update #2555.
* score: Use red-black tree for active global objectsSebastian Huber2016-04-061-9/+0
| | | | | | | Use a red-black tree to lookup active global objects by identifier or name. Update #2555.
* score: Fix MPCI workspace size estimateSebastian Huber2016-03-291-0/+9
| | | | Account for the global objects table.
* score: Fix MPCI workspace size estimateSebastian Huber2016-03-291-1/+3
| | | | | Global objects are no real objects with an objects information structure.
* score: Fix MPCI receive server workspace sizeSebastian Huber2016-03-291-13/+33
|
* score: Fix multiprocessing thread proxiesSebastian Huber2016-03-291-1/+3
| | | | | | | We must provide thread queue heads for the thread wait information for each thread proxy (thread queue heads were introduced by d7665823b208daefb6855591d808e1f3075cedcb). The thread proxy must be allocated before the enqueue operation.
* score: Use ISR lock for IO driver registrationSebastian Huber2016-03-143-13/+66
| | | | | | Create implementation header file. Update #2555.
* score: Delete unused SAPI_IO_EXTERNSebastian Huber2016-03-141-4/+0
| | | | Update #2559.
* Use linker set for POSIX User Threads initSebastian Huber2016-02-031-4/+5
| | | | Update #2408.
* Use linker set for Classic User Tasks initSebastian Huber2016-02-031-4/+5
| | | | Update #2408.
* Use linker set for MPCI initializationSebastian Huber2016-02-033-81/+9
| | | | Update #2408.
* Use linker set for libio initializationSebastian Huber2016-02-031-14/+0
| | | | Update #2408.
* Use atexit() handler to close std file descriptorsSebastian Huber2016-02-031-7/+0
|
* Use linker set for root file system initializationSebastian Huber2016-02-031-5/+6
| | | | Update #2408.
* Optional Extensions initializationSebastian Huber2016-02-031-12/+1
| | | | Update #2408.
* Optional Initial Extensions initializationSebastian Huber2016-02-031-0/+8
| | | | Update #2408.
* score: Fix simple timecounter supportSebastian Huber2016-01-191-6/+29
| | | | Update #2502.
* score: Introduce Thread_Entry_informationSebastian Huber2016-01-111-1/+1
| | | | | | | This avoids potential dead code in _Thread_Handler(). It gets rid of the dangerous function pointer casts. Update #2514.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-242-25/+1
| | | | | | | | | | | | | | | | | | | | | | | Notepads where a feature of RTEMS' tasks that simply functioned in the same way as POSIX keys or threaded local storage (TLS). They were introduced well before per task variables, which are also deprecated, and were barely used in favor of their POSIX alternatives. In addition to their scarce usage, Notepads took up unnecessary memory. For each task: - 16 32-bit integers were allocated. - A total of 64 bytes per task per thread. This is especially critical in low memory and safety-critical applications. They are also defined as uint32_t, and therefore are not guaranteed to hold a pointer. Lastly, they are not portable solutions for SMP and uniprocessor systems, like POSIX keys and TLS. updates #2493.
* Use linker set for system initializationSebastian Huber2015-12-111-38/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make rtems_initialize_data_structures(), rtems_initialize_before_drivers() and rtems_initialize_device_drivers() static. Rename rtems_initialize_start_multitasking() to rtems_initialize_executive() and call the registered system initialization handlers in this function. Add system initialization API available via #include <rtems/sysinit.h>. Update the documentation accordingly. This is no functional change, only the method to call the existing initialization routines changes. Instead of direct function calls a table of function pointers contained in the new RTEMS system initialization linker set is used. This table looks like this (the actual addresses depend on the target). nm *.exe | grep _Linker | sort 0201a2d0 D _Linker_set__Sysinit_begin 0201a2d0 D _Linker_set__Sysinit_bsp_work_area_initialize 0201a2d4 D _Linker_set__Sysinit_bsp_start 0201a2d8 D _Linker_set__Sysinit_rtems_initialize_data_structures 0201a2dc D _Linker_set__Sysinit_bsp_libc_init 0201a2e0 D _Linker_set__Sysinit_rtems_initialize_before_drivers 0201a2e4 D _Linker_set__Sysinit_bsp_predriver_hook 0201a2e8 D _Linker_set__Sysinit_rtems_initialize_device_drivers 0201a2ec D _Linker_set__Sysinit_bsp_postdriver_hook 0201a2f0 D _Linker_set__Sysinit_end Add test sptests/spsysinit01. Update #2408.
* Remove <rtems/debug.h>Sebastian Huber2015-12-071-2/+0
| | | | Close #2477.
* Require __getreent()Sebastian Huber2015-11-251-1/+1
| | | | | This function is used by Newlib since 2013-07-09 (Git commit 9b51cd8c6b9cdd067d9648a7ab952884019c56a5).
* sapi: Add rtems_chain_get_first_unprotected()Sebastian Huber2015-11-051-0/+10
| | | | Close #2459.
* CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK was undocumented and not error checkedJoel Sherrill2015-10-271-0/+14
| | | | closes #2431.
* basdefs.h: Add and use RTEMS_DEPRECATEDSebastian Huber2015-10-263-3/+3
|
* basedefs.h: Add and use RTEMS_NO_RETURNSebastian Huber2015-10-262-5/+5
|
* score: Implement SMP-specific priority queueSebastian Huber2015-09-041-3/+4
|
* rbtree: Delete rtems_rbtree_find_control()Sebastian Huber2015-09-011-10/+0
| | | | | This function is hard to support in alternative implementations. It has no internal use case.
* rbtree: Delete _RBTree_Initialize()Sebastian Huber2015-08-311-7/+11
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Get()Sebastian Huber2015-08-311-10/+32
| | | | This function has no internal use case.
* rbtree: Delete _RBTree_Is_first()Sebastian Huber2015-08-311-2/+2
|
* rbtree: Add _RBTree_Minimum(), _RBTree_Maximum()Sebastian Huber2015-08-311-10/+6
|
* score: Introduce Thread_queue_HeadsSebastian Huber2015-07-231-0/+2
| | | | | | | | | | | | | Move the storage for the thread queue heads to the threads. Each thread provides a set of thread queue heads allocated from a dedicated memory pool. In case a thread blocks on a queue, then it lends its heads to the queue. In case the thread unblocks, then it takes a free set of threads from the queue. Since a thread can block on at most one queue this works. This mechanism is used in FreeBSD. The motivation for this change is to reduce the memory demands of the synchronization objects. On a 32-bit uni-processor configuration the Thread_queue_Control size is now 8 bytes, compared to 64 bytes in RTEMS 4.10 (other changes reduced the size as well).
* score: Simplify <rtems/system.h>Sebastian Huber2015-06-261-0/+1
| | | | | Drop the <rtems/score/percpu.h> include since this file exposes a lot of implementation details.
* sapi: Fix workspace size estimateSebastian Huber2015-05-271-2/+1
| | | | | Reserve a full minimum block to account for the heap protection enabled via RTEMS_DEBUG.