]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: arm64: Move HCR_INT_OVERRIDE to default HCR_EL2 guest flag
authorShih-Wei Li <shihwei@cs.columbia.edu>
Thu, 3 Aug 2017 09:45:21 +0000 (11:45 +0200)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 19 Mar 2018 10:53:10 +0000 (10:53 +0000)
commitd59674b15b260a1d39bb9c1409cc557b4faf1b01
treeb92fb4053fc7287480b83a4a3b97aafc512f08ea
parent67869fda940383da52d0ee205d545b4eebbc3b32
KVM: arm64: Move HCR_INT_OVERRIDE to default HCR_EL2 guest flag

We always set the IMO and FMO bits in the HCR_EL2 when running the
guest, regardless if we use the vgic or not.  By moving these flags to
HCR_GUEST_FLAGS we can avoid one of the extra save/restore operations of
HCR_EL2 in the world switch code, and we can also soon get rid of the
other one.

This is safe, because even though the IMO and FMO bits control both
taking the interrupts to EL2 and remapping ICC_*_EL1 to ICV_*_EL1 when
executed at EL1, as long as we ensure that these bits are clear when
running the EL1 host, we're OK, because we reset the HCR_EL2 to only
have the HCR_RW bit set when returning to EL1 on non-VHE systems.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Shih-Wei Li <shihwei@cs.columbia.edu>
Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
arch/arm64/include/asm/kvm_arm.h
arch/arm64/kvm/hyp/switch.c