Message ID | 20201224115323.3540130-4-dwmw2@infradead.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Xen INTX/GSI event channel delivery fixes | expand |
On 12/24/20 6:53 AM, David Woodhouse wrote: > From: David Woodhouse <dwmw@amazon.co.uk> > > 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> This needs an update to Documentation/admin-guide/kernel-parameters.txt -boris
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c index 9e87ab010c82..a1c07e0c888e 100644 --- a/arch/x86/xen/enlighten_hvm.c +++ b/arch/x86/xen/enlighten_hvm.c @@ -188,6 +188,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()) @@ -207,7 +209,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(); @@ -233,6 +235,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("no_vector_callback", xen_parse_no_vector_callback); + bool __init xen_hvm_need_lapic(void) { if (xen_pv_domain())