Commit Graph

166 Commits

Author SHA1 Message Date
Sebastian Huber
f38c0de407 validation: Add Validation1 test suite
Update #4244.
2021-02-20 15:18:48 +01:00
Chris Johns
e1676c1a0d Update motorola_power to irq-generic interrupt management
- Add support to the BSP to enable irq-generic management

- Update the powerpc shared irq code to support irq-generic. This
  is an opt in option for existing powerpc bsps. This change
  should be simpler now

- Fix a number of issues in ISA IRQ controller handling by porting
  fixes from the i386 (PC) BSP

Closes #4238
Closes #4239
2021-02-13 13:26:07 +11: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
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
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
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
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
90b2dbecc2 build: Remove duplicate ARM_MMU_USE_SMALL_PAGES 2020-11-19 08:39:02 +01:00
Jiri Gaisler
4c2d5f271b Add correct link address for griscv waf build 2020-11-09 09:35:11 +01:00
Jiri Gaisler
b4c29b54e7 Add networking support for griscv bsp
* Only GRETH device supported for now
	* Fix endian problem in GRETH driver
	* Remove SPARC assembly from greth.c
	* Builds with both autoconf and waf
2020-11-09 09:35:11 +01:00
Sebastian Huber
99494370d6 bsp/stm32h7: New BSP
Update #3910.
2020-10-27 06:11:45 +01:00
Sebastian Huber
1db60dffec build: Move drivers without SMP support
This fixes warnings like this:

warning: implicit declaration of function 'rtems_interrupt_disable'
warning: implicit declaration of function 'rtems_interrupt_enable'
warning: implicit declaration of function 'rtems_interrupt_flash'
2020-10-12 16:17:44 +02:00
Sebastian Huber
1229817a2f build: Fix format 2020-10-12 16:17:44 +02:00
Sebastian Huber
3bbd47638f build: Add test excludes for RTEMS_PROFILING 2020-10-10 14:54:36 +02:00
Sebastian Huber
e261df005a build: Add test excludes for rcxx01 2020-10-10 14:48:01 +02:00
Sebastian Huber
6ca00e61dc build: Fix legacy Makefile support
Close #4140.
2020-10-10 13:50:41 +02:00
Sebastian Huber
94b8d85b16 build: Fix BSP name
Update #3818.
2020-10-07 08:06:34 +02:00
Sebastian Huber
883894562b build: Add test excludes for RTEMS_DEBUG 2020-10-06 07:43:49 +02:00
Kinsey Moore
ed9c88cea8 bsps: Add Cortex-A53 ILP32 BSP variant
This adds an AArch64 ILP32 BSP variant based on Qemu's Cortex-A53
emulation with interrupt support using GICv3 and clock support using
the ARM GPT.
2020-10-05 16:11:40 -05:00
Kinsey Moore
db68ea1b9b bsps: Add Cortex-A53 LP64 basic BSP
This adds an AArch64 basic BSP based on Qemu's Cortex-A53 emulation with
interrupt support using GICv3 and clock support using the ARM GPT.
2020-10-05 16:11:40 -05:00
Kinsey Moore
f8ad5bb2a4 bsps: Break out AArch32 GICv3 support
This breaks out AArch32-specific code so that the shared GICv3 code can
be reused by other architectures.
2020-10-05 16:11:39 -05:00
Kinsey Moore
1480c3f5e8 bsps: Break out AArch32 portions of GPT driver
This breaks AArch32-specific portions of the ARM GPT driver into their
own file so that the generic code can be moved for reuse by other
architectures.
2020-10-05 16:11:39 -05:00