Commit Graph

37131 Commits

Author SHA1 Message Date
Amar Takhar
4c975f2c21 contrib: Import cmsis-device-h7 1.10.4
URL
https://github.com/STMicroelectronics/cmsis_device_h7.git

Hash
faccfec37f82f7a1319c21638111b0f7335de7fe
contrib/bsps/arm/stm32h7/cmsis-device-h7/1.10.4
2025-07-14 12:32:08 -04:00
Amar Takhar
36bf1e2589 contrib: Import stm32h7xx_hal_driver 1.11.3
URL
https://github.com/STMicroelectronics/stm32h7xx_hal_driver.git

Hash
fec141ce999da655a48e1a15db83a72d564a1312
contrib/bsps/arm/stm32h7/stm32h7xx_hal_driver/1.11.3
2025-07-14 12:32:08 -04:00
Christian Mauderer
16c706bafc bsps/stm32u5: Exclude from building dl13
This test requires ARM instruction support and causes build failures on
Thumb-only BSPs.

Updates #5289
2025-07-14 08:52:52 -05:00
huangshuhua
13cb96d1e3 posix/mmap: validate addr non-null before alignment check 2025-07-14 02:29:01 +00:00
Christian Mauderer
317cfa50d0 bsps/stm32u5: Fix warnings in HAL
The HAL has a few comparisons of a pointer with 0U instead of NULL. This
patch fixes that.

Fixes #5289
2025-07-12 15:44:41 -04:00
Christian Mauderer
3ac0e3c77e bsps/stm32u5: Fix warning in RTC
The function stm32u5_rtc_get_time is only used locally and therefore
should be static.

Update #5289
2025-07-12 15:44:41 -04:00
Christian Mauderer
1134358f49 bsps/stm32u5: Fix warning in bspstarthooks.c
This fixes a warning about comparing different pointer types.

Updates #5289
2025-07-12 15:44:41 -04:00
Christian Mauderer
689e1c6de9 bsps/stm32u5: Fix build error
The cortex_m33.h should not be included directly. It is already included
in the stm32u5xx.h and that file sets all necessary defines.

Updates #5289
2025-07-12 15:44:41 -04:00
Kinsey Moore
97f1ae9017 bsps/aarch64/xen: Add SMP support 2025-07-11 11:36:51 -05:00
Kinsey Moore
ec6566dee9 bsps/aarch64: Add Xen BSP 2025-07-11 11:36:51 -05:00
Kinsey Moore
dc0d3149e5 cpukit/aarch64: Refactor exception handling
This refactors the AArch64 exception handling to remove the mutable code
sections that are generally flagged as a bad idea by code analysis
tools. This also removes any casting between data pointers and function
pointers to avoid the need to use pragmas to disable warnings about such
casting.
2025-07-11 11:36:51 -05:00
Kinsey Moore
ad5a2be4c1 bsps/aarch64/start: Add support for Image protocol
This adds support for a the Image header protocol similar to the zImage
protocol that Linux kernels use to describe their expectations of the
system configuration.
2025-07-11 11:36:51 -05:00
Kinsey Moore
90587938e4 bsps/aarch64/timer: Use correct definition
The AArch64-specific timer selection mechanism was using the wrong macro
for selecting the timer interrupt and would therefore partially ignore
configurations that selected the use of virtual timers. The virtual
timer will now be used correctly when selected.
2025-07-11 11:36:51 -05:00
Kinsey Moore
726a659eb0 spec: Move timer interrupt unmasking option
This moves the timer interrupt unmasking configuration option to make it
more available to other BSPs that might need it.
2025-07-11 11:36:51 -05:00
Kinsey Moore
4f5723e125 bsps: Remove post-link config files
These files are not currently useful in the tree and will be replaced by
a different post-link tool.

Updates rtems/programs/gsoc#74
2025-07-09 21:05:37 -05:00
Joel Sherrill
0757c809b8 lpc24xx/console/console-config.c: Address unused functions
The functions lpc24xx_uart_set_register() and
lpc24xx_uart_set_register() were unused if all of the
feature macros LPC24XX_CONFIG_CONSOLE and LPC24XX_CONFIG_UART_[123]
were undefined.
2025-07-10 00:32:48 +00:00
Joel Sherrill
f6f3eafa3b powerpc/gen5200/.../bestcomm_cntrl.h: Fix type punning warnings
Three macros included a case of type punning in each. Addressed by
introducing a local pointer variable.
2025-07-10 00:28:44 +00:00
Joel Sherrill
6fbbee4427 arm/lpc32xx: Fix prototype mismatch and LPC32XX_SCRATCH_AREA_SIZE use
lpc32xx_mlc_write_blocks() had a different prototype in the header
from the implementation. Changed to match the prototype and Doxygen.

LPC32XX_SCRATCH_AREA_SIZE was tested with "ifdef" not "if" which
resulted in it being used as an array size when undefined or
set to 0.
2025-07-07 17:28:05 -05:00
Joel Sherrill
a30ecc39cd arm/lpc32xx/include/bsp/lpc32xx.h: Add unused element in structure
This header file defines multiple empty structures which are
reported as errors by the test spstdc17 using GCC 15.  Added an element
named "unused" to each structure. The macro LPC32XX_FILL() was
checked to ensure it handles the modified structure correctly.

Closes #5295.
2025-07-07 10:38:17 -05:00
Sebastian Huber
93958bde18 libtests/malloc*: Disable compiler builtins
GCC 15 performs some optimizations based on compiler builtins which
break the tests.  Use -fno-builtin to disable the optimizations.
2025-07-06 22:54:22 -04:00
Sebastian Huber
eb4f544689 malloctest: Fix issue with use after free
Do not call realloc() with a previously freed pointer.  Perform a
successful reallocation.
2025-07-06 22:54:22 -04:00
Sebastian Huber
7215a3051a malloc04: Fix for BSPs with multiple memory areas
Some BSPs provide multiple memory areas.  Make them empty.
2025-07-06 22:54:22 -04:00
Joel Sherrill
b65e36e2f4 generic_or1k/clock/clockdrv.c: Add cast on ISR installation
Add cast on clock ISR handler.
2025-07-04 13:17:34 -05:00
Joel Sherrill
d53db6e8b2 spec/build/bsps/arm/lm3s69xx/tstlm3s3749.yml: Add tests that are too big
mdosfsfsrename, mdosfsfsrenameexisting, mdosfsfsrenamelongname,
mdosfsfsrenamemaxlinks, and mdosfsfsrmdirparent are recently
added tests.
2025-07-04 14:07:55 -04:00
Sunil-Hegde
a899cdd57d bsps/sparc: Remove set_vector() usage and implementation
Removed all uses and implementations of set_vector() function across ERC32,
LEON2, and LEON3 BSPs. Replaced with rtems_interrupt_handler_install() and
rtems_interrupt_entry_install().

- Added ERC32_Clear_and_unmask_interrupt() and LEON_Clear_and_unmask_interrupt()
  for unmasking logic previously in set_vector().
- Deleted set_vector() definitions and implementations in each BSP.
- Updated related obj.yml files.
- Replaced set_vector() with rtems_interrupt_catch() in shared/gnatcommon.c.
2025-07-04 09:52:35 +05:30
Joel Sherrill
3e1a73d634 spec/build/bsps/arm/lpc24xx/tstlpc23xx.yml: Add tests that are too big
mdosfsfsrename, mdosfsfsrenameexisting, mdosfsfsrenamelongname,
mdosfsfsrenamemaxlinks, and mdosfsfsrmdirparent are recently
added tests.
2025-07-03 21:28:45 -04:00
Joel Sherrill
0f505c2b2b spec/*/bsps/aarch64/*ilp32*: Add -Wno-deprecated
Without -Wno-deprecated, every file compiled gives a warning
for the ilp32 being deprecated.
2025-07-03 18:40:06 -05:00
Kinsey Moore
18982404db bsps: Remove stale test configurations
Files ending in .tcfg are old tester configurations that are no longer
relevant since this configuration has been migrated to spec/../tst*.yml.
2025-07-03 18:21:50 -04:00
Joel Sherrill
b66436e1d9 cpukit/acinclude.m4: Removed
A remnant of the autoconf/automake build system. Remove.
2025-07-03 15:03:11 -05:00
Joel Sherrill
925405f3ad spec/build/cpukit/optsmp.yml: Update list of SMP BSPs
The list formerly included the erc32 and pc386 varants which do not
support multi-core. Added the pc386 variants which include the
support necessary for multi-core.
2025-07-03 09:32:14 -05:00
Christian Mauderer
b629e6afbc bsps/stm32u5: Keep clock if running from OSPI
If the clock is changed during boot, the memory becomes inaccessible and
the system can't continue to run from OSPI.
2025-07-02 23:41:01 -04:00
Matt Joyce
d735d4459c bsps/stm32u5-grisp-nano: New BSP
This BSP supports a custom STM32U5 based board. It uses a similar
structure like the existing STM32H7 BSP and therefore should be well
adaptable to other boards.

Co-authored-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
2025-07-02 23:41:01 -04:00
Matt Joyce
03aedc0539 stm32u5/bsp: Modify HAL and LL Drivers for RTEMS
Modify HAL and LL Drivers to work with RTEMS initialization.

Co-authored-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
2025-07-02 23:41:01 -04:00
Matt Joyce
0d2a001764 stm32u5/bsp: Import HAL and LL Drivers
This imports new files from the STM32U5xx HAL support library
version 1.5.0. It is available as a git repository at:

https://github.com/STMicroelectronics/stm32u5xx-hal-driver
2025-07-02 23:41:01 -04:00
Matt Joyce
af4fd0b70b rtems/score/armv7m.h: Edit NVIC struct definition.
Adjust ARMV7M_NVIC structure definition to account for changes
introduced to ARMV8M NVIC.
2025-07-02 23:41:01 -04:00
Matt Joyce
104aea035d cpukit/arm.h: Add ARMV8_M Definitions
Some fixes where necessary to not handle ARMv8M identical to (for
example) ARMv8A. ARMv8M is more similar to ARMv7M.

Co-authored-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
2025-07-02 23:41:01 -04:00
Matt Joyce
f095049c7c bsps/arm/include: Add include to core_cm33.h CMSIS
Include armv7m_cachel1.h in core_cm33.h file to allow access to
cache functions.

Co-authored-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
2025-07-02 23:41:01 -04:00
Matt Joyce
8f56c7a2d4 bsps/arm/include: Silence warning in CMSIS file
Avoid a warning about missing void.

Co-authored-by: Christian Mauderer <christian.mauderer@embedded-brains.de>
2025-07-02 23:41:01 -04:00
Matt Joyce
d6de06569f bsps/arm/include: Add CMSIS files for ARMV8M
Files are imported from https://github.com/ARM-software/CMSIS_5 revision
55b19837f5703e418ca37894d5745b1dc05e4c91

Like already checked in RTEMS commit
6b2318acef, the project still don't have a
NOTICE file.
2025-07-02 23:41:01 -04:00
Matteo Concas
19f12d2dca cpu/riscv: Add Smdbltrp extension compatibility
If the Double Trap Extension is implemented, the
MDT bit of the mstatus (or mstatush in RV32)
register will be set when a trap is to be taken.

The MIE (Machine Interrupt Enable) bit can only
be set to 1 if the MDT bit is zero.

Thus, we need to clear MDT first if we want to
enable interrupts when dispatching a thread.

MDT is also cleared in register a1 before
restoring the interrupt frame as writing 1 to MDT
will cause MIE to be set to 0. In RV64 this
happens regardless of the value written to MIE in
the same write.

In RV32, MDT is in the mstatush so we do not need
to clear during restore as this register is not
restored.

With this change all 60 SMP tests pass (compared
to 20/60 before the fix). The tests have been run
on hardware using two RV64 CPUs that implement
the double trap extension.

Update #5274
2025-07-01 16:53:36 -05:00
Sepehr Ganji
20850e7e73 libfs/fatfs: Add rtems-README file
The rtems-README file contains the process for
importing the source, and the hash and changelog
of the current version.
2025-07-01 12:00:56 -06:00
Sepehr Ganji
328189f15f libfs/fatfs: Import FatFS
This adds the FatFS source code version R0.15b (Jun 21, 2025) to libfs.
The code is imported from https://elm-chan.org/fsw/ff/archives.html.
2025-07-01 12:00:56 -06:00
Bhavya Shah
e618b20215 imfs/imfs_statvfs: Added the statvfs functionality to IMFS module
- Modified the psximfs01 test to validate the functionality
- Modified the IMFS_fs_info_t keeping the jnode counter
- Added imfs_statvfs.c which sets the statvfs struct fields for imfs
2025-07-01 09:16:31 -05:00
Kinsey Moore
21b5d7c4e8 cpukit/atomic: Deprecate ATOMIC_VAR_INIT
ATOMIC_VAR_INIT has been deprecated in GCC 15. This updates the usage to
be equivalent to the pre-deprecation implementation.

Closes #5285
2025-07-01 02:35:07 +00:00
Jeremy Lorelli
9cfe726b0d bsps/beatnik: Use standard C99 designated initializers 2025-06-30 16:25:03 -05:00
Jeremy Lorelli
4b05acde6f bsps/mvme3100: Use standard C99 designated initializers 2025-06-30 16:25:03 -05:00
Jeremy Lorelli
2483cf035b bsps/i386: Fix incorrect size specifier on instruction
This was causing an assembler warning.
2025-06-30 09:43:07 -07:00
Kinsey Moore
c26259ee2e bsps/shared/serial/pl011: Avoid unnecessary reads
Avoid reading from the pl011 data register unnecessarily. There is no
need to preserve the contents of this register as it is not normal
memory. This unnecessary read causes console spam when running under the
Xen hypervisor when the read FIFO is empty since the read is not
expected.
2025-06-26 23:29:24 +00:00
Matteo Concas
5e0a68d3ab bsps/noelv: Fix using console in polled mode
Before, the console driver needed
`BSP_CONSOLE_USE_INTERRUPTS` to be defined or it
would not build. The intent was to use polled
mode if the macro was equal to zero.

This change makes it so interrupt mode is used if
the macro is defined and polled mode is used if
the macro is not defined.
2025-06-26 02:40:05 +00:00
huangshuhua
af8c087fb0 cpukit/aio_misc:Add error handling for calloc failure 2025-06-26 02:37:47 +00:00