mbox series

[0/7] ioreq: add support for internal servers

Message ID 20190821145903.45934-1-roger.pau@citrix.com (mailing list archive)
Headers show
Series ioreq: add support for internal servers | expand

Message

Roger Pau Monné Aug. 21, 2019, 2:58 p.m. UTC
Such internal servers are implemented by a single function that handles
ioreqs inside the hypervisor.

The motivation behind this change is to switch vPCI to become an
internal ioreq server, so that accesses to the PCI config space can be
multiplexed between devices handled by vPCI and devices handled by other
ioreq servers.

The implementation is fairly simple and limited to what's needed by
vPCI, but can be expanded in the future if other more complex users
appear.

The series can also be found at:

git://xenbits.xen.org/people/royger/xen.git ioreq_vpci_v1

Thanks, Roger.

Roger Pau Monne (7):
  ioreq: add fields to allow internal ioreq servers
  ioreq: add internal ioreq initialization support
  ioreq: allow dispatching ioreqs to internal servers
  ioreq: allow registering internal ioreq server handler
  ioreq: allow decoding accesses to MMCFG regions
  vpci: register as an internal ioreq server
  ioreq: provide support for long-running operations...

 xen/arch/x86/hvm/dm.c               |   9 +-
 xen/arch/x86/hvm/dom0_build.c       |   9 +-
 xen/arch/x86/hvm/hvm.c              |   7 +-
 xen/arch/x86/hvm/io.c               | 288 +----------------------
 xen/arch/x86/hvm/ioreq.c            | 349 +++++++++++++++++++++++-----
 xen/arch/x86/physdev.c              |   7 +-
 xen/drivers/passthrough/x86/iommu.c |   2 +-
 xen/drivers/vpci/vpci.c             |  57 +++++
 xen/include/asm-x86/hvm/domain.h    |  31 ++-
 xen/include/asm-x86/hvm/io.h        |  14 +-
 xen/include/asm-x86/hvm/ioreq.h     |  19 +-
 xen/include/xen/vpci.h              |   3 +
 12 files changed, 415 insertions(+), 380 deletions(-)