* [PATCH] x86/xen: no need to explicitly register an NMI callback
@ 2014-06-16 17:09 David Vrabel
2014-06-17 9:08 ` Vitaly Kuznetsov
0 siblings, 1 reply; 2+ messages in thread
From: David Vrabel @ 2014-06-16 17:09 UTC (permalink / raw)
To: xen-devel; +Cc: Vitaly Kuznetsov, Boris Ostrovsky, David Vrabel
Remove xen_enable_nmi() to fix a 64-bit guest crash when registering
the NMI callback on Xen 3.1 and earlier.
It's not needed since the NMI callback is set by a set_trap_table
hypercall (in xen_load_idt() or xen_write_idt_entry()).
It's also broken since it only set the current VCPU's callback.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reported-by: Vitaly Kuznetsov <vkuznets@redhat.com>
---
arch/x86/xen/setup.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 821a11a..3f96911 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -590,13 +590,7 @@ void xen_enable_syscall(void)
}
#endif /* CONFIG_X86_64 */
}
-void xen_enable_nmi(void)
-{
-#ifdef CONFIG_X86_64
- if (register_callback(CALLBACKTYPE_nmi, (char *)nmi))
- BUG();
-#endif
-}
+
void __init xen_pvmmu_arch_setup(void)
{
HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments);
@@ -611,7 +605,6 @@ void __init xen_pvmmu_arch_setup(void)
xen_enable_sysenter();
xen_enable_syscall();
- xen_enable_nmi();
}
/* This function is not called for HVM domains */
--
1.7.10.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] x86/xen: no need to explicitly register an NMI callback
2014-06-16 17:09 [PATCH] x86/xen: no need to explicitly register an NMI callback David Vrabel
@ 2014-06-17 9:08 ` Vitaly Kuznetsov
0 siblings, 0 replies; 2+ messages in thread
From: Vitaly Kuznetsov @ 2014-06-17 9:08 UTC (permalink / raw)
To: David Vrabel; +Cc: xen-devel, Boris Ostrovsky
David Vrabel <david.vrabel@citrix.com> writes:
> Remove xen_enable_nmi() to fix a 64-bit guest crash when registering
> the NMI callback on Xen 3.1 and earlier.
>
> It's not needed since the NMI callback is set by a set_trap_table
> hypercall (in xen_load_idt() or xen_write_idt_entry()).
>
> It's also broken since it only set the current VCPU's callback.
>
> Signed-off-by: David Vrabel <david.vrabel@citrix.com>
> Reported-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Smoke tested with RHEL5 Xen and x86_64 PV guest + Xen-4.3.2 and x86_64
PV guest.
Tested-by: Vitaly Kuznetsov <vkuznets@redhat.com>
> ---
> arch/x86/xen/setup.c | 9 +--------
> 1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> index 821a11a..3f96911 100644
> --- a/arch/x86/xen/setup.c
> +++ b/arch/x86/xen/setup.c
> @@ -590,13 +590,7 @@ void xen_enable_syscall(void)
> }
> #endif /* CONFIG_X86_64 */
> }
> -void xen_enable_nmi(void)
> -{
> -#ifdef CONFIG_X86_64
> - if (register_callback(CALLBACKTYPE_nmi, (char *)nmi))
> - BUG();
> -#endif
> -}
> +
> void __init xen_pvmmu_arch_setup(void)
> {
> HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments);
> @@ -611,7 +605,6 @@ void __init xen_pvmmu_arch_setup(void)
>
> xen_enable_sysenter();
> xen_enable_syscall();
> - xen_enable_nmi();
> }
>
> /* This function is not called for HVM domains */
--
Vitaly
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-06-17 9:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-16 17:09 [PATCH] x86/xen: no need to explicitly register an NMI callback David Vrabel
2014-06-17 9:08 ` Vitaly Kuznetsov
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.