summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* testsuites/sptests/sp[s-z]*: Change license to BSD-2Joel Sherrill2022-04-0555-165/+1210
| | | | Updates #3053.
* testsuites/sptests/sp[g-r]*: Change license to BSD-2Joel Sherrill2022-04-0551-153/+1122
| | | | Updates #3053.
* testsuites/sptests/sp[a-f*]*: Change license to BSD-2Joel Sherrill2022-04-0552-156/+1144
| | | | Updates #3053.
* testsuites/sptests/sp[4-7]*: Change license to BSD-2Joel Sherrill2022-04-0531-93/+682
| | | | Updates #3053.
* testsuites/sptests/sp[2-3]*: Change license to BSD-2Joel Sherrill2022-04-0540-120/+880
| | | | Updates #3053.
* testsuites/sptests/sp1*: Change license to BSD-2Joel Sherrill2022-04-0549-147/+1078
| | | | Updates #3053.
* testsuites/sptests/sp0*: Change license to BSD-2Joel Sherrill2022-04-0541-123/+902
| | | | Updates #3053.
* testsuites: Manual file header clean upChristian Mauderer2022-03-101-6/+0
| | | | Updates #4625.
* bsps/testsuites/: Scripted embedded brains header file clean upJoel Sherrill2022-03-1054-319/+2
| | | | Updates #4625.
* testsuites/.../*doc: Manual cleanup of embedded brains File HeadersJoel Sherrill2022-03-103-27/+5
| | | | | | | There were not a lot of these and they did not match the patterns of the C. Updates #4625.
* kern_ntptime.c: Port to RTEMSSebastian Huber2022-02-211-0/+111
| | | | | | Remove previous adjtime() implementation. Update #2348.
* sptests: Avoid a dependency on errnoSebastian Huber2022-01-287-3/+26
| | | | | | | | Avoid a dependency on errno which might be a thread-local object. The tests sp01, spstkalloc02, and sptls03 assume that no thread-local storage object is present. Update #4560.
* Remove obsolete rtems_gxx_*() implementationSebastian Huber2022-01-276-108/+0
| | | | | | | | | | | GCC versions prior to 6.1 used a RTEMS thread model based on rtems_gxx_*() functions. GCC version 6.1 or later uses the self-contained synchronization objects of Newlib <sys/lock.h> for the RTEMS thread model. Remove the obsolete implementation. Close #3143.
* spintrcritical21: Clear pending eventsSebastian Huber2022-01-121-0/+16
| | | | | The test runner checks that there are no pending events after a test case.
* score: Simplify thread wait state handlingSebastian Huber2021-11-234-20/+6
| | | | | | | | | | Remove the THREAD_WAIT_STATE_READY_AGAIN and simply use the initial value to indicate that a thread does not wait on something. Rename THREAD_WAIT_FLAGS_INITIAL to THREAD_WAIT_STATE_READY. This change is necessary so that _Thread_Continue() can be called for threads which never waited on something (for example dormant threads). Update #4546.
* score: Add node to insert to Chain_Node_orderSebastian Huber2021-11-231-1/+7
| | | | | | This allows to use additional members of the nodes for comparision. Update #4534.
* rtems: Use RTEMS_WHO_AM_I for rtems_task_ident()Sebastian Huber2021-11-1812-13/+13
|
* score: Port large time delta support to RTEMSSebastian Huber2021-11-151-2/+2
|
* score: Introduce CPU budget operationsSebastian Huber2021-11-151-0/+8
| | | | | | | | | | | | | | This patch set replaces the CPU budget algorithm enumeration with a set of CPU budget operations which implement a particular CPU budget algorithm. This helps to hide the CPU budget algorithm implementation details from the general thread handling. The CPU budget callouts are turned into CPU budget operations. This slightly reduces the size of the thread control block. All schedulers used the default scheduler tick implementation. The tick scheduler operation is removed and the CPU budget operations are directly used in _Watchdog_Tick() if the executing thread uses a CPU budget algorithm. This is performance improvement for all threads which do not use a CPU budget algorithm (default behaviour).
* testsuite: Add machine exception resume testKinsey Moore2021-10-293-0/+98
| | | | | Add a test to verify that intercepted exceptions can be resolved and execution can be resumed.
* sptests/sp69: Remove test caseSebastian Huber2021-10-251-25/+0
| | | | | | This error condition no longer exists. Update #4528.
* Add support for IDLE Thread stack allocatorJoel Sherrill2021-10-116-0/+228
| | | | | | | | Add a stack allocator hook specifically for allocation of IDLE thread stacks. This allows the user to decide if IDLE thread stacks are statically allocated or handled by the same custom allocator mechanism as other thread stacks. Closes #4524.
* build: Remove old build systemSebastian Huber2021-09-212-2196/+0
| | | | | Close #3250. Close #4081.
* score: Change TOD_LATEST_YEAR to 2099Sebastian Huber2021-09-062-42/+9
| | | | | | | | This simplifies the implementation a bit. Declare _TOD_Days_to_date[] in <rtems/score/todimpl.h>. Make _TOD_Days_per_month[] and _TOD_Days_since_last_leap_year[] static. Update #4338.
* sptests: CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULERSebastian Huber2021-07-302-4/+0
| | | | | | Remove obsolete CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER application configuration option which is unsupported since commit 69aa33490b1cd357519ab70b15ad150e11bb752e.
* 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.
* 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.
* score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber2021-06-101-0/+2
| | | | | | | | | 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).
* 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.
* rtems: Check entry point in rtems_task_start()Sebastian Huber2021-05-141-0/+9
| | | | Close #4410.
* 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
* 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.
* spmisc01: Test RTEMS_NOINITSebastian Huber2021-05-021-0/+5
| | | | Close #3866.
* rtems: Change rtems_task_get_affinity() statusSebastian Huber2021-04-271-1/+2
| | | | | | | | | In case the processor set is not large enough to contain the processor affinity set of the task 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 #4393.
* clock:_TOD_To_seconds(): Fix year 2514 overflowFrank Kühndel2021-04-211-10/+18
| | | | | | | | | | | | | | | | | | | | | | | This patch fixes issue #4338 by changing _TOD_Validate() to only accept years till 2105. This requires another patch to change the documentation of rtems_clock_set() and other affected API functions (indicating the end date is 2105 not 2514). I tried to support till year 2514 but it turned out that this needs changing the Timer Manager too. That in turn would mean to change _TOD_Seconds_since_epoch( void ) from 32 to 64 bit. Sebastian pointed out that a naive extension leads to trouble with 32 bit processors. He deemed a safe re-implementation too costly performance wise considering that year 2106 is far away and current binaries using RTEMS Classic API are unlikely to be in use by 2106. The constant TOD_SECONDS_AT_2100_03_01_00_00 in cpukit/rtems/src/clocktodtoseconds.c happens to be wrong by 1 hour. When setting the date 2100-Feb-28 23:59:59 and then reading the date again you will find yourself in 2100-Feb-27. Update #4338
* score: Fix task stack initializationSebastian Huber2021-03-271-1/+5
| | | | | | | | | Do not adjust the stack area begin address since this may confuse the stack allocator and result in failed stack frees. Account for the alignment overhead in the stack space size estimate. Check that the stack size is in the expected interval.
* rtems: Require RTEMS_PRIORITY for MrsP semaphoresSebastian Huber2021-03-161-9/+14
| | | | | | | | | MrsP semaphores are a generalization of the priority ceiling semaphores for SMP configurations. Priority ceiling semaphores are required to use the priority task wait queue discipline. Require this discipline also for MrsP semaphores. Close #4347.
* sp14: Fix for SMP or robust thread dispatchSebastian Huber2021-03-161-0/+5
| | | | Close #4343.
* CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZESebastian Huber2021-03-051-6/+6
| | | | | Ensure that CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE meets the task storage alignment requirement.
* Add system initialization step for target hashSebastian Huber2021-02-261-0/+16
| | | | Update #4267.
* score: Add _IO_Base64url()Sebastian Huber2021-02-251-0/+12
| | | | Update #4267.
* rtems: Rework object services APISebastian Huber2021-02-031-8/+0
| | | | | | | | | Add a "Constraints" paragraph to the documentation. Provide prototypes for programming language bindings. Use the macro implementation to implement the corresponding functions. Update #3993.
* splinkersets01: Fix declarationSebastian Huber2021-01-231-2/+2
| | | | | | | | | | | | GCC 11 produced warnings like this: items.c:21:1: warning: ignoring attribute 'section (".rtemsrwset.test_rw.content.0.1")' because it conflicts with previous 'section (".rtemsrwset.test_rw.content.1")' [-Wattributes] items.c:23:1: warning: ignoring attribute 'section (".rtemsroset.test_ro.content.0.OC")' because it conflicts with previous 'section (".rtemsroset.test_ro.content.1")' [-Wattributes]
* rtems: Add <rtems/rtems/clockimpl.h>Sebastian Huber2020-12-021-0/+1
|
* config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZESebastian Huber2020-11-264-1/+72
| | | | | | | | | | In order to better support applications which use the new rtems_task_construct() directive add the CONFIGURE_INIT_TASK_CONSTURCT_STORAGE_SIZE configuration option. If this option is specified, then the Classic API initialization task is constructed with rtems_task_construct(). Update #4181.
* Avoid INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULLSebastian Huber2020-11-265-61/+0
| | | | | | | Replace a runtime check with a compile time assertion. This makes the INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL obsolete. Update #4181.