KVM: arm64: Save/Restore guest DISR_EL1
If we deliver a virtual SError to the guest, the guest may defer it with an ESB instruction. The guest reads the deferred value via DISR_EL1, but the guests view of DISR_EL1 is re-mapped to VDISR_EL2 when HCR_EL2.AMO is set. Add the KVM code to save/restore VDISR_EL2, and make it accessible to userspace as DISR_EL1. Signed-off-by:James Morse <james.morse@arm.com> Reviewed-by:
Marc Zyngier <marc.zyngier@arm.com> Reviewed-by:
Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com>
Showing
- arch/arm64/include/asm/kvm_host.h 1 addition, 0 deletionsarch/arm64/include/asm/kvm_host.h
- arch/arm64/include/asm/sysreg.h 1 addition, 0 deletionsarch/arm64/include/asm/sysreg.h
- arch/arm64/kvm/hyp/sysreg-sr.c 6 additions, 0 deletionsarch/arm64/kvm/hyp/sysreg-sr.c
- arch/arm64/kvm/sys_regs.c 1 addition, 0 deletionsarch/arm64/kvm/sys_regs.c
Please register or sign in to comment