Commit 18bfe9f6 authored by Victor Kamensky's avatar Victor Kamensky Committed by Luis Henriques

ARM64: KVM: store kvm_vcpu_fault_info est_el2 as word

commit ba083d20 upstream.

esr_el2 field of struct kvm_vcpu_fault_info has u32 type.
It should be stored as word. Current code works in LE case
because existing puts least significant word of x1 into
esr_el2, and it puts most significant work of x1 into next
field, which accidentally is OK because it is updated again
by next instruction. But existing code breaks in BE case.
Signed-off-by: default avatarVictor Kamensky <victor.kamensky@linaro.org>
Acked-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
Acked-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarShannon Zhao <shannon.zhao@linaro.org>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent 2e1a6922
...@@ -830,7 +830,7 @@ el1_trap: ...@@ -830,7 +830,7 @@ el1_trap:
mrs x2, far_el2 mrs x2, far_el2
2: mrs x0, tpidr_el2 2: mrs x0, tpidr_el2
str x1, [x0, #VCPU_ESR_EL2] str w1, [x0, #VCPU_ESR_EL2]
str x2, [x0, #VCPU_FAR_EL2] str x2, [x0, #VCPU_FAR_EL2]
str x3, [x0, #VCPU_HPFAR_EL2] str x3, [x0, #VCPU_HPFAR_EL2]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment