From owner-svn-src-projects@FreeBSD.ORG Sat Aug 4 02:14:28 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 1A0B3106566B; Sat, 4 Aug 2012 02:14:28 +0000 (UTC) (envelope-from neel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E12658FC08; Sat, 4 Aug 2012 02:14:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q742ER5Z096401; Sat, 4 Aug 2012 02:14:27 GMT (envelope-from neel@svn.freebsd.org) Received: (from neel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q742ERwX096398; Sat, 4 Aug 2012 02:14:27 GMT (envelope-from neel@svn.freebsd.org) Message-Id: <201208040214.q742ERwX096398@svn.freebsd.org> From: Neel Natu Date: Sat, 4 Aug 2012 02:14:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r239025 - projects/bhyve/lib/libvmmapi X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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: Sat, 04 Aug 2012 02:14:28 -0000 Author: neel Date: Sat Aug 4 02:14:27 2012 New Revision: 239025 URL: http://svn.freebsd.org/changeset/base/239025 Log: There is no need to explicitly specify the CR4_VMXE bit when writing to guest CR4. This bit is specific to the Intel VTX and removing it makes the library more portable to AMD/SVM. In the Intel VTX implementation, the hypervisor will ensure that this bit is always set. See vmx_fix_cr4() for details. Suggested by: grehan Modified: projects/bhyve/lib/libvmmapi/vmmapi.c projects/bhyve/lib/libvmmapi/vmmapi_freebsd.c Modified: projects/bhyve/lib/libvmmapi/vmmapi.c ============================================================================== --- projects/bhyve/lib/libvmmapi/vmmapi.c Sat Aug 4 02:06:55 2012 (r239024) +++ projects/bhyve/lib/libvmmapi/vmmapi.c Sat Aug 4 02:14:27 2012 (r239025) @@ -49,10 +49,6 @@ __FBSDID("$FreeBSD$"); #include "vmmapi.h" #include "mptable.h" -#ifndef CR4_VMXE -#define CR4_VMXE (1UL << 13) -#endif - #define BIOS_ROM_BASE (0xf0000) #define BIOS_ROM_SIZE (0x10000) @@ -536,7 +532,7 @@ vcpu_reset(struct vmctx *vmctx, int vcpu if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR3, zero)) != 0) goto done; - cr4 = CR4_VMXE; + cr4 = 0; if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR4, cr4)) != 0) goto done; Modified: projects/bhyve/lib/libvmmapi/vmmapi_freebsd.c ============================================================================== --- projects/bhyve/lib/libvmmapi/vmmapi_freebsd.c Sat Aug 4 02:06:55 2012 (r239024) +++ projects/bhyve/lib/libvmmapi/vmmapi_freebsd.c Sat Aug 4 02:14:27 2012 (r239025) @@ -37,10 +37,6 @@ __FBSDID("$FreeBSD$"); #include "vmmapi.h" -#ifndef CR4_VMXE -#define CR4_VMXE (1UL << 13) -#endif - #define DESC_UNUSABLE 0x00010000 #define GUEST_NULL_SEL 0 @@ -74,7 +70,7 @@ vm_setup_freebsd_registers(struct vmctx if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR0, cr0)) != 0) goto done; - cr4 = CR4_PAE | CR4_VMXE; + cr4 = CR4_PAE; if ((error = vm_set_register(vmctx, vcpu, VM_REG_GUEST_CR4, cr4)) != 0) goto done;