summaryrefslogtreecommitdiffstats
path: root/testsuites (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Scheduler node awareness for thread queuesSebastian Huber2016-09-211-24/+349
| | | | | | | | Maintain the priority of a thread for each scheduler instance via the thread queue enqueue, extract, priority actions and surrender operations. This replaces the primitive priority boosting. Update #2556.
* rtems: Add rtems_task_get_priority()Sebastian Huber2016-09-213-0/+65
| | | | | Update #2556. Update #2784.
* smptests/smpmutex01: Use test case functionsSebastian Huber2016-09-211-2/+24
|
* score: Rework thread priority managementSebastian Huber2016-09-215-45/+176
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* termios: Use IMFS nodes for new Termios devicesSebastian Huber2016-09-192-117/+48
| | | | | | | | This makes the new Termios devices independent of device major/minor numbers. It enables BSP independent Termios device drivers which may reside in the cpukit domain. These drivers require an IMFS and do not work with the device file system. However, the device file system should go away in the future.
* libtests/devfs: Use printk()Sebastian Huber2016-09-193-5/+5
| | | | | This avoids problems with console drivers that use generic nodes of the IMFS.
* fstests: Use printk() for IMFS configuration testsSebastian Huber2016-09-192-4/+4
| | | | | This avoids problems with console drivers that require a more complete IMFS.
* tests: CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEMSebastian Huber2016-09-197-7/+0
| | | | Avoid unnecessary use of CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM.
* Add SPI bus frameworkAlexander Krutwig2016-09-166-0/+322
| | | | | | User API is compatible to Linux userspace API. New test libtests/spi01. Update #2776.
* score: Introduce _Thread_Get_priority()Sebastian Huber2016-09-083-11/+15
| | | | Avoid direct access to thread internal data fields.
* score: Introduce Thread_queue_Lock_contextSebastian Huber2016-09-082-2/+2
| | | | | | 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.
* testsuite: Add libdl/dl05 reloc test.Chris Johns2016-09-0810-1/+1544
|
* score: Add _Chain_Initialize_one()Sebastian Huber2016-09-062-0/+24
|
* score: Add _RBTree_Initialize_one()Sebastian Huber2016-09-062-0/+26
|
* libmisc/capture: Remove the reserved _t in the types.Chris Johns2016-09-013-17/+17
|
* libmisc/capture: Fix the capture engine on SMP.Chris Johns2016-09-011-77/+95
| | | | | | | | | | | | | | | | | | | | | | | This patches some issues with the capture engine: 1. Check is the engine is open in ctrace commands. 2. Check all record open and appends for overflow. 3. Fix the record open to take the size of user data and not the record header. 4. Use packed structs for data being written to the per cpu buffers. 5. Remove direct struct access to the capture buffers to avoid misaligned accesses. 6. Add support to extract records, no struct access to the capture buffers. 7. Update ctrace to extract records from the capture buffers. 8. Add support to ctrace to always print the task name if it has one. 9. Add support to manage names or the lack of a name. 10. Range of minor fixes. 11. Fix a long standing bug in ctset's handling of args. Closes #2780.
* psxtests: Adjust sporadic server testsSebastian Huber2016-08-183-99/+64
| | | | | | | | | | | | | According to POSIX priority value returned from pthread_getschedparam() shall be the value specified by the most recent pthread_setschedparam(), pthread_setschedprio(), or pthread_create() call affecting the target thread. Read this as though a temporary lower priority due to the sporadic server policy shall not be visible through pthread_getschedparam(). Thus, use rtems_task_set_priority() to get the current priority of the threads. Use a priority ceiling mutex to prevent sporadic server priority adjustments.
* testsuite: Add libdl/dl04 cache test.Chris Johns2016-08-1510-0/+1549
|
* testsuite: Add libdl/dl03 cache test.Chris Johns2016-08-158-1/+491
|
* score: Improve _RBTree_Insert_inline()Sebastian Huber2016-08-123-1/+65
| | | | Return if the inserted node is the new minimum node or not.
* librtems++: Remove from RTEMS.Chris Johns2016-08-1110-1200/+1
| | | | | | | This is old and there are better design patterns for threading and C++. We recommend you use the new C++ standards based support. Closes #2777.
* build-system: Always enable C++ if the compiler is present.Chris Johns2016-08-113-20/+30
| | | | | | | | | | | We always build a C++ compiler and building with C++ does not effect RTEMS or the runtime. This patch always enabled the support. There is no need to manually enable it any more. You can disable C++ with '--disable-cxx'. If an architecture does not have a C++ compiler support is automatically disabled.
* sptests/splinkersets01: Fix for small-data areaSebastian Huber2016-08-102-12/+12
|
* libmisc/untar: Set the perms to the value in the tar file.Chris Johns2016-08-092-1/+34
| | | | | | | This patch parses the mode field in the tar header and sets the directory or file to the mode value in the header. Closes #2768.
* 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.
* Add Untar_FromGzChunk_Print() + TestAlexander Krutwig2016-07-265-5/+87
|
* Add Untar_FromChunk_Print() + TestAlexander Krutwig2016-07-263-0/+54
|
* sptests/spextensions01: Avoid NULL pointer accessSebastian Huber2016-07-261-1/+2
|
* posix: add clock_nanosleep and testsGedare Bloom2016-07-2513-0/+431
| | | | updates #2732
* smptests/smpmutex02: New testSebastian Huber2016-07-256-0/+1052
| | | | Update #2765.
* 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.
* score: Postpone SMP shutdown in _Terminate()Sebastian Huber2016-07-061-21/+17
| | | | | This enables fatal extensions to continue program execution after some fatal errors.
* net: Fix byte order issue for getnameinfo()Sebastian Huber2016-07-011-11/+11
|
* rtems: Fix rtems_task_set_scheduler() APISebastian Huber2016-07-019-44/+217
| | | | | | | | | | | 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.
* smptests/smpstrongapa01: SimplifySebastian Huber2016-06-301-5/+1
|
* smptests/smpstrongapa01: Add test casesSebastian Huber2016-06-301-3/+300
|
* libnetworking: Add minimal getnameinfo()Christian Mauderer2016-06-286-0/+220
| | | | | | | This implementation just falls back to giving a string representation of the IP. It supports IPv4 only. Add test for getnameinfo().
* libcsupport: Add dummy for setgroups().Christian Mauderer2016-06-282-0/+34
| | | | | The dummy for setgroups() allows applications using it to build (for example civetweb webserver).
* score: Change Priority_Control to 64-bitSebastian Huber2016-06-241-1/+1
| | | | | | | | A 32-bit Priority_Control limits the uptime to 49 days with a 1ms clock tick in case the EDF scheduler is used. Increase it to 64-bit to enable proper operation of the EDF scheduler, Close 2173.
* testsuites: Increase invalid priority valuesSebastian Huber2016-06-244-4/+8
| | | | | | Increase the invalid priority values to support test runs with alternative schedulers offering a significant higher maximum priority value, e.g. EDF.
* score: Move SCHEDULER_EDF_PRIO_MSBSebastian Huber2016-06-242-0/+4
| | | | This is an implementation detail of the EDF scheduler.
* sptests/spintrcritical23: Explicity set schedulerSebastian Huber2016-06-241-0/+3
| | | | | This test uses scheduler-specific data structures, thus it must use the right scheduler.
* sptests/sp42: Relax priority requirementsSebastian Huber2016-06-231-3/+3
|
* smptests/smpmrsp01: Fix due to API changesSebastian Huber2016-06-231-168/+60
| | | | | | | Commit 77ff5599e0d8e6d91190a379be21a332f83252b0 introduced a change in the rtems_semaphore_create() behaviour for MrsP semaphores. The ceiling priorities for all schedulers except the scheduler of the executing thread are initialized to zero.
* score: Add thread priority to scheduler nodesSebastian Huber2016-06-222-61/+21
| | | | | | | | | | | | | | | | | | The thread priority is manifest in two independent areas. One area is the user visible thread priority along with a potential thread queue. The other is the scheduler. Currently, a thread priority update via _Thread_Change_priority() first updates the user visble thread priority and the thread queue, then the scheduler is notified if necessary. The priority is passed to the scheduler via a local variable. A generation counter ensures that the scheduler discards out-of-date priorities. This use of a local variable ties the update in these two areas close together. For later enhancements and the OMIP locking protocol implementation we need more flexibility. Add a thread priority information block to Scheduler_Node and synchronize priority value updates via a sequence lock on SMP configurations. Update #2556.