Commit Graph

5107 Commits

Author SHA1 Message Date
Sebastian Huber
5dd9bc96d4 smpopenmp01: Convert to JSON data
This avoids a dependency on the non-standard libxml2 module.
2024-01-15 07:26:05 +01:00
Sebastian Huber
4f6f5f4643 smplock01: Convert to JSON data
This avoids a dependency on the non-standard libxml2 module.
2024-01-15 07:26:05 +01:00
Sebastian Huber
8e26f7ef02 sptimecounter02: Convert to JSON data
This avoids a dependency on the non-standard libxml2 module.
2024-01-15 07:26:05 +01:00
Sebastian Huber
7cf8aa7f72 tmtimer01: Convert to JSON data
This avoids a dependency on the non-standard libxml2 module.
2024-01-15 07:26:05 +01:00
Sebastian Huber
b8a9e0831b tmfine01: Convert to JSON data
This avoids a dependency on the non-standard libxml2 module.  Reorder
test cases according to expected performance.
2024-01-15 07:26:05 +01:00
Sebastian Huber
c8acc75763 tmcontext01: Convert to JSON data
This avoids a dependency on the non-standard libxml2 module.
2024-01-15 07:26:05 +01:00
Sebastian Huber
0b7f28c557 tmcontext01: Improve timing measurements for sparc
Use a SPARC-specific method to flush the register windows.  This
improves the timing measurements.
2024-01-15 07:26:05 +01:00
Sebastian Huber
08fd47b803 tmcontext01: Prevent optimizations
The previous method to prevent optimizations no longer worked at least
with GCC 13.  Disable intra-procedural optimizations.
2024-01-15 07:26:05 +01:00
Kinsey Moore
150dcf5e47 libio: Clean up usage of rtems_termios_device_mode
This cleans up outputUsesInterrupts usage with rtems_termios_device_mode
enum values. The outputUsesInterrupts member was typed as an int, named
as if it were a boolean value, and used as if it were a
rtems_termios_device_mode enum. In this patch, values assigned to
outputUsesInterrupts have been converted to the corresponding
rtems_termios_device_mode enum value, conversions from
deviceOutputUsesInterrupts have been made explicit, and uses of
rtems_termios_device_mode enum values with deviceOutputUsesInterrupts
have been converted to booleans.
2024-01-10 14:43:53 -06:00
Kinsey Moore
981d24e22a testsuites/fstests: Add JFFS2 NAND support tests
This adds a second set of JFFS2 tests running on top of a simulated NAND
backend to ensure that interactions with delayed writes operate as
expected.
2023-12-22 19:51:52 -06:00
Sebastian Huber
36960f9d9b fstests/tftpfs: Use rtems_test_run() 2023-12-19 09:53:40 +01:00
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
583b8ccae7 psxftw01: Simplify and use rtems_test_run() 2023-12-14 11:12:49 +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
Sebastian Huber
1adf143246 testsuites/unit: Add tests for compiler builtins
Test some compiler builtins which may use integer library routines:

https://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html

Update #3716.
2023-11-02 16:25:44 +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
f7632d0dad testsuites/unit: Fix build error on aarch64
Update #3716.
2023-10-12 15:22:22 +02:00
Sebastian Huber
429727cdf3 testsuites/unit: Add tests for compiler builtins
Explicitly test the 64-bit integer division and modulo operations.  They
are essential for the timekeeping services.  On most 32-bit targets,
they need a software implementation.

Update #3716.
2023-10-12 14:11:03 +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
535999041a psx13: Fix use of uninitialized variable warning 2023-09-26 08:04:30 +02:00
Sebastian Huber
ee63681aeb tests: Add header for RTEMS test printer
The <rtems/test-info.h> header file is required for every RTEMS test
program.  Move the RTEMS test printer support to a dedicated header file
<rtems/test-printer.h>.  This removes an unnecessary dependency to the
RTEMS printer support in <rtems/test-info.h>.

Tests using the RTEMS Testing Framework no longer depend on the
<rtems/printer.h>.
2023-09-26 08:04:30 +02:00
Sebastian Huber
49a88a73a8 score: Add _CPU_Get_TLS_thread_pointer()
Add _CPU_Get_TLS_thread_pointer() to get the thread pointer which is
used to get the address of thread-local storage objects associated with
a thread.

Update #4920.
2023-09-15 10:44:08 +02:00
Sebastian Huber
206bbeb31b score: Fix TLS support for some code models
Store symbols with an arbitrary absolute address such as _TLS_Size,
_TLS_Alignment, _TLS_Data_size, and _TLS_BSS_size in an object to avoid issues
with some code models.

Update #4953.
2023-09-15 10:44:08 +02:00
Sebastian Huber
5f8415b92e validation: Add RTEMS_DEFINE_GLOBAL_SYMBOL() test
Update #4953.
2023-09-14 14:25:49 +02:00
Sebastian Huber
1e7733aca6 sp37: Check ISR level of system init 2023-09-14 07:59:18 +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
Chris Johns
ac6de5a3e9 cpukit/libdl: Correctly account for section alignments
- Add the section alignment to the size as the allocator may not
  provide correctly aligned memory

- Only include symbols in the section when locating symbols. The
  powerpc was incorrectly adding SDATA BSS symbols to the BSS offset
  overrunning the section

Closes #4950
2023-08-28 13:21:48 +10:00
Chris Johns
b9f11607b1 libdl: Realloc text memory if there are trampolines
- Add resize to the allocator interface

- Rework the trampoline variables in the obj struct
  to make better sense of what is happening

Closes #4944
2023-08-27 07:31:49 +10:00
Chris Johns
27da374e48 libdl: Add support to import base image TLS symbols
This change requires an rtems-tools update for symbol generation.

Working architectures:
 - aarch64
 - arm
 - powerpc
 - sparc

No newlib TLS support but checked:
 - i386
 - m69k

Updates #4920
2023-08-21 11:16:17 +10:00
Joel Sherrill
fd693085ea Add the Regulator Interface and test
Updates #4924.

The Regulator is an application support class which is used to
deal with the scenario where there is a bursty input source
which needs to be metered out to a destination sink. The maximum
size of bursts needs to be known and the delivery method must
be configured to deliver messages at a rate that allows the
traffic to not overflow.
2023-08-11 13:44:47 -05:00
Sebastian Huber
3d13ab866e samples/iostream: Produce proper begin/end message
Print the full test information.
2023-08-09 17:38:43 +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
e02be3a8d1 psxkey07: Fix POSIX key value pair configuration
Make sure we have enough POSIX key value pairs available.  This fixes a test
failure on some targets.

Make objects and functions static.  Initialize variable to get rid of warnings.
2023-08-04 09:56:37 +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
Gedare Bloom
c1cad595af Revert "cpukit/dev/can: Added CAN support"
This reverts commit cd91b37dce.

Closes #4803.
2023-07-27 12:41:28 -06: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
Frank Kühndel
0afbd00958 unit: Test unlimited objects configuration
This unit test covers code paths which are only reached if unlimited
objects are used.

Update #3716.
2023-07-21 07:43:34 +02:00