KVM: x86: Refactor kvm_cpuid() param that controls out-of-range logic
[sfrench/cifs-2.6.git] / arch / x86 / kvm / emulate.c
index 6663f6887d2cb25bc21a5005f6dfa8e662bd6a80..fefa32d6af0038d6861b5a6548f1e9fd8fc61c8d 100644 (file)
@@ -2722,7 +2722,7 @@ static bool vendor_intel(struct x86_emulate_ctxt *ctxt)
        u32 eax, ebx, ecx, edx;
 
        eax = ecx = 0;
-       ctxt->ops->get_cpuid(ctxt, &eax, &ebx, &ecx, &edx, false);
+       ctxt->ops->get_cpuid(ctxt, &eax, &ebx, &ecx, &edx, true);
        return is_guest_vendor_intel(ebx, ecx, edx);
 }
 
@@ -2740,7 +2740,7 @@ static bool em_syscall_is_enabled(struct x86_emulate_ctxt *ctxt)
 
        eax = 0x00000000;
        ecx = 0x00000000;
-       ops->get_cpuid(ctxt, &eax, &ebx, &ecx, &edx, false);
+       ops->get_cpuid(ctxt, &eax, &ebx, &ecx, &edx, true);
        /*
         * remark: Intel CPUs only support "syscall" in 64bit longmode. Also a
         * 64bit guest with a 32bit compat-app running will #UD !! While this
@@ -3971,7 +3971,7 @@ static int em_cpuid(struct x86_emulate_ctxt *ctxt)
 
        eax = reg_read(ctxt, VCPU_REGS_RAX);
        ecx = reg_read(ctxt, VCPU_REGS_RCX);
-       ctxt->ops->get_cpuid(ctxt, &eax, &ebx, &ecx, &edx, true);
+       ctxt->ops->get_cpuid(ctxt, &eax, &ebx, &ecx, &edx, false);
        *reg_write(ctxt, VCPU_REGS_RAX) = eax;
        *reg_write(ctxt, VCPU_REGS_RBX) = ebx;
        *reg_write(ctxt, VCPU_REGS_RCX) = ecx;
@@ -4241,7 +4241,7 @@ static int check_cr_write(struct x86_emulate_ctxt *ctxt)
                        eax = 0x80000008;
                        ecx = 0;
                        if (ctxt->ops->get_cpuid(ctxt, &eax, &ebx, &ecx,
-                                                &edx, false))
+                                                &edx, true))
                                maxphyaddr = eax & 0xff;
                        else
                                maxphyaddr = 36;