kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/13] SMM implementation for KVM
@ 2015-05-27 17:05 Paolo Bonzini
  2015-05-27 17:05 ` [PATCH v2 01/13] KVM: x86: introduce num_emulated_msrs Paolo Bonzini
                   ` (17 more replies)
  0 siblings, 18 replies; 45+ messages in thread
From: Paolo Bonzini @ 2015-05-27 17:05 UTC (permalink / raw)
  To: linux-kernel, kvm; +Cc: guangrong.xiao, rkrcmar, bdas

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.

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(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 45+ messages in thread

end of thread, other threads:[~2015-06-18  7:02 UTC | newest]

Thread overview: 45+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-27 17:05 [PATCH v2 00/13] SMM implementation for KVM Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 01/13] KVM: x86: introduce num_emulated_msrs Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 02/13] KVM: x86: pass host_initiated to functions that read MSRs Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 03/13] KVM: x86: pass the whole hflags field to emulator and back Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 04/13] KVM: x86: API changes for SMM support Paolo Bonzini
2015-05-28  9:00   ` Paolo Bonzini
2015-05-28 13:48     ` Radim Krčmář
2015-05-29 18:50   ` Radim Krčmář
2015-05-27 17:05 ` [PATCH v2 05/13] KVM: x86: stubs " Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 06/13] KVM: x86: save/load state on SMM switch Paolo Bonzini
2015-06-03 19:02   ` Radim Krčmář
2015-06-04  6:14     ` Paolo Bonzini
2015-06-04 11:34       ` Radim Krčmář
2015-06-04 13:59     ` Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 07/13] KVM: add vcpu-specific functions to read/write/translate GFNs Paolo Bonzini
2015-05-29 19:23   ` Radim Krčmář
2015-06-05 10:26     ` Paolo Bonzini
2015-06-05 12:10       ` Radim Krčmář
2015-06-05 12:43         ` Paolo Bonzini
2015-06-05 12:46         ` Paolo Bonzini
2015-06-05 15:13           ` Radim Krčmář
2015-06-05 15:27             ` Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 08/13] KVM: implement multiple address spaces Paolo Bonzini
2015-06-09  3:20   ` Xiao Guangrong
2015-05-27 17:05 ` [PATCH v2 09/13] KVM: x86: pass kvm_mmu_page to gfn_to_rmap Paolo Bonzini
2015-06-09  3:28   ` Xiao Guangrong
2015-06-17  8:15     ` Paolo Bonzini
2015-06-18  4:41       ` Xiao Guangrong
2015-05-27 17:05 ` [PATCH v2 10/13] KVM: x86: use vcpu-specific functions to read/write/translate GFNs Paolo Bonzini
2015-06-09  3:38   ` Xiao Guangrong
2015-05-27 17:05 ` [PATCH v2 11/13] KVM: x86: work on all available address spaces Paolo Bonzini
2015-06-09  3:45   ` Xiao Guangrong
2015-05-27 17:05 ` [PATCH v2 12/13] KVM: x86: add SMM to the MMU role, support SMRAM address space Paolo Bonzini
2015-06-09  4:01   ` Xiao Guangrong
2015-06-17  8:18     ` Paolo Bonzini
2015-06-18  5:02       ` Xiao Guangrong
2015-06-18  7:02         ` Paolo Bonzini
2015-05-27 17:05 ` [PATCH v2 13/13] KVM: x86: advertise KVM_CAP_X86_SMM Paolo Bonzini
2015-05-29 19:03 ` [PATCH v2 00/13] SMM implementation for KVM Radim Krčmář
2015-05-29 19:34   ` Paolo Bonzini
2015-06-04  8:56 ` [PATCH v2 14/13] KVM: x86: latch INITs while in system management mode Paolo Bonzini
2015-06-04  8:58 ` Paolo Bonzini
2015-06-04 12:26 ` [PATCH v2 00/13] SMM implementation for KVM Radim Krčmář
2015-06-04 13:49   ` Paolo Bonzini
2015-06-05 10:17 ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).