Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Oct 2012 23:58:15 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r242331 - projects/bhyve/sys/amd64/vmm/intel
Message-ID:  <201210292358.q9TNwFCt070814@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: neel
Date: Mon Oct 29 23:58:15 2012
New Revision: 242331
URL: http://svn.freebsd.org/changeset/base/242331

Log:
  Convert VMCS_ENTRY_INTR_INFO field into a vmcs identifier before passing it
  to vmcs_getreg(). Without this conversion vmcs_getreg() will return EINVAL.
  
  In particular this prevented injection of the breakpoint exception into the
  guest via the "-B" option to /usr/sbin/bhyve which is hugely useful when
  debugging guest hangs.
  
  This was broken in r241921.
  
  Pointy hat: me
  Obtained from:	NetApp

Modified:
  projects/bhyve/sys/amd64/vmm/intel/vmx.c

Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- projects/bhyve/sys/amd64/vmm/intel/vmx.c	Mon Oct 29 21:48:24 2012	(r242330)
+++ projects/bhyve/sys/amd64/vmm/intel/vmx.c	Mon Oct 29 23:58:15 2012	(r242331)
@@ -1685,7 +1685,7 @@ vmx_inject(void *arg, int vcpu, int type
 	 * If there is already an exception pending to be delivered to the
 	 * vcpu then just return.
 	 */
-	error = vmcs_getreg(vmcs, VMCS_ENTRY_INTR_INFO, &info);
+	error = vmcs_getreg(vmcs, VMCS_IDENT(VMCS_ENTRY_INTR_INFO), &info);
 	if (error)
 		return (error);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201210292358.q9TNwFCt070814>