Commit Graph
38014 Commits
Author SHA1 Message Date
Gedare Bloom 0c7ee5033d contrib/riscv: add zicsr option to csr macros
These were local changes in the riscv-utility.h but got missed
during the refactor. Fixes build error for riscv.
2026-05-03 10:35:13 -06:00
Gedare Bloom 7fa05a688b spec/riscv: add MMU options and enable in build
Fixes #5540
2026-05-01 15:55:50 +00:00
Gedare Bloom 8c4bddaae7 riscv: add initial support for MMU setup
Creates level-2 mappings for the configured RAM region and for the
MMIO device region. Each of these two regions is configured as a
level-1 table with 2 MiB superpages.

Updates #5540.
2026-05-01 15:55:50 +00:00
Gedare Bloom 962dfc8676 riscv: use unsigned comparison for address check
The comparison of a register to see if it holds a number less than
3 needs to be unsigned since the register is otherwise expected to
hold an address that could have the most significant bit set.

Fixes #5561
2026-04-30 17:02:07 -05:00
Gedare Bloom fd53b09378 riscv: refactor riscv-utility.h
Include contrib/riscv-opcodes/encoding.h from riscv-utility.h and
remove outdated contents from riscv-utility.h
This will allow the include guards to work properly for users (or HAL code)
that also use the encoding.h file, while still allowing us to provide
additional customization or extension of encoding.h macros.
2026-04-29 12:47:37 -06:00
Gedare Bloom 18477b284a contrib/cpukit: import riscv-opcodes/encoding.h
Upstream repo: https://github.com/riscv/riscv-opcodes
Upstream hash: 15cc83ee533cc57c92903afb046c2732f92f79b3
URL: https://raw.githubusercontent.com/riscv/riscv-opcodes/15cc83ee533cc57c92903afb046c2732f92f79b3/encoding.h

The upstream does not provide releases.

tag: contrib/cpukit/riscv-opcodes/2026-04-28-15cc83e
contrib/cpukit/riscv-opcodes/2026-04-28-15cc83e
2026-04-29 12:47:37 -06:00
Pavel Pisa 48d8b2bdea cpukit/dev/can/sja1000: fix build failure on i386 with I/O option
Disable PCI/PCIe and other buses I/O mapped access
because rtems/cpukit build is not allowed to access
BSP specific headers during build.

rtems/bsps/i386/include/i386_io.h

Cannot be used.

This is temporal workaround for

rtems/rtos/rtems#5563

Signed-off-by: Pavel Pisa <ppisa@pikron.com>
2026-04-29 02:41:08 +02:00
Avi Weiss a52cdca1c9 tms570: fix typos and clean-up reg_crc.h comments
Noticed TMS570_CRC_REGH1 was mislabeled as a low registers, and
decided to clean up the other out-of-date comments along the way.

No code changes - documentation only.

Issue: no issues opened for minor documentation change
2026-04-28 16:52:30 +00:00
Michal Lenc 558615a28e cpukit/dev/can/ctucanfd/ctucanfd.c: fix typo
folowing -> following in license header

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2026-04-27 21:26:51 -05:00
Michal LencandPavel Pisa df346b439b can: add support for SJA1000 CAN controller
This commit adds support for a stand alone SJA1000 CAN controller. This
is classical CAN only capable controller, so no FD support here. The
driver's implementation is similar to CTU CAN FD, thus interrupt handler
triggers a semaphore in main worker thread that takes care of handling
interrupts and receiving and sending messages.

The controller utilizes its one TX buffer for sending messages with
abort function available if higher priority message is present in
the software queue.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
Co-authored-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
2026-04-27 21:26:51 -05:00
Samuel Viegas 1f92e9f89f bsps: Fix variable type for clkirq
- clkirq is used as an interrupt vector number.

- clkirq is now of type rtems_vector_number instead
of int and the now-unneeded cast in irqmp_ts->control
has been removed.

- This aligns the variable type with
the RTEMS interrupt API and avoids signed/width
conversion issues.

Update #4816.
2026-04-27 20:15:44 +00:00
Avi Weiss 1d90aa13b7 bsp/arm/tms570: protect against baud divide by zero
tms570_sci_set_attributes has no protection against 0 baud rate
rtems_termios_baud_to_number documentation shows it can return 0
Can result in divide by zero inside tms570_sci_set_attributes in
at least one or two locations (and then also
tms570_sci_interrupt_last_close).
Also adds defensive final break in switch in parity bit switch.
2026-04-24 16:03:07 +02:00
Avi Weiss 7e4ab139d0 bsp/arm/tms570: correct typos in sci.c 2026-04-24 16:03:07 +02:00
Avi Weiss 2b8b67a993 bsp/arm/tms570: apply RTEMS clang format to sci.c 2026-04-24 16:03:07 +02:00
Avi Weiss f9fd19ff7d bsp/arm/tms570: align printk-support with rtems formatting guidelines 2026-04-24 08:42:58 +02:00
Avi Weiss 2679fde8de bsp/arm/tms570: update printk function headersto improve clarity 2026-04-24 08:35:45 +02:00
Avi Weiss 4c73e7f998 bsp/arm/tms570: remove wait for empty in printk out
Removes the unnecessary wait for TX EMPTY in the printk out path.
According to the documentation, TXRDY indicates the output buffer is ready
to receive data.
This change saves a bit of time in printk's but more so just removes an
unnessesary check not required by the hardware.
2026-04-24 08:33:46 +02:00
Samuel Viegas 3889ed31d4 bsps: Fix input data type on irq-generic.c/.h
- Constify bsp_interrupt_entry_find()

- bsp_interrupt_entry_find does not modify
the object referenced by arg, it only compares
pointer values against it.

- changed the parameter type from void* to
const void* in both declaration and
definition to make it correct and safer.

Update #4816
2026-04-23 13:38:23 +00:00
Kinsey Moore c5678f549f spec/aarch64/zynqmp: Restore orphaned configuration file 2026-04-22 07:21:54 -05:00
Kinsey Moore 25d99a6e5e bsps/xqspipsu: Avoid function casting 2026-04-22 07:21:54 -05:00
Kinsey Moore 987fd6f834 bsps/xqspipsu: Fix sign mismatch 2026-04-22 07:21:54 -05:00
Joel Sherrill 94aefc01e1 fstests/mrfs_support/fs_support.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill eda848d521 testsuites/samples/fileio/init.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill c3c97d8ab0 bsps/powerpc/tqm8xx/spi/spi.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill 31a70f3853 bsps/powerpc/shared/vme/vme_universe.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill 69f0e336ba bsps/powerpc/shared/vme/vmeUniverse.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill 5782ffd72f bsps/powerpc/shared/vme/vmeTsi148.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill 5b6451729c bsps/powerpc/shared/start/vpd.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill 8a92174bd6 bsps/powerpc/shared/.../spansionFlash.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill a3074aa6f7 bsps/powerpc/shared/flash/intelFlash.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.
2026-04-21 16:28:02 -05:00
Joel Sherrill 38031ade23 bsps/arm/beagle/spi/spi.c: Eliminate obsolete syntax
Structure Designated initializers must use ".field = value" instead
of obsolete "field : value" syntax.

The format of "field : value" is obsolete. The proper syntax is
".field = value"
2026-04-21 16:28:02 -05:00
Joel Sherrill fd9ed0a7da spec/build/cpukit/optstdcc.yml: Fix spelling error.
Address spelling error in description.
2026-04-21 16:06:40 -05:00
Sebastian Huber de8ef0424c dev/ns16550: Fix race condition in transmit path
In SMP systems, the interrupt handler may run concurrently with tasks
trying to transmit.  Properly protect the transmit state through the
device lock.  Simplify the transmit process.

Close #5552.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2026-04-17 01:16:09 +02:00
Joel Sherrill f22c306945 sp19, tm26: Address set but unused warnings
GCC 16 flagged this while GCC 15 did not. On some targets, the
macros used to ensure the floating point context was fully in
use with task specific values would result in set but unused
warnings. Tweaked the tests and macros as needed to eliminate
the warnings.
2026-04-13 20:34:29 +00:00
Joel Sherrill 64d49f6585 mcf5235/start/init5235.c: Address set but unused warnings
GCC 16 flagged this while GCC 15 did not. Because the code was
using the "temp" variable in what appeared to be delay loops,
added the "(void) temp" hint to avoid the warning.
2026-04-13 20:32:13 +00:00
Joel Sherrill aeb72aa8e1 av5282/start/init5282.c: Address set but unused warnings
GCC 16 flagged this while GCC 15 did not. Because the code was
using the "temp" variable in what appeared to be delay loops,
added the "(void) temp" hint to avoid the warning.
2026-04-13 20:32:13 +00:00
Michal Lenc 8ac4b4c412 can/ctucanfd: add can prefix to rtems_ctucanfd_initialize
This commit renames function rtems_ctucanfd_initialize to
rtems_can_ctucanfd_initialize. It standardizes the naming for CAN
controllers to always begin with rtems_can_ (similar to virtual
controller or sja1000 at the moment under review).

This is an API breaking change.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2026-04-12 07:33:41 -05:00
Joel Sherrill bd6ac89b69 contrib/.../stm32u5xx_hal_nand.c: Address set but unused warnings
GCC 16 flagged this while GCC 15 did not. Rather then ifdef out
all references, added the "(void) variable" hints to minimize
RTEMS specific changes.
2026-04-12 07:32:31 -05:00
Joel Sherrill 57e61f16b6 contrib/.../stm32h7xx_hal_nand.c: Address set but unused warnings
GCC 16 flagged this while GCC 15 did not. Rather then ifdef out
all references, added the "(void) variable" hints to minimize
RTEMS specific changes.
2026-04-12 07:32:31 -05:00
Joel Sherrill b346eedc1f acpica/namespace/nsaccess.c: Address set but unused warnings
GCC 16 flagged this while GCC 15 did not. Because the variable was
used only when ACPI_DEBUG_PRINT() was defined to print, there was
no way to conditionalize the presence of the variable.
Added the "(void) NumCarats" hint to avoid the warning.
2026-04-12 07:31:46 -05:00
Joel Sherrill 7c139b1b01 libdebugger/rtems-debugger-powerpc.c: Address set but unused warning
GCC 16 flagged this while GCC 15 did not. Because the code was in
an area which was only enabled for debug, the modification disabled
the entire debug code block and added the "(void) gpr" hint.
2026-04-10 12:21:27 -05:00
Sepehr Ganji 468bcbcd74 license: Add SPDX license to FatFS
Add the missing license indentifier
and text to the FatFS support files.
2026-04-10 08:57:15 -05:00
Sebastian Huber c66a0efb45 bsps/leon3: Fix LEON3 timer register store
Fix the this compiler error introduced by commit
d9de3dac5d:

bsps/sparc/leon3/start/amba.c: In function 'amba_initialize':
bsps/sparc/leon3/start/amba.c:221:32: error: passing argument 1 of
'grlib_store_32' makes pointer from integer without a cast
[-Wint-conversion]
  221 |       grlib_store_32(timer_regs->sreload, leon3_timer_prescaler);

Tested with the following config.ini:

[sparc/gr740]
LEON3_GPTIMER_BASE =

Update #5541.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2026-04-10 00:39:23 +02:00
Sebastian Huber d9de3dac5d bsps/leon3: Fix LEON3 timer initialization
Commit 810b2d50c9 introduced a potential
NULL pointer access in the LEON3 timer initialization.  Fix the
initialization order.

Update #5541.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2026-04-08 11:24:17 +02:00
Kinsey Moore b5ebe6bf32 riscv: Add basic ESP32-C3 BSP
This adds a BSP for the ESP32-C3 with external flash. This BSP can use
the USB serial interface or UART0 as the debug console and supports
interrups along with the SYSTIMER clock source.
2026-04-07 14:52:50 -05:00
Kinsey Moore 3ff994ce83 cpukit/riscv: Make use of MDT conditional on Zicsr
The MDT bit is defined by the Smdbltrp extension which is dependent on
the Zicsr extension, so if zicsr is not present then neither is
Smdbltrp. Smdbltrp also introduces mstatush on rv32, so this entire
block must be skipped if Zicsr is not present.
2026-04-07 14:52:50 -05:00
Kinsey Moore ae1dd8dec2 riscv: Add support for vectored interrupt controllers 2026-04-07 14:52:50 -05:00
Kinsey Moore 9520d1501b spec/riscv: Allow BSS to be specified independent of DATA 2026-04-07 14:52:50 -05:00
Kinsey Moore 1d98a00710 spec/bsps/riscv: Allow start section load address
This adds a new memory section load address for the start region.
2026-04-07 14:52:50 -05:00
Kinsey Moore 9a4f2904c0 riscv: Add optional section copy callback
This adds a callback early in the RISC-V startup process that allows a
BSP to copy linker sections in situations where they may not be
automatically mapped.
2026-04-07 14:52:50 -05:00