All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: David Woodhouse <dwmw@amazon.co.uk>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Juergen Gross <jgross@suse.com>, Sasha Levin <sashal@kernel.org>,
	linux-doc@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 5.4 15/26] x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery
Date: Tue, 19 Jan 2021 20:26:52 -0500	[thread overview]
Message-ID: <20210120012704.770095-15-sashal@kernel.org> (raw)
In-Reply-To: <20210120012704.770095-1-sashal@kernel.org>

From: David Woodhouse <dwmw@amazon.co.uk>

[ Upstream commit b36b0fe96af13460278bf9b173beced1bd15f85d ]

It's useful to be able to test non-vector event channel delivery, to make
sure Linux will work properly on older Xen which doesn't have it.

It's also useful for those working on Xen and Xen-compatible hypervisors,
because there are guest kernels still in active use which use PCI INTX
even when vector delivery is available.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Link: https://lore.kernel.org/r/20210106153958.584169-4-dwmw2@infradead.org
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 Documentation/admin-guide/kernel-parameters.txt |  4 ++++
 arch/x86/xen/enlighten_hvm.c                    | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 74ba077e99e56..a19ae163c0589 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -5452,6 +5452,10 @@
 			This option is obsoleted by the "nopv" option, which
 			has equivalent effect for XEN platform.
 
+	xen_no_vector_callback
+			[KNL,X86,XEN] Disable the vector callback for Xen
+			event channel interrupts.
+
 	xen_scrub_pages=	[XEN]
 			Boolean option to control scrubbing pages before giving them back
 			to Xen, for use by other domains. Can be also changed at runtime
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index e138f7de52d20..6024fafed1642 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -175,6 +175,8 @@ static int xen_cpu_dead_hvm(unsigned int cpu)
        return 0;
 }
 
+static bool no_vector_callback __initdata;
+
 static void __init xen_hvm_guest_init(void)
 {
 	if (xen_pv_domain())
@@ -194,7 +196,7 @@ static void __init xen_hvm_guest_init(void)
 
 	xen_panic_handler_init();
 
-	if (xen_feature(XENFEAT_hvm_callback_vector))
+	if (!no_vector_callback && xen_feature(XENFEAT_hvm_callback_vector))
 		xen_have_vector_callback = 1;
 
 	xen_hvm_smp_init();
@@ -220,6 +222,13 @@ static __init int xen_parse_nopv(char *arg)
 }
 early_param("xen_nopv", xen_parse_nopv);
 
+static __init int xen_parse_no_vector_callback(char *arg)
+{
+	no_vector_callback = true;
+	return 0;
+}
+early_param("xen_no_vector_callback", xen_parse_no_vector_callback);
+
 bool __init xen_hvm_need_lapic(void)
 {
 	if (xen_pv_domain())
-- 
2.27.0


  parent reply	other threads:[~2021-01-20  2:52 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-20  1:26 [PATCH AUTOSEL 5.4 01/26] ASoC: Intel: haswell: Add missing pm_ops Sasha Levin
2021-01-20  1:26 ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 02/26] HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 03/26] dm integrity: select CRYPTO_SKCIPHER Sasha Levin
2021-01-20  1:26   ` [dm-devel] " Sasha Levin
2021-01-20  5:47   ` Eric Biggers
2021-01-20  5:47     ` Eric Biggers
2021-02-05  0:28     ` Sasha Levin
2021-02-05  0:28       ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 04/26] scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 05/26] scsi: qedi: Correct max length of CHAP secret Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 06/26] scsi: sd: Suppress spurious errors when WRITE SAME is being disabled Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 07/26] riscv: Fix kernel time_init() Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 08/26] riscv: Fix sifive serial driver Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 09/26] HID: logitech-dj: add the G602 receiver Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 10/26] HID: Ignore battery for Elan touchscreen on ASUS UX550 Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 11/26] clk: tegra30: Add hda clock default rates to clock driver Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 12/26] r8152: Add Lenovo Powered USB-C Travel Hub Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 13/26] arm64: make atomic helpers __always_inline Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 14/26] xen: Fix event channel callback via INTX/GSI Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` Sasha Levin [this message]
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 16/26] net: stmmac: Fixed mtu channged by cache aligned Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 17/26] dts: phy: fix missing mdio device and probe failure of vsc8541-01 device Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 18/26] dts: phy: add GPIO number and active state used for phy reset Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 19/26] riscv: defconfig: enable gpio support for HiFive Unleashed Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 20/26] drm/amdgpu/psp: fix psp gfx ctrl cmds Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 21/26] drm/amd/display: Fix to be able to stop crc calculation Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26 ` [PATCH AUTOSEL 5.4 22/26] drm/nouveau/bios: fix issue shadowing expansion ROMs Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:26   ` Sasha Levin
2021-01-20  1:27 ` [PATCH AUTOSEL 5.4 23/26] drm/nouveau/privring: ack interrupts the same way as RM Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27 ` [PATCH AUTOSEL 5.4 24/26] drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27 ` [PATCH AUTOSEL 5.4 25/26] drm/nouveau/mmu: fix vram heap sizing Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27 ` [PATCH AUTOSEL 5.4 26/26] drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0 Sasha Levin
2021-01-20  1:27   ` Sasha Levin
2021-01-20  1:27   ` Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210120012704.770095-15-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=boris.ostrovsky@oracle.com \
    --cc=dwmw@amazon.co.uk \
    --cc=jgross@suse.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.