On 24/09/2015 12:12, Borislav Petkov wrote:
On Thu, Sep 24, 2015 at 11:23:08AM +0800, Xiao Guangrong wrote:
+static inline bool
+boot_cpu_is_amd(void)
+{
+ WARN_ON_ONCE(!tdp_enabled);
+ return shadow_x_mask != 0;
shadow_x_mask != 0 is Intel's CPU.
Borislav, could you please check shadow_x_mask == 0 instead and test it again?
That did the trick:
[ 62.640392] kvm: zapping shadow pages for mmio generation wraparound
[ 63.100301] cpuid(0).ebx = 68747541
[ 63.193426] kvm [3748]: vcpu0 unhandled rdmsr: 0xc0010112
[ 64.538294] kvm [3748]: vcpu0 unhandled rdmsr: 0xc0011021
[ 64.866263] kvm [3748]: vcpu1 unhandled rdmsr: 0xc0011021
[ 64.971972] kvm [3748]: vcpu2 unhandled rdmsr: 0xc0011021
[ 65.070376] kvm [3748]: vcpu3 unhandled rdmsr: 0xc0011021
[ 65.170625] kvm [3748]: vcpu4 unhandled rdmsr: 0xc0011021
[ 65.272838] kvm [3748]: vcpu5 unhandled rdmsr: 0xc0011021
[ 65.374288] kvm [3748]: vcpu6 unhandled rdmsr: 0xc0011021
[ 65.474825] kvm [3748]: vcpu7 unhandled rdmsr: 0xc0011021
That's all I got in dmesg from booting the guest - no more mmio PF
warnings.
Great, though this doesn't yet explain why guest_cpuid_is_amd failed.
I'll look into it next week when Amazon delivers my shiny new AMD
mini-PC :) and send the patch to Linus meanwhile.