Commit Graph

108 Commits

Author SHA1 Message Date
Sebastian Huber
9477d9aedb score: Make FIFO thread queue ops public
Update #4230.
2021-02-06 20:55:51 +01:00
Sebastian Huber
51e59d59b7 nios2: Allow ISR nesting in dispatch variant
Rename _Nios2_ISR_Dispatch_with_shadow_non_preemptive() in
_Nios2_ISR_Dispatch_with_shadow_register_set().  Remove
_Nios2_ISR_Dispatch_with_shadow_preemptive().
2021-02-01 06:26:18 +01:00
Sebastian Huber
9eb9813dc1 bsps: Add missing DWARF 5 sections
Sort alphabetically.
2021-01-26 15:29:36 +01:00
Sebastian Huber
40c4e2ecc3 build: Add test excludes 2021-01-26 07:17:50 +01:00
Sebastian Huber
33c12d5f92 bsps: Support DWARF 5 sections
GCC 11 uses DWARF 5 by default.
2021-01-25 12:56:00 +01:00
Christian Mauderer
c45da42b7a bsps/shared: Build fsl-edma only for certain BSP
Move the Freescale EDMA driver to it's own object and build it only for
the BSP that is currently using it.
2021-01-22 15:51:14 +01:00
Christian Mauderer
36b4e8c394 bsps/imxrt: Add ioctl to LPSPI to get registers
This allows an application to get the registers of the LPSPI. That is
usefull for applications that want to use DMA for a very specialized and
highly optimized communication.

Update #4180
2021-01-21 10:17:31 +01:00
Christian Mauderer
a434cc80cb bsps/shared: Adapt fsl-edma driver for imxrt
Note: The changes have been done with portability in mind. The driver
should (in theory) be able to replace the original one in the MPC BSPs
too. For full compatibility an adaption layer and especially a test
would be necessary. Because both are missing, don't integrate it into
the MPC BSP now.

Update #4180
2021-01-21 10:17:31 +01:00
Sebastian Huber
6600585fc8 bsp/stm32h7: Split console configuration
This allows applications to individually provide configuration
structures.

Update #4209.
2021-01-04 19:23:15 +01:00
Sebastian Huber
affc8de85f bsp/stm32h7: Split start configuration
This allows applications to individually provide configuration
structures.

Update #4209.
2021-01-04 19:22:53 +01:00
G S Niteesh Babu
f867e7b6f4 libtests/ofw01: Added a test for RTEMS OFW
This commit adds a basic test that tests all the implemented
RTEMS OFW functions.
2020-12-27 10:05:09 +01:00
G S Niteesh Babu
9d2ed41fcb bsps/shared/ofw: Implement RTEMS OFW interface
RTEMS OFW is a FDT only implementation of the OpenFirmWare
interface. This API is created to be compatible with FreeBSD
OpenFirmWare interface. The main intention is to make
porting of FreeBSD drivers to RTEMS easier.

Most functions implemented have an direct one-one mapping
with the original OFW API and some extra auxiliary functions
were implemented to make working with device trees easier in
RTEMS.

Update #3784
2020-12-27 10:05:02 +01:00
Sebastian Huber
81c7f5be92 arm/fvp: New BSP
This BSP supports the Arm Fixed Virtual Platform.  Only the Cortex-R52
processor configuration is supported by the BSP.  It should be easy to
add support for other variants if needed.

Update #4202.
2020-12-23 09:24:49 +01:00
Sebastian Huber
9f3a08ef2d bsps: Use header file for GIC architecture support
This avoids a function call overhead in the interrupt dispatching.

Update #4202.
2020-12-23 09:24:49 +01:00
Sebastian Huber
272534eb72 bsps/arm: Set VBAR in start.S
Set the VBAR to the vector table in the start section before
bsp_start_hook_0() is called to earlier handle exceptions in RTEMS.

Set the VBAR to the normal vector table in start.S for the main
processor.  Secondary processors set it in bsp_start_hook_0().

Update #4202.
2020-12-23 09:19:17 +01:00
Sebastian Huber
854ea2b4d8 arm: Add support for Arm PMSAv8-32
Update #4202.
2020-12-22 13:02:41 +01:00
Sebastian Huber
d3f2ecc87a build: Fix duplicate install of jffs2.h 2020-12-16 07:12:25 +01:00
Christian Mauderer
9b3def237a bsps/arm/imx*: Fix location of shared headers
When moving the headers from the imx BSP to the shared area, the wrong
directory has been selected. This patch fixes that problem.

Update #4180
2020-12-14 11:29:36 +01:00
Christian Mauderer
b63a187ec0 bsps/imxrt: Split up dts.
This allows simpler creation of own dts files for custom boards.

Update #4180
2020-12-14 11:10:38 +01:00
Christian Mauderer
1618e69f0e shell: Add i2c and spi commands
This adds some commands that are usefull for debugging simple serial
interfaces.

Even if they are a complete re-implementation, the i2c* commands use a
simmilar call like the Linux i2c tools.
2020-12-14 10:48:57 +01:00
Sebastian Huber
bb57361bfd build: Clarify ARM_MMU_USE_SMALL_PAGES description 2020-12-11 11:40:35 +01:00
Jan Sommer
cadbd7d150 bsp/xilinx_zynq: Enable support for 4kiB MMU pages
- Disabled by default
- Enable using ARM_MMU_USE_SMALL_PAGES option

Close 4192.
2020-12-11 11:40:35 +01:00
Sebastian Huber
617aeaf572 bsps/arm: Move BSP_START_IN_HYP_SUPPORT option
Clarify documentation.

Update #4202.
2020-12-10 07:58:03 +01:00
Sebastian Huber
bd7bef528d bsps/arm: Support system level ARM Generic Timer
Update #4202.
2020-12-10 07:58:03 +01:00
Sebastian Huber
5efa15b49d bsps/arm: Unify ARM Generic Timer options
Update #4202.
2020-12-10 07:58:03 +01:00
Sebastian Huber
293cde73f3 build: Exclude performance-0 in small mem BSPs 2020-12-10 07:58:03 +01:00
Kinsey Moore
2365c93745 spec: Move zynq-uart into its own object
Currently, zynq-uart code is always built and has some requirements for
BSPs that use it. Instead of making all BSPs satisfy that requirement or
working around it by setting defaults, this moves the zynq-uart code
into its own spec build object so it can be included if needed.
2020-12-04 12:42:06 -06:00
Kinsey Moore
74c1c4021b spec/optconminor: Fix value type
The option for defining the console minor should be an integer, not a
boolean.
2020-12-04 07:57:15 -06:00
Kinsey Moore
a92d4ae685 Add AArch64 ZynpMP BSP
This adds a BSP family that runs on the Xilinx Ultrascale+ MPSOC
(ZynqMP) family of chips. It is configured to be usable on the Qemu
ZCU102 machine definition and should be almost trivially portable to
ZynqMP development boards and custom hardware. It is also configured to
be usable with libbsd.
2020-12-04 07:57:15 -06:00
Kinsey Moore
dfa34e0dbb spec/a53: Fix SPDX lines 2020-12-02 18:51:40 -06:00
Kinsey Moore
a151ee167e bsps: Move ARM GICv2 driver to bsps/shared
This moves the ARM GICv2 driver to bsps/shared to be usable by AArch64
code.
2020-12-02 18:51:40 -06:00
Kinsey Moore
f0859573f9 bsps: Move zynq-uart to bsps/shared
This moves the zynq-uart driver from bsps/arm/shared to bsps/shared to
accomodate use by AArch64 BSPs.
2020-12-02 18:51:40 -06:00
Sebastian Huber
7f1ba9c75c build: Add <rtems/rtems/clockimpl.h> 2020-12-02 11:41:09 +01:00
Sebastian Huber
3732c93182 posix: Delete unused _POSIX_Fatal_error() 2020-12-02 07:45:52 +01:00
Sebastian Huber
b48b1808a1 score: Delete empty pheapinit.c 2020-12-02 07:45:52 +01:00
Sebastian Huber
657e30c135 config: CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
In order to better support applications which use the new
rtems_task_construct() directive add the
CONFIGURE_INIT_TASK_CONSTURCT_STORAGE_SIZE configuration option.  If
this option is specified, then the Classic API initialization task is
constructed with rtems_task_construct().

Update #4181.
2020-11-26 11:10:22 +01:00
Sebastian Huber
bc175a1cab Avoid INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL
Replace a runtime check with a compile time assertion.  This makes the
INTERNAL_ERROR_RTEMS_INIT_TASK_ENTRY_IS_NULL obsolete.

Update #4181.
2020-11-26 11:10:21 +01:00
Kinsey Moore
22c3d4f2ed spec/a53: Set conditionally failing test state
The spintrcritical03-05 and psx12 tests are known to fail on Qemu when
the host system is heavily loaded. A single run of Qemu per core
during a testsuite run tends to yield positive results, but any
additional load on a system will result in test failures.

This patch also applies the correct expected test state for intermittent
failures so that those tests will still build.
2020-11-24 10:06:49 -06:00
Kinsey Moore
1cbe5773ab spec/aarch64: Only apply SUBALIGN(4) to ILP32
The SUBALIGN(4) required on rtemsroset and rtemsrwset for ILP32 builds
was previously present on LP64 builds and causes no issues within RTEMS,
but causes relocation/alignment issues when building libbsd. This
restricts those alignment changes to ILP32 builds.
2020-11-23 09:57:45 -06:00
Kinsey Moore
0c7bb0ebbd spec/aarch64: Ensure that libbsd can build properly
These files are required for libbsd to build against the AArch64 A53
BSPs.
2020-11-23 09:57:45 -06:00
Christian Mauderer
7141afbb0e bsp/imxrt: Add new BSP
Update #4180
2020-11-20 08:53:19 +01:00
Christian Mauderer
b169095c7d cpu/armv7m: Add table based init for ARMV7M_MPU
Modify the MPU functions of the stm32h7 BSP to be table based and
available for all ARMV7M BSPs.

Update #4180
2020-11-20 08:53:18 +01:00
Christian Mauderer
6cece58544 bsps/imx: Move imx-gpio to arm/shared
Update #4180
2020-11-20 08:53:18 +01:00
Christian Mauderer
e00f443428 imx: Move imx_iomux to arm/shared
Update #4180
2020-11-20 08:53:18 +01:00
Sebastian Huber
c5af8aa070 config: Simplify task stack allocator init
Replace runtime checks with compile time assertions.  This makes the
INTERNAL_ERROR_BAD_STACK_HOOK obsolete.
2020-11-19 17:41:07 +01:00
Sebastian Huber
d6f13a468e validation/ts-performance-0: Add partition tests 2020-11-19 08:39:02 +01:00
Sebastian Huber
35c52a51b9 validation/ts-performance-0: Add test suite
Share a default test suite with ts-validation-0.
2020-11-19 08:39:02 +01:00
Sebastian Huber
8882635636 libtest: Add primitive test case memory allocator
This primitive test case memory allocator uses memory from the low-level
memory information provided by the BSP.  At the beginning of each test
case, the memory available to the test case is reinitialized.  This
allows the use of a simple allocate only allocator.
2020-11-19 08:39:02 +01:00
Sebastian Huber
eae22cc03e libtest: Make test case allocator configurable 2020-11-19 08:39:02 +01:00
Sebastian Huber
90b2dbecc2 build: Remove duplicate ARM_MMU_USE_SMALL_PAGES 2020-11-19 08:39:02 +01:00