summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* cpukit: Add a Version API.Chris Johns2017-11-101-0/+1
| | | | | | | | Provide functions to get the version string, major, minor and revision numbers and the version control identifer that is a unique tag for the version control system. Update #3199.
* sptests/spconsole01: New testSebastian Huber2017-11-081-0/+1
|
* testsuite: Use printk for all test output where possible.Chris Johns2017-10-231-1/+0
| | | | | | | | | | - Remove the printf support leaving the direct printk support configured with TESTS_USE_PRINTK and all other output goes via a buffered vsniprintf call to printk. - Control the test's single init for functions and global data with TEST_INIT and not CONFIGURE_INIT. They are now separate. Updates #3170.
* sptests/sptimecounter04: New testChristian Mauderer2017-10-181-0/+1
| | | | | Ensure that the time flow of CLOCK_REALTIME and CLOCK_MONOTONIC is close to the clock driver ticks time flow.
* Fix spprofiling01 overriding recipe warningJoel Sherrill2017-10-111-1/+0
| | | | Closes #3084.
* libio: Add hold/drop iop referenceSebastian Huber2017-09-151-0/+1
| | | | | | | Check iop reference count in close() and return -1 with errno set to EBUSY in case the file descriptor is still in use. Update #3132.
* INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNITSebastian Huber2017-07-251-0/+2
| | | | | | Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT. Update #3077.
* testsuite: Add a common test configuration. Fix configure.ac and Makefile.am ↵Chris Johns2017-04-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | errors. - Add a top level test configuration file for test states that are common to all BSPs. This saves adding a test configuration (tcfg) file for every BSP. - Add the test states 'user-input' and 'benchmark'. This lets 'rtems-test' stop the test rather than waiting for a timeout or letting a benchmark run without the user asking for it to run. - Implement rtems-test-check in Python to make it faster. The shell script had grown to a point it was noticably slowing the build down. - Fix the configure.ac and Makefile.am files for a number of the test directories. The files are difficiult to keep in sync with the number of tests and mistakes can happen such as tests being left out of the build. The test fsrofs01 is an example. Also a there was a mix of SUBDIRS and _SUBDIRS being used and only _SUBDIRS should be used. - Fix the test fsrofs01 so it compiles. Closes #2963.
* rtems: Fix _Rate_monotonic_Renew_deadline()Kuan-Hsun Chen2017-01-301-1/+1
| | | | | | | | | | | | Prepare a precondition to prevent the potential integer overflow. Remove one redundant parameter in _Rate_monotonic_Renew_deadline(). sptests/sprmsched02: Create A test case for checking the overflow condition of postponed_jobs in rtems_rate_monotonic_period_status. Update #2885.
* sptests: EDF scheduler overrun handlingKuan-Hsun Chen2017-01-131-1/+1
| | | | Update #2795.
* sptests: rate monotonic scheduler overrun handlingKuan-Hsun Chen2017-01-131-0/+1
| | | | Update #2795.
* configure: Remove HAVE_STRUCT__THREAD_QUEUE_QUEUESebastian Huber2017-01-131-2/+0
|
* configure: Remove HAVE_THREADS_H supportSebastian Huber2017-01-131-2/+0
|
* Remove obsolete __RTEMS_HAVE_SYS_CPUSET_H__Joel Sherrill2017-01-111-3/+0
|
* score: Add and use _Thread_Dispatch_direct()Sebastian Huber2016-11-181-0/+1
| | | | | | | | | | 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.
* score: Delete Resource HandlerSebastian Huber2016-11-021-1/+0
| | | | Update #2556.
* score: Fix CORE mutex initializationSebastian Huber2016-05-121-0/+1
| | | | | | | | | The priority inheritance and ceiling CORE mutexes wrongly used the FIFO queueing discipline. Delete misleading _CORE_mutex_Is_priority(). Bug introduced by 1e1a91ed11458ddbb27b94d0001d8f0fc2ef7a97. Add test sptests/spmutex01, since no existing uni-processor test covered the thread priority queueing discipline for CORE mutexes.
* score: Use chain iterator for user extensionsSebastian Huber2016-04-181-0/+1
| | | | | | | | | | | Add a lock and use a chain iterator for safe iteration during concurrent user extension addition and removal. Ensure that dynamically added thread delete and fatal extensions are called in reverse order. Update #2555. Update #2692.
* Obsolete rtems_clock_get() directive.Joel Sherrill2016-04-141-1/+1
| | | | | | | This service was marked as deprecated long prior to the 4.11 release series and is now being removed. closes #2676.
* score: Replace watchdog handler implementationSebastian Huber2016-03-041-1/+2
| | | | | | | | | Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
* api: Remove deprecated NotepadsAun-Ali Zaidi2015-12-241-1/+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-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add RTEMS linker setsSebastian Huber2015-12-081-0/+1
| | | | Update #2408.
* Remove <rtems/debug.h>Sebastian Huber2015-12-071-1/+1
| | | | Close #2477.
* libstdthreads: Add C11 threadsSebastian Huber2015-10-141-0/+3
|
* score: Add self-contained mutex implementationSebastian Huber2015-07-301-0/+3
| | | | | | | This mutex implementation uses a thread priority queue with a simple priority inheritance mechanism (similar to the object based mutexes). The storage space must be supplied by the user (16 bytes on 32-bit targets).
* sptests/sptasknopreempt01: New testSebastian Huber2015-06-121-0/+1
| | | | Update #2365.
* sptests/sptimecounter03: New testSebastian Huber2015-06-091-0/+1
|
* timecounter: Use in RTEMSAlexander Krutwig2015-05-201-0/+1
| | | | | | | | Replace timestamp implementation with FreeBSD bintime and timecounters. New test sptests/sptimecounter02. Update #2271.
* timecounter: Port to RTEMSAlexander Krutwig2015-05-201-0/+1
| | | | | | New test sptests/timecounter01. Update #2271.
* score: Fix _Thread_Change_priority()Sebastian Huber2015-03-201-0/+1
| | | | | | | | | | Atomically update the current priority of a thread and the wait queue. Serialize the scheduler update in a separate critical section with a generation number. New test sptests/spintrcritical23. Close #2310.
* tm07: Split some code into new spnotepad02.Joel Sherrill2015-03-171-1/+1
| | | | | | Use of deprecated notepads in sp07 needs further work. Updates #2305.
* score: Make <rtems/score/atomic.h> availableSebastian Huber2015-02-191-0/+1
| | | | | | | | Make <rtems/score/atomic.h> available for all RTEMS configurations. Use inline functions instead of macros. Use ISR disable/enable on uni-processor configurations to ensure atomicity. Update #2273.
* Filesystem: Statically initialize rtems_libio_iopsSebastian Huber2015-02-041-1/+1
|
* score: Rework global constructionSebastian Huber2014-10-131-0/+1
| | | | | | Ensure that the global construction is performed in the context of the first initialization thread. On SMP this was not guaranteed in the previous implementation.
* sptests/spintrcritical22: New testSebastian Huber2014-09-191-0/+1
|
* sptests/sp39: Convert to sptests/spintrcritical21Sebastian Huber2014-09-101-1/+2
| | | | | Use interrupt critical section test support. Do not print end of test message in case of failure.
* sptests/spsem03: New testSebastian Huber2014-06-031-0/+1
|
* score: Add Resource HandlerSebastian Huber2014-06-031-0/+1
| | | | | | | | | | A resource is something that has at most one owner at a time and may have multiple rivals in case an owner is present. The owner and rivals are impersonated via resource nodes. A resource is represented via the resource control structure. The resource controls and nodes are organized as trees. It is possible to detect deadlocks via such a resource tree. The _Resource_Iterate() function can be used to iterate through such a resource tree starting at a top node.
* score: Multiprocessor Resource Sharing ProtocolSebastian Huber2014-05-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | Add basic support for the Multiprocessor Resource Sharing Protocol (MrsP). The Multiprocessor Resource Sharing Protocol (MrsP) is defined in A. Burns and A.J. Wellings, A Schedulability Compatible Multiprocessor Resource Sharing Protocol - MrsP, Proceedings of the 25th Euromicro Conference on Real-Time Systems (ECRTS 2013), July 2013. It is a generalization of the Priority Ceiling Protocol to SMP systems. Each MrsP semaphore uses a ceiling priority per scheduler instance. These ceiling priorities can be specified with rtems_semaphore_set_priority(). A task obtaining or owning a MrsP semaphore will execute with the ceiling priority for its scheduler instance as specified by the MrsP semaphore object. Tasks waiting to get ownership of a MrsP semaphore will not relinquish the processor voluntarily. In case the owner of a MrsP semaphore gets preempted it can ask all tasks waiting for this semaphore to help out and temporarily borrow the right to execute on one of their assigned processors. The help out feature is not implemented with this patch.
* score: Simplify _Thread_Change_priority()Sebastian Huber2014-05-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | The function to change a thread priority was too complex. Simplify it with a new scheduler operation. This increases the average case performance due to the simplified logic. The interrupt disabled critical section is a bit prolonged since now the extract, update and enqueue steps are executed atomically. This should however not impact the worst-case interrupt latency since at least for the Deterministic Priority Scheduler this sequence can be carried out with a wee bit of instructions and no loops. Add _Scheduler_Change_priority() to replace the sequence of - _Thread_Set_transient(), - _Scheduler_Extract(), - _Scheduler_Enqueue(), and - _Scheduler_Enqueue_first(). Delete STATES_TRANSIENT, _States_Is_transient() and _Thread_Set_transient() since this state is now superfluous. With this change it is possible to get rid of the SCHEDULER_SMP_NODE_IN_THE_AIR state. This considerably simplifies the implementation of the new SMP locking protocols.
* testsuite: Add a per BSP test check for tests not to build.Chris Johns2014-05-051-25/+25
| | | | | | | | Provide a file per BSP to list tests that do not build for a BSP. This change removes the BSP_SMALL_MEMORY hack from the code. That hack was a mistake. Provide configuration files for each BSP with tests that cannot build.
* score: Task get/set affinitySebastian Huber2014-04-151-1/+2
| | | | | Make rtems_task_get_affinity() and rtems_task_set_affinity() available on non-SMP configurations. Allow larger CPU sets.
* Disable per task variables when SMP is enabledJoel Sherrill2014-04-041-1/+6
| | | | | | Per task variables are inherently unsafe in SMP systems. This patch disables them from the build and adds warnings in the appropriate documentation and configuration sections.
* score: PR788: Add INTERNAL_ERROR_RESOURCE_IN_USESebastian Huber2014-04-031-0/+1
| | | | | | | | | | | | | | | Issue a fatal error in case a thread is deleted which still owns resources (e.g. a binary semaphore with priority inheritance or ceiling protocol). The resource count must be checked quite late since RTEMS task variable destructors, POSIX key destructors, POSIX cleanup handler, the Newlib thread termination extension or other thread termination extensions may release resources. In this context it would be quite difficult to return an error status to the caller. An alternative would be to place threads with a non-zero resource count not on the zombie chain. Thus we have a resource leak instead of a fatal error. The terminator thread can see this error if we return an RTEMS_RESOURCE_IN_USE status for the rtems_task_delete() for example.
* score: Do not reset resource count during restartSebastian Huber2014-03-311-0/+1
| | | | | | | This fixes an integer underflow problem in case resources are released after a thread restart. Add new test sptests/spthreadlife01.
* sptests: New tests split from sp09 screen 1 and screen 2.Bjorn Larsson2014-03-281-2/+3
| | | | | | Split sp09 screen 1 into new test sptask_err04. Split sp09 screen 2 into new tests sptask__err02 and spclock_err01, as well as moving one verification into sptimer_err01.
* sptask_err03: New test split from sp09 screen 3.Bjorn Larsson2014-03-281-1/+1
|
* spevent_err03: New test split from sp09 screen 4.Bjorn Larsson2014-03-281-1/+1
|
* sptests: split sp09 screen 5,6 into spsem_err01, spsem_err02, and sptask_err01.Bjorn Larsson2014-03-281-1/+2
| | | | | sp09 screen 5 split into spsem_err01, sp09 screen 6 split into spsem_err02, and sptask_err01.