summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests (unfollow)
Commit message (Collapse)AuthorFilesLines
2 dayssmptests/smpipi01: Fix sporadic test failureSebastian Huber1-6/+42
Make sure that the last IPI is processed before the next test case is carried out.
2 dayssmpmulticast01: Ignore SMP_FATAL_SHUTDOWN_RESPONSESebastian Huber1-8/+10
This fatal code is a part of the normal SMP termination procedure.
2024-01-15smpopenmp01: Convert to JSON dataSebastian Huber3-126/+118
This avoids a dependency on the non-standard libxml2 module.
2024-01-15smplock01: Convert to JSON dataSebastian Huber4-2682/+397
This avoids a dependency on the non-standard libxml2 module.
2023-05-23smptests: Print proper end of test messageSebastian Huber3-4/+16
Make sure that the end of test message is not mixed up with other test output.
2023-05-20Update company nameSebastian Huber47-47/+47
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2022-11-14testsuites/smptests: Change license to BSD-2 for files with Gaisler copyrightDaniel Cederman1-3/+22
This patch changes the license to BSD-2 for all source files where the copyright is held by Aeroflex Gaisler, Cobham Gaisler, or Gaisler Research. Updates #3053.
2022-07-28score: Use priority inheritance for thread joinSebastian Huber1-14/+19
Threads may join the thread termination of another thread using the pthread_join() or rtems_task_delete() directives. The thread cancel operation used a special case priority boosting mechanism implemented by _Thread_Raise_real_priority(). The problem was that this approach * is not transitive, * does not account for priority adjustments of the calling task while waiting for the join, * does not support clustered scheduling, and * does not detect deadlocks. All these problems are fixed by using a priority inheritance thread queue for the join operation. Close #4679.
2022-06-14smptests/*/*.doc: Change license to BSD-2Joel Sherrill10-30/+220
Updates #3053.
2022-06-14smptests/*/*.py: Change license to BSD-2Joel Sherrill3-9/+66
Manually adjusted location of SPDX annotation so #! remains first line. Updates #3053.
2022-04-07testsuites/smptests/*: Change license to BSD-2Joel Sherrill62-186/+1364
Updates #3053.
2022-03-10bsps/testsuites/: Scripted embedded brains header file clean upJoel Sherrill39-234/+0
Updates #4625.
2022-03-08smptests/smpstart01: New test programSebastian Huber2-0/+167
Update #4627.
2021-11-18rtems: Use RTEMS_WHO_AM_I for rtems_task_ident()Sebastian Huber2-2/+2
2021-11-15rtems: Simplify rtems_semaphore_set_priority()Sebastian Huber1-1/+1
Do not write to the object referenced by old_priority in error paths. This is in line with other directives.
2021-09-21cpukit: Add AArch64 SMP SupportKinsey Moore1-1/+1
This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
2021-09-21testsuites/smpmulticast01: Enforce step orderingKinsey Moore1-0/+1
The order in which step checks for 1 and 2 are not rigidly defined and may actually occur in either order depending on how the threads execute. This waits for the job to complete to enforce the existing ordering.
2021-09-21build: Remove old build systemSebastian Huber2-770/+0
Close #3250. Close #4081.
2021-08-30smpfatal01: Fix test time out on sparc/leon3Sebastian Huber1-1/+1
End the test on the processor which triggers the test condition. This avoids endless power down loops in the sparc/leon3 BSP.
2021-08-12score: Replace priority prepend it with an enumSebastian Huber1-33/+36
Use the new Priority_Group_order enum instead of a boolean to indicated if a priority should be inserted as the first or last node into its priority group. This makes the code more expressive. It is also a bit more efficient since a branch in _Scheduler_Node_set_priority() is avoided and a simple bitwise or operation can be used.
2021-07-29score: Change _SMP_Send_message() parameter typeSebastian Huber2-5/+11
Use the processor control to specify the target processor since this is what the callers have available.
2021-07-29score: Add _Per_CPU_Submit_job()Sebastian Huber2-10/+3
2021-07-28score: Simplify SMP processor state handlingSebastian Huber4-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.
2021-07-28score: Remove processor event broadcast/receiveSebastian Huber5-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.
2021-07-06Update test smpstrongapa01Richi Dubey1-19/+47
Update smpstrongapa01 to account for task shifting.
2021-06-24bsps/irq: Use BSP_INTERRUPT_VECTOR_COUNTSebastian Huber1-1/+1
Use BSP_INTERRUPT_VECTOR_COUNT instead of BSP_INTERRUPT_VECTOR_MAX. Update #3269.
2021-06-24smpcapture02: Fix use of BSP_INTERRUPT_VECTOR_MAXSebastian Huber1-1/+1
This define represents the last valid interrupt vector number. Update #3269.
2021-06-24bsps/irq: Remove BSP_INTERRUPT_VECTOR_MINSebastian Huber1-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.
2021-06-10score: Add PER_CPU_DATA_NEED_INITIALIZATION()Sebastian Huber1-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.
2021-04-27rtems: Change rtems_task_get_affinity() statusSebastian Huber1-1/+1
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.
2021-04-13smpfatal08: block secondary processorsJiri Gaisler1-0/+2
* On some SMP platforms, all cpus are started by the boot-loader. We need to block the secondary cpus or they will clobber the test output.
2021-03-16rtems: Allow initially locked MrsP semaphoresSebastian Huber1-4/+10
Rejecting initially locked MrsP semaphores was due to a limitiation of the early limitiation of the MrsP protocol. This limitation no longer exists.
2021-03-16rtems: Require RTEMS_PRIORITY for MrsP semaphoresSebastian Huber3-7/+8
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.
2021-01-21mrsp: Change error status for a nested seizeSebastian Huber1-1/+1
Return STATUS_DEADLOCK (RTEMS_INCORRECT_STATE) to indicate a nested seize since this is a kind of deadlock. This status code is also used for other deadlocks. Update #4217.
2020-12-09smptests/smpipi01: Fix sporadic test failureSebastian Huber1-0/+7
2020-11-24rtems: Improve rtems_interrupt_server_create()Sebastian Huber1-2/+63
Also start interrupt server tasks on processors which do not have a scheduler. Applications may dynamically manage processors using rtems_scheduler_remove_processor() and rtems_scheduler_add_processor().
2020-11-10smpmulticast01: Fix NULL pointer accessSebastian Huber1-1/+1
2020-10-01tests: Add and use <rtems/testopts.h>Sebastian Huber1-1/+2
Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of test suites using the RTEMS Test Framework.
2020-09-14irqs01/smpirqs01: New testsSebastian Huber2-0/+210
Close #4034.
2020-08-18libtest: Change T_step() and T_assert_step()Sebastian Huber1-8/+8
Normally, the expected test step must be a compile time constant. Allow variable expected test steps for the T_step() and T_assert_step(). This can be used for parameterized test loops with individual fixtures. Remove the ability to use custom failure messages due to some implementation constraints. Update #3199.
2020-08-04smpschededf02: Document reset() functionSebastian Huber1-1/+13
2020-07-23libtest: Move <t.h> to <rtems/test.h>Sebastian Huber1-1/+1
Update #3199.
2020-07-23libtest: <rtems/test.h> to <rtems/test-info.h>Sebastian Huber6-6/+6
Rename this header file to later move <t.h> to <rtems/test.h>. The main feature provided by <rtems/test-info.h> is the output of standard test information which is consumed by the RTEMS Tester. Update #3199.
2020-06-11smpsignal01: Change state before sending the signalJan Sommer1-1/+1
The signal handler of the consumer might start executing before rtems_signal_send of the producer returns. Therefore change the state to SIG_1_SENT before sending the signal.
2020-04-16Canonicalize config.h includeSebastian Huber36-36/+36
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2020-02-25config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber1-2/+0
The CONFIGURE_DISABLE_SMP_CONFIGURATION configuration option and rtems_configuration_is_smp_enabled() were added during the SMP support development cycle as a workaround to fix some testsuite failures in SMP configurations. All use cases were replaced with tests for specific conditions. The configuration option and test macro were undocumented. Close #3876.
2020-02-14smpschededf02: Improve readabilitySebastian Huber1-66/+74
2020-02-14smpfatal09: Fix test caseSebastian Huber1-6/+0
Update #3838.
2020-02-04bsps: Rework work area initializationSebastian Huber1-4/+29
The work area initialization was done by the BSP through bsp_work_area_initialize(). This approach predated the system initialization through the system initialization linker set. The workspace and C program heap were unconditionally initialized. The aim is to support RTEMS application configurations which do not need the workspace and C program heap. In these configurations, the workspace and C prgram heap should not get initialized. Change all bsp_work_area_initialize() to implement _Memory_Get() instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and malloc() heap initialization into separate system initialization steps. This makes it also easier to test the individual initialization steps. This change adds a dependency to _Heap_Extend() to all BSPs. This dependency will be removed in a follow up change. Update #3838.
2020-01-28smptests/smpmulticast01: Fix test configurationSebastian Huber1-1/+1
Problem introduced by 77ac1519e863b7095f69c976353f7647c6f6f63b.