From owner-svn-src-projects@FreeBSD.ORG Wed Nov 28 13:34:44 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B507313E; Wed, 28 Nov 2012 13:34:44 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 99A058FC08; Wed, 28 Nov 2012 13:34:44 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qASDYinI038378; Wed, 28 Nov 2012 13:34:44 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qASDYioA038373; Wed, 28 Nov 2012 13:34:44 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201211281334.qASDYioA038373@svn.freebsd.org> From: Neel Natu Date: Wed, 28 Nov 2012 13:34:44 +0000 (UTC) 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 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Nov 2012 13:34:44 -0000 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);