svn commit: r243651 - in projects/bhyve: sys/amd64/include sys/amd64/vmm/intel usr.sbin/bhyve
Neel Natu
neel at FreeBSD.org
Wed Nov 28 13:34:44 UTC 2012
Author: neel
Date: Wed Nov 28 13:34:44 2012
New Revision: 243651
URL: http://svnweb.freebsd.org/changeset/base/243651
Log:
Cleanup the user-space paging exit handler now that the unified instruction
emulation is in place.
Obtained from: NetApp
Modified:
projects/bhyve/sys/amd64/include/vmm.h
projects/bhyve/sys/amd64/vmm/intel/vmx.c
projects/bhyve/usr.sbin/bhyve/fbsdrun.c
projects/bhyve/usr.sbin/bhyve/mem.c
projects/bhyve/usr.sbin/bhyve/mem.h
Modified: projects/bhyve/sys/amd64/include/vmm.h
==============================================================================
--- projects/bhyve/sys/amd64/include/vmm.h Wed Nov 28 13:10:18 2012 (r243650)
+++ projects/bhyve/sys/amd64/include/vmm.h Wed Nov 28 13:34:44 2012 (r243651)
@@ -267,9 +267,7 @@ struct vm_exit {
uint32_t eax; /* valid for out */
} inout;
struct {
- uint64_t cr3;
uint64_t gpa;
- int rwx;
struct vie vie;
} paging;
/*
Modified: projects/bhyve/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- projects/bhyve/sys/amd64/vmm/intel/vmx.c Wed Nov 28 13:10:18 2012 (r243650)
+++ projects/bhyve/sys/amd64/vmm/intel/vmx.c Wed Nov 28 13:34:44 2012 (r243651)
@@ -1303,9 +1303,7 @@ vmx_exit_process(struct vmx *vmx, int vc
cr3, qual, &vmexit->u.paging.vie);
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:
Modified: projects/bhyve/usr.sbin/bhyve/fbsdrun.c
==============================================================================
--- projects/bhyve/usr.sbin/bhyve/fbsdrun.c Wed Nov 28 13:10:18 2012 (r243650)
+++ projects/bhyve/usr.sbin/bhyve/fbsdrun.c Wed Nov 28 13:34:44 2012 (r243651)
@@ -453,8 +453,7 @@ vmexit_paging(struct vmctx *ctx, struct
int err;
stats.vmexit_paging++;
- err = emulate_mem(ctx, *pvcpu, vmexit->u.paging.gpa, vmexit->rip,
- vmexit->u.paging.cr3, vmexit->u.paging.rwx,
+ err = emulate_mem(ctx, *pvcpu, vmexit->u.paging.gpa,
&vmexit->u.paging.vie);
if (err) {
Modified: projects/bhyve/usr.sbin/bhyve/mem.c
==============================================================================
--- projects/bhyve/usr.sbin/bhyve/mem.c Wed Nov 28 13:10:18 2012 (r243650)
+++ projects/bhyve/usr.sbin/bhyve/mem.c Wed Nov 28 13:34:44 2012 (r243651)
@@ -156,8 +156,7 @@ mem_write(void *ctx, int vcpu, uint64_t
}
int
-emulate_mem(struct vmctx *ctx, int vcpu, uint64_t paddr, uint64_t rip,
- uint64_t cr3, int mode, struct vie *vie)
+emulate_mem(struct vmctx *ctx, int vcpu, uint64_t paddr, struct vie *vie)
{
struct mmio_rb_range *entry;
int err;
Modified: projects/bhyve/usr.sbin/bhyve/mem.h
==============================================================================
--- projects/bhyve/usr.sbin/bhyve/mem.h Wed Nov 28 13:10:18 2012 (r243650)
+++ projects/bhyve/usr.sbin/bhyve/mem.h Wed Nov 28 13:34:44 2012 (r243651)
@@ -50,8 +50,7 @@ struct mem_range {
#define MEM_F_RW 0x3
void init_mem(void);
-int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, uint64_t rip,
- uint64_t cr3, int mode, struct vie *vie);
+int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, struct vie *vie);
int register_mem(struct mem_range *memp);
More information about the svn-src-projects
mailing list