summaryrefslogtreecommitdiffstats
path: root/testsuites (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Change _SMP_Send_message() parameter typeSebastian Huber2021-07-292-5/+11
| | | | | Use the processor control to specify the target processor since this is what the callers have available.
* score: Add _Per_CPU_Submit_job()Sebastian Huber2021-07-292-10/+3
|
* score: Simplify SMP processor state handlingSebastian Huber2021-07-284-23/+61
| | | | | | | | The per-CPU states which control the SMP system initialization were added quite early during the SMP support development. Replace this initial implementation with a simplified one. There is no longer a global SMP lock required which serialized the state changes of all processors. The new implementation better integrates with the per-CPU jobs.
* score: Remove processor event broadcast/receiveSebastian Huber2021-07-285-12/+10
| | | | | | Remove _CPU_SMP_Processor_event_broadcast() and _CPU_SMP_Processor_event_receive(). These functions are hard to use since they are subject to the lost wake up problem.
* score: Remove _Internal_errors_What_happenedSebastian Huber2021-07-281-2/+0
| | | | | | | | | | Users have access to the fatal error source and code though the fatal error extension. The user-specific fatal error handling should be done in statically initialized fatal error handlers. The _Internal_errors_What_happened was updated after the fatal error extension. In addition, there was no API to get the information stored in _Internal_errors_What_happened. In SMP configurations, this object could contain a mix of different fatal errors. Remove this object to save some bytes of storage.
* validation: Test rtems_interrupt_handler_iterate()Sebastian Huber2021-07-261-0/+636
| | | | Update #3269.
* validation: Test rtems_interrupt_set_affinity()Sebastian Huber2021-07-261-0/+670
| | | | Update #3269.
* validation: Test rtems_interrupt_get_affinity()Sebastian Huber2021-07-261-0/+683
| | | | Update #3269.
* validation: Test rtems_interrupt_raise_on()Sebastian Huber2021-07-263-2/+721
| | | | Update #3269.
* validation: Test rtems_interrupt_is_pending()Sebastian Huber2021-07-261-0/+629
| | | | Update #3269.
* validation: Test rtems_interrupt_clear()Sebastian Huber2021-07-261-0/+586
| | | | Update #3269.
* validation: Test rtems_interrupt_raise()Sebastian Huber2021-07-261-0/+576
| | | | Update #3269.
* validation: Test rtems_interrupt_entry_remove()Sebastian Huber2021-07-261-0/+1432
| | | | Update #3269.
* validation: Test rtems_interrupt_entry_install()Sebastian Huber2021-07-261-0/+1364
| | | | Update #3269.
* validation: Test rtems_interrupt_vector_disable()Sebastian Huber2021-07-261-0/+632
| | | | Update #3269.
* validation: Test rtems_interrupt_vector_enable()Sebastian Huber2021-07-261-0/+638
| | | | Update #3269.
* validation: rtems_interrupt_vector_is_enabled()Sebastian Huber2021-07-261-0/+627
| | | | Update #3269.
* validation: Test rtems_interrupt_get_attributes()Sebastian Huber2021-07-261-0/+440
| | | | Update #3269.
* validation: GetTestableInterruptVector()Sebastian Huber2021-07-262-0/+49
| | | | Update #3269.
* validation: GetValidInterruptVectorNumber()Sebastian Huber2021-07-262-0/+31
| | | | Update #3269.
* validation: HasInterruptVectorEntriesInstalled()Sebastian Huber2021-07-262-0/+81
| | | | Update #3269.
* validation: Add CallWithinISR()Sebastian Huber2021-07-262-0/+148
| | | | Update #3269.
* rtems: Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPTSebastian Huber2021-07-261-1/+1
| | | | | | | | Add RTEMS_FATAL_SOURCE_SPURIOUS_INTERRUPT as the fatal source for spurious interrupts. Use the interrupt vector number of the spurious interrupt for the fatal code. Update #3269.
* sparc: Prefer RTEMS_FATAL_SOURCE_EXCEPTIONSebastian Huber2021-07-152-17/+55
| | | | | | Prefer RTEMS_FATAL_SOURCE_EXCEPTION over INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT since the fatal code (rtems_exception_frame) provides more context.
* spcoverage: Remove test programSebastian Huber2021-07-155-85/+0
| | | | | This program contained an optional test case. It was enabled by the RTEMS_COVERAGE define. The functions under test are not implemented by RTEMS.
* Update test smpstrongapa01Richi Dubey2021-07-061-19/+47
| | | | Update smpstrongapa01 to account for task shifting.
* bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNTSebastian Huber2021-06-241-1/+1
| | | | | | Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX. Update #3269.
* smpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAXSebastian Huber2021-06-241-1/+1
| | | | | | This define represents the last valid interrupt vector number. Update #3269.
* bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber2021-06-241-1/+1
| | | | | | | | | | Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector numbers start with zero. The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit and building all BSPs. Update #3269.
* i2c: Add non blocking read / writeChristian Mauderer2021-06-221-1/+120
| | | | | | | This adds the possibility to open an I2C bus with O_NONBLOCK (or set it later via fcntl) to get non-blocking transmissions. This means that if the bus is busy, a read, write or transfer ioctl will return with a EAGAIN errno.
* score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber2021-06-102-0/+4
| | | | | | | | | Make the initialization of the per-CPU data optional. Change license to BSD-2-Clause according to file history and re-licensing agreement. Update #3053.
* splinkersets01: Test linker sets in librarySebastian Huber2021-06-104-5/+45
| | | | | Make sure that the linker sets work if placed in a library (this is how they are used in RTEMS).
* sysconf: Remove sysconf(515)Ryan Long2021-06-091-8/+0
| | | | | | | GCC originally needed this 20 years ago. No longer needed, so it is being removed. Closes #4391
* fsnofs01/init.c: Check for ENOENT from utime().Joel Sherrill2021-06-081-3/+6
| | | | | | The addition of the entire *utime*() family of functions resulted in this call returning ENOENT not ENXIO. This is better aligned with the POSIX definition of the methods.
* psx13: Added tests for utimensat() and futimens()Ryan Long2021-05-282-22/+482
| | | | | | Improved tests for utime() and utimes() and update license. Close #4399
* thread-API: Add rtems_*mutex_try_lockChristian Mauderer2021-05-281-0/+79
| | | | | | This adds a rtems_mutex_try_lock and a rtems_recursive_mutex_try_lock. Update #4440.
* posix: Allow pthread_cancel() from within ISRsSebastian Huber2021-05-261-31/+45
| | | | Close #4413.
* testsuites: Remove telnetd01Vijay Kumar Banerjee2021-05-203-155/+0
| | | | | telnetd01 test cannot be run without a network stack, so this test is being moved to the rtems-net-legacy repository.
* rtems: Check entry point in rtems_task_start()Sebastian Huber2021-05-141-0/+9
| | | | Close #4410.
* validation: Add INVALID_ID to tx-support.hSebastian Huber2021-05-143-4/+7
|
* validation: Add support librarySebastian Huber2021-05-148-10/+10
| | | | | | Add a library for support functions used by validation tests. Rename tc-support.* to tx-support.* since this file does not contain test cases.
* rtems: Constify rtems_task_wake_when()Sebastian Huber2021-05-121-2/+2
| | | | | | | | | | | | | | | | Add a parameter to _TOD_Validate() to disable the validation of the ticks member. There are two reasons for this change. Firstly, in rtems_task_wake_when() was a double check for time_buffer == NULL (one in rtems_task_wake_when() and one in _TOD_Validate()). Secondly, the ticks member is ignored by rtems_task_wake_when(). This was done with a write of zero to the ticks member and thus a modification of the user-provided structure. Now the structure is no longer modified. Using a mask parameter is quite efficient. You just have to load an immediate value and there are no additional branches in _TOD_Validate(). Close #4406.
* _TOD_Validate(): Fix incorrect return codeFrank Kühndel2021-05-121-3/+3
| | | | | | | | | | | | | | | This patch fixes bug #4403. Directives * rtems_timer_fire_when() * rtems_timer_server_fire_when() * rtems_task_wake_when() are documented to return RTEMS_INVALID_ADDRESS when their time-of-day argument is NULL. But actually they return RTEMS_INVALID_CLOCK. To fix the issue this patch changes _TOD_Validate() to return a status code instead of just true/false. Close #4403
* validation: Fix handling of N/A pre-conditionsSebastian Huber2021-05-079-492/+43
| | | | | | | In the action requirements, some pre-conditions are not applicable depending on the state of other pre-conditions. There is no particular order in the pre-conditions, so we have to check the N/A status individually.
* Return NULL for zero size allocationsSebastian Huber2021-05-061-55/+26
| | | | | | | | | | | | | | | In POSIX, zero size memory allocations are implementation-defined behaviour. The implementation has two options: https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html Linux and FreeBSD return a unique pointer for zero size memory allocations. Return NULL on RTEMS to more likely catch the use of a zero size memory area by erroneous applications. Update #4390.
* rtems: rtems_scheduler_get_processor_set() statusSebastian Huber2021-05-061-1/+1
| | | | | | | | | In case the processor set is not large enough to contain the processor set owned by the scheduler return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object. Close #4401.
* psxtests: Fix math function build warningsStephen Clark2021-05-0560-0/+231
| | | | | Added conditionals to ensure that long double function tests were only built when newlib has long double math functions.
* Make zero size allocation result consistentSebastian Huber2021-05-041-10/+96
| | | | | | | | | | | | | | | | | | The zero size allocations had no consistent behaviour in RTEMS. For example, malloc( 0 ) returned NULL and posix_memalign( &p, align, 0 ) returned in p a unique pointer (or NULL if no memory is available). In POSIX, zero size memory allocations are implementation-defined behaviour. The implementation has two options: https://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_memalign.html Linux and FreeBSD return a unique pointer for zero size memory allocations. Use this approach for RTEMS as well throughout the memory allocation directives Close #4390.
* libtest: Fix use of flexible array memberSebastian Huber2021-05-031-15/+15
| | | | Flexible array members must not appear in the middle of a structure.
* spmisc01: Test RTEMS_NOINITSebastian Huber2021-05-021-0/+5
| | | | Close #3866.