Commit Graph

36456 Commits

Author SHA1 Message Date
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
Christian Mauderer
7179f23340 bsps/imx*-gpio: Parse active level of FDT
This makes the active level of the FDT available to the user. It doesn't
change the current behaviour. It only provides a function to get the
active or inactive level of a pin.
2024-06-07 06:46:00 +00:00
Sebastian Huber
cbe60cea71 rtems: Clarify rtems_interrupt_set_priority()
Update #5002.
2024-06-06 23:41:13 +00:00
Sebastian Huber
e1be689980 smpschedaffinity02: Fix sporadic test failures
Under rare timing conditions, the polled mutex obtain can favour one processor
and starve the other.  This can lead to test failures.
2024-06-06 05:42:38 +00:00
Jacob Killelea
42ad53f395 New ST Nucleo STM32H755ZI BSP
## Implement a new ST Nucleo STM32H755ZI BSP

Hi all, for a project I recently acquired a Nucleo STM32H755ZI. Thanks to the work of @sebhub, @c-mauderer, and Karel Gardas, it was pretty easy to create a new Nucleo BSP for this chip by copying the Nucleo H743 BSP. I was not able to get the 8 MHz HSE clock enabled, so this is currently clocked off of the PLL using the 64 MHz HSI clock and the RTC clock is disabled. Other features haven't been thoroughly tested, but since they rely on the high quality STM32H7 HAL from ST, I have pretty high confidence in them. I've been able to run most testsuites.

I have tested:

* The CM7 core
* The CM4 core
* Console output on UART3 (the default USB UART) and the shell
* GPIO
* Sample programs like `hello`, `fileio` (and shell), `paranoia`, `unlimited`, etc.

Known Broken:

* Debugging with OpenOCD is wonky. I can set breakpoints, halt the processor and inspect memory and registers and return from functions, but stepping does not work.
* The program begins to run after being flashed but soon (under 1 second) stops running. Pressing the reset button makes the program run continuously afterward. The board resets nearly instantly.
* Shell commands `ls`, `cd`, `cpuuse`, etc. hang for a while before executing. I'm not sure where the time is spent because the built-in `time` command reports that these commands execute nearly instantly.

I haven't tested:

* Pretty much everything else

<!-- Default settings, if it is a dropdown it will set after submission -->
2024-06-06 05:37:35 +00:00
Sebastian Huber
25ba67963a score: Add _SMP_barrier_Wait_for_other()
This function may be used to ensure that a count of processors performed a set
of actions and then wait on the barrier performing only memory loads (no memory
stores).
2024-06-04 22:00:55 +00:00
Sebastian Huber
6c66526e82 bsp/tms570: Move ECLK pin initialization
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
2fbee001f7 bsp/tms570: Use write-back/write-allocate SDRAM
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
b4a4baa32d bsp/tms570: Use RTI for CPU counter
The performance monitor counter is stopped when the core is waiting for
interrupts.

Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
cb43ee6969 bsp/tms570: Add TMS570_FATAL_RTI_IRQ_INSTALL
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
575ec7ed39 bsp/tms570: Fix clock driver
The clock tick rate was off by a factor of two in some configurations.
Use the maximum counter frequency to get the best time resolution.  Do
not use the automatic interrupt clear feature.

Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
cc6f1d86cc bsp/tms570: Add clock BSP options
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
28e4a46d67 bsp/tms570: Add TMS570LC4357 PLL support
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
123e0e6fb6 bsps/cache: Fix ARM CP-15 get cache size
The rtems_cache_get_data_cache_size() and
rtems_cache_get_instruction_cache_size() functions shall return the entire
cache size for a level of 0.  Levels greater than 0 shall return the size of
the associated level.

Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
ef570cf157 bsps/cache: Simplify Cortex-R5 cache support
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
f67f1c8718 arm: Add arm_cp15_data_cache_all_invalidate()
Update #4982.
2024-06-04 15:50:57 +00:00
Sebastian Huber
b89101116f validation: Improve interrupt controller tests
Update #3716.
2024-05-31 20:04:31 +00:00
Alesandro Nardin
48f6b5006b cpukit/posix/src/aio_misc.c: created helper method rtems_aio_handle_helper()
Created an helper method that will be called by rtems_aio_handle().
The method will process the various types of aio requests.
Converted the old style documentation to Doxygen.
Formatted the code to adhere to rtems formatting rules.

Closes #5017
2024-05-29 18:54:36 +02:00
Ning Yang
4b45d42aee bsps/xilinx-versal: fix BSP_INTERRUPT_VECTOR_COUNT too large
Avoid use of reserved INTIDs. BSP_INTERRUPT_VECTOR_COUNT does not allow use reserved interrupt IDs.

Details !29
2024-05-29 02:52:31 +00:00
Joel Sherrill
e63c867104 x86_64/include/rtems/score/cpuimpl.h: Relicense to 2-BSD
This file had two copyrights but was missed in the earlier review.
Both parties had given permission.

Update #3053.
2024-05-28 15:44:37 -05:00
Matheus Pecoraro
b3a4f539c9 bsps/amd64: Add comments to start.s 2024-05-24 15:26:35 -03:00
Amar Takhar
64844f4468 Promote to group for libdrvmgr and add libdebugger, libdl
Two directories were missed and I forgot Gedare for libdrvmgr so it was promoted
to a group.
2024-05-23 23:06:12 -04:00
Amar Takhar
10727117a3 Typo aarch -> aarch64
This is in the approvers group.
2024-05-23 22:35:14 -04:00
Amar Takhar
39fa5a6755 Convert librtemscxx and libstdthreads to groups.
Sebastian has been added the groups are in /approvers/cpukit/
2024-05-23 21:58:28 -04:00
Sebastian Huber
869071dfb2 score: Add _Processor_mask_And_not()
Add it for completeness.
2024-05-23 21:44:22 +00:00
Sebastian Huber
a85402f76f build: Simplify wscript code 2024-05-23 20:55:21 +00:00
Alessandro Nardin
3225f69db6 posix: Fixed header comment of aio_read.c
Corrected the header comment of aio_read.c

Fixes #5015
2024-05-23 19:10:32 +00:00