All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/16] KVM: Add Xen hypercall and shared info pages
@ 2020-12-06 11:03 David Woodhouse
  2020-12-06 11:03 ` [PATCH v2 01/16] KVM: Fix arguments to kvm_{un,}map_gfn() David Woodhouse
                   ` (15 more replies)
  0 siblings, 16 replies; 25+ messages in thread
From: David Woodhouse @ 2020-12-06 11:03 UTC (permalink / raw)
  To: kvm
  Cc: Paolo Bonzini, Ankur Arora, Joao Martins, Boris Ostrovsky,
	Sean Christopherson, graf, iaslan

Reviving the first section (so far) of a patch set that Joao posted as 
RFC last year:

https://lore.kernel.org/kvm/20190220201609.28290-1-joao.m.martins@oracle.com/

This adds basic hypercall interception support, and adds support for
timekeeping and runstate-related shared info regions.

I've updated and reworked the original a bit, including (in my v1):
 • Support for 32-bit guests
 • 64-bit second support in wallclock
 • Time counters for runnable/blocked states in runstate support
 • Self-tests
 • Fixed Viridian coexistence
 • No new KVM_CAP_XEN_xxx, just more bits returned by KVM_CAP_XEN_HVM

v2: 
 • Remember the RCU read-critical sections on using the shared info pages
 • Fix 32-bit build of compat structures (which we use there too)
 • Use RUNSTATE_blocked as initial state not RUNSTATE_runnable
 • Include documentation, add cosmetic KVM_XEN_HVM_CONFIG_HYPERCALL_MSR

David Woodhouse (7):
      KVM: Fix arguments to kvm_{un,}map_gfn()
      KVM: x86/xen: Fix coexistence of Xen and Hyper-V hypercalls
      KVM: x86/xen: latch long_mode when hypercall page is set up
      KVM: x86/xen: add definitions of compat_shared_info, compat_vcpu_info
      xen: add wc_sec_hi to struct shared_info
      KVM: x86: declare Xen HVM shared info capability and add test case
      KVM: Add documentation for Xen hypercall and shared_info updates

Joao Martins (9):
      KVM: x86/xen: fix Xen hypercall page msr handling
      KVM: x86/xen: intercept xen hypercalls if enabled
      KVM: x86/xen: add KVM_XEN_HVM_SET_ATTR/KVM_XEN_HVM_GET_ATTR
      KVM: x86/xen: register shared_info page
      KVM: x86/xen: setup pvclock updates
      KVM: x86/xen: update wallclock region
      KVM: x86/xen: register vcpu info
      KVM: x86/xen: register vcpu time info region
      KVM: x86/xen: register runstate info

 Documentation/virt/kvm/api.rst                       | 119 ++++++++++++++++++++++++++++++++++
 arch/x86/include/asm/kvm_host.h                      |  23 +++++++
 arch/x86/include/asm/xen/interface.h                 |   3 +
 arch/x86/kvm/Makefile                                |   2 +-
 arch/x86/kvm/hyperv.c                                |  40 ++++++++----
 arch/x86/kvm/trace.h                                 |  36 +++++++++++
 arch/x86/kvm/x86.c                                   | 110 ++++++++++++++++++++------------
 arch/x86/kvm/x86.h                                   |   1 +
 arch/x86/kvm/xen.c                                   | 557 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 arch/x86/kvm/xen.h                                   |  83 ++++++++++++++++++++++++
 include/linux/kvm_host.h                             |  34 +++++-----
 include/uapi/linux/kvm.h                             |  48 ++++++++++++++
 include/xen/interface/xen.h                          |   4 +-
 tools/testing/selftests/kvm/Makefile                 |   2 +
 tools/testing/selftests/kvm/lib/kvm_util.c           |   1 +
 tools/testing/selftests/kvm/x86_64/xen_shinfo_test.c | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tools/testing/selftests/kvm/x86_64/xen_vmcall_test.c | 150 +++++++++++++++++++++++++++++++++++++++++++
 virt/kvm/kvm_main.c                                  |   8 +--
 18 files changed, 1335 insertions(+), 73 deletions(-)



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

end of thread, other threads:[~2020-12-22  9:43 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-06 11:03 [PATCH v2 00/16] KVM: Add Xen hypercall and shared info pages David Woodhouse
2020-12-06 11:03 ` [PATCH v2 01/16] KVM: Fix arguments to kvm_{un,}map_gfn() David Woodhouse
2020-12-06 11:03 ` [PATCH v2 02/16] KVM: x86/xen: fix Xen hypercall page msr handling David Woodhouse
2020-12-06 11:03 ` [PATCH v2 03/16] KVM: x86/xen: intercept xen hypercalls if enabled David Woodhouse
2020-12-10 16:01   ` kernel test robot
2020-12-10 16:01     ` kernel test robot
2020-12-06 11:03 ` [PATCH v2 04/16] KVM: x86/xen: Fix coexistence of Xen and Hyper-V hypercalls David Woodhouse
2020-12-06 11:03 ` [PATCH v2 05/16] KVM: x86/xen: add KVM_XEN_HVM_SET_ATTR/KVM_XEN_HVM_GET_ATTR David Woodhouse
2020-12-06 11:03 ` [PATCH v2 06/16] KVM: x86/xen: latch long_mode when hypercall page is set up David Woodhouse
2020-12-06 11:03 ` [PATCH v2 07/16] KVM: x86/xen: add definitions of compat_shared_info, compat_vcpu_info David Woodhouse
2020-12-06 11:03 ` [PATCH v2 08/16] KVM: x86/xen: register shared_info page David Woodhouse
2020-12-06 11:03 ` [PATCH v2 09/16] KVM: x86/xen: setup pvclock updates David Woodhouse
2020-12-12  0:01   ` David Woodhouse
2020-12-06 11:03 ` [PATCH v2 10/16] xen: add wc_sec_hi to struct shared_info David Woodhouse
2020-12-06 11:03 ` [PATCH v2 11/16] KVM: x86/xen: update wallclock region David Woodhouse
2020-12-06 11:03 ` [PATCH v2 12/16] KVM: x86/xen: register vcpu info David Woodhouse
2020-12-06 11:03 ` [PATCH v2 13/16] KVM: x86/xen: register vcpu time info region David Woodhouse
2020-12-06 11:03 ` [PATCH v2 14/16] KVM: x86/xen: register runstate info David Woodhouse
2020-12-09 19:17   ` David Woodhouse
2020-12-06 11:03 ` [PATCH v2 15/16] KVM: x86: declare Xen HVM shared info capability and add test case David Woodhouse
2020-12-22  5:06   ` [KVM] fdd90b978b: WARNING:suspicious_RCU_usage kernel test robot
2020-12-22  5:06     ` kernel test robot
2020-12-22  9:42     ` David Woodhouse
2020-12-22  9:42       ` David Woodhouse
2020-12-06 11:03 ` [PATCH v2 16/16] KVM: Add documentation for Xen hypercall and shared_info updates David Woodhouse

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.