diff options
author | Greg Bellows | 2015-04-26 17:49:26 +0200 |
---|---|---|
committer | Peter Maydell | 2015-04-26 17:49:26 +0200 |
commit | 4eb276408363aef5435a72a8e818f24220b5edd0 (patch) | |
tree | 5ce26d727a66743655e681fc5fd16bfe4c6c9b6c /target-arm/helper.c | |
parent | target-arm: Adjust id_aa64pfr0 when has_el3 CPU property disabled (diff) | |
download | qemu-4eb276408363aef5435a72a8e818f24220b5edd0.tar.gz qemu-4eb276408363aef5435a72a8e818f24220b5edd0.tar.xz qemu-4eb276408363aef5435a72a8e818f24220b5edd0.zip |
Allow ARMv8 SCR.SMD updates
Updated scr_write to always allow updates to the SCR.SMD bit on ARMv8
regardless of whether virtualization (EL2) is enabled or not.
Signed-off-by: Greg Bellows <greg.bellows@linaro.org>
Message-id: 1429888797-4378-1-git-send-email-greg.bellows@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/helper.c')
-rw-r--r-- | target-arm/helper.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target-arm/helper.c b/target-arm/helper.c index 0ac6ff15fb..f8f8d76fc0 100644 --- a/target-arm/helper.c +++ b/target-arm/helper.c @@ -816,8 +816,10 @@ static void scr_write(CPUARMState *env, const ARMCPRegInfo *ri, uint64_t value) * supported if EL2 exists. The bit is UNK/SBZP when * EL2 is unavailable. In QEMU ARMv7, we force it to always zero * when EL2 is unavailable. + * On ARMv8, this bit is always available. */ - if (arm_feature(env, ARM_FEATURE_V7)) { + if (arm_feature(env, ARM_FEATURE_V7) && + !arm_feature(env, ARM_FEATURE_V8)) { valid_mask &= ~SCR_SMD; } } |