Date: Wed, 28 Nov 2012 13:34:44 +0000 (UTC) From: Neel Natu <neel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r243651 - in projects/bhyve: sys/amd64/include sys/amd64/vmm/intel usr.sbin/bhyve Message-ID: <201211281334.qASDYioA038373@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211281334.qASDYioA038373>