809 Commits

Author SHA1 Message Date
Kinsey Moore
be446b02d0 bsps/shared/dev/flash: Add a flashdev simulation backend
This adds a backend for flashdev that simulates a flash device with
adjustable delays to simulate real flash devices and offers
configurable flash parameters. This also migrates the JFFS2
filesystem tests to the flashdev framework and eliminates the
purpose-built simulated flash in the testsuite in favor of a more
generic and widely usable solution.

Closes #5403
2025-12-04 14:09:04 -06:00
Kinsey Moore
fa6c222bdc cpukit/jffs2,spec: Add summary support to the build
This adds summary support to the build with a global option to enable
this support and necessary changes to the imported summary support
source to integrate it into the build system and resolve errors.

Closes #5398
2025-12-03 15:49:01 -06:00
Kinsey Moore
7860fc419a bsps/shared/xnandpsu: Parameterize number of active chipselects
This makes the number of active chipselects a BSP configuration
parameter. The name of the macro in upstream source is misleading and
suggests that the driver can support up to the selected value when in
actuality it requires that number of chips to be present. If this number
of chips is not present, the driver will hang on initialization waiting
for a chip to respond that does not exist.

Closes #5397
2025-12-03 08:25:57 -06:00
Kinsey Moore
f4b34af047 bsps/shared: Add XNandPsu flashdev backend
Add a flashdev backend supporting the XNandPsu peripheral on ZynqMP
systems.

Updates #5397
2025-12-03 08:25:57 -06:00
Kinsey Moore
dd210293e0 cpukit,spec: Swap JFFS2 to zlib CRC32
Move JFFS2 from the Cygwin implementation of CRC32 to the zlib
implementation which can take advantage of hardware acceleration and
reduces code duplication. Synthetic benchmarks on AArch64 hardware show
approximately a 17x improvement in CRC32 calculation speed and
real-world testing with JFFS2 shows a 1% improvement in mount times, a
5% improvement in data write times, and a 9% improvement in garbage
collection times.

A test was written to compare hash generation between the two algorithms
and a partition was created with one and then remounted with the other
with no errors.

Closes #5396
2025-11-24 15:49:09 -06:00
Kinsey Moore
b19119212d spec/bsps/aarch64/xilinx-zynqmp: Add XQspiPsu flashdev backend
Closes #5371
2025-10-08 16:45:28 +00:00
Chris Johns
d45d353abb libdebugger: Add SMP support for ARM
Make the aarch64 SMP support a separate file and share it between
aarch64 and arm.

Closes #5348
2025-09-25 07:29:52 -05:00
mez3n
a79d702be6 rtems: Add rtems_barrier_get_number_waiting()
Backport commit 528095cd24.

Close #5336.
2025-09-20 08:06:16 +10:00
Matteo Concas
9dae9f5fe8 spec: Install missing header files for GRLIB and SPARC
The following files will be installed during SPARC/GRLIB builds:
- bsps/include/grlib/apbuart-regs.h
- bsps/include/grlib/gptimer-regs.h
- bsps/include/grlib/irqamp-regs.h
- bsps/sparc/include/grlib/io.h

Closes issue #5232
2025-03-26 17:43:13 +01:00
Chris Johns
87bf49b715 Revert "build: Provide LDFLAGS for pkg-config"
This reverts commit e36ba91110
2025-02-11 05:38:19 +00:00
Sebastian Huber
e36ba91110 build: Provide LDFLAGS for pkg-config
Some pkg-config variants perform transformations on the --libs options.
This may lead to completely broken linker options.  Provide the LDFLAGS
as a variable.  Remove "Ldflags:" since this is an unsupported field.

Update #5165.
2025-02-07 18:28:01 +00:00
Kinsey Moore
f7de6d5425 spec/pkgconfig: Account for separate compilation and linking
When compilation and linking are performed separately, some platforms
(i.e. RISC-V) may require that ABI flags are provided during the linking
step as well as the compilation step.

Closes #5183
2025-01-16 19:02:56 -06:00
Sebastian Huber
a357119bd6 build: Improve Makefile.inc
Support relocated BSP installations by letting the user provide
RTEMS_ROOT.

Close #5171.
2024-12-05 04:11:45 +01:00
Chris Johns
e14a740a99 spec/cpukit: Add libdl RISCV support
Closes #5144
2024-11-22 00:13:36 +00:00
Kinsey Moore
9e42e61e6e bsps/aarch64/zynqmp: Factor out the CFC-400X management console
This moves the management console implementation into its own file so
that BSPs which do not need it do not carry the code around with them.

Closes #5120
2024-11-22 00:06:16 +00:00
Kinsey Moore
7d1a934884 bsps/shared/flash: Add a JFFS2 flashdev driver
This adds generic JFFS2 interworking code that allows JFFS2 to be used
on top of any flashdev backend. It currently only supports NOR flashdev
backends.
2024-11-21 23:44:37 +00:00
Sebastian Huber
f45ccfa167 build: Remove Windows quirk
The current version of gccdeps.py works on Windows.
2024-11-21 04:22:31 +01:00
Sebastian Huber
7d5c08db80 validation: Check bootloader L2C settings
Update #4925.
2024-11-20 15:08:04 +00:00
Sebastian Huber
7ff3438cba validation: Test thread priority change detail
Test the proper serialization of explicit thread priority changes (for
example rtems_task_set_priority()) and thread priority changes carried
out by thread queues (locking protocols such as priority inheritance).

With RTEMS_DEBUG enabled, the new test case fails with an assertion.  It
is fixed in a follow up commit.

Update #5159.
2024-11-20 02:32:38 +01:00
Kinsey Moore
b3be636863 bsps/stm32h7/spi: Add IRQ support 2024-11-15 00:47:58 +00:00
Sebastian Huber
d386baedb5 rtems: Remove <rtems/rtemsdialer.h>
This header file belongs to the network stacks.
2024-11-13 23:30:21 +00:00
Sebastian Huber
f57652dcda powerpc/qoriq: Enable RTEMS_SMP for BSP family 2024-11-13 02:03:13 +01:00
Sebastian Huber
049b9b5c82 record: Add rtems_record_fetch()
This function will replace rtems_record_drain() which turned out to be
unreliable in SMP configurations.
2024-11-12 22:43:35 +00:00
Chris Johns
32b46899a3 spec/bsps/xilinx-microzed: Fix the default setting for the Avnet Microzed PCLK
Closes #5149
2024-11-12 16:16:19 +11:00
Aaron Nyholm
177a8c57ea bsps/xilinx-zynq: Add QSPI flash driver 2024-11-08 03:34:48 +00:00
Kinsey Moore
84fe3d830c spec: Update smallmem test list 2024-11-08 00:13:46 +00:00
Kinsey Moore
c59b6c3825 spec: Update no-rfs test list 2024-11-08 00:09:10 +00:00
Gedare Bloom
a1eb04be66 riscv/beaglevfire: disable BSP_START_COPY_FDT_FROM_U_BOOT by default 2024-10-31 22:59:15 +00:00
Chris Johns
bc8ffae115 bsp/xilinx-zynq: Add devcfg and slcr drivers
The devfg driver loads the PL with a bitfile image. The driver can also
support scrubbing.

These drivers are from Patrick Gauvin <pggauvin at gmail.com> and a thread
on the devel list: https://lists.rtems.org/pipermail/devel/2017-May/017705.html
2024-10-30 23:04:42 +00:00
Kinsey Moore
95d904b036 spec: Apply CLOCK_DRIVER_USE_ONLY_BOOT_PROCESSOR where expected
The general optclkbootcpu option is targeted at all ARM QEMU BSPs, but
is not actually linked in to the build tree. This links it in as
expected and removes a redundant and stale copy in the realview PBX BSP.
2024-10-30 18:56:36 +00:00
Kinsey Moore
1bba349478 bsps: Remove imported Xilinx headers
This removes the headers imported from the embeddedsw repository in
favor of a much thinner shim. This also removes the complicated build
system configuration necessary to support use of these headers. The
primary reason for removal is that certain external Xilinx libraries
also require use of these headers and this causes version mismatches and
header conflicts that can be avoided.
2024-10-28 19:23:49 +00:00
Utkarsh Verma
d17116d310 aarch64/raspberrypi: improve UART
- Add support for four new ports, UART2-UART5.
- Add build options to allow console device configuration.
- Segregate device-specific definitions from the device family files. X macros
  are used to maintain a single source of truth and have the configuration
  done at compile-time
- Add raspberrypi_uart_init() to make it convenient for users to install uart
  devices

Close #5130

Co-authored-by: Ning Yang <yangn0@qq.com>
2024-10-28 15:12:21 +00:00
Kinsey Moore
ee34dd12f4 spec/aarch64: Rename Versal BPSs to be in line with ZynqMP 2024-10-28 08:21:36 +00:00
Purva Yeshi
eaaeebedda riscv/beaglevfire: Rename 'bvf' to 'beaglevfire' 2024-10-25 21:23:23 +00:00
Francescodario Cuzzocrea
9d45cf1b44 riscv: add bsp for beagle v fire
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-10-25 21:23:23 +00:00
Gedare Bloom
0d15487401 riscv/niosv: use default values that compile 2024-10-25 13:49:36 +00:00
Kevin Kirspel
e9957cd8e3 riscv/niosv: Adding a new NIOS V BSP to RISC-V 2024-10-25 13:49:36 +00:00
Kinsey Moore
907ded868d spec/bsps/aarch64/zynqmp: Complete the transition to consistent naming
These references were missed in the last renaming patch causing the
ILP32 BSP to fail to build.

Closes #5119
2024-10-20 21:10:49 -05:00
Sebastian Huber
e7ee376803 aarch64/zynqmp: Fix build due to BSP renaming
Update #5119.
2024-10-20 09:55:19 +02:00
Kinsey Moore
a34bc70dc5 spec/bsps/aarch64/zynqmp: Remove overly specific BSP and rename generic BSP
Updates #5119
2024-10-20 02:50:22 +00:00
Kinsey Moore
b8bd1a1ce3 spec/bsps/aarch64: Update BSP naming to be more consice
This removes the xilinx and lp64 identifiers from the ZynqMP BSPs and
updates those names throughout the build system. The xilinx identifier
is being removed because it is implied by zynqmp and lp64 is being
removed because it is the default for AArch64.

This also renames grp_zu3eg.yml to grp_hardware.yml to more accurately
reflect its purpose.

Updates #5119
2024-10-19 02:21:49 +00:00
Kinsey Moore
e6cadcf0cc spec/bsps: Clean up stale references to minimum.exe in test configurations
Now that minimum.exe is minimum.norun.exe, the tester will not attempt
to run this sample test and will therefore not categorize it as a
failure since it includes no output. BSP-level test configurations for
this test can now be removed since those configurations only existed to
prevent it from being run.
2024-10-19 02:21:09 +00:00
Kinsey Moore
3562f1d028 spec/bsps/arm: Remove the mercury-specific BSP
This BSP has been superceded by the generic BSPs supporting lockstep and
each of the cores in split mode.

Updates #5119
2024-10-17 21:33:51 -05:00
Sebastian Huber
bb2cd445e1 bsps/aarch64: Add AARCH64_MMU_PHYSICAL_ADDRESS_RANGE_BITS
This avoids dead code in the MMU setup.
2024-10-11 01:27:48 +02:00
Sebastian Huber
4b1e80dff5 bsps/aarch64: Improve MMU mapping
Produce only one fatal error.  Fix potential integer overflow errors.
2024-10-11 01:27:48 +02:00
Sebastian Huber
8c4cc767b5 aarch64/xilinx-zynqmp: Move MMU config table 2024-10-11 01:27:48 +02:00
Sebastian Huber
cfd885850a bsps/aarch64: Use fatal error for data cache disable
On the Cortex-A cores, at least the L1 data cache is required to provide
support for atomic operations.

Update #5050.
2024-10-11 01:27:48 +02:00
Sebastian Huber
f43042cd06 bsps: Move <bsp/linker-symbols.h> to shared
Move architecture-independent items to a shared <bsp/linker-symbols.h>.
Allow architectures to customize it through <bsp/linker-symbols-arch.h>.
2024-10-11 01:27:48 +02:00
Sebastian Huber
1524b5f923 aarch64/xilinx-zynqmp: Move get I2C clocks
Not all applications use I2C.
2024-10-11 01:27:48 +02:00
Sebastian Huber
8db6a45009 bsps: Assembly implementation for PSCI bsp_reset()
Avoid issues with potential dead code after the secure monitor or
hypervisor call.
2024-10-11 01:27:48 +02:00