These patches add the ARM Cortex-R52. The biggest addition is an implementation of the armv8-r MPU. The last patch adds a machine that combines the new core with an UART and a GIC. This machine can run many samples of the Zephyr OS.
All information is taken from: - ARM Cortex-R52 TRM revision r1p3 - ARM Architecture Reference Manual Supplement -ARMv8 for the ARMv8-R AArch32 architecture profile Version A.c Functionality that is not implemented: - Changing between single and double precision floats - Some hypervisor related functionality (HCR.T(R)VM,HADFSR,...) Tobias Röhmel (11): target/arm: Add ARM_FEATURE_V8_R target/arm: Add ARM Cortex-R52 cpu target/arm: Add v8R MIDR register target/arm: Make RVBAR available for non AARCH64 CPUs target/arm: Make stage_2_format for cache attributes optional target/arm: Add ARMCacheAttrs to the signature of pmsav8_mpu_lookup target/arm: Enable TTBCR_EAE for ARM_FEATURE_V8_R target/arm Add PMSAv8r registers target/arm: Add PMSAv8r functionality target/arm: Make SPSR_hyp accessible for Cortex-R52 hw/arm: Add R52 machine configs/devices/arm-softmmu/default.mak | 1 + hw/arm/Kconfig | 5 + hw/arm/meson.build | 1 + hw/arm/r52_machine.c | 133 +++++++++++++++ hw/arm/r52_virt.c | 217 ++++++++++++++++++++++++ include/hw/arm/r52_virt.h | 61 +++++++ target/arm/cpu.c | 10 +- target/arm/cpu.h | 11 ++ target/arm/cpu_tcg.c | 54 ++++++ target/arm/helper.c | 184 +++++++++++++++++++- target/arm/internals.h | 13 +- target/arm/m_helper.c | 3 +- target/arm/op_helper.c | 8 + target/arm/ptw.c | 191 ++++++++++++++++++--- target/arm/translate.c | 5 +- 15 files changed, 859 insertions(+), 38 deletions(-) create mode 100644 hw/arm/r52_machine.c create mode 100644 hw/arm/r52_virt.c create mode 100644 include/hw/arm/r52_virt.h -- 2.25.1