Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ecca2502 authored by Zhao Yakui's avatar Zhao Yakui Committed by Borislav Petkov
Browse files

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: default avatarZhao Yakui <yakui.zhao@intel.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Reviewed-by: default avatarBorislav Petkov <bp@suse.de>
Reviewed-by: default avatarThomas 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
parent d1fdb6d8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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)
+1 −1
Original line number Diff line number Diff line
@@ -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)
+1 −0
Original line number Diff line number Diff line
@@ -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
+1 −0
Original line number Diff line number Diff line
@@ -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.