From: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com> According to https://wiki.xenproject.org/wiki/Linux_PVH:
Items not supported by PVH - PCI pass through (as of Xen 4.10) Allow running PCI remove code on ARM and do not assert for PVH domains. Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushche...@epam.com> --- tools/libxl/Makefile | 4 ++++ tools/libxl/libxl_pci.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 241da7fff6f4..f3806aafcb4e 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -130,6 +130,10 @@ endif LIBXL_LIBS += -lyajl +ifeq ($(CONFIG_ARM),y) +CFALGS += -DCONFIG_ARM +endif + LIBXL_OBJS = flexarray.o libxl.o libxl_create.o libxl_dm.o libxl_pci.o \ libxl_dom.o libxl_exec.o libxl_xshelp.o libxl_device.o \ libxl_internal.o libxl_utils.o libxl_uuid.o \ diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c index bc5843b13701..b93cf976642b 100644 --- a/tools/libxl/libxl_pci.c +++ b/tools/libxl/libxl_pci.c @@ -1915,8 +1915,10 @@ static void do_pci_remove(libxl__egc *egc, uint32_t domid, goto out_fail; } } else { + /* PCI passthrough can also run on ARM PVH */ +#ifndef CONFIG_ARM assert(type == LIBXL_DOMAIN_TYPE_PV); - +#endif char *sysfs_path = GCSPRINTF(SYSFS_PCI_DEV"/"PCI_BDF"/resource", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func); FILE *f = fopen(sysfs_path, "r"); -- 2.17.1