Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

x86/xen: Drop xen_irq_ops

Instead of having a pre-filled array xen_irq_ops for Xen PV paravirt
functions, drop the array and assign each element individually.

This is in preparation of reducing the paravirt include hell by
splitting paravirt.h into multiple more fine grained header files,
which will in turn require to split up the pv_ops vector as well.
Dropping the pre-filled array makes life easier for objtool to
detect missing initializers in multiple pv_ops_ arrays.

Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://patch.msgid.link/20260105110520.21356-16-jgross@suse.com

authored by

Juergen Gross and committed by
Borislav Petkov (AMD)
bc5e8e2f 574b3eb8

+7 -14
+7 -13
arch/x86/xen/irq.c
··· 40 40 xen_safe_halt(); 41 41 } 42 42 43 - static const typeof(pv_ops) xen_irq_ops __initconst = { 44 - .irq = { 45 - /* Initial interrupt flag handling only called while interrupts off. */ 46 - .save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0), 47 - .irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop), 48 - .irq_enable = __PV_IS_CALLEE_SAVE(BUG_func), 49 - 50 - .safe_halt = xen_safe_halt, 51 - .halt = xen_halt, 52 - }, 53 - }; 54 - 55 43 void __init xen_init_irq_ops(void) 56 44 { 57 - pv_ops.irq = xen_irq_ops.irq; 45 + /* Initial interrupt flag handling only called while interrupts off. */ 46 + pv_ops.irq.save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0); 47 + pv_ops.irq.irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop); 48 + pv_ops.irq.irq_enable = __PV_IS_CALLEE_SAVE(BUG_func); 49 + pv_ops.irq.safe_halt = xen_safe_halt; 50 + pv_ops.irq.halt = xen_halt; 51 + 58 52 x86_init.irqs.intr_init = xen_init_IRQ; 59 53 }
-1
tools/objtool/check.c
··· 571 571 static const char *pv_ops_tables[] = { 572 572 "pv_ops", 573 573 "xen_cpu_ops", 574 - "xen_irq_ops", 575 574 "xen_mmu_ops", 576 575 NULL, 577 576 };