Message ID | 20240223102229.627664-1-pbonzini@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | x86: irq: unconditionally define KVM interrupt vectors | expand |
On 2/23/2024 2:22 AM, Paolo Bonzini wrote: > Unlike arch/x86/kernel/idt.c, FRED support chose to remove the #ifdefs > from the .c files and concentrate them in the headers, where unused > handlers are #define'd to NULL. > > However, the constants for KVM's 3 posted interrupt vectors are still > defined conditionally in irq_vectors.h. In the tree that FRED support was > developed on, this is innocuous because CONFIG_HAVE_KVM was effectively > always set. With the cleanups that recently went into the KVM tree to > remove CONFIG_HAVE_KVM, the conditional became IS_ENABLED(CONFIG_KVM). > This causes a linux-next compilation failure in FRED code, when > CONFIG_KVM=n. > > In preparation for the merging of FRED in Linux 6.9, define the interrupt > vector numbers unconditionally. > > Cc: x86@kernel.org > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Suggested-by: Xin Li (Intel) <xin@zytor.com> > Suggested-by: Thomas Gleixner <tglx@linutronix.de> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> > --- > arch/x86/include/asm/irq_vectors.h | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h > index 3f73ac3ed3a0..d18bfb238f66 100644 > --- a/arch/x86/include/asm/irq_vectors.h > +++ b/arch/x86/include/asm/irq_vectors.h > @@ -84,11 +84,9 @@ > #define HYPERVISOR_CALLBACK_VECTOR 0xf3 > > /* Vector for KVM to deliver posted interrupt IPI */ > -#if IS_ENABLED(CONFIG_KVM) > #define POSTED_INTR_VECTOR 0xf2 > #define POSTED_INTR_WAKEUP_VECTOR 0xf1 > #define POSTED_INTR_NESTED_VECTOR 0xf0 > -#endif > > #define MANAGED_IRQ_SHUTDOWN_VECTOR 0xef > Thank you very much! Xin
On Fri, Feb 23 2024 at 05:22, Paolo Bonzini wrote: > Unlike arch/x86/kernel/idt.c, FRED support chose to remove the #ifdefs > from the .c files and concentrate them in the headers, where unused > handlers are #define'd to NULL. > > However, the constants for KVM's 3 posted interrupt vectors are still > defined conditionally in irq_vectors.h. In the tree that FRED support was > developed on, this is innocuous because CONFIG_HAVE_KVM was effectively > always set. With the cleanups that recently went into the KVM tree to > remove CONFIG_HAVE_KVM, the conditional became IS_ENABLED(CONFIG_KVM). > This causes a linux-next compilation failure in FRED code, when > CONFIG_KVM=n. > > In preparation for the merging of FRED in Linux 6.9, define the interrupt > vector numbers unconditionally. > > Cc: x86@kernel.org > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > Suggested-by: Xin Li (Intel) <xin@zytor.com> > Suggested-by: Thomas Gleixner <tglx@linutronix.de> > Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
diff --git a/arch/x86/include/asm/irq_vectors.h b/arch/x86/include/asm/irq_vectors.h index 3f73ac3ed3a0..d18bfb238f66 100644 --- a/arch/x86/include/asm/irq_vectors.h +++ b/arch/x86/include/asm/irq_vectors.h @@ -84,11 +84,9 @@ #define HYPERVISOR_CALLBACK_VECTOR 0xf3 /* Vector for KVM to deliver posted interrupt IPI */ -#if IS_ENABLED(CONFIG_KVM) #define POSTED_INTR_VECTOR 0xf2 #define POSTED_INTR_WAKEUP_VECTOR 0xf1 #define POSTED_INTR_NESTED_VECTOR 0xf0 -#endif #define MANAGED_IRQ_SHUTDOWN_VECTOR 0xef
Unlike arch/x86/kernel/idt.c, FRED support chose to remove the #ifdefs from the .c files and concentrate them in the headers, where unused handlers are #define'd to NULL. However, the constants for KVM's 3 posted interrupt vectors are still defined conditionally in irq_vectors.h. In the tree that FRED support was developed on, this is innocuous because CONFIG_HAVE_KVM was effectively always set. With the cleanups that recently went into the KVM tree to remove CONFIG_HAVE_KVM, the conditional became IS_ENABLED(CONFIG_KVM). This causes a linux-next compilation failure in FRED code, when CONFIG_KVM=n. In preparation for the merging of FRED in Linux 6.9, define the interrupt vector numbers unconditionally. Cc: x86@kernel.org Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Suggested-by: Xin Li (Intel) <xin@zytor.com> Suggested-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> --- arch/x86/include/asm/irq_vectors.h | 2 -- 1 file changed, 2 deletions(-)