37610 Commits

Author SHA1 Message Date
Mazen Adel Elmessady
ff63275812 cpukit/posix: Add timespec_get() support to RTEMS
Added the implementation of timespec_get() with tests.
The implementation used clock_gettime() as a reference.
The tests used psxtimes01 as a reference.

Updates
rtems/programs/gsoc#69
2025-12-05 17:00:55 -05:00
Martin Erik Werner
a72c0e0583 spec: Ensure -msoft-float is in make linking flags
In order for the linker to pick the correct soft-float libraries when
building for a target without an FPU the -msoft-float flag needs to be
present.

This is already the case in the pkg-config file where ABI_FLAGS are
included in Ldflags:

  Ldflags: ${ABI_FLAGS} -B${libdir} -qrtems -Wl,--gc-sections

But this is not present in the custom make includes:

  LDFLAGS = -B$(exec_prefix)/$(RTEMS_BSP)/lib -qrtems -Wl,--gc-sections

The RTEMS template make rule for linking includes all of CFLAGS:

  define bsp-link-c
  	$(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
  	    -o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
  endef

The standard (GNU) built-in make rule for linking does not include
CFLAGS when linking:

  $(CC) $(LDFLAGS) $* $(LOADLIBES) $(LDLIBS) -o $@

Add ABI_FLAGS to LDFLAGS in the custom make includes such that building
soft-float applications works with the default built-in make rules as
well.
2025-12-04 19:02:42 -06:00
Joel Sherrill
a37204f86f tmtests/tm05/task1.c : Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:58:44 -06:00
Joel Sherrill
e4a63b12d5 testsuites/psxtests: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:58:44 -06:00
Joel Sherrill
16234ea47b libtests/tar01/init.c: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:58:44 -06:00
Joel Sherrill
fa2e0e7e58 bsps/shared/grlib/amba/ambapp_names.c: Address sign comparison warnings
These changes were made to address GCC -Wsign-compare warnings.
In this case, the vendor ID in the management structure was unsigned
and the vendor parameters to various helper functions were signed.
2025-12-04 18:56:03 -06:00
Aaron Nyholm
b7aa0b5614 bsps/xilinx-zynq: Added CFI support to QSPI driver 2025-12-04 18:52:00 -06:00
Aaron Nyholm
0ee1c38aa6 bsps/shared/dev/nor: Added support for multiple CFI regions
CFI parser now returns largest block size when multiple regions
are present allowing for block erase to be used with returned size.
2025-12-04 18:52:00 -06:00
Kinsey Moore
d82efbd7d1 bsps/shared/dev/nor: Add SFDP and CFI parsers
Fixed flashdev doxygen group
2025-12-04 18:52:00 -06:00
Sam Price
c7f4c58b6d bsps/microblaze: Fix uartlite last_close args
change arg -> args
2025-12-04 19:48:33 -05:00
Joel Sherrill
e715ddc63c testsuites/.../tc-timecounter-install.c: Address << of negative value
This change was made to address GCC -Wshift-negative-value.
Shifting a negative value is undefined in the C programming language
because one's and two's complement representations give different
results.

Closes #5385.
2025-12-04 18:47:30 -06:00
Michal Lenc
6ee396c364 bsps/arm/xilinx-zynq/start/bspsmp.c: fix unused parameter warning
Fixes following unused parameter warning (treated as error) in build
without assertions.

[  25/1550] Compiling bsps/arm/xilinx-zynq/start/bspsmp.c
../../../bsps/arm/xilinx-zynq/start/bspsmp.c: In function
'_CPU_SMP_Start_processor':
../../../bsps/arm/xilinx-zynq/start/bspsmp.c:42:40: error:
unused parameter 'cpu_index' [-Werror=unused-parameter]
   42 | bool _CPU_SMP_Start_processor(uint32_t cpu_index)
      |                               ~~~~~~~~~^~~~~~~~~
cc1: all warnings being treated as errors

Happens if arm/xilinx_zynq_zedboard board is configured and RTEMS_SMP
is enabled.

Signed-off-by: Michal Lenc <michallenc@seznam.cz>
2025-12-04 18:46:42 -06:00
Joel Sherrill
cc9aa4b748 ino_t printf() cases: Add PRIdinod_t for ino_t format specifier
The sizeof(ino_t) can potentially vary based on the target. This
resulted in -Wformat warnings. Add PRIdino_t in <rtems/inttypes.h>
to have a portable format specifier.

Closes #5393.
2025-12-04 18:41:19 -06:00
Joel Sherrill
07c14e7042 bsps/x86_64/amd64/interrupts/idt.c: Address unused parameter warnings
These changes were made to address GCC -Wunused-parameter warnings.
These cases were masked when debug was enabled.
2025-12-04 19:16:10 -05:00
Joel Sherrill
c6f5a4e098 bsps/riscv/griscv/irq/irq.c: Address unused parameter warnings
These changes were made to address GCC -Wunused-parameter warnings.
These cases were masked when debug was enabled.
2025-12-04 19:16:10 -05:00
Joel Sherrill
28c0bcf487 bsps/arm/xilinx-zynq/start/bspsmp.c: Address unused parameter warnings
These changes were made to address GCC -Wunused-parameter warnings.
These cases were masked when SMP was disbled.
2025-12-04 19:16:10 -05:00
Joel Sherrill
de37fd5176 bsps/arm/lpc24xx/irq/irq.c: Address unused parameter warnings
These changes were made to address GCC -Wunused-parameter warnings.
These cases were masked when debug was enabled.
2025-12-04 19:16:10 -05:00
Joel Sherrill
f95ac80b3e bsps/arm/altera-cyclone-v/start/bspsmp.c: Fix unused parameter warnings
These changes were made to address GCC -Wunused-parameter warnings.
These cases were masked when SMP was disabled.
2025-12-04 19:16:10 -05:00
Joel Sherrill
f794dc4267 spec/../*yml: Add fatfs tests to multiple BSP test excludes
Multiple BSPs do not have the memory required to link the
FATFS tests. Added these tests to tstsmallmem.yml and multiple
individual BSP tst excludes.
2025-12-04 19:06:12 -05:00
Joel Sherrill
136f739ff9 cpukit/.../rtems-fdt/rtems-fdt-shell.c: Fix format specifier warning
This was using a * to specify the field width. The value passed
should be an int.
2025-12-04 17:56:14 -06:00
Joel Sherrill
c17b07c646 cpukit/libdl/rtl-elf.c: Use format specifier for size_t
This addresses -Wformat warnings.
2025-12-04 17:56:14 -06:00
Joel Sherrill
c06fb873eb fdt/rtems-fdt-shell.c: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
c957d1a202 bspcmdline_getparam.c: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
d237626773 cpukit/libfs: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
1159a8cd33 drvmgr_translate.c: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
f06b83734b cpukit/include/rtems/score/todimpl.h: Use sizesuffix on constants
This was necessary to make the constants the proper signedness
in comparisons.
2025-12-04 18:46:23 -05:00
Joel Sherrill
f8a2b1f06b cpukit/rtl-*: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
426f938869 cpukit/.../flashdev.c: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
ce1d611048 cpukit/posix/src/mmap.c: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
3c2592be04 cpukit/libmisc/shell: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
fc6cc44de9 cpukit/libdl: Correct comparisons of different signedness
The GCC warning -Wsign-compare flagged these instances of comparing
signed and unsigned types. A common pair was size_t and int.
2025-12-04 18:46:23 -05:00
Joel Sherrill
2ba90abb80 spec/.../microblaze_fpga/grp.yml: Delete duplicate optuartirq.yml
For some reason, optuartirq.yml was included twice and this
breaks configuration.

Updates #5376,
2025-12-04 17:42:02 -06:00
Kinsey Moore
20faa90860 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.
2025-12-04 14:12:55 -06:00
Kinsey Moore
710a6e124e 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.
2025-12-03 15:48:56 -06:00
Kinsey Moore
e3b9015bfa cpukit/jffs2: Import summary support and direct write helpers
This imports the unmodified summary.c and writev.c support files from
upstream matching the current version of other imports.
2025-12-03 15:48:56 -06:00
Kinsey Moore
1a99eb52dc 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.
2025-12-03 08:25:50 -06:00
Kinsey Moore
ff52b009b5 bsps/shared: Add XNandPsu flashdev backend
Add a flashdev backend supporting the XNandPsu peripheral on ZynqMP
systems.
2025-12-03 08:25:50 -06:00
Karthikey Kadati
0b20605792 sparc: Remove redundant 'register' specifier from cpuimpl.h
This patch removes the redundant register keyword and switches to inline
assembly for g7 assignment as per review feedback.
2025-12-02 12:11:52 -06:00
Kinsey Moore
7cc3bb777c 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.
2025-12-02 08:59:37 -06:00
Sepehr Ganji
330c70c565 libfs/fatfs: Update FatFS to R0.16
This updates the FatFS to R0.16 revision
of upstream and updates the cppflags.
2025-12-01 09:16:31 -06:00
Sam Price
637c351743 bsp/microblaze-fpga: expose second AXI timer clock
Adds the registers that expose the second microblaze timer interrupt.
Moves the system clock to a shared interrupt so users may add a new
interrupt off the second interrupt.
2025-11-30 11:51:01 -05:00
Sam Price
e96fd2398b MicroBlaze RTL: handle MB 33 and add rtl log
- puts the last rtl errorr message out near end of rtl messge.
- Also adds microblaze type 33 to microblaze handler
2025-11-28 01:01:57 -05:00
Kinsey Moore
8f0f451c7a bsps/i386/pc386: Rename breakpoint() to avoid symbol conflicts
This renames the breakpoint() function to avoid conflicts with LibBSD
symbols.
2025-11-25 14:37:26 -06:00
Martin Erik Werner
e727b24ea3 cpukit: Add msg broadcast non-atomicity to doc
rtems_message_queue_broadcast() may, under certain circumstances, copy
the message to tasks which were not waiting on the message queue when
the broadcast started, and may copy the message multiple times to the
same task.

This behaviour is, based on discussion in #4804, something that might
not change in the short term, so expose it in the user documentation.

The wording is copied with modifications from an existing internal
requirements note.

Also correct "none-atomic" -> "non-atomic" in said internal requirements
note.

The changes were auto-generated from rtems-central.
2025-11-20 22:09:39 -06:00
Gedare Bloom
802b761ef6 sptest/spedfsched03: verify priority APIs for EDF
Ensure that deadline-driven tasks return a priority of 0, and
that maximum priority values are configurable.

Updates #5390.
2025-11-17 16:26:11 -07:00
Gedare Bloom
11278685f6 testsuites/validation: use default max priority
Updates #5390.
2025-11-17 16:25:27 -07:00
Gedare Bloom
22e9ccdda2 smptests/smpscheduler02: use default max priority
Updates #5390.
2025-11-17 16:25:27 -07:00
Gedare Bloom
c951686b13 cpukit: Use CONFIGURE_MAXIMUM_PRIORITY with EDF
Uses the CONFIGURE_MAXIMUM_PRIORITY to set the priority range for
EDF and CBS schedulers under the control of applications.
The default priority behavior is now the same as other schedulers.
The user API to get a task's current priority returns 0 for deadline
driven tasks.

Fixes #5390
2025-11-17 16:25:27 -07:00
Sepehr Ganji
bff18c05b9 libfs/fatfs: Add FatFS with tests
This adds FatFS wrapper layer to RTEMS
including tests as part of GSoC 2025.
2025-11-10 16:09:07 -07:00
Kinsey Moore
e3592620d7 cpukit/flashdev: Return error for missing callbacks
When a callback does not exist, the Flashdev API should return error
where possible instead of success. When the API returns success for
missing callbacks, the Flashdev API client code may end up using
uninitialized variables as if they were filled by the API.

Closes #5391
2025-11-10 12:29:32 -06:00