Commit Graph

589 Commits

Author SHA1 Message Date
Sebastian Huber
abb2f8bd66 bsps/leon3: Use custom CPU counter implementation
Merge the timecounter and CPU counter support for the leon3 BSP family.
Remove now unused functions from the CPU counter support of the erc32
and leon3 BSPs.

Update #4954.
2023-10-20 11:16:54 +02:00
Sebastian Huber
b6dc4b4707 sparc: Move CPU counter implementation
Enable a BSP-specific CPU counter implementation.

Update #4954.
2023-10-20 11:16:54 +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
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
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
109479e874 build: Remove enabled-by special case
Doing the enabled-by processing just for the ldflags and just for the
link custom commands is confusing.  Use an option instead which is
intended to be used for such use cases.
2023-09-22 07:59:11 +02:00
Sebastian Huber
580a457724 build: Add target to build scripts
Document that the build scripts in the testsuites produce a test program.
2023-09-15 10:44:08 +02:00
Sebastian Huber
36b330910d bsp/stm32h7: Exclude some tests 2023-09-15 10:44:08 +02:00
Sebastian Huber
92fc82b54d arm/lm3s69xx: Exclude monitor test program
It is too big with GCC 13.
2023-09-15 10:44:08 +02:00
Sebastian Huber
5dc43a04ef build: Merge regulator build into library item
There is no need to use a separate build object item.
2023-09-13 07:56:38 +02:00
Sebastian Huber
d2d1fa18a9 build: Use build context for custom commands
Revert duplicated listing of TEST_OPTIMIZATION_FLAGS.

Close #4947.
2023-09-11 11:36:58 +02:00
Alex White
51a79912e0 microblaze: Add link options to dl07, dl08, and dl09
This adds `-u__extendsfdf2` to the `ldflags` for the dl07, dl08, and
dl09 tests to force the inclusion of `__extendsfdf2` in the base image.
This function is part of the GCC software floating point library and is
used in the tests to convert floats to doubles when calling `printf`.
2023-08-30 11:05:33 -05:00
Alex White
cd7ad64602 microblaze: Add dl05 to expected failures
Updates #4949
2023-08-30 11:05:33 -05:00
Alex White
d5318d6ae3 microblaze: Add dl06 to expected failures
Updates #4948
2023-08-30 11:05:33 -05:00
Alex White
a1b23d0e23 microblaze: Align exception-related sections
This fixes unaligned data access exceptions found while debugging test
dl05.
2023-08-30 11:05:33 -05:00
Alex White
feee169aa7 microblaze: Add libdl support 2023-08-30 11:05:33 -05:00
Chris Johns
dcc6409f91 spec/testsuite/dl: Fix optimization flags
Updates #4944
2023-08-27 07:30:41 +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
Kinsey Moore
723c096d57 spec/cpukit: Omit Cortex-M from libdebugger build
The current ARM support in libdebugger does not cover Cortex-M series
cores since it requires support for CP14 system register accessor
instructions. Cortex-M series cores support debug monitor mode, but its
configuration is accessed by memory mapped registers instead of using
CP14. This omits building libdebugger from BSPs that use a cortex-m ABI
flag.
2023-08-18 09:21:17 -05:00
Chris Johns
663e0dae8a cpukit/libdl: AARCH64 unwind uses DWARF 2 tables
Closes #4943
2023-08-12 16:35:39 +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
52e595104c build: Clarify PROGRAM_PREFIX description 2023-08-10 08:17:22 +02:00
Uchenna Ezeobi
ae534d10df spec: Add -mstrict-align to mvme2100 default build
Update #3767
2023-08-09 15:17:13 -05:00
Sebastian Huber
62e39a8e47 rtems: Install <rtems/dev/io.h> 2023-08-09 10:26:06 +02:00
Sebastian Huber
573a7202e6 bsp/lpc32xx: Restore lpc32xx_set_translation_table_entries()
This implementation disables the MMU during the modification of the
translation table.  This behaviour is required by boot loaders for these
boards.
2023-08-09 07:22:10 +02:00
Sebastian Huber
0d76cc9f04 build: Add PROGRAM_PREFIX option
Replace --rtems-version with a PROGRAM_PREFIX option.  This allows also
the use of vendor tools.
2023-08-03 09:23:10 +02:00
Sebastian Huber
54a04cc917 build: Fix build dependency order 2023-08-02 11:02:11 +02:00
Sebastian Huber
aca1724c4c build: Optionally use a VERSION file
Define the RTEMS version in the wscript.  Optionally use a VERSION file
to change the default values of the wscript.  Allow the command line
option --rtems-version to override __RTEMS_MAJOR__.  Remove support for
command line configurable options (--rtems-option).

Rename internal define RTEMS_VERSION_VC_KEY to
RTEMS_VERSION_CONTROL_KEY.
2023-08-02 07:27:51 +02:00
Vijay Kumar Banerjee
d4587a698a spec: Remove empty reset from mvme3100 2023-08-01 22:48:17 -05:00
Karel Gardas
f89f0d8476 Revert "bsps/arm/beagle/dcan: Added DCAN support"
This reverts commit 26d50bdfb6.
2023-08-01 16:00:49 +02:00
Christian Mauderer
9f571b6494 bsps/arm/imx: Enable shared RTC support
This allows to use a I2C RTC together with this BSP.
2023-08-01 09:24:33 +02:00
Christian Mauderer
38dd86355d bsps/shared: Add MCP7940M RTC driver
The MCP7940M is a I2C RTC chip. The new driver uses the dev/i2c API to
support the RTC. It is written with the intention, that the driver can
be adapted to other RTCs with a similar register layout by just
replacing the initialization function.
2023-08-01 09:24:33 +02:00
Karel Gardas
0c10626f75 arm/stm32h7: build and install files added by new HAL 2023-07-31 15:15:10 +02:00
Sebastian Huber
3ba43da922 score: Move <rtems/score/gcov.h>
Move <rtems/score/gcov.h> to <rtems/test-gcov.h>.  These functions do
not belong to an super core service.
2023-07-28 11:58:32 +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
4516a5b797 build: Export BSP base and family via pkg-config
This allows application and library build systems to derive option
values from the BSP base and family names.
2023-07-28 07:50:15 +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
Gedare Bloom
08a6b8c1ba Revert "build: Fix copyright statement format"
This reverts commit 5b124432e2.
2023-07-27 12:24:04 -06:00
Chris Johns
c1d9dcbbb2 bsps/arm: Fix CMSIS v5 install files list 2023-07-25 11:03:07 +10:00
Kinsey Moore
46a4c5ea79 bsps/stm32h7: Make UART7 pins configurable
This change allows for the pins assigned to UART7 to be reconfigured via
config.ini.
2023-07-24 16:32:08 -05:00
Sebastian Huber
c8cae1d82d score: Move _IO_Relax() to new <rtems/dev/io.h>
This function is not a super core service.
2023-07-24 17:51:48 +02:00
Christian Mauderer
4a3ace7c7a bsps/imxrt: Add imxrt1166_cm7_saltshaker BSP
The BSP is for a custom i.MXRT1166 based board. At the moment, only the
cortex M7 is supported.
2023-07-24 14:41:06 +02:00
Christian Mauderer
780149bc38 bsps/imsrt: Make flash config more flexible
The flash configuration is something very board specific. So move the
file to a board specific location. Beneath that, not all controllers and
configurations need the flash config right at the address 0 of the
flash. For example on the i.MXRT11xx, the config has an offset for some
flash types.
2023-07-24 14:40:59 +02:00
Christian Mauderer
ffd8004cae bsps/imxrt1050: Install device tree sources
Useful for creating an application specific device tree that is based on
the evaluation board.
2023-07-24 14:40:12 +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
Frank Kühndel
2fc7e04280 unit: Test POSIX-specific message queue impl
This unit test covers code paths of the Message Handler which are only
reached by through POSIX message queue API.

Update #3716.
2023-07-21 07:43:34 +02:00
Kinsey Moore
c2083e81f2 arm/stm32h7: Add support for STM32H750B-DK
This adds support for the STM32H750B-DK discovery kit. This kit includes
a built-in STLINKv3 debugger which provides a USB serial bridge for
USART3. USART1 is routed to the Arduino header and USART2 is routed to
the STMOD connector. This BSP reuses what would otherwise be duplicated
files from the stm32h747i-disco BSP. Note that system_stm32h7xx.c has
been imported from the STM repository with two minor changes wrapped
with #if __rtems__. This hardware has been tested with hello and ticker.
2023-07-20 09:14:36 -05:00
Sebastian Huber
1425735738 bsp/leon3: Simplify shutdown
Do not wait for other processors to halt.
2023-07-14 12:21:33 +02:00