Commit Graph

36982 Commits

Author SHA1 Message Date
Sebastian Huber
283b4406c0 score: Remove ISR_LOCK_DECLARE()
Use ISR_LOCK_NEEDS_OBJECT to determine if a lock object is needed.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Sebastian Huber
fa24398857 score: Remove ISR_LOCK_REFERENCE()
Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Sebastian Huber
bdbda6a75f score: Remove ISR_LOCK_DEFINE()
Use ISR_LOCK_NEEDS_OBJECT to determine if a lock object is needed.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Sebastian Huber
050b61aab6 rtems: Add RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT
If the RTEMS_INTERRUPT_LOCK_NEEDS_OBJECT define has a non-zero value,
then the interrupt lock operations require an object of type
rtems_interrupt_lock, otherwise no lock object is required.

This indication can be used to avoid the space overhead for lock objects
when they are not needed.  In this case, the lock operations will not
use a lock objects parameter.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Sebastian Huber
26a0bfcbc2 score: Improve _ISR_lock_Initialize()
Use do {} while (0) approach to avoid stray ';'.

Update #4957 and #5038.
2024-06-21 08:10:27 +02:00
Kinsey Moore
b48166b9b6 bsps/aarch64/zynqmp: Add memory error reporting
This adds error reporting for ZynqMP including L1 and L2 cache, on-chip
memory (OCM) error correcting code (ECC), and DDR ECC. OCM ECC supports
fault injection from within RTEMS. DDR ECC technically supports fault
injection as well, but requires that the program injecting faults
operate exclusively outside of DDR. The AArch64 port is not currently
capable of operating exclusively in OCM due to size constraints and
would need to be booted via JTAG or via a non-relocating u-boot to
accomplish this.
2024-06-21 05:57:21 +00:00
Kinsey Moore
27ec46f11b cpukit/aarch64: Add A53-specific registers
This adds registers specific to the Cortex-A53 processor that describe
L1 and L2 cache errors.
2024-06-21 05:57:21 +00:00
Ranulfo Raphael
78afce5bf2 testsuites/libtest: Add DL incremental link test
This commit adds a test to validate the incremental linking
functionality in RTL. The test is related to issue #3740.
2024-06-21 03:31:29 +00:00
Utkarsh Verma
dff15a820f aarch64/raspberrypi: Add gpio driver
Close #5029

Co-authored-by: Ning Yang <yangn0@qq.com>
2024-06-21 03:29:10 +00:00
Matheus Pecoraro
e233b5c16a amd64efi: Add amd64efi doxygen group 2024-06-20 15:38:01 +00:00
Matheus Pecoraro
5d90fc945b amd64: Add amd64 doxygen group 2024-06-20 15:38:01 +00:00
Matheus Pecoraro
ef5ed795ec x86_64: Load rflags after rsp on context restore
When starting multitasking there is a chance an interrupt could be fired
while rsp is still pointing to the ISR stack area if we load rflags
before rsp on "_CPU_Context_restore"
2024-06-20 15:25:23 +00:00
Matheus Pecoraro
3ca279e5b1 amd64: Use proper interrupt disable directive
Use rtems_interrupt_local_disable and enable in clock.c to avoid
enabling interrupts during system initialization
2024-06-20 15:25:23 +00:00
Matheus Pecoraro
2fe9209971 amd64: Add rtemsrwset section to linker script 2024-06-19 04:38:51 -03:00
Chris Johns
0bdeef72fe bsp/powerpc: Remove e500 machine state for asm functions
The e500 machine state was added when gcc 10 support appeared to deal with
the assembler's -many option being removed.

Close #5043
2024-06-18 04:27:46 +00:00
Matheus Pecoraro
7f2b904d6e x86_64: Set CPU_USE_LIBC_INIT_FINI_ARRAY to TRUE 2024-06-17 20:45:32 +00:00
Kinsey Moore
644041626d testsuites: Update lock init validation test
This test was broken by b031cf2b19 since
it expects the macros to evaluate to an empty string for non-SMP builds.
This updates the check for the new content.
2024-06-17 16:20:53 +00:00
Sebastian Huber
2c0ab5ba0b rtems: Format typedef parameters in comments 2024-06-17 11:26:43 +02:00
Matheus Pecoraro
20a663ccef amd64: Change console device_file to /dev/ttyS0
Change the device_file path from /dev/console to /dev/ttyS0 since it
will already be linked to /dev/console on console_initialize
2024-06-14 17:08:14 +00:00
Sebastian Huber
0951e4e617 bsps/aarch64: Unify clock driver build
Make sure <dev/clock/arm-generic-timer.h> is installed.  The installation was
erroneously removed by commit 00f0d307b4 for most
BSPs.
2024-06-14 02:47:01 +00:00
Kinsey Moore
b031cf2b19 cpukit: Resolve gcc14 warnings
This resolves several warnings upon upgrading to gcc14 and building
without SMP support.
2024-06-13 17:21:45 -05:00
Ning Yang
2d5a85f7d2 dev/pl011: Fix incorrect macro definition
Close #5036
2024-06-13 19:54:19 +00:00
Sebastian Huber
d773df1d0f build: Fix double use of objects item
In waf, install targets must not be specified more than once.
2024-06-13 19:49:52 +00:00
Sebastian Huber
1e68298847 dev/io: Fix "%hhi" conversion
The signedness of "char" is implementation-dependent.
2024-06-13 17:19:35 +00:00
Sebastian Huber
30125493b5 dev/io: Remove dead code in _IO_Vprintf() 2024-06-13 17:19:35 +00:00
Warner Losh
0c7a972b3c sys: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by:		Netflix
2024-06-13 17:19:35 +00:00
Warner Losh
c2041d3a0b sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2024-06-13 17:19:35 +00:00
Marius Strobl
a9e1c29aa6 kvprintf(9): add missing FALLTHROUGH
Reported by:	Coverity
CID:		1005166
2024-06-13 17:19:35 +00:00
Matheus Pecoraro
ad24b764d6 amd64: Add bsp_reset
Add a temporary implementation of bsp_reset using the keyboard
controller until the ACPI method can be implemented
2024-06-13 12:35:57 +00:00
Sebastian Huber
1d997f3338 bsps: Maybe fix Xilinx QSPI
Update #4870.
2024-06-12 00:17:59 +00:00
Sam Price
20939b213a microblaze: Move interrupt context save to BSP
The interrupt context save is now done in the BSP. This avoids an issue
where a register is modified by the interrupt handler before it is
saved. Specifically, the MSR register was modified by the `addi`
instruction in the interrupt handler before the MSR was saved. This
caused the MSR to be saved with the wrong value.

Closes #4962
2024-06-11 19:24:39 +00:00
Jacob Killelea
9fb9337b61 spec/stm32h7: Default nucleo-h755zi BSP to build for CORE_M7
## spec/stm32h7: Default nucleo-h755zi BSP to build for CORE_M7

Some of the STM32H7 parts have a secondary Cortex M4 core included and require the user to select which core they are compiling for. The `arm/nucleo-h755zi` BSP was lacking a default core selection, causing the BSP to fail to build with the default options selected. This PR changes the default option to select the larger Cortex M7 core by default.
2024-06-11 18:05:11 +00:00
alessandronardin
68951fb2a4 cpukit/posix/aio*: Updated aio files documentation
Updated the documentation in all aio files.
Moved the Doxygen comments to the headers when possible.
Fixed some formatting errors.

Updates #5027
2024-06-11 19:49:14 +02:00
Sebastian Huber
28c7475b17 aarch64/xilinx-zynqmp: Relocate RAM area
Use first 1GiB of the DDR RAM with the exception of a potential 64KiB NULL
pointer protection area by default.  The upper part of the DDR RAM may be used
by the RPU or for dynamic memory.
2024-06-10 18:01:08 +00:00
Sebastian Huber
80a22dc024 aarch64/xilinx-zynqmp: Replace file header
Use a template description.
2024-06-10 18:01:08 +00:00
Sebastian Huber
b826e20d8f aarch64/xilinx-zynqmp: Add BSP Doxygen group 2024-06-10 18:01:08 +00:00
Sebastian Huber
b9148332d9 aarch64/xilinx-zynqmp: Include standard header 2024-06-10 18:01:08 +00:00
Sebastian Huber
41b597e81e aarch64/xilinx-zynqmp: Use forward declaration
Remove the weak attribute from the declaration.  The weakness is a property of
the definition.
2024-06-10 18:01:08 +00:00
Sebastian Huber
ce3de68545 bsps/aarch64: Always set the start vector table 2024-06-10 18:01:08 +00:00
Sebastian Huber
36e596a057 bsps/aarch64: Use interrupt entry for IPI 2024-06-10 18:01:08 +00:00
Sebastian Huber
1421b9f7c0 bsps/aarch64: Use BSP fatal error 2024-06-10 18:01:08 +00:00
Aaron Nyholm
7bfe79c44d libmisc/shell: Improve print messages for flashdev command 2024-06-10 17:58:00 +00:00
Aaron Nyholm
e950c4d76a bsps: Add flash wrapper for Xilinx GQSPI
Closes #4870
2024-06-10 17:58:00 +00:00
Aaron Nyholm
fb4f9f8c4f build: Fix build issues with xqspipsu on versal
Updates #4870
2024-06-10 17:58:00 +00:00
Sebastian Huber
4f1b0ca27a bsps: Request SMP shutdown in fatal extension 2024-06-10 17:32:54 +00:00
Sebastian Huber
0bbb25b178 bsps: Disable interrupts in fatal extension 2024-06-10 17:32:54 +00:00
Christian Mauderer
fc68da47d5 bsps/imxrt1166*: Absolute address for pins in FDT
The i.MXRT1166 has three iomux controllers. The driver in RTEMS
(originally for i.MX6) doesn't support that. Switching to absolute
addresses for the pins in the FDT works around that.

Compared to changing the IOMUX driver, it has the following advantages:

- If a devicetree is written, the pinctrl-groups don't have to be split
up between different iomux controllers which makes device trees simpler
to read.

- A driver or application doesn't has to handle multiple pinctrl-groups
which simplifies the drivers.
2024-06-07 06:46:00 +00:00
Christian Mauderer
f83968f309 bsps/arm/imxrt: Add license header to fdt-blobs
The C files that provide the device trees are generated with
rtems-bin2c. Due to that, the license information in these files is
lost. Therefore this patch adds the header manually. Also adapt the
commands that are used to generate the files to reflect that.
2024-06-07 06:46:00 +00:00
Christian Mauderer
15f16def12 bsps/imx*: Add an i.MX* specific GPIO SPI driver
This driver uses the generic spi-gpio driver to implement one based on
the i.MX* GPIO API.
2024-06-07 06:46:00 +00:00
Christian Mauderer
0e7567bc2a bsps: Add a GPIO based SPI driver
The driver uses simple pin set or get functions to emulate an SPI. It
doesn't care much for speed settings and just tries it's best.
2024-06-07 06:46:00 +00:00