mirror of
https://github.com/torvalds/linux
synced 2024-10-15 15:59:15 +00:00
x86: replace CONFIG_HAVE_KVM with IS_ENABLED(CONFIG_KVM)
It is more accurate to check if KVM is enabled, instead of having the architecture say so. Architectures always "have" KVM, so for example checking CONFIG_HAVE_KVM in x86 code is pointless, but if KVM is disabled in a specific build, there is no need for support code. Alternatively, many of the #ifdefs could simply be deleted. However, this would add completely dead code. For example, when KVM is disabled, there should not be any posted interrupts, i.e. NOT wiring up the "dummy" handlers and treating IRQs on those vectors as spurious is the right thing to do. Cc: x86@kernel.org Cc: kbingham@kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
a6d5433801
commit
dcf0926e9b
|
@ -15,7 +15,7 @@ typedef struct {
|
|||
unsigned int irq_spurious_count;
|
||||
unsigned int icr_read_retry_count;
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
unsigned int kvm_posted_intr_ipis;
|
||||
unsigned int kvm_posted_intr_wakeup_ipis;
|
||||
unsigned int kvm_posted_intr_nested_ipis;
|
||||
|
|
|
@ -675,7 +675,7 @@ DECLARE_IDTENTRY_SYSVEC(IRQ_WORK_VECTOR, sysvec_irq_work);
|
|||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
DECLARE_IDTENTRY_SYSVEC(POSTED_INTR_VECTOR, sysvec_kvm_posted_intr_ipi);
|
||||
DECLARE_IDTENTRY_SYSVEC(POSTED_INTR_WAKEUP_VECTOR, sysvec_kvm_posted_intr_wakeup_ipi);
|
||||
DECLARE_IDTENTRY_SYSVEC(POSTED_INTR_NESTED_VECTOR, sysvec_kvm_posted_intr_nested_ipi);
|
||||
|
|
|
@ -29,7 +29,7 @@ struct irq_desc;
|
|||
|
||||
extern void fixup_irqs(void);
|
||||
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
extern void kvm_set_posted_intr_wakeup_handler(void (*handler)(void));
|
||||
#endif
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
#define HYPERVISOR_CALLBACK_VECTOR 0xf3
|
||||
|
||||
/* Vector for KVM to deliver posted interrupt IPI */
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
#define POSTED_INTR_VECTOR 0xf2
|
||||
#define POSTED_INTR_WAKEUP_VECTOR 0xf1
|
||||
#define POSTED_INTR_NESTED_VECTOR 0xf0
|
||||
|
|
|
@ -153,7 +153,7 @@ static const __initconst struct idt_data apic_idts[] = {
|
|||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
INTG(LOCAL_TIMER_VECTOR, asm_sysvec_apic_timer_interrupt),
|
||||
INTG(X86_PLATFORM_IPI_VECTOR, asm_sysvec_x86_platform_ipi),
|
||||
# ifdef CONFIG_HAVE_KVM
|
||||
# if IS_ENABLED(CONFIG_KVM)
|
||||
INTG(POSTED_INTR_VECTOR, asm_sysvec_kvm_posted_intr_ipi),
|
||||
INTG(POSTED_INTR_WAKEUP_VECTOR, asm_sysvec_kvm_posted_intr_wakeup_ipi),
|
||||
INTG(POSTED_INTR_NESTED_VECTOR, asm_sysvec_kvm_posted_intr_nested_ipi),
|
||||
|
|
|
@ -164,7 +164,7 @@ int arch_show_interrupts(struct seq_file *p, int prec)
|
|||
#if defined(CONFIG_X86_IO_APIC)
|
||||
seq_printf(p, "%*s: %10u\n", prec, "MIS", atomic_read(&irq_mis_count));
|
||||
#endif
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
seq_printf(p, "%*s: ", prec, "PIN");
|
||||
for_each_online_cpu(j)
|
||||
seq_printf(p, "%10u ", irq_stats(j)->kvm_posted_intr_ipis);
|
||||
|
@ -290,7 +290,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_x86_platform_ipi)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
static void dummy_handler(void) {}
|
||||
static void (*kvm_posted_intr_wakeup_handler)(void) = dummy_handler;
|
||||
|
||||
|
|
|
@ -130,7 +130,11 @@ LX_CONFIG(CONFIG_X86_MCE_THRESHOLD)
|
|||
LX_CONFIG(CONFIG_X86_MCE_AMD)
|
||||
LX_CONFIG(CONFIG_X86_MCE)
|
||||
LX_CONFIG(CONFIG_X86_IO_APIC)
|
||||
LX_CONFIG(CONFIG_HAVE_KVM)
|
||||
/*
|
||||
* CONFIG_KVM can be "m" but it affects common code too. Use CONFIG_KVM_COMMON
|
||||
* as a proxy for IS_ENABLED(CONFIG_KVM).
|
||||
*/
|
||||
LX_CONFIG_KVM = IS_BUILTIN(CONFIG_KVM_COMMON)
|
||||
LX_CONFIG(CONFIG_NUMA)
|
||||
LX_CONFIG(CONFIG_ARM64)
|
||||
LX_CONFIG(CONFIG_ARM64_4K_PAGES)
|
||||
|
|
|
@ -151,7 +151,7 @@ def x86_show_interupts(prec):
|
|||
if cnt is not None:
|
||||
text += "%*s: %10u\n" % (prec, "MIS", cnt['counter'])
|
||||
|
||||
if constants.LX_CONFIG_HAVE_KVM:
|
||||
if constants.LX_CONFIG_KVM:
|
||||
text += x86_show_irqstat(prec, "PIN", 'kvm_posted_intr_ipis', 'Posted-interrupt notification event')
|
||||
text += x86_show_irqstat(prec, "NPI", 'kvm_posted_intr_nested_ipis', 'Nested posted-interrupt event')
|
||||
text += x86_show_irqstat(prec, "PIW", 'kvm_posted_intr_wakeup_ipis', 'Posted-interrupt wakeup event')
|
||||
|
|
|
@ -84,7 +84,7 @@
|
|||
#define HYPERVISOR_CALLBACK_VECTOR 0xf3
|
||||
|
||||
/* Vector for KVM to deliver posted interrupt IPI */
|
||||
#ifdef CONFIG_HAVE_KVM
|
||||
#if IS_ENABLED(CONFIG_KVM)
|
||||
#define POSTED_INTR_VECTOR 0xf2
|
||||
#define POSTED_INTR_WAKEUP_VECTOR 0xf1
|
||||
#define POSTED_INTR_NESTED_VECTOR 0xf0
|
||||
|
|
Loading…
Reference in a new issue