android_kernel_oneplus_msm8998/arch/arm64/kvm
Mark Rutland 0b6c2279b7 arm64/kvm: consistently handle host HCR_EL2 flags
[ Backport of upstream commit 4eaed6aa2c628101246bcabc91b203bfac1193f8 ]

In KVM we define the configuration of HCR_EL2 for a VHE HOST in
HCR_HOST_VHE_FLAGS, but we don't have a similar definition for the
non-VHE host flags, and open-code HCR_RW. Further, in head.S we
open-code the flags for VHE and non-VHE configurations.

In future, we're going to want to configure more flags for the host, so
lets add a HCR_HOST_NVHE_FLAGS defintion, and consistently use both
HCR_HOST_VHE_FLAGS and HCR_HOST_NVHE_FLAGS in the kvm code and head.S.

We now use mov_q to generate the HCR_EL2 value, as we use when
configuring other registers in head.S.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Christoffer Dall <christoffer.dall@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: kvmarm@lists.cs.columbia.edu
Signed-off-by: Will Deacon <will.deacon@arm.com>
[kristina: backport to 4.4.y: non-VHE only; __deactivate_traps_nvhe in
  assembly; add #include]
Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-01-26 09:42:49 +01:00
..
debug.c KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
emulate.c arm64: kvm: move to ESR_ELx macros 2015-01-15 12:24:25 +00:00
guest.c arm64: KVM: Sanitize PSTATE.M when being set from userspace 2018-10-10 08:52:09 +02:00
handle_exit.c arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls 2018-01-23 19:50:17 +01:00
hyp-init.S arm64: KVM: Configure TCR_EL2.PS at runtime 2016-09-15 08:27:43 +02:00
hyp.S arm64/kvm: consistently handle host HCR_EL2 flags 2019-01-26 09:42:49 +01:00
inject_fault.c kvm: arm64: Fix EC field in inject_abt64 2016-06-01 12:15:48 -07:00
Kconfig s390: A bunch of fixes and optimizations for interrupt and time 2015-11-05 16:26:26 -08:00
Makefile KVM: arm: introduce kvm_arm_init/setup/clear_debug 2015-07-21 12:47:08 +01:00
regmap.c arm64: KVM: 32bit GP register access 2013-06-12 16:42:14 +01:00
reset.c arm64/kvm: Make use of the system wide safe values 2015-10-21 15:35:59 +01:00
sys_regs.c arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses 2017-05-20 14:27:02 +02:00
sys_regs.h arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
sys_regs_generic_v8.c arm64: KVM: Correctly handle zero register in system register accesses 2015-12-04 16:29:54 +00:00
trace.h KVM: arm64: add trace points for guest_debug debug 2015-07-21 12:50:43 +01:00
vgic-v2-switch.S arm/arm64: KVM: vgic: Do not save GICH_HCR / ICH_HCR_EL2 2015-06-17 09:59:55 +01:00
vgic-v3-switch.S arm/arm64: KVM: vgic: Do not save GICH_HCR / ICH_HCR_EL2 2015-06-17 09:59:55 +01:00