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;
        }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to