]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm64: Save/Restore guest DISR_EL1
authorJames Morse <james.morse@arm.com>
Mon, 15 Jan 2018 19:39:02 +0000 (19:39 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 16 Jan 2018 15:08:52 +0000 (15:08 +0000)
commit0035a4a363357bed7d18f618e4cd322469f5fa03
tree8dd3df341b5378d23b75be9f47a4ac461d443509
parent9cfe2e50c82c0462da01e9578bdcad681962e279
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>
arch/arm64/include/asm/kvm_host.h
arch/arm64/include/asm/sysreg.h
arch/arm64/kvm/hyp/sysreg-sr.c
arch/arm64/kvm/sys_regs.c