[PATCH 0/2] x86, kvm: fix detection of KVM features when KVM and Hyper-V coexist

From: Paolo Bonzini
Date: Mon Jan 27 2014 - 13:11:45 EST


When KVM also presents Hyper-V features (which is useful because Windows
behaves better), Linux guests prefer KVM because emulated leaves are at
0x40000000 and the native ones are at 0x40000100.

However, Linux is then not accounting for the offset when reading the
available hypervisor features from CPUID. Instead of looking at
0x40000101, it will always look at 0x40000001.

This series makes sure that features such as async page faults or steal
time are available even if, for whatever reason, Hyper-V features are
enabled.

As a side effect, patch 1 makes a bunch of code non inline, which also
makes sense since it should only be called during initialization. As
a result, vmlinux .text size decreases by 96 bytes.

Please review!

Paolo Bonzini (2):
x86, kvm: cache the base of the KVM cpuid leaves
x86, kvm: correctly access the KVM_CPUID_FEATURES leaf at 0x40000101

arch/x86/include/asm/kvm_para.h | 33 ++++++++++++---------------------
arch/x86/kernel/kvm.c | 31 +++++++++++++++++++++++++++++++
2 files changed, 43 insertions(+), 21 deletions(-)

--
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/