Date: Sat, 4 Aug 2012 02:14:27 +0000 (UTC) From: Neel Natu <neel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r239025 - projects/bhyve/lib/libvmmapi Message-ID: <201208040214.q742ERwX096398@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208040214.q742ERwX096398>