Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753902AbbFEKRU (ORCPT ); Fri, 5 Jun 2015 06:17:20 -0400 Received: from mail-wi0-f178.google.com ([209.85.212.178]:33567 "EHLO mail-wi0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750831AbbFEKRR (ORCPT ); Fri, 5 Jun 2015 06:17:17 -0400 Message-ID: <55717727.8060101@gmail.com> Date: Fri, 05 Jun 2015 13:17:11 +0300 From: Avi Kivity User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Paolo Bonzini , linux-kernel@vger.kernel.org, kvm@vger.kernel.org CC: guangrong.xiao@linux.intel.com, rkrcmar@redhat.com, bdas@redhat.com Subject: Re: [PATCH v2 00/13] SMM implementation for KVM References: <1432746314-50196-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1432746314-50196-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3109 Lines: 71 On 05/27/2015 08:05 PM, Paolo Bonzini wrote: > This brings together the remaining parts of SMM. For now I've left the > "weird" interaction between SMM and NMI blocking, and I'm using the same > format for the state save area (which is also the one used by QEMU) as > the RFC. > > It builds on the previous cleanup patches, which (with the exception > of "KVM: x86: pass kvm_mmu_page to gfn_to_rmap") are now in kvm/queue. > The first six patches are more or less the same as the previous version, > while the address spaces part hopefully touches all affected functions > now. > > Patches 1-6 implement the SMM API and world switch; patches 7-12 > implements the multiple address spaces; patch 13 ties the loose > ends and advertises the capability. > > Tested with SeaBIOS and OVMF, where SMM provides the trusted base > for secure boot. > Nice work. While I did not do a thorough review, the mmu bits look robust. > Thanks, > > Paolo > > Paolo Bonzini (13): > KVM: x86: introduce num_emulated_msrs > KVM: x86: pass host_initiated to functions that read MSRs > KVM: x86: pass the whole hflags field to emulator and back > KVM: x86: API changes for SMM support > KVM: x86: stubs for SMM support > KVM: x86: save/load state on SMM switch > KVM: add vcpu-specific functions to read/write/translate GFNs > KVM: implement multiple address spaces > KVM: x86: pass kvm_mmu_page to gfn_to_rmap > KVM: x86: use vcpu-specific functions to read/write/translate GFNs > KVM: x86: work on all available address spaces > KVM: x86: add SMM to the MMU role, support SMRAM address space > KVM: x86: advertise KVM_CAP_X86_SMM > > Documentation/virtual/kvm/api.txt | 52 ++- > arch/powerpc/include/asm/kvm_book3s_64.h | 2 +- > arch/x86/include/asm/kvm_emulate.h | 9 +- > arch/x86/include/asm/kvm_host.h | 44 ++- > arch/x86/include/asm/vmx.h | 1 + > arch/x86/include/uapi/asm/kvm.h | 11 +- > arch/x86/kvm/cpuid.h | 8 + > arch/x86/kvm/emulate.c | 262 +++++++++++++- > arch/x86/kvm/kvm_cache_regs.h | 5 + > arch/x86/kvm/lapic.c | 4 +- > arch/x86/kvm/mmu.c | 171 +++++----- > arch/x86/kvm/mmu_audit.c | 16 +- > arch/x86/kvm/paging_tmpl.h | 18 +- > arch/x86/kvm/svm.c | 73 ++-- > arch/x86/kvm/trace.h | 22 ++ > arch/x86/kvm/vmx.c | 106 +++--- > arch/x86/kvm/x86.c | 562 ++++++++++++++++++++++++++----- > include/linux/kvm_host.h | 49 ++- > include/uapi/linux/kvm.h | 6 +- > virt/kvm/kvm_main.c | 237 ++++++++++--- > 20 files changed, 1337 insertions(+), 321 deletions(-) > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/