summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* confdefs: Fix typoSebastian Huber2017-10-061-1/+1
|
* posix: Implement self-contained POSIX mutexSebastian Huber2017-10-051-69/+1
| | | | | | | | POSIX mutexes are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3112.
* posix: Implement self-contained POSIX condvarSebastian Huber2017-10-051-63/+0
| | | | | | | | POSIX condition variables are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3113.
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-051-26/+0
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* posix: Implement self-contained POSIX barriersSebastian Huber2017-10-051-25/+0
| | | | | | | | POSIX barriers are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3114.
* confdefs: Fix POSIX keys configurationSebastian Huber2017-08-221-1/+2
| | | | | | | Remove the OBJECTS_UNLIMITED_OBJECTS flag for the memory size configuration. Update #3105.
* score: Make EDF the default SMP schedulerSebastian Huber2017-07-101-2/+2
| | | | | | | | | | | | | The EDF SMP scheduler supports simple thread processor affinities (see #3059) with a small run-time overhead. The current default SMP scheduler lacks support for thread processor affinities at all. The EDF SMP scheduler offers a good feature set for most applications. So, use it by default. Run-time libraries like libgomp, MTAPI, work stealing schedulers, language interpreters (e.g. Erlang virtual machine), maintainence of per-processor data (e.g. Universal Memory Allocator (UMA)), etc. use a one-to-one thread processor affinity for example. Update #3063.
* score: Add simple affinity support to EDF SMPSebastian Huber2017-07-102-4/+8
| | | | Update #3059.
* score: Add SMP EDF schedulerSebastian Huber2017-06-292-1/+43
| | | | Update #3056.
* confdefs.h: Add SMP enabled field to configurationSebastian Huber2017-05-162-1/+12
| | | | | | | | | | | Do not use the processor count to determine if SMP is enabled. Instead use a dedicated configuration option. Enable SMP by default in SMP configurations. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
* confdefs.h: Fix compile error in non-SMP cfgSebastian Huber2017-05-161-1/+1
| | | | | | Bug introduced by f778b7f3f177a39505aeea61206e95fc54f875be. Update #3001.
* confdefs.h: Use SMP scheduler only if necessarySebastian Huber2017-05-121-1/+1
| | | | Update #3001.
* confdefs.h: CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber2017-05-111-2/+6
| | | | | | | | | | | Enable the SMP configuration by default in case SMP is enabled. Add configuration option CONFIGURE_DISABLE_SMP_CONFIGURATION to disable it explicitly. Add CONFIGURE_DISABLE_SMP_CONFIGURATION to all test which would fail otherwise. Update #3001.
* posix/mman: add mmap support for shm objectsGedare Bloom2017-05-051-1/+2
| | | | Update #2859.
* sapi: Fix warningsSebastian Huber2017-02-151-1/+1
|
* Rename CONFIGURE_SMP_MAXIMUM_PROCESSORSSebastian Huber2017-02-141-43/+44
| | | | | | | Rename CONFIGURE_SMP_MAXIMUM_PROCESSORS to CONFIGURE_MAXIMUM_PROCESSORS since the SMP part is superfluous. Update #2894.
* Prefix confdefs.h internal def with an underscoreSebastian Huber2017-02-031-455/+352
| | | | Close #2895.
* confdefs.h: SimplifySebastian Huber2017-02-031-3/+1
|
* confdefs.h: Only define _CONFIGURE_SMP_APPLICATION if RTEMS_SMP definedKevin Kirspel2017-02-021-0/+2
|
* Remove CONFIGURE_SMP_APPLICATIONSebastian Huber2017-02-022-28/+18
| | | | | | Enable the SMP support if CONFIGURE_SMP_MAXIMUM_PROCESSORS > 1. Update #2893.
* sapi: Add rtems_task_terminate_extensionSebastian Huber2017-01-261-0/+1
|
* posix: shared memory supportGedare Bloom2017-01-131-0/+39
| | | | | | | | | Add POSIX shared memory manager (Shm). Includes a hook-based approach for the backing memory storage that defaults to the Workspace, and a test is provided using the heap. A test is also provided for the basic use of mmap'ing a shared memory object. This test currently fails at the mmap stage due to no support for mmap.
* score: Add _Thread_Set_name()Sebastian Huber2017-01-131-0/+18
| | | | | | Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE. Update #2858.
* Clarify simple timecounter documentationSebastian Huber2016-12-211-13/+21
|
* score: Remove fatal is internal indicatorSebastian Huber2016-12-091-7/+10
| | | | | | | | | The fatal is internal indicator is redundant since the fatal source and error code uniquely identify a fatal error. Keep the fatal user extension is internal parameter for backward compatibility and set it to false always. Update #2825.
* posix: Add self-contained pthread spinlockSebastian Huber2016-11-231-28/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Turn pthread_spinlock_t into a self-contained object. On uni-processor configurations, interrupts are disabled in the lock/trylock operations and the previous interrupt status is restored in the corresponding unlock operations. On SMP configurations, a ticket lock is a acquired and released in addition. The self-contained pthread_spinlock_t object is defined by Newlib in <sys/_pthreadtypes.h>. typedef struct { struct _Ticket_lock_Control _lock; __uint32_t _interrupt_state; } pthread_spinlock_t; This implementation is simple and efficient. However, this test case of the Linux Test Project would fail due to call of printf() and sleep() during spin lock ownership: https://github.com/linux-test-project/ltp/blob/master/testcases/open_posix_testsuite/conformance/interfaces/pthread_spin_lock/1-2.c There is only limited support for profiling on SMP configurations. Delete CORE spinlock implementation. Update #2674.
* score: Rename _Scheduler_AssignmentsSebastian Huber2016-11-091-3/+3
| | | | | | | | Rename _Scheduler_Assignments into _Scheduler_Initial_assignments to make it clear that they may not reflect the run-time scheduler assignment. Update #2797.
* score: Add scheduler node table for each threadSebastian Huber2016-09-211-29/+35
| | | | Update #2556.
* score: Add missing const qualifiersSebastian Huber2016-09-061-4/+4
|
* score: Add debug support to chainsSebastian Huber2016-07-222-0/+16
| | | | | | | This helps to detect * double insert, append, prepend errors, and * get from empty chain errors.
* score: Move _RBTree_Find()Sebastian Huber2016-06-221-13/+59
| | | | | | The _RBTree_Find() is no longer used in the score. Move it to sapi and make it rtems_rbtree_find(). Move corresponding types and support functions to sapi.
* score: Move _RBTree_Insert()Sebastian Huber2016-06-221-11/+21
| | | | | The _RBTree_Insert() is no longer used in the score. Move it to sapi and make it rtems_rbtree_insert().
* confdefs.h: Do not hide network file systemsSebastian Huber2016-06-091-34/+30
| | | | | Do not hide network file systems if RTEMS_NETWORKING is not defined, since they may be provided by the LibBSD.
* confdefs.h: Fix heap alloc size estimateSebastian Huber2016-05-251-4/+8
| | | | Account for the heap minimum block size.
* cpukit, testsuite: Add rtems_printf and rtems_printer support.Chris Johns2016-05-251-17/+4
| | | | | | | | | | | | | | | | | | | This change adds rtems_printf and related functions and wraps the RTEMS print plugin support into a user API. All references to the plugin are removed and replaced with the rtems_printer interface. Printk and related functions are made to return a valid number of characters formatted and output. The function attribute to check printf functions has been added to rtems_printf and printk. No changes to remove warrnings are part of this patch set. The testsuite has been moved over to the rtems_printer. The testsuite has a mix of rtems_printer access and direct print control via the tmacros.h header file. The support for begink/endk has been removed as it served no purpose and only confused the code base. The testsuite has not been refactored to use rtems_printf. This is future work.
* 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.