summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add rtems_assoc_32_to_string()Sebastian Huber2017-01-121-0/+61
|
* Remove obsolete __RTEMS_HAVE_SYS_CPUSET_H__Joel Sherrill2017-01-116-28/+0
|
* Add INTERNAL_ERROR_LIBIO_STDERR_FD_OPEN_FAILEDSebastian Huber2016-12-122-3/+3
| | | | Update #2825.
* Add INTERNAL_ERROR_LIBIO_STDOUT_FD_OPEN_FAILEDSebastian Huber2016-12-122-3/+3
| | | | Update #2825.
* Add INTERNAL_ERROR_LIBIO_SEM_CREATE_FAILEDSebastian Huber2016-12-121-1/+1
| | | | Update #2825.
* INTERNAL_ERROR_LIBIO_USER_ENV_KEY_CREATE_FAILEDSebastian Huber2016-12-122-3/+3
| | | | Update #2825.
* Add INTERNAL_ERROR_POSIX_INIT_THREAD_CREATE_FAILEDSebastian Huber2016-12-121-1/+1
| | | | Update #2825.
* Add INTERNAL_ERROR_RTEMS_INIT_TASK_CREATE_FAILEDSebastian Huber2016-12-122-3/+3
| | | | Update #2825.
* Rename is_internal to always_set_to_falseSebastian Huber2016-12-1210-22/+26
| | | | Update #2825.
* score: Remove fatal is internal indicatorSebastian Huber2016-12-0928-47/+9
| | | | | | | | | 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.
* sptimecounter02: Add plot scriptSebastian Huber2016-12-081-0/+42
|
* sptimecounter02: Update screen fileSebastian Huber2016-12-081-32/+986
| | | | Data obtained on QorIQ T4240 running with 1500MHz.
* score: Simplify linker set APISebastian Huber2016-12-061-20/+104
| | | | | | | | | | | | | | | | | Resurrect RTEMS_LINKER_SET_BEGIN() and RTEMS_LINKER_SET_END(). Add new macros RTEMS_LINKER_SET_ITEM_COUNT(), RTEMS_LINKER_SET_IS_EMPTY(), and RTEMS_LINKER_SET_FOREACH(). Remove confusing RTEMS_LINKER_SET_ASSIGN_BEGIN() and RTEMS_LINKER_SET_ASSIGN_END(). Fix RTEMS_LINKER_SET_SIZE() to return the size in characters as specified by the documentation. Update #2408. Update #2790.
* score: Initialize thread queue context earlySebastian Huber2016-12-021-0/+1
| | | | | | | | Initialize thread queue context early preferably outside the critical section. Remove implicit _Thread_queue_Context_initialize() from _Thread_Wait_acquire().
* score: Uncomment unused internal error codesSebastian Huber2016-11-231-2/+4
| | | | Update #2825.
* posix: Add self-contained pthread spinlockSebastian Huber2016-11-231-17/+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: Add thread queue enqueue calloutSebastian Huber2016-11-231-1/+1
| | | | | | | Replace the expected thread dispatch disable level with a thread queue enqueue callout. This enables the use of _Thread_Dispatch_direct() in the thread queue enqueue procedure. This avoids impossible exection paths, e.g. Per_CPU_Control::dispatch_necessary is always true.
* score: Robust thread dispatchSebastian Huber2016-11-231-1/+1
| | | | | | | | | | | | On SMP configurations, it is a fatal error to call blocking operating system with interrupts disabled, since this prevents delivery of inter-processor interrupts. This could lead to executing threads which are not allowed to execute resulting in undefined behaviour. The ARM Cortex-M port has a similar problem, since the interrupt state is not a part of the thread context. Update #2811.
* score: Add _ISR_Is_enabled()Sebastian Huber2016-11-181-0/+2
| | | | | | | In contrast to _ISR_Get_level() the _ISR_Is_enabled() function evaluates a level parameter and returns a boolean value. Update #2811.
* score: Add and use _Thread_Dispatch_direct()Sebastian Huber2016-11-187-1/+80
| | | | | | | | | | This function is useful for operations which synchronously block, e.g. self restart, self deletion, yield, sleep. It helps to detect if these operations are called in the wrong context. Since the thread dispatch necessary indicator is not used, this is more robust in some SMP situations. Update #2751.
* sptests/sp37: Better cope with internal paddingSebastian Huber2016-11-181-25/+40
|
* rtems: Add scheduler processor add/removeSebastian Huber2016-11-101-0/+28
| | | | Update #2797.
* score: Add and use Thread_Control::is_idleSebastian Huber2016-11-091-7/+1
| | | | Update #2797.
* Provide kernel space header filesSebastian Huber2016-11-081-0/+2
| | | | | These kernel space header files must be provided for Newlib 172e2050d95b41861db858dd9bc43a3fb4a28987.
* score: Conditionally enable thread resource countSebastian Huber2016-11-031-0/+4
| | | | | Maintain the thread resource count only in debug configurations. This is a performance optimization for non-debug configurations.
* score: Relax _Scheduler_Set() restrictionsSebastian Huber2016-11-031-1/+1
| | | | | | No longer unconditionally prevent scheduler changes if the thread owns resources. Prevent a scheduler change only in case other threads wait for the resource.
* score: Delete Resource HandlerSebastian Huber2016-11-026-443/+0
| | | | Update #2556.
* score: First part of new MrsP implementationSebastian Huber2016-11-022-1/+2
| | | | Update #2556.
* sptests/sp35: Remove dead codeSebastian Huber2016-11-021-72/+0
|
* rtems: Add rtems_task_iterate()Sebastian Huber2016-11-022-12/+32
| | | | Update #2423.
* score: More robust linker setsSebastian Huber2016-10-121-29/+44
| | | | | Update #2408. Update #2790.
* sptests/spsem03: Fix compile errorSebastian Huber2016-09-231-1/+1
|
* rtems: Add rtems_task_get_priority()Sebastian Huber2016-09-212-0/+49
| | | | | Update #2556. Update #2784.
* score: Rework thread priority managementSebastian Huber2016-09-213-24/+151
| | | | | | | | | | | | | | | | | | | | | | | | | Add priority nodes which contribute to the overall thread priority. The actual priority of a thread is now an aggregation of priority nodes. The thread priority aggregation for the home scheduler instance of a thread consists of at least one priority node, which is normally the real priority of the thread. The locking protocols (e.g. priority ceiling and priority inheritance), rate-monotonic period objects and the POSIX sporadic server add, change and remove priority nodes. A thread changes its priority now immediately, e.g. priority changes are not deferred until the thread releases its last resource. Replace the _Thread_Change_priority() function with * _Thread_Priority_perform_actions(), * _Thread_Priority_add(), * _Thread_Priority_remove(), * _Thread_Priority_change(), and * _Thread_Priority_update(). Update #2412. Update #2556.
* score: Introduce _Thread_Get_priority()Sebastian Huber2016-09-082-10/+14
| | | | Avoid direct access to thread internal data fields.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-081-1/+1
| | | | | | Introduce Thread_queue_Lock_context to contain the context necessary for thread queue lock and thread wait lock acquire/release operations to reduce the Thread_Control size.
* score: Add _Chain_Initialize_one()Sebastian Huber2016-09-062-0/+24
|
* score: Add _RBTree_Initialize_one()Sebastian Huber2016-09-062-0/+26
|
* score: Improve _RBTree_Insert_inline()Sebastian Huber2016-08-123-1/+65
| | | | Return if the inserted node is the new minimum node or not.
* sptests/splinkersets01: Fix for small-data areaSebastian Huber2016-08-102-12/+12
|
* sptests/splinkersets01: Fix warningsSebastian Huber2016-08-083-34/+34
|
* score: Add debug support to red-black treesSebastian Huber2016-08-081-1/+0
| | | | This helps to detect double insert and extract errors.
* linker set: Allow adding any variable into contentChristian Mauderer2016-08-024-0/+48
| | | | | | | | | | | The newly created macro adds any kind of variable into a linker set. It allows (for example) the saving an execution state of a function using the following method: - put a group of different variables into one linker set - save the memory area containing the group of variables before the execution of a function - restore the memory area after the function has been executed
* score: Add deadlock detectionSebastian Huber2016-07-275-83/+421
| | | | | | | | | | The mutex objects use the owner field of the thread queues for the mutex owner. Use this and add a deadlock detection to _Thread_queue_Enqueue_critical() for thread queues with an owner. Update #2412. Update #2556. Close #2765.
* score: Turn thread lock into thread wait lockSebastian Huber2016-07-271-4/+3
| | | | | | | | | The _Thread_Lock_acquire() function had a potentially infinite run-time due to the lack of fairness at atomic operations level. Update #2412. Update #2556. Update #2765.
* sptests/spextensions01: Avoid NULL pointer accessSebastian Huber2016-07-261-1/+2
|
* score: Relax thread begin extension environmentSebastian Huber2016-07-251-0/+74
| | | | Update #2752.
* score: Add debug support to chainsSebastian Huber2016-07-221-4/+32
| | | | | | | This helps to detect * double insert, append, prepend errors, and * get from empty chain errors.
* rtems: Fix rtems_task_set_scheduler() APISebastian Huber2016-07-011-8/+155
| | | | | | | | | | | Task priorities are only valid within a scheduler instance. The rtems_task_set_scheduler() directive moves a task from one scheduler instance to another using the current priority of the thread. However, the current task priority of the source scheduler instance is undefined in the target scheduler instance. Add a third parameter to specify the priority. Close #2749.
* testsuites: Increase invalid priority valuesSebastian Huber2016-06-243-3/+7
| | | | | | Increase the invalid priority values to support test runs with alternative schedulers offering a significant higher maximum priority value, e.g. EDF.