From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: [PATCHv3 0/4] Add support for some HYPER-V PV features Date: Sun, 17 Jan 2010 15:51:20 +0200 Message-ID: <1263736284-18780-1-git-send-email-gleb@redhat.com> Cc: kvm@vger.kernel.org To: avi@redhat.com, mtosatti@redhat.com Return-path: Received: from mx1.redhat.com ([209.132.183.28]:26350 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752258Ab0AQNvZ (ORCPT ); Sun, 17 Jan 2010 08:51:25 -0500 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o0HDpP3n000964 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sun, 17 Jan 2010 08:51:25 -0500 Sender: kvm-owner@vger.kernel.org List-ID: HYPER-V provides PV capabilities for its guests and most new MS Windows detect and use them automatically. Older Windows guests need additional drivers to uses PV. This patch series implements some PV capabilities defined by HYPER-V spec for KVM. Windows guests running on KVM will be able to take advantage of them. Changelog: v1->v2 rename kvm_hyperv.h into hyperv.h and move into separate patch minor style fixes use clear_user-page(0 to zero userspace page use APIC register names when calling kvm_hv_vapic_msr_(read|write)() v2->v3 fix msrs_to_save[] handling fix access to guests memory use kvm_read_cr0_bits() instead of direct access to cr0 Gleb Natapov (4): Add HYPE-V header file. Implement bare minimum of HYPER-V MSRs. Add HYPER-V apic access MSRs. Implement NotifyLongSpinWait HYPER-V hypercall. arch/x86/include/asm/hyperv.h | 187 +++++++++++++++++++++++++++++++ arch/x86/include/asm/kvm_host.h | 6 + arch/x86/include/asm/kvm_para.h | 1 + arch/x86/kvm/lapic.c | 31 +++++ arch/x86/kvm/lapic.h | 8 ++ arch/x86/kvm/trace.h | 32 ++++++ arch/x86/kvm/x86.c | 232 ++++++++++++++++++++++++++++++++++++++- include/linux/kvm.h | 3 + 8 files changed, 499 insertions(+), 1 deletions(-) create mode 100644 arch/x86/include/asm/hyperv.h