Commit Graph

706 Commits

Author SHA1 Message Date
Ning Yang
447f767abc aarch64/raspberrypi: Add Watchdog Timer driver 2024-08-11 02:08:51 +00:00
Chris Johns
cc34558448 libdebugger/powerpc: Add PowerPC support
Closes #5098
2024-08-07 05:09:38 +00:00
Matheus Pecoraro
bb950bd770 x86_64/amd64: ACPI support for the AMD64 BSP
- Implements necessary ACPICA OS Services Layer interfaces;
- Retrieve the RSDP from the FreeBSD Bootloader for amd64 or from multiboot2 for amd64efi;
- Add ACPI initialization routine;
- Use ACPI in bsp_reset.
2024-08-06 21:28:15 +00:00
Matheus Pecoraro
bd12e6f0af bsps/acpi: Shared ACPICA OSL methods and spec file
Add an implementation for port independent ACPICA OS Services Layer
methods and objacpi.yml spec file.
2024-08-06 21:28:15 +00:00
Mohamed Hassan
6ab27bb54e libtests/stackchk04: Add a new testsuite for the detailed reporter
Now as the default reporter is set to be a quiet reporter, we have stackchk test case for the default quiet reporter, stackchk03 for a custom user-defined reporter and stackchk04 for the detailed reporter function
2024-08-06 22:40:12 +03:00
Ning Yang
8f0c0bc379 aarch64/raspberrypi: Add SPI support
- Standard SPI master mode.
- Polling mode.
- Interrupt mode.

Close #5056
2024-08-05 22:45:42 +00:00
Aaron Nyholm
1fd373a286 spec/arm/zynq: Set default UART on Microzed to UART1 2024-08-05 21:42:01 +00:00
the-m3chanic
a148c94c73 riscv: modified linkcmdsbase.yml to add new section for gdb-inlined script 2024-08-05 21:29:58 +00:00
Karel Gardas
a69269da7d make: Fix waf install of README.md 2024-08-05 14:10:19 +02:00
Loris Nardo
44d1710649 testsuites: Update list of excluded testcases for targets without JFFS2 and RFS
Update the list of testcases that should not be compiled for targets that explicitly do not compile JFFS2 and RFS testcases

Closes #5097
2024-08-05 07:13:02 +02:00
Loris Nardo
bd7e02d96b testsuites: Fix fstests/fsrmdirparent testcase
The testcase failed because the rmdir call in that case had two possibilities to fail and the implementation of rmdir checked the other possibility first.

Closes #5071
2024-08-02 20:58:33 +00:00
Mohamed Hassan
dc123bb828 libmisc/stackchk: Add configurability to the stack checker reporting function 2024-08-02 20:00:20 +00:00
Loris Nardo
07bd3871ab testsuites: Allow finer control on the fstest result
Changed fstest support to allow control on the test result of each fstest, updated all fstest accordingly.
Modified FS_FAIL macro to fail hard and not just print a message which rtems-test runner ignores.
Split failing test cases from the ones that passes; added fsrenameexisting, fsrenamepermexisting, fsrmdirparent, fsrenamelongname and fsrenamemaxlinks test cases.

Marked fsrenameexisting, fsrenamepermexisting as expected to fail due to #2169.
Marked fsrmdirparent as expected to fail, covered by #5071.
Marked fssymlink as expected to fail due to rename problems partially covered by #2169.
Marked rfsfsrenamelongname as expected to fail, covered by #5069.
Marked *fsrenamemaxlinks as expected to fail, covered by #5070.
Marked jffs2fsrenamelongname and jffs2nandfsrenamelongname as expected to fail, as JFFS2 seems to not have a limit on the file name, covered by #5073
2024-07-25 22:09:17 +02:00
Loris Nardo
d7d1bec401 testsuites: Move some testcases of fsrename into fspermission and fssymlink so that fsrename can be used also for FAT filesystem 2024-07-25 18:22:46 +00:00
Chris Johns
43fd756f6d testsuite/libiofdopen: Add missing spec file 2024-07-25 12:33:00 +10:00
alessandronardin
3b96aaddde posix/aio*: Added notification on request completion
The patch adds the generation of a notification after an Asynchronous I/O
request has been completed. The notification is generated using the aio_sigevent
filed in the aiocb struct, as defined by the posix specifiations.
A new control, ensuring the validity of the field, is added on each call to
aio_read(), aio_write() and aio_fsync().
The patch also adds tests to cover the new code, and fixes formatting errors of
various aio files.
2024-07-24 11:05:21 +02:00
Chris Johns
e58ff8984c libcsupport/libio: Add rtems_libio_count_open_iops to return open descriptors
Close #5063
2024-07-24 03:23:06 +00:00
Sebastian Huber
5c5b4b832b libtests/dl*: Make build reproducible
Do not use a temporary file to create the symbol map.

Close #4941.
2024-07-18 00:12:02 +00:00
Sebastian Huber
26b95e148c libtest: Move parts to extra files
Move the RTEMS test printer and rtems_test_exit() to separate files, to
remove dependencies from the begin/end test messsage support.

Update #4963.
2024-07-10 06:01:25 +00:00
Gedare Bloom
88ca88f3fd cpukit/bsd-tree.h: prepend CPP with RTEMS_ scoping 2024-07-09 22:52:40 +00:00
Aaron Nyholm
c33ed55231 score/rbtree: install and use bsd-tree.h 2024-07-09 22:52:40 +00:00
Sebastian Huber
6d65f2cff9 bsps/arm/xilinx-zynq: Enable SMP for all variants 2024-07-08 03:43:58 +00:00
Sebastian Huber
2f299f7f88 aarch64/xilinx-zynqmp: Fix BSP build
The build issue was introduced by b48166b9b6.
2024-07-08 03:42:40 +00:00
Sebastian Huber
ffa6e26879 dhrystone: Prevent procedure merging
From the Dhrystone RATIONALE:

  o No procedure merging

    Although Dhrystone contains some very short procedures where execution would
    benefit  from  procedure  merging (inlining, macro expansion of procedures),
    procedure merging is not to be used.  The reason is that the  percentage  of
    procedure  and  function  calls  is  part of the "Dhrystone distribution" of
    statements contained in [1].  This restriction does not hold for the  string
    functions  of  the  C  version  since ANSI C allows an implementation to use
    inline code for these functions.

Close #5058.
2024-07-05 21:18:57 +00:00
Matheus Pecoraro
58748a3a71 amd64: Fix typo in amd64 obj.yml 2024-07-03 14:04:52 -03:00
Matheus Pecoraro
087645e58f amd64: Refactor amd64 and amd64efi spec files
Add a common group and object spec files for the amd64 and amd64efi BSPs
2024-07-01 17:49:11 +00:00
Ranulfo Raphael
19d8888ac6 libtest/dl12: Fix build issue
Updated from ld to gcc in the build script to ensure consistency in ABI
flags during the creation of incrementally linked objects.

Update #5053
2024-06-25 13:31:22 +00:00
Sebastian Huber
c4c3e68790 bsps/arm: Use fatal error for data cache disable
On the Cortex-A cores, at least the L1 data cache is required to provide
support for atomic operations.

Close #5050.
2024-06-25 03:58:34 +00:00
Sebastian Huber
2953f4c6e3 rtems: Fatal error for rtems_cache_disable_data()
On some targets or configurations, the data cache cannot be disabled.
The data cache may be necessary to provide atomic operations.  In SMP
configurations, the data cache may be required to ensure data coherency.

Close #5050.
2024-06-25 03:58:34 +00: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
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
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
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
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
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
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
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
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
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
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
cc6f1d86cc bsp/tms570: Add clock BSP options
Update #4982.
2024-06-04 15:50:57 +00:00
Kinsey Moore
7eb3ef09b0 spec/xilinx-zynqmp-rpu: Calculate correct RAM area
There were some problems in the math calculating RAM length and NOCACHE
origin location. These have been resolved in this patch allowing RTEMS
RAM space to be relocated above 0xfe00000 to better accomodate other
elements in the system.
2024-05-21 22:55:13 +00:00
Sebastian Huber
ab8817ca03 rtems: Add get/set interrupt priorities
Add directives to get and set the priority of an interrupt vector.

Implement the directives for the following BSP families:

* arm/lpc24xx
* arm/lpc32xx
* powerpc/mpc55xxevb
* powerpc/qoriq

Implement the directives for the following interrupt controllers:

* GICv2 and GICv3 (arm and aarch64)
* NVIC (arm)
* PLIC (riscv)

Update #5002.
2024-05-10 13:26:22 +00:00
Sebastian Huber
f6c8726cb7 bsps/arm: Move BSP-specific header file 2024-05-10 13:20:45 +00:00
Sebastian Huber
ee7f847432 bsps/arm: Use shared object for ARM920 MMU support 2024-05-10 13:20:45 +00:00
Sebastian Huber
5a3a85ccdd bsps/arm: Move BSP-specific header file installs 2024-05-10 13:20:45 +00:00
Sebastian Huber
dfc147fd33 aarch64/xilinx-zynqmp: Enable errata workarounds
Close #5003.
2024-05-08 12:19:07 +02:00