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

x86/Kconfig: Add new X86_HV_CALLBACK_VECTOR config symbol

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

authored by

Zhao Yakui and committed by
Borislav Petkov
ecca2502 d1fdb6d8

+7 -2
+3
arch/x86/Kconfig
··· 781 781 782 782 If you are unsure how to answer this question, answer Y. 783 783 784 + config X86_HV_CALLBACK_VECTOR 785 + def_bool n 786 + 784 787 source "arch/x86/xen/Kconfig" 785 788 786 789 config KVM_GUEST
+1 -1
arch/x86/include/asm/hardirq.h
··· 37 37 #ifdef CONFIG_X86_MCE_AMD 38 38 unsigned int irq_deferred_error_count; 39 39 #endif 40 - #if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN) 40 + #ifdef CONFIG_X86_HV_CALLBACK_VECTOR 41 41 unsigned int irq_hv_callback_count; 42 42 #endif 43 43 #if IS_ENABLED(CONFIG_HYPERV)
+1 -1
arch/x86/kernel/irq.c
··· 135 135 seq_printf(p, "%10u ", per_cpu(mce_poll_count, j)); 136 136 seq_puts(p, " Machine check polls\n"); 137 137 #endif 138 - #if IS_ENABLED(CONFIG_HYPERV) || defined(CONFIG_XEN) 138 + #ifdef CONFIG_X86_HV_CALLBACK_VECTOR 139 139 if (test_bit(HYPERVISOR_CALLBACK_VECTOR, system_vectors)) { 140 140 seq_printf(p, "%*s: ", prec, "HYP"); 141 141 for_each_online_cpu(j)
+1
arch/x86/xen/Kconfig
··· 7 7 bool "Xen guest support" 8 8 depends on PARAVIRT 9 9 select PARAVIRT_CLOCK 10 + select X86_HV_CALLBACK_VECTOR 10 11 depends on X86_64 || (X86_32 && X86_PAE) 11 12 depends on X86_LOCAL_APIC && X86_TSC 12 13 help
+1
drivers/hv/Kconfig
··· 6 6 tristate "Microsoft Hyper-V client drivers" 7 7 depends on X86 && ACPI && X86_LOCAL_APIC && HYPERVISOR_GUEST 8 8 select PARAVIRT 9 + select X86_HV_CALLBACK_VECTOR 9 10 help 10 11 Select this option to run Linux as a Hyper-V client operating 11 12 system.