From a3ff1c4a6566e5456b83c7d713683c59dc3c5244 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Tue, 20 Feb 2018 11:31:40 -0500 Subject: [PATCH] target-arm: Enable EL3 for Cortex-A53 and Cortex-A57 Enable EL3 support for our Cortex-A53 and Cortex-A57 CPU models. We have enough implemented now to be able to run real world code at least to some extent (I can boot ARM Trusted Firmware to the point where it pulls in OP-TEE and then falls over because it doesn't have a UEFI image it can chain to). Backports commit 3ad901bc2b98f5539af9a7d4aef140a6d8fa6442 from qemu --- qemu/target-arm/cpu64.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/qemu/target-arm/cpu64.c b/qemu/target-arm/cpu64.c index f8562c5c..efddbfde 100644 --- a/qemu/target-arm/cpu64.c +++ b/qemu/target-arm/cpu64.c @@ -91,6 +91,7 @@ static void aarch64_a57_initfn(struct uc_struct *uc, Object *obj, void *opaque) set_feature(&cpu->env, ARM_FEATURE_V8_SHA256); set_feature(&cpu->env, ARM_FEATURE_V8_PMULL); set_feature(&cpu->env, ARM_FEATURE_CRC); + set_feature(&cpu->env, ARM_FEATURE_EL3); set_feature(&cpu->env, ARM_FEATURE_PMU); cpu->kvm_target = QEMU_KVM_ARM_TARGET_CORTEX_A57; cpu->midr = 0x411fd070; @@ -144,6 +145,7 @@ static void aarch64_a53_initfn(struct uc_struct *uc, Object *obj, void *opaque) set_feature(&cpu->env, ARM_FEATURE_V8_SHA256); set_feature(&cpu->env, ARM_FEATURE_V8_PMULL); set_feature(&cpu->env, ARM_FEATURE_CRC); + set_feature(&cpu->env, ARM_FEATURE_EL3); cpu->midr = 0x410fd034; cpu->revidr = 0x00000000; cpu->reset_fpsid = 0x41034070;