[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] NMI handling in HVM


  • To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: "Lv, Hui" <hui.lv@xxxxxxxxx>
  • Date: Fri, 31 Dec 2010 09:37:51 +0800
  • Accept-language: en-US
  • Acceptlanguage: en-US
  • Delivery-date: Thu, 30 Dec 2010 17:38:45 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acuoi1ahb1EiyPEIQnCr0nCxd0Saow==
  • Thread-topic: NMI handling in HVM

Dear all

                I saw a change about NMI handling in C/S 20059. So could anyone tell me what’s the difference of these two ways?  We found that after changing to ‘self_nmi()’, xenoprofile cannot work correctly. Since ‘self_nmi()’ issue a hypervisor nmi and there is no change for xenoprofile to record HVM guest regs information.

--- a/xen/arch/x86/hvm/vmx/vmx.c      Fri Aug 14 10:57:24 2009 +0100

+++ b/xen/arch/x86/hvm/vmx/vmx.c      Fri Aug 14 10:58:32 2009 +0100

@@ -945,8 +945,6 @@ static void vmx_enable_rdtsc_exiting(str

     vmx_vmcs_exit(v);

  }

 

-void do_nmi(struct cpu_user_regs *);

-

 static void vmx_init_hypercall_page(struct domain *d, void *hypercall_page)

 {

     char *p;

@@ -2470,7 +2468,7 @@ asmlinkage void vmx_vmexit_handler(struc

                  (X86_EVENTTYPE_NMI << 8) )

                 goto exit_and_crash;

             HVMTRACE_0D(NMI);

-            do_nmi(regs); /* Real NMI, vector 2: normal processing. */

+            self_nmi(); /* Real NMI, vector 2: normal processing. */

             break;

         case TRAP_machine_check:

             HVMTRACE_0D(MCE);

 

 

Best regards!

Lv,hui

 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.