svn commit: r241497 - in projects/bhyve/sys/amd64: include vmm/intel

Peter Grehan grehan at FreeBSD.org
Fri Oct 12 23:12:20 UTC 2012


Author: grehan
Date: Fri Oct 12 23:12:19 2012
New Revision: 241497
URL: http://svn.freebsd.org/changeset/base/241497

Log:
  Add the guest physical address and r/w/x bits to
  the paging exit in preparation for a rework of
  bhyve MMIO handling.
  
  Reviewed by:	neel
  Obtained from:	NetApp

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

Modified: projects/bhyve/sys/amd64/include/vmm.h
==============================================================================
--- projects/bhyve/sys/amd64/include/vmm.h	Fri Oct 12 22:48:33 2012	(r241496)
+++ projects/bhyve/sys/amd64/include/vmm.h	Fri Oct 12 23:12:19 2012	(r241497)
@@ -266,6 +266,8 @@ struct vm_exit {
 		} inout;
 		struct {
 			uint64_t	cr3;
+			uint64_t	gpa;
+			int		rwx;
 		} paging;
 		/*
 		 * VMX specific payload. Used when there is no "better"

Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- projects/bhyve/sys/amd64/vmm/intel/vmx.c	Fri Oct 12 22:48:33 2012	(r241496)
+++ projects/bhyve/sys/amd64/vmm/intel/vmx.c	Fri Oct 12 23:12:19 2012	(r241497)
@@ -1289,6 +1289,8 @@ vmx_exit_process(struct vmx *vmx, int vc
 		if (!handled) {
 			vmexit->exitcode = VM_EXITCODE_PAGING;
 			vmexit->u.paging.cr3 = cr3;
+			vmexit->u.paging.gpa = gpa;
+			vmexit->u.paging.rwx = qual & 0x7;
 		}
 		break;
 	default:


More information about the svn-src-projects mailing list