From: Marc Zyngier <maz@kernel.org>
Date: Tue, 13 Apr 2021 14:35:09 +0000 (+0100)
Subject: Merge branch 'kvm-arm64/host-stage2' into kvmarm-master/next
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ac5ce2456e3e68c8ab6f03be2c2af832ec0f99b5;p=linux.git

Merge branch 'kvm-arm64/host-stage2' into kvmarm-master/next

Signed-off-by: Marc Zyngier <maz@kernel.org>
---

ac5ce2456e3e68c8ab6f03be2c2af832ec0f99b5
diff --cc arch/arm64/kvm/hyp/nvhe/switch.c
index 736805232521e,5fb570e68831d..e9f6ea704d07d
--- a/arch/arm64/kvm/hyp/nvhe/switch.c
+++ b/arch/arm64/kvm/hyp/nvhe/switch.c
@@@ -95,20 -97,16 +97,17 @@@ static void __deactivate_traps(struct k
  
  	mdcr_el2 &= MDCR_EL2_HPMN_MASK;
  	mdcr_el2 |= MDCR_EL2_E2PB_MASK << MDCR_EL2_E2PB_SHIFT;
 +	mdcr_el2 |= MDCR_EL2_E2TB_MASK << MDCR_EL2_E2TB_SHIFT;
  
  	write_sysreg(mdcr_el2, mdcr_el2);
- 	if (is_protected_kvm_enabled())
- 		write_sysreg(HCR_HOST_NVHE_PROTECTED_FLAGS, hcr_el2);
- 	else
- 		write_sysreg(HCR_HOST_NVHE_FLAGS, hcr_el2);
- 	write_sysreg(CPTR_EL2_DEFAULT, cptr_el2);
- 	write_sysreg(__kvm_hyp_host_vector, vbar_el2);
- }
+ 	write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2);
  
- static void __load_host_stage2(void)
- {
- 	write_sysreg(0, vttbr_el2);
+ 	cptr = CPTR_EL2_DEFAULT;
+ 	if (vcpu_has_sve(vcpu) && (vcpu->arch.flags & KVM_ARM64_FP_ENABLED))
+ 		cptr |= CPTR_EL2_TZ;
+ 
+ 	write_sysreg(cptr, cptr_el2);
+ 	write_sysreg(__kvm_hyp_host_vector, vbar_el2);
  }
  
  /* Save VGICv3 state on non-VHE systems */