public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] KVM: x86/xen: Add in-kernel Xen event channel delivery
@ 2021-11-01 19:03 David Woodhouse
  2021-11-01 19:03 ` [PATCH v2 1/6] KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO David Woodhouse
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: David Woodhouse @ 2021-11-01 19:03 UTC (permalink / raw)
  To: kvm
  Cc: Paolo Bonzini, Sean Christopherson, Vitaly Kuznetsov, Wanpeng Li,
	Jim Mattson, Joerg Roedel, Joao Martins, Ankur Arora,
	KarimAllah Raslan

Implement 2-level event channel delivery based on the original code from
Joao and Ankur. For IPIs and timers we *really* want to have a completely
in-kernel code path instead of bouncing out to the VMM each time. That
will come next, but this is the basis for it. With this I can wire up
MSI of assigned devices to PIRQs in the guest.

v2: Actually solve the problem of mapping the shared_info page, instead
    of merely declaring that I've reduced it to a previously unsolved
    problem. And having fixed up the broken KVM steal time stuff in a
    separately posted patch.

David Woodhouse (6):
      KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO
      KVM: selftests: Add event channel upcall support to xen_shinfo_test
      KVM: x86/xen: Use sizeof_field() instead of open-coding it
      KVM: Fix kvm_map_gfn()/kvm_unmap_gfn() to take a kvm as their names imply
      KVM: x86/xen: Maintain valid mapping of Xen shared_info page
      KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery

 Documentation/virt/kvm/api.rst                       |  21 +++
 arch/x86/include/asm/kvm_host.h                      |   5 +
 arch/x86/kvm/irq_comm.c                              |  12 ++
 arch/x86/kvm/mmu/mmu.c                               |  23 ++++
 arch/x86/kvm/x86.c                                   |   3 +-
 arch/x86/kvm/xen.c                                   | 340 ++++++++++++++++++++++++++++++++++++++++++++----
 arch/x86/kvm/xen.h                                   |   9 ++
 include/linux/kvm_host.h                             |  37 ++----
 include/linux/kvm_types.h                            |  27 ++++
 include/uapi/linux/kvm.h                             |  11 ++
 tools/testing/selftests/kvm/x86_64/xen_shinfo_test.c | 187 ++++++++++++++++++++++++--
 virt/kvm/kvm_main.c                                  |  11 +-
 12 files changed, 614 insertions(+), 72 deletions(-)




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

end of thread, other threads:[~2021-11-04 19:06 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-01 19:03 [PATCH v2 0/6] KVM: x86/xen: Add in-kernel Xen event channel delivery David Woodhouse
2021-11-01 19:03 ` [PATCH v2 1/6] KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO David Woodhouse
2021-11-01 19:03 ` [PATCH v2 2/6] KVM: selftests: Add event channel upcall support to xen_shinfo_test David Woodhouse
2021-11-01 19:03 ` [PATCH v2 3/6] KVM: x86/xen: Use sizeof_field() instead of open-coding it David Woodhouse
2021-11-01 19:03 ` [PATCH v2 4/6] KVM: Fix kvm_map_gfn()/kvm_unmap_gfn() to take a kvm as their names imply David Woodhouse
2021-11-02  3:12   ` kernel test robot
2021-11-02 22:33   ` kernel test robot
2021-11-01 19:03 ` [PATCH v2 5/6] KVM: x86/xen: Maintain valid mapping of Xen shared_info page David Woodhouse
2021-11-02  1:23   ` kernel test robot
2021-11-04 19:05   ` David Woodhouse
2021-11-01 19:03 ` [PATCH v2 6/6] KVM: x86/xen: Add KVM_IRQ_ROUTING_XEN_EVTCHN and event channel delivery David Woodhouse
2021-11-02  0:25   ` David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox