Commit Graph

186 Commits

Author SHA1 Message Date
Sebastian Huber
93f927de26 tm27: Add TM27_INTERRUPT_VECTOR_ALTERNATIVE
The TM27 support may define TM27_INTERRUPT_VECTOR_ALTERNATIVE to provide
an alternative software generated interrupt request which is raised by
_TM27_Raise_alternative() and cleared by _TM27_Clear_alternative().
Both functions shall return an RTEMS status code.  This interrupt vector
may be used to test the interrupt controller support on targets which do
not provide generic software generated interrupts.

Update #3716.
2023-12-19 08:26:46 +01:00
Sebastian Huber
2e71bd08ba tm27: Add optional TM27_INTERRUPT_VECTOR_DEFAULT
Let the BSP define TM27_INTERRUPT_VECTOR_DEFAULT to more efficiently and
reliably get the TM27 default interrupt vector.

Update #3716.
2023-12-19 08:22:37 +01:00
Sebastian Huber
528f0e1947 validation: Add nested test case remarks
Close #4971.
2023-11-28 14:30:46 +01:00
Sebastian Huber
a180c138c7 validation: Remove superfluous includes
Update #3716.
2023-11-23 19:05:05 +01:00
Sebastian Huber
f279017882 validation: Improve MrsP validation
For uniprocessor configurations, the selection of
RTEMS_MULTIPROCESSOR_RESOURCE_SHARING results in a priority ceiling
mutex.

Build the MrsP validation tests only if RTEMS_SMP is enabled.

Update #3716.
2023-11-23 14:58:21 +01:00
Sebastian Huber
b414abcffe validation: Fix typos 2023-11-07 15:23:26 +01:00
Sebastian Huber
1a3125c0fe validation: Improve thread idle bodies test
Update #3716.
2023-11-07 15:23:26 +01:00
Alex White
f6b1840f70 validation: Add wrapped bsp_interrupt_dispatch for MicroBlaze
This adds a MicroBlaze-specific bsp_interrupt_dispatch wrapper which
fixes a linker error.
2023-10-27 09:40:58 -05:00
Sebastian Huber
43b74b142e validation: Support powerpc in test case
Update #4955.
2023-10-12 16:33:37 +02:00
Sebastian Huber
2cb3d75d9e validation: Test CPU performance
Measure the runtime of 1000 no-operation instructions.  This may help to
investigate runtime measurement variations which do not result from code
generation or source code changes.

The runtime measurement of a function which does nothing and just
returns gives an estimate of the measurement overhead.

Update #3716.
2023-10-12 14:10:57 +02:00
Sebastian Huber
1781b517dd validation: Check thread dispatching detail
Update #3716.
2023-10-12 14:10:45 +02:00
Sebastian Huber
5a21b1d133 validation: Compatibility for other RTEMS versions
Make some performance tests compatible to other RTEMS versions which do
not allow changing the priority of a task which owns a priority
inheritance mutex.

Update #3716.
2023-09-26 09:40:20 +02:00
Sebastian Huber
3fa6e41c4c validation: Simplify partition performance test
Do not depend on <rtems/chain.h>.

Update #3716.
2023-09-26 09:40:10 +02:00
Sebastian Huber
a986262380 validation: Check stack of interrupted context
Check the stack of the interrupted context during the multitasking
start.

Update #4955.
2023-09-26 08:08:06 +02:00
Sebastian Huber
5f8415b92e validation: Add RTEMS_DEFINE_GLOBAL_SYMBOL() test
Update #4953.
2023-09-14 14:25:49 +02:00
Sebastian Huber
d7a6e80398 tests: Improve RTEMS_DEFINE_GLOBAL_SYMBOL() tests
Use a symbol value relative to an existing symbol address to make the
test work on more code models.

Update #4953.
2023-09-13 07:45:35 +02:00
Sebastian Huber
9a975e5211 validation: Fix variable type
This fixes test failures on targets using short enums.

Update #3716.
2023-08-09 07:18:26 +02:00
Sebastian Huber
527af2b7f2 score: Move formatted I/O functions
These functions do not belong to an super core service.
2023-07-28 11:58:32 +02:00
Sebastian Huber
23c8a039b3 validation: Task entry return for idle threads
Update #3716.
2023-07-25 07:27:42 +02:00
Sebastian Huber
3a754a3de2 validation: Fix formatting 2023-07-21 09:32:33 +02:00
Sebastian Huber
610b54d83a testsuites: Remove stray ';' 2023-07-21 09:32:33 +02:00
Sebastian Huber
723c634d61 validation: Improve sparc/leon3 shutdown test
Test the shutdown halt separately from the SMP-specific shutdown
request.

Update #3716.
2023-07-21 08:20:11 +02:00
Sebastian Huber
e6de385a97 validation: Test sparc/leon3 BSP family
Update #3716.
2023-07-14 12:21:33 +02:00
Sebastian Huber
2ede66f1bc validation: grlib
Update #3716.
2023-07-14 12:21:33 +02:00
Joel Sherrill
6264b14804 Revert accidentally committed "Remove unused _IO_Relax"
Sebastian has agreed to move this out of score. I should have
removed this patch from my tree but accidentally committed it
with another patch.
2023-07-03 10:32:53 -05:00
Joel Sherrill
e49e8daf3d Remove unused _IO_Relax
The only use was in a test.
2023-07-03 10:11:58 -05:00
Sebastian Huber
bcef89f236 Update company name
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
2023-05-20 11:05:26 +02:00
Sebastian Huber
976f208ff2 validation: Add checks to static assert tests
This ensures that the test cases have at least one test step.

Update #3716.
2023-05-19 08:09:26 +02:00
Sebastian Huber
9db208019b validation: RTEMS_STATIC_ANALYSIS
Improve the validation of this define which is not defined for normal
builds.

Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
1a2d797a97 validation: Fix formatting
Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
28fabc299f validation: rtems_scheduler_get_maximum_priority()
Validate this directive for the EDF SMP scheduler.

Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
367427d07b validation: Improve formatting
This enables automatic Doxygen links.

Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
ee74893267 validation: Add group for runtime measurements
Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
649dc37c8f validation: Use spec:* references
Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
64fdb08900 validation: Fix formatting
Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
72465f86d5 validation: Fix typo
Update #3716.
2023-05-19 08:08:45 +02:00
Sebastian Huber
8bc15aba56 validation: Validate RTEMS_NO_TIMEOUT
Update #3716.
2023-05-19 08:08:43 +02:00
Sebastian Huber
c821b925f7 validation: Test the global construction
Update #3716.
2023-05-19 07:47:37 +02:00
Sebastian Huber
863b26ee3a score: Avoid cyclic header file dependencies
There was a cyclic dependency: For RTEMS_STATIC_ANALYSIS we needed
basedefs.h in assert.h. For RTEMS_UNREACHABLE() we needed _Assert() from
assert.h in basedefs.h.

Fix this by introducing _Debug_Unreachable() in basedefs.h.

Add RTEMS_FUNCTION_NAME to basedefs.h and use it in basedefs.h and
assert.h.

Close #4900.
2023-04-25 08:25:33 +02:00
Sebastian Huber
74a6b33f3b validation: Replace enum Event with defines
There is a Doxygen limitation that all compound names (enum, struct,
class, union, group) within a project must be unique.

Update #3716.
2023-03-17 15:55:39 +01:00
Sebastian Huber
45234f58e5 doxygen: Add test files to groups 2023-03-17 08:47:28 +01:00
Sebastian Huber
de6568ed99 validation: Fix test case group identifiers
Update #3716.
2023-03-17 08:47:28 +01:00
Sebastian Huber
e81701bc6c validation: Fix typo 2023-03-14 08:27:33 +01:00
Sebastian Huber
9bb2f59efe doxygen: Add groups for related test suites 2023-03-14 08:07:25 +01:00
Sebastian Huber
9bfe5f599d validation: Derive names from item UIDs
Use the item UID converted to CamelCase for Doxygen group names and
testsuite names.

Update #3716.
2023-03-13 14:00:59 +01:00
Sebastian Huber
1d07dfad83 validation: Improve IRQ handler dispatch test
Clarify wording.  Use a function wrapper for the SMP spurious interrupt setup.

Update #3716.
2023-02-06 09:46:45 +01:00
Sebastian Huber
10ee41a8a3 tm27: Avoid function pointer casts
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.

Close #4820.
2023-01-24 09:56:53 +01:00
Sebastian Huber
71d1acd41d bsps/irq: Rename handler in dispatch table
The name handler table was a bit misleading after the last rework.
Rename it to distach table.  Update the documentation accordingly.

Update #4769.
2022-12-02 10:25:39 +01:00
Sebastian Huber
68e1dc87a6 validation: Fix unused variable warning 2022-11-11 16:48:12 +01:00
Sebastian Huber
55318d17b4 validation: Improve spurious interrupt test case
Use the tm27 support to test a spurious interrupt.  This helps to run the
validation test case on targets which have no software interrupt available for
tests (for example riscv/PLIC/CLINT in the SMP configuration).
2022-11-11 16:38:25 +01:00