nathanchance added a comment. It looks like `_paravirt_ident_64()` is the problematic function. This diff on top of v5.17-rc2 allows me to boot:
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 4420499f7bb4..c1b68504136c 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -96,7 +96,7 @@ static unsigned paravirt_patch_call(void *insn_buff, const void *target, #ifdef CONFIG_PARAVIRT_XXL /* identity function, which can be inlined */ -u64 notrace _paravirt_ident_64(u64 x) +u64 notrace __attribute__((zero_call_used_regs("skip"))) _paravirt_ident_64(u64 x) { return x; } Rather interesting function to have problems with as a result of this patch but it seems like this function is being used in a very specific way further down the file with the `__PV_IS_CALLEE_SAVE` macro. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110869/new/ https://reviews.llvm.org/D110869 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits