linux-next: manual merge of the tip tree with the iommu tree

From: Stephen Rothwell
Date: Wed Oct 20 2021 - 21:35:40 EST


Hi all,

Today's linux-next merge of the tip tree got a conflict in:

arch/x86/include/asm/fpu/api.h

between commit:

00ecd5401349 ("iommu/vt-d: Clean up unused PASID updating functions")

from the iommu tree and commits:

a0ff0611c2fb ("x86/fpu: Move KVMs FPU swapping to FPU core")
ea4d6938d4c0 ("x86/fpu: Replace KVMs home brewed FPU copy from user")
90489f1dee8b ("x86/fpu: Move fpstate functions to api.h")
0ae67cc34f76 ("x86/fpu: Remove internal.h dependency from fpu/signal.h")
6415bb809263 ("x86/fpu: Mop up the internal.h leftovers")

from the tip 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.

--
Cheers,
Stephen Rothwell

diff --cc arch/x86/include/asm/fpu/api.h
index ca4d0dee1ecd,9263d708dff9..000000000000
--- a/arch/x86/include/asm/fpu/api.h
+++ b/arch/x86/include/asm/fpu/api.h
@@@ -106,4 -108,34 +108,32 @@@ extern int cpu_has_xfeatures(u64 xfeatu
*/
#define PASID_DISABLED 0

-static inline void update_pasid(void) { }
-
+ /* Trap handling */
+ extern int fpu__exception_code(struct fpu *fpu, int trap_nr);
+ extern void fpu_sync_fpstate(struct fpu *fpu);
+ extern void fpu_reset_from_exception_fixup(void);
+
+ /* Boot, hotplug and resume */
+ extern void fpu__init_cpu(void);
+ extern void fpu__init_system(struct cpuinfo_x86 *c);
+ extern void fpu__init_check_bugs(void);
+ extern void fpu__resume_cpu(void);
+
+ #ifdef CONFIG_MATH_EMULATION
+ extern void fpstate_init_soft(struct swregs_state *soft);
+ #else
+ static inline void fpstate_init_soft(struct swregs_state *soft) {}
+ #endif
+
+ /* State tracking */
+ DECLARE_PER_CPU(struct fpu *, fpu_fpregs_owner_ctx);
+
+ /* fpstate-related functions which are exported to KVM */
+ extern void fpu_init_fpstate_user(struct fpu *fpu);
+
+ /* KVM specific functions */
+ extern void fpu_swap_kvm_fpu(struct fpu *save, struct fpu *rstor, u64 restore_mask);
+
+ extern int fpu_copy_kvm_uabi_to_fpstate(struct fpu *fpu, const void *buf, u64 xcr0, u32 *pkru);
+
#endif /* _ASM_X86_FPU_API_H */

Attachment: pgpA4gd9ILIMu.pgp
Description: OpenPGP digital signature