arch/x86/include/asm/hyperv-tlfs.h | 6 +-
arch/x86/include/asm/kvm-x86-ops.h | 2 +-
arch/x86/include/asm/kvm_host.h | 43 +-
arch/x86/kvm/Makefile | 3 +-
arch/x86/kvm/hyperv.c | 334 +++++++--
arch/x86/kvm/hyperv.h | 53 +-
arch/x86/kvm/svm/hyperv.c | 18 +
arch/x86/kvm/svm/hyperv.h | 48 ++
arch/x86/kvm/svm/nested.c | 39 +-
arch/x86/kvm/svm/svm_onhyperv.c | 2 +-
arch/x86/kvm/svm/svm_onhyperv.h | 6 +-
arch/x86/kvm/trace.h | 21 +-
arch/x86/kvm/vmx/evmcs.c | 42 +-
arch/x86/kvm/vmx/evmcs.h | 13 +-
arch/x86/kvm/vmx/nested.c | 44 +-
arch/x86/kvm/vmx/vmx.c | 6 +-
arch/x86/kvm/x86.c | 18 +-
arch/x86/kvm/x86.h | 1 +
include/asm-generic/hyperv-tlfs.h | 5 +
include/asm-generic/mshyperv.h | 11 +-
tools/testing/selftests/kvm/.gitignore | 4 +-
tools/testing/selftests/kvm/Makefile | 5 +-
.../selftests/kvm/include/kvm_util_base.h | 1 +
.../selftests/kvm/include/x86_64/evmcs.h | 50 +-
.../selftests/kvm/include/x86_64/hyperv.h | 100 +++
.../selftests/kvm/include/x86_64/processor.h | 72 +-
.../selftests/kvm/include/x86_64/vmx.h | 8 -
tools/testing/selftests/kvm/lib/kvm_util.c | 9 +-
.../testing/selftests/kvm/lib/x86_64/hyperv.c | 46 ++
.../selftests/kvm/lib/x86_64/processor.c | 5 +-
tools/testing/selftests/kvm/lib/x86_64/vmx.c | 45 +-
.../x86_64/{evmcs_test.c => hyperv_evmcs.c} | 69 +-
.../selftests/kvm/x86_64/hyperv_features.c | 24 +-
.../testing/selftests/kvm/x86_64/hyperv_ipi.c | 330 +++++++++
.../selftests/kvm/x86_64/hyperv_svm_test.c | 64 +-
.../selftests/kvm/x86_64/hyperv_tlb_flush.c | 644 ++++++++++++++++++
36 files changed, 1934 insertions(+), 257 deletions(-)
create mode 100644 arch/x86/kvm/svm/hyperv.c
create mode 100644 tools/testing/selftests/kvm/lib/x86_64/hyperv.c
rename tools/testing/selftests/kvm/x86_64/{evmcs_test.c => hyperv_evmcs.c} (73%)
create mode 100644 tools/testing/selftests/kvm/x86_64/hyperv_ipi.c
create mode 100644 tools/testing/selftests/kvm/x86_64/hyperv_tlb_flush.c