Commit 799b4f3c authored by Marc Zyngier's avatar Marc Zyngier Committed by yanhaitao
Browse files

KVM: arm64: Save guest's ZCR_EL1 before saving the FPSIMD state

mainline inclusion
from mainline-v5.13-rc1
commit b145a843
category: feature
bugzilla: https://gitee.com/openeuler/kernel/issues/I8E73O
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b145a8437aab2799969f6ad8e384b557872333c2



-------------------------------------------------

Make sure the guest's ZCR_EL1 is saved before we save/flush the
state. This will be useful in later patches.

Acked-by: default avatarWill Deacon <will@kernel.org>
Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarWang ShaoBo <bobo.shaobowang@huawei.com>
parent 382b5870
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -121,10 +121,10 @@ void kvm_arch_vcpu_put_fp(struct kvm_vcpu *vcpu)
	local_irq_save(flags);

	if (vcpu->arch.flags & KVM_ARM64_FP_ENABLED) {
		fpsimd_save_and_flush_cpu_state();

		if (guest_has_sve)
			__vcpu_sys_reg(vcpu, ZCR_EL1) = read_sysreg_el1(SYS_ZCR);

		fpsimd_save_and_flush_cpu_state();
	} else if (host_has_sve) {
		/*
		 * The FPSIMD/SVE state in the CPU has not been touched, and we