Commit Graph

887 Commits

Author SHA1 Message Date
Joel Sherrill
ed38fadfbe spec/build/cpukit/optwarn.yml: Warning flags to match current state
All but ~50 warnings have been fixed if you account for unmerged
MRs. These settings should give a warning free build given the
current state.

       Warnings by Type
=================================
   2 -Wshift-negative-value
   3 -Wenum-conversion
   7 -Wcast-function-type
   7 -Wmissing-field-initializers
   8 -Wclobbered
  32 -Wtype-limits
2025-10-28 19:58:06 +00:00
Kinsey Moore
df2304b7e7 spec/bsps/aarch64/xilinx-zynqmp: Add XQspiPsu flashdev backend 2025-10-08 16:45:03 +00:00
Chris Johns
f30157f988 libdebugger: Add SMP support for ARM
Make the aarch64 SMP support a separate file and share it between
aarch64 and arm.
2025-09-22 20:51:58 +00:00
Kinsey Moore
3b60c421ca bsps/arm/xilinx-zynq: Add Xilinx compatibility layer
This adds the Xilinx compatibility layer for use with various Xilinx
libraries. The first consumer of this will be lwIP support for the
Zynq7000 platform.
2025-09-20 09:48:31 +10:00
Joel Sherrill
ba3acfd3d0 misc: Fix empty body warnings
Address the small number of cases where an empty body occurred in
an if, else, or do while.
2025-09-15 16:25:37 +00:00
Mazen Adel Elmessady
f929bcba5b cpukit/posix: Added pthread clock functions
Added pthread_cond_clockwait(), pthread_mutex_clocklock()
pthread_rwlock_clockrdlock() and pthread_rwlock_clockwrlock()
that are new in POSIX Issue 8. Also added tests.
The implementation used the timed versions of these functions
as a reference.

Updates
rtems/programs/gsoc#69
2025-09-10 19:56:50 +00:00
Kinsey Moore
7a36500b6b Revert "spec/build/cpukit/optwarn.yml: Add -Wcalloc-transposed-args"
This reverts commit 71670c9cb0.

This option is not available on GCC 13.
2025-09-04 17:30:35 -05:00
Joel Sherrill
71670c9cb0 spec/build/cpukit/optwarn.yml: Add -Wcalloc-transposed-args
Add check for calls to calloc() having the size (sizeof) and
number of elements (int) swapped.
2025-09-04 15:43:45 +00:00
Joel Sherrill
c0fba626cb spec/build/cpukit/optwarncc.yml: Add -Wold-style-declaration
Newer C versions require that the storage-class specifier like
static or _Thread_Local be the first thing in a declaration. Adding
this warning to the default set to let us eliminate violations.
2025-09-03 09:15:17 -05:00
Shaunak Datar
02de8a383d bsp/arch64/raspberrypi: Add I2C TX interrupt support
Adds the interrupt support for TX in the I2C driver
2025-08-28 18:33:49 -05:00
Kinsey Moore
94251a25fb cpukit: Remove telnetd
The telnet server library is being moved from the primary RTEMS
repository to the rtems-net-services repository.

Updates #5290
2025-08-26 14:42:42 -04:00
Kinsey Moore
3e160df4aa spec/cpukit/optwarn: Add -Werror to the standard build flags
Now that RTEMS should be entirely warning free thanks largely to the
efforts of Joel, adding this flag should keep the codebase in a good
state for future compiler updates.

Closes #5317
2025-08-21 13:04:09 -05:00
Joel Sherrill
d172ecaff9 spec/.../mcf5235: Missing GCC atomic helper
Provide missing GCC atomics helpers as part of BSPs where GCC
does not know how to provide it since the CPU's ISA has no
atomic instructions. The implementation provided in
bsps/shared/atomics/__atomic_test_and_set.c should work
on any single core CPU.
2025-08-21 17:40:01 +00:00
Joel Sherrill
dce430bb69 spec/*: Clean up fast idle configure option
The CLOCK_DRIVER_USE_FAST_IDLE configure option is implemented
in the shared clock driver implementation. Unfortunately, the spec
files scattered the yaml to enable it for a specific BSP. This
change adds the shared file spec/build/bsps/optclkfastidle.yml which
is now the only place the CLOCK_DRIVER_USE_FAST_IDLE is specified.
That file includes a master list of BSPs which are known to be able to
run on simulators that are slow enough to benefit from this option.

As a point of information, the entire riscv BSP family can run on
both spike and qemu. None had the option do use fast idle. With this
option enabled, the time taken for a full test run on spike for
rv32i and rv64imadfc dropped by ~45%.
2025-08-20 13:02:19 -05:00
Shaunak Datar
fb08c8cb8d bsp/aarch64/raspberrypi: Add support for DMA
Adds the support for DMA on the Raspberry Pi 4b
2025-08-20 12:40:01 +05:30
yang.zhang
a9e131706c bsp/zynqmp_qemu: dl06 fails expectedly 2025-08-11 19:07:34 +00:00
Kinsey Moore
e8c5bba5bf arm/imxrt: Resolve missing prototype
This resolves a missing prototype by making a file used in the arm/imx
BSP family shared so that it can be used by the arm/imxrt BSP family to
provide the missing prototypes.
2025-08-06 14:58:49 +00:00
Joel Sherrill
b40fba2686 spec/build/*.yml: Add contrib/.../uuid and contrib/.../utf8proc
This addition is needed to account for utf8proc and uuid moving
from cpukit/include to contrib. Both include directories need
to stay globally available.
2025-08-05 13:42:49 +00:00
Joel Sherrill
56c5c935b3 spec/build/bsps/arm/lm3s69xx/tstlm4f120.yml: Add psxaio0[4-6]
These tests were too large for this BSP.
2025-08-05 13:20:19 +00:00
Amar Takhar
3fcf78156d cpukit: Remove utf8proc and add to build
This also moves the header from <utf8proc/utf8proc.h> to <utf8proc.h>  This
follows what the upstream project uses and keeps us from having to modify
upstream source to put it in a subdirectory.
2025-07-31 18:07:34 -05:00
Amar Takhar
e9870fa74f cpukit: Remove uuid and add to build
Did the best I could handling the location of uuid.h
2025-07-31 18:01:42 -05:00
Amar Takhar
3d8ad5c50c cpukit: Delete xz and add to build
No special instructions.
2025-07-31 17:51:28 -05:00
Amar Takhar
9ff0fd6f5b cpukit: Delete zlib and add to build
Includes had to be added to jffs2 and cpukit.
2025-07-31 17:51:28 -05:00
Amar Takhar
fb1ef66175 cpukit: Remove FastLZ and add to build.
This moves the files to contrib/cpukit/fastlz
2025-07-31 17:51:28 -05:00
Amar Takhar
d75cfcb52f bsps: Delete stm32u5xx HAL
Also add new build locations and include directories.

This renames 4 files to their original names that had no changes:

stm32u5xx_hal_msp.c ->
  stm32u5xx_hal_msp_template.c

stm32u5xx_hal_timebase_rtc_wakeup.c ->
  stm32u5xx_hal_timebase_rtc_wakeup_template.c

stm32u5xx_hal_timebase_tim.c ->
  stm32u5xx_hal_timebase_tim_template.c

stm32u5xx_hal_timebase_rtc_alarm.c ->
  stm32u5xx_hal_timebase_rtc_alarm_template.c

There is one file left behind that will be sorted out in the future:

stm32u5/hal/system_stm32u5xx.c

It comes from

07b6fedf4b/Projects/NUCLEO-U575ZI-Q/Applications/ThreadX/Tx_LowPower/Src/system_stm32u5xx.c

As per Christian on Discord.
2025-08-01 08:43:29 +10:00
Amar Takhar
1110ef4303 bsps: Remove stm32h7xx_hal
These have now moved to:

contrib/bsps/arm/stm32h7/cmsis-device-h7
contrib/bsps/arm/stm32h7/stm32h7xx_hal_driver

Also add include directories to the build.
2025-08-01 08:43:29 +10:00
Joel Sherrill
54f8249915 bsps/mvme5500: Remove the BSP
MVME5500 was deprecated in 6 and will not be present in 7.
The Beatnik is recommended.

Updates rtems/rtos/rtems#4160
2025-07-24 22:00:04 -04:00
Mazen Adel Elmessady
d1f34a45cc testsuites/libtests: Added quick_exit tests
Added the tests for quick_exit() and
at_quick_exit() in textsuits/libtests/exit04
2025-07-24 20:50:43 -05:00
Joel Sherrill
a1c30b7f71 mghttpd: Remove Mongoose httpd
Users should migrate to Civitweb.

Closes #5304.
2025-07-24 20:09:59 -05:00
Sunil-Hegde
ecab84ce29 bsps/m68k: removed set_vector() prototypes
removed all set_vector() function prototypes from
all the respective bsp.h header files and removed
bsps/shared/start/setvec.c from respective .yml files.
2025-07-24 17:29:55 -05:00
Jacob Killelea
47802e7eb3 arm/raspberrypi: Specify an initial baud rate during startup
* Fixes #5256.

* Specify an initial baud rate to use during startup.
  After the PL011 code refactor in
  0f42153959, an initial baud rate
  is required. arm_pl011_first_open is called from boot_card and
  will fail without a baud rate specified. This can cause certain
  future uses of /dev/console, such as opening a shell, to fail.
2025-07-22 18:06:44 -07:00
Kinsey Moore
4fb0632a4e spec/aarch64/xen: Reorder includes to fix link
The opto* include must come before the bspopts include or else the flags
from the opto* include get dropped which causes librtemscpu to build
without the function and data sections flag which causes link-time
errors because unused sections cannot be dropped. The mechanism here
should be better understood, but this fixes the build errors.
2025-07-16 15:34:26 +00:00
Kinsey Moore
d280e4c655 spec/aarch64/xen: Add missing SMP support file
This adds a file that didn't get pulled into the SMP commit.
2025-07-16 15:34:26 +00:00
Sunil-Hegde
a8869154b4 bsps/nios2/nios2_iss: removed implementation of set_vector()
Deleted start/setvec.c and updated .yml file accordingly.
2025-07-14 17:15:36 -05: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
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
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
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
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
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
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
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
ShaunakKDatar
fb1d9c8aca bsp/aarch64/raspberrypi: Add I2C Support
- Implements polling-based I2C communication.
- Supports three independent I2C master controllers.
- Adds support for 10-bit addressing mode.
2025-06-25 23:42:14 +05:30
Shaunak Datar
d4755476bc bsp/aarch64/raspberrypi4: Add PWM peripheral support
This commit adds support for the PWM peripheral on the aarch64/raspberrypi BSP.
2025-06-20 20:53:28 +05:30