aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@citrix.com>2014-06-16 07:07:00 -0400
committerDavid Vrabel <david.vrabel@citrix.com>2014-06-18 05:57:41 -0400
commitea9f9274bf4337ba7cbab241c780487651642d63 (patch)
tree2084ba64995bc9df7615eaff0906c44aa42b9a71
parent562658f3dc7c95c4a918841731e3e91c9fced4d3 (diff)
x86/xen: no need to explicitly register an NMI callback
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> Tested-by: Vitaly Kuznetsov <vkuznets@redhat.com>
-rw-r--r--arch/x86/xen/setup.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index bdd22ece586f..e366b9855376 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -594,13 +594,7 @@ void xen_enable_syscall(void)
594 } 594 }
595#endif /* CONFIG_X86_64 */ 595#endif /* CONFIG_X86_64 */
596} 596}
597void xen_enable_nmi(void) 597
598{
599#ifdef CONFIG_X86_64
600 if (register_callback(CALLBACKTYPE_nmi, (char *)nmi))
601 BUG();
602#endif
603}
604void __init xen_pvmmu_arch_setup(void) 598void __init xen_pvmmu_arch_setup(void)
605{ 599{
606 HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments); 600 HYPERVISOR_vm_assist(VMASST_CMD_enable, VMASST_TYPE_4gb_segments);
@@ -615,7 +609,6 @@ void __init xen_pvmmu_arch_setup(void)
615 609
616 xen_enable_sysenter(); 610 xen_enable_sysenter();
617 xen_enable_syscall(); 611 xen_enable_syscall();
618 xen_enable_nmi();
619} 612}
620 613
621/* This function is not called for HVM domains */ 614/* This function is not called for HVM domains */