> ... > 6.12.23 fails to build with the following error if CONFIG_XEN_PV is > not set: > > arch/x86/coco/tdx/tdx.c: In function ‘tdx_early_init’: > arch/x86/coco/tdx/tdx.c:1080:19: error: ‘struct pv_irq_ops’ has no member > named ‘safe_halt’ > 1080 | pv_ops.irq.safe_halt = tdx_safe_halt; > | ^ > arch/x86/coco/tdx/tdx.c:1081:19: error: ‘struct pv_irq_ops’ has no member > named ‘halt’ > 1081 | pv_ops.irq.halt = tdx_halt; > | ^ > > This is because XEN_PV selects PARAVIRT_XXL, and 'safe_halt' and > 'halt' are only defined for pv_irq_ops if PARAVIRT_XXL is defined. > > The build breakage was introduced in 6.12.23 by stable commit > 805e3ce5e0e3 which is a backport of 9f98a4f4e721 ("x86/tdx: Fix > arch_safe_halt() execution for TDX VMs"). > > Consider picking up upstream commit 22cc5ca5de52 ("x86/paravirt: > Move halt paravirt calls under CONFIG_PARAVIRT") for stable 6.12.y > which fixes the build regression by moving 'safe_halt' and 'halt' > out from under the PARAVIRT_XXL config. > > This patch is 22cc5ca5de52 backported to 6.12.23. There were a > couple of merge conflicts due to the missing upstream commits below: >
Thanks Brett for looking into this. I have posted a similar patch [1] and I see that the issue you reported is also being discussed already [2]. [1] https://lore.kernel.org/stable/20250408132341.4175633-1-vannapu...@google.com/ [2] https://lore.kernel.org/stable/20250410180423.GA3430900@ax162/