Hello All,
This serie is a follow up on Rahul serie where we included various fixes
required after review on the mailing list and a new patch to move some
of the x86 ecam related code to the common vpci code.
Most of the patches of the original serie have been merged and this
serie includes only 2 of the original patches reworked and 3 new patches:
Move some ECAM related functions from x86 to generic vpci
implementation:
- move vcpi mmcfg_{read/write} and vpci_access_allowed to common vpci.c.
- use ecam instead of mmcfg in common code.
Enable the existing x86 virtual PCI support for ARM:
- Add VPCI trap handler for each of the PCI device added for config
space access.
- Register the trap handler in XEN for each of the host bridge PCI ECAM
config space access.
Modify libxl function to take the whole domain config as argument:
- libxl__arch_domain_init_hw_description
- libxl__prepare_dt
Emulated PCI device tree node in libxl:
- Create a virtual PCI device tree node in libxl to enable the guest OS
to discover the virtual PCI during guest boot.
The patch modifying xc_domain_ioport_permission has been removed from
the serie.
Bertrand Marquis (1):
xen/vpci: Move ecam access functions to common code
Michal Orzel (2):
tools/libxl: Modify libxl__arch_domain_init_hw_description...
tools/libxl_arm: Modify libxl__prepare_dtb...
Rahul Singh (2):
xen/arm: Enable the existing x86 virtual PCI support for ARM
arm/libxl: Emulated PCI device tree node in libxl
tools/libs/light/libxl_arch.h | 2 +-
tools/libs/light/libxl_arm.c | 111 +++++++++++++++++++++++++++++++-
tools/libs/light/libxl_create.c | 5 ++
tools/libs/light/libxl_dom.c | 2 +-
tools/libs/light/libxl_x86.c | 2 +-
xen/arch/arm/Makefile | 1 +
xen/arch/arm/domain.c | 4 ++
xen/arch/arm/vpci.c | 77 ++++++++++++++++++++++
xen/arch/arm/vpci.h | 36 +++++++++++
xen/arch/x86/hvm/io.c | 46 ++-----------
xen/drivers/passthrough/pci.c | 13 ++++
xen/drivers/vpci/header.c | 2 +-
xen/drivers/vpci/vpci.c | 64 ++++++++++++++++++
xen/include/asm-arm/domain.h | 1 +
xen/include/asm-x86/pci.h | 2 -
xen/include/public/arch-arm.h | 17 +++++
xen/include/xen/pci.h | 2 +
xen/include/xen/vpci.h | 12 ++++
18 files changed, 349 insertions(+), 50 deletions(-)
create mode 100644 xen/arch/arm/vpci.c
create mode 100644 xen/arch/arm/vpci.h
--
2.25.1