]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm/arm64: Prepare to handle deferred save/restore of SPSR_EL1
authorChristoffer Dall <christoffer.dall@linaro.org>
Wed, 27 Dec 2017 19:01:52 +0000 (20:01 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 19 Mar 2018 10:53:17 +0000 (10:53 +0000)
commit928b9181bdd5d7fda8b43e359d3245704e048ffb
tree97e75b07520e9f3b444a6d535ec9d41e797776cc
parent2745fa493b13da114812c5a0f56e269daa6fe6f1
KVM: arm/arm64: Prepare to handle deferred save/restore of SPSR_EL1

SPSR_EL1 is not used by a VHE host kernel and can be deferred, but we
need to rework the accesses to this register to access the latest value
depending on whether or not guest system registers are loaded on the CPU
or only reside in memory.

The handling of accessing the various banked SPSRs for 32-bit VMs is a
bit clunky, but this will be improved in following patches which will
first prepare and subsequently implement deferred save/restore of the
32-bit registers, including the 32-bit SPSRs.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm/include/asm/kvm_emulate.h
arch/arm/kvm/emulate.c
arch/arm64/include/asm/kvm_emulate.h
arch/arm64/kvm/inject_fault.c
virt/kvm/arm/aarch32.c