Hi all,
Today's linux-next merge of the arm64 tree got a conflict in:
arch/arm64/kvm/hyp/include/hyp/switch.h
between commit:
8372633074898 ("KVM: arm64: Correctly cap ZCR_EL2 provided by a guest hypervisor")
from the origin tree and commits:
e1b163e405534 ("arm64: fpsimd: Use opaque type for SVE state")
2768101b39765 ("arm64: fpsimd: Move SVE save/restore inline")
1277531fca43d ("arm64: fpsimd: Split FPSR/FPCR from SVE save/restore")
from the arm64 tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
diff --cc arch/arm64/kvm/hyp/include/hyp/switch.h
index 320cd45d49c5a,1f12c4ba295a4..0000000000000
--- a/arch/arm64/kvm/hyp/include/hyp/switch.h
+++ b/arch/arm64/kvm/hyp/include/hyp/switch.h
@@@ -468,10 -466,9 +468,9 @@@ static inline void __hyp_sve_restore_gu
* The vCPU's saved SVE state layout always matches the max VL of the
* vCPU. Start off with the max VL so we can load the SVE state.
*/
- sve_cond_update_zcr_vq(vcpu_sve_max_vq(vcpu) - 1, SYS_ZCR_EL2);
+ sve_cond_update_zcr_vq(zcr_el2, SYS_ZCR_EL2);
- __sve_restore_state(vcpu_sve_pffr(vcpu),
- &vcpu->arch.ctxt.fp_regs.fpsr,
- true);
+ sve_load_state(kern_hyp_va(vcpu->arch.sve_state), true);
+ fpsimd_load_common(&vcpu->arch.ctxt.fp_regs);
/*
* The effective VL for a VM could differ from the max VL when running a
© 2016 - 2026 Red Hat, Inc.