What is MTRR MSR 0x2f8?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Guest writes to MSR 0x2f8 are considered valid (no #GP) but trigger a
WARN_ON in kvm_valid_mtrr and do not get handled in any meaningful
way:

 29 static bool msr_mtrr_valid(unsigned msr)
 30 {
 31         switch (msr) {
 32         case 0x200 ... 0x200 + 2 * KVM_NR_VAR_MTRR - 1:
 33         case MSR_MTRRfix64K_00000:
...
 45         case MSR_IA32_CR_PAT:
 46                 return true;
 47         case 0x2f8:
 48                 return true;
 49         }
 50         return false;
 51 }

 63 bool kvm_mtrr_valid(struct kvm_vcpu *vcpu, u32 msr, u64 data)
 64 {
 65         int i;
 66         u64 mask;
 67
 68         if (!msr_mtrr_valid(msr))
 69                 return false;
...
 87         /* variable MTRRs */
 88         WARN_ON(!(msr >= 0x200 && msr < 0x200 + 2 * KVM_NR_VAR_MTRR));

0x2f8 is not a valid MSR on any known Intel CPUs and I could not find
any reference to it in AMD's SDM either. KVM support for 0x2f8 traces
back to this commit:

http://marc.info/?l=git-commits-head&m=121661643317231&w=2

Avi, do you remember why you added this MSR? Did ESX use it?
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux