diff options
-rw-r--r-- | arch/x86/kvm/x86.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index e3d9040f2156..dfb0e37b3c65 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -1504,6 +1504,9 @@ static void do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, | |||
1504 | case 1: | 1504 | case 1: |
1505 | entry->edx &= kvm_supported_word0_x86_features; | 1505 | entry->edx &= kvm_supported_word0_x86_features; |
1506 | entry->ecx &= kvm_supported_word4_x86_features; | 1506 | entry->ecx &= kvm_supported_word4_x86_features; |
1507 | /* we support x2apic emulation even if host does not support | ||
1508 | * it since we emulate x2apic in software */ | ||
1509 | entry->ecx |= F(X2APIC); | ||
1507 | break; | 1510 | break; |
1508 | /* function 2 entries are STATEFUL. That is, repeated cpuid commands | 1511 | /* function 2 entries are STATEFUL. That is, repeated cpuid commands |
1509 | * may return different values. This forces us to get_cpu() before | 1512 | * may return different values. This forces us to get_cpu() before |