summaryrefslogtreecommitdiffstats
path: root/testsuites/smptests (follow)
Commit message (Collapse)AuthorAgeFilesLines
* smptests/smpipi01: Fix sporadic test failureSebastian Huber12 days1-6/+42
| | | | | Make sure that the last IPI is processed before the next test case is carried out.
* smpmulticast01: Ignore SMP_FATAL_SHUTDOWN_RESPONSESebastian Huber12 days1-8/+10
| | | | This fatal code is a part of the normal SMP termination procedure.
* smpopenmp01: Convert to JSON dataSebastian Huber2024-01-153-126/+118
| | | | This avoids a dependency on the non-standard libxml2 module.
* smplock01: Convert to JSON dataSebastian Huber2024-01-154-2682/+397
| | | | This avoids a dependency on the non-standard libxml2 module.
* smptests: Print proper end of test messageSebastian Huber2023-05-233-4/+16
| | | | | Make sure that the end of test message is not mixed up with other test output.
* Update company nameSebastian Huber2023-05-2047-47/+47
| | | | | The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
* testsuites/smptests: Change license to BSD-2 for files with Gaisler copyrightDaniel Cederman2022-11-141-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.
* score: Use priority inheritance for thread joinSebastian Huber2022-07-281-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.
* smptests/*/*.doc: Change license to BSD-2Joel Sherrill2022-06-1410-30/+220
| | | | Updates #3053.
* smptests/*/*.py: Change license to BSD-2Joel Sherrill2022-06-143-9/+66
| | | | | | Manually adjusted location of SPDX annotation so #! remains first line. Updates #3053.
* testsuites/smptests/*: Change license to BSD-2Joel Sherrill2022-04-0762-186/+1364
| | | | Updates #3053.
* bsps/testsuites/: Scripted embedded brains header file clean upJoel Sherrill2022-03-1039-234/+0
| | | | Updates #4625.
* smptests/smpstart01: New test programSebastian Huber2022-03-082-0/+167
| | | | Update #4627.
* rtems: Use RTEMS_WHO_AM_I for rtems_task_ident()Sebastian Huber2021-11-182-2/+2
|
* rtems: Simplify rtems_semaphore_set_priority()Sebastian Huber2021-11-151-1/+1
| | | | | Do not write to the object referenced by old_priority in error paths. This is in line with other directives.
* cpukit: Add AArch64 SMP SupportKinsey Moore2021-09-211-1/+1
| | | | This adds SMP support for AArch64 in cpukit and for the ZynqMP BSPs.
* testsuites/smpmulticast01: Enforce step orderingKinsey Moore2021-09-211-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.
* build: Remove old build systemSebastian Huber2021-09-212-770/+0
| | | | | Close #3250. Close #4081.
* smpfatal01: Fix test time out on sparc/leon3Sebastian Huber2021-08-301-1/+1
| | | | | End the test on the processor which triggers the test condition. This avoids endless power down loops in the sparc/leon3 BSP.
* score: Replace priority prepend it with an enumSebastian Huber2021-08-121-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.
* 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.
* 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.
* 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.
* rtems: Change rtems_task_get_affinity() statusSebastian Huber2021-04-271-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.
* smpfatal08: block secondary processorsJiri Gaisler2021-04-131-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.
* rtems: Allow initially locked MrsP semaphoresSebastian Huber2021-03-161-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.
* rtems: Require RTEMS_PRIORITY for MrsP semaphoresSebastian Huber2021-03-163-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.
* mrsp: Change error status for a nested seizeSebastian Huber2021-01-211-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.
* smptests/smpipi01: Fix sporadic test failureSebastian Huber2020-12-091-0/+7
|
* rtems: Improve rtems_interrupt_server_create()Sebastian Huber2020-11-241-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().
* smpmulticast01: Fix NULL pointer accessSebastian Huber2020-11-101-1/+1
|
* tests: Add and use <rtems/testopts.h>Sebastian Huber2020-10-011-1/+2
| | | | | Add the build option RTEMS_TEST_VERBOSITY to control the verbosity of test suites using the RTEMS Test Framework.
* irqs01/smpirqs01: New testsSebastian Huber2020-09-142-0/+210
| | | | Close #4034.
* libtest: Change T_step() and T_assert_step()Sebastian Huber2020-08-181-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.
* smpschededf02: Document reset() functionSebastian Huber2020-08-041-1/+13
|
* libtest: Move <t.h> to <rtems/test.h>Sebastian Huber2020-07-231-1/+1
| | | | Update #3199.
* libtest: <rtems/test.h> to <rtems/test-info.h>Sebastian Huber2020-07-236-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.
* smpsignal01: Change state before sending the signalJan Sommer2020-06-111-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.
* Canonicalize config.h includeSebastian Huber2020-04-1636-36/+36
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* config: Remove CONFIGURE_DISABLE_SMP_CONFIGURATIONSebastian Huber2020-02-251-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.
* smpschededf02: Improve readabilitySebastian Huber2020-02-141-66/+74
|
* smpfatal09: Fix test caseSebastian Huber2020-02-141-6/+0
| | | | Update #3838.
* bsps: Rework work area initializationSebastian Huber2020-02-041-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.
* smptests/smpmulticast01: Fix test configurationSebastian Huber2020-01-281-1/+1
| | | | Problem introduced by 77ac1519e863b7095f69c976353f7647c6f6f63b.