svn commit: r265114 - in head: sys/amd64/vmm/intel usr.sbin/bhyve
Neel Natu
neel at FreeBSD.org
Wed Apr 30 02:08:28 UTC 2014
Author: neel
Date: Wed Apr 30 02:08:27 2014
New Revision: 265114
URL: http://svnweb.freebsd.org/changeset/base/265114
Log:
Ignore writes to microcode update MSR. This MSR is accessed by RHEL7 guest.
Add KTR tracepoints to annotate wrmsr and rdmsr VM exits.
Modified:
head/sys/amd64/vmm/intel/vmx.c
head/usr.sbin/bhyve/xmsr.c
Modified: head/sys/amd64/vmm/intel/vmx.c
==============================================================================
--- head/sys/amd64/vmm/intel/vmx.c Wed Apr 30 02:03:47 2014 (r265113)
+++ head/sys/amd64/vmm/intel/vmx.c Wed Apr 30 02:08:27 2014 (r265114)
@@ -1797,6 +1797,7 @@ vmx_exit_process(struct vmx *vmx, int vc
vmm_stat_incr(vmx->vm, vcpu, VMEXIT_RDMSR, 1);
retu = false;
ecx = vmxctx->guest_rcx;
+ VCPU_CTR1(vmx->vm, vcpu, "rdmsr 0x%08x", ecx);
error = emulate_rdmsr(vmx->vm, vcpu, ecx, &retu);
if (error) {
vmexit->exitcode = VM_EXITCODE_RDMSR;
@@ -1815,6 +1816,8 @@ vmx_exit_process(struct vmx *vmx, int vc
eax = vmxctx->guest_rax;
ecx = vmxctx->guest_rcx;
edx = vmxctx->guest_rdx;
+ VCPU_CTR2(vmx->vm, vcpu, "wrmsr 0x%08x value 0x%016lx",
+ ecx, (uint64_t)edx << 32 | eax);
error = emulate_wrmsr(vmx->vm, vcpu, ecx,
(uint64_t)edx << 32 | eax, &retu);
if (error) {
Modified: head/usr.sbin/bhyve/xmsr.c
==============================================================================
--- head/usr.sbin/bhyve/xmsr.c Wed Apr 30 02:03:47 2014 (r265113)
+++ head/usr.sbin/bhyve/xmsr.c Wed Apr 30 02:08:27 2014 (r265114)
@@ -47,6 +47,8 @@ emulate_wrmsr(struct vmctx *ctx, int vcp
case 0xd04: /* Sandy Bridge uncore PMC MSRs */
case 0xc24:
return (0);
+ case 0x79:
+ return (0); /* IA32_BIOS_UPDT_TRIG MSR */
default:
break;
}
More information about the svn-src-all
mailing list