]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
x86/Kconfig: Add new X86_HV_CALLBACK_VECTOR config symbol
authorZhao Yakui <yakui.zhao@intel.com>
Tue, 30 Apr 2019 03:45:23 +0000 (11:45 +0800)
committerBorislav Petkov <bp@suse.de>
Tue, 11 Jun 2019 19:21:11 +0000 (21:21 +0200)
Add a special Kconfig symbol X86_HV_CALLBACK_VECTOR so that the guests
using the hypervisor interrupt callback counter can select and thus
enable that counter. Select it when xen or hyperv support is enabled. No
functional changes.

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Borislav Petkov <bp@suse.de>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: linux-hyperv@vger.kernel.org
Cc: Nicolai Stange <nstange@suse.de>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Sasha Levin <sashal@kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: x86-ml <x86@kernel.org>
Cc: xen-devel@lists.xenproject.org
Link: https://lkml.kernel.org/r/1559108037-18813-2-git-send-email-yakui.zhao@intel.com
arch/x86/Kconfig
arch/x86/include/asm/hardirq.h
arch/x86/kernel/irq.c
arch/x86/xen/Kconfig
drivers/hv/Kconfig

index 2bbbd4d1ba31de5c0431393247ac4279878eb13d..c9ab09004b16972e9e80bae6dfa269512aebeaf0 100644 (file)
@@ -781,6 +781,9 @@ config PARAVIRT_SPINLOCKS
 
          If you are unsure how to answer this question, answer Y.
 
+config X86_HV_CALLBACK_VECTOR
+       def_bool n
+
 source "arch/x86/xen/Kconfig"
 
 config KVM_GUEST
index d9069bb26c7fa989ebf2d4b87aca798534331f05..07533795b8d2aa3e54fe15797bfb5017927a4f03 100644 (file)
@@ -37,7 +37,7 @@ typedef struct {
 #ifdef CONFIG_X86_MCE_AMD
        unsigned int irq_deferred_error_count;
 #endif
-#if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN)
+#ifdef CONFIG_X86_HV_CALLBACK_VECTOR
        unsigned int irq_hv_callback_count;
 #endif
 #if IS_ENABLED(CONFIG_HYPERV)
index 9b68b5b00ac91cf7755c9767d8e78c1a558dacb8..4e8f193ad81ff8a1783b6c745d493186a217d184 100644 (file)
@@ -135,7 +135,7 @@ int arch_show_interrupts(struct seq_file *p, int prec)
                seq_printf(p, "%10u ", per_cpu(mce_poll_count, j));
        seq_puts(p, "  Machine check polls\n");
 #endif
-#if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN)
+#ifdef CONFIG_X86_HV_CALLBACK_VECTOR
        if (test_bit(HYPERVISOR_CALLBACK_VECTOR, system_vectors)) {
                seq_printf(p, "%*s: ", prec, "HYP");
                for_each_online_cpu(j)
index e07abefd3d267ea5d906735a9b4a5fab64e9f5f4..ba5a41828e9d0c9b39b9d1b83d921597e6abdf12 100644 (file)
@@ -7,6 +7,7 @@ config XEN
        bool "Xen guest support"
        depends on PARAVIRT
        select PARAVIRT_CLOCK
+       select X86_HV_CALLBACK_VECTOR
        depends on X86_64 || (X86_32 && X86_PAE)
        depends on X86_LOCAL_APIC && X86_TSC
        help
index 1c1a2514d6f31b8a2e8ce04293c949922b4e92ee..cafcb974dcfecc9da5273b14c2f7e7c2ae4d62bd 100644 (file)
@@ -6,6 +6,7 @@ config HYPERV
        tristate "Microsoft Hyper-V client drivers"
        depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST
        select PARAVIRT
+       select X86_HV_CALLBACK_VECTOR
        help
          Select this option to run Linux as a Hyper-V client operating
          system.