On 23/04/2018 14:58, Borislav Petkov wrote: >>>> QEMU can't get the host value by rdmsr MSR_IA32_UCODE_REV directly >>>> since rdmsr will #GP when ring !=0, any idea? >>> By looking at kvm_get_msr_feature(), it looks like >>> ioctl(system_fd, KVM_GET_MSRS) would return the host MSR value >>> for us. >> Yes, that's exactly what it was introduced for (together with other MSRs >> including VMX capabilities). > Can't qemu do: > > grep microcode /proc/cpuinfo | awk '{ print $3 }' | head -n 1 > > ? Yes, but you took that a statement bit too narrowly. We didn't include KVM_GET_MSRS because microcode version wasn't otherwise available; rather, there's a general need for KVM userspace to know the values of host MSRs, and microcode is an example. Paolo