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(-)
--
2.22.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel