New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for ARMv8-R AArch32 FVP platform #43581
Commits on Mar 10, 2022
-
arch: arm: Add support for Cortex-R52
Cortex-R52 is an ARMv8-R processor with AArch32 profile. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 998e7d3 - Browse repository at this point
Copy the full SHA 998e7d3View commit details -
arch: arm: cortex_a_r: Add support to start in HYP mode
The ARMv8-R processors always boot into Hyp mode (EL2) To enter EL1: Program the HACTLR register because it defaults to only allowing EL2 accesses. HACTLR controls whether EL1 can access memory region registers and CPUACTLR. Program the SPSR before entering EL1. Other registers default to allowing accesses at EL1 from reset. Set VBAR to the correct location for the vector table. Set ELR to point to the entry point of the EL1 code and call ERET. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 6e4f6b7 - Browse repository at this point
Copy the full SHA 6e4f6b7View commit details -
include: arch: arm: Add Armv8 AArch32 lib_helpers.h
lib_helpers makes easier to access cp15 based registers, it is inspired from arm64 lib_helpers but use MRC instead of MRS and use cp15 register. Definitions on how to access system registers for AArch32 Armv8 processors can be found in the document: Arm Architecture Reference Manual Armv8, for Armv8-A architecture profile Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for c4b5800 - Browse repository at this point
Copy the full SHA c4b5800View commit details -
arch: arm: aarch32: add ARMv8 timer
This is mostly a copy of the existing arm64 implementation, at the difference that the AArch32 registers do not mention the execution level. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 0eef304 - Browse repository at this point
Copy the full SHA 0eef304View commit details -
arch: arm: cortex_a_r: add MPIDR and SG1R definition
These definitions are required to be able to use GICv3 interrupts controller on an ARMv8 AArch32 processor. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 635822b - Browse repository at this point
Copy the full SHA 635822bView commit details -
arm: add dummy implementation of arch_curr_cpu
This is required by drivers which query the current cpu, at this moment there is no arm aarch32 that use smp, so it seems safe to consider that the current cpu is always the first one. This patch enable the use of the GICv3 driver on ARM 32bits cpu. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 5383d59 - Browse repository at this point
Copy the full SHA 5383d59View commit details -
soc: arm: add fvp_aemv8r_aarch32
This is mostly the same than the aarch64 one, excepted that we force the armv8r fvp to run in aarch32 profile. So that we can simulate the Cortex-R52. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 8f2ee43 - Browse repository at this point
Copy the full SHA 8f2ee43View commit details -
boards: arm: add fvp_baser_armv8r_aarch32
This board reuse the work did to simulate an ARMv8-R AArch64 profile core using the FVP platform, but use the AArch32 profile. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 63532c2 - Browse repository at this point
Copy the full SHA 63532c2View commit details -
drivers: intc_gicv3: use BIT64_MASK instead of BIT_MASK
On 32bit compiler the BIT_MASK(32) generate a warning, after discussion on zephyrproject-rtos#42226 and zephyrproject-rtos#42163, advise was to use BIT64_MASK instead. Signed-off-by: Julien Massot <julien.massot@iot.bzh>
Julien Massot committedMar 10, 2022 Configuration menu - View commit details
-
Copy full SHA for 198d136 - Browse repository at this point
Copy the full SHA 198d136View commit details