[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [RFC PATCH 0/6] ARM virtio-pci initial support
Hi, In this patch series we introduce support of PCI devices emulated by Virtio on ARM platform. A guest system is presented with Virtio Host bridge device, through which a number of emulated PCI devices (e.g. disk, network, graphic, audio etc) can work with corresponding guests' subsystems. For that purpose we add a new "pci" virtio transport mechanism in xl configuration, in addition to present "mmio" mechanism. Suitable MMIO and IRQ ranges are reverved, for guests' PCI accesses are trapped and forwarded to IOREQ server to be handled outside of Xen. Also guest's DT extended with PCI (#INTA..#INTD) interrupt mappings. For now only supported combination of backends is when both PCI Host bridge and all PCI devices behind it are emulated by the same single instance (i.e. Qemu). The code was tested with QEMU backends, yet it aims to be extendable to support stand-alone backends. -Sergiy Oleksandr Tyshchenko (6): libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well xen/public: arch-arm: reserve resources for virtio-pci libxl/arm: Add basic virtio-pci support libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices xen/arm: Intercept vPCI config accesses and forward them to emulator libxl: Add "backend_type" property for the Virtio devices docs/man/xl.cfg.5.pod.in | 18 +- tools/libs/light/libxl_arm.c | 351 ++++++++++++++++++++++++-- tools/libs/light/libxl_create.c | 18 +- tools/libs/light/libxl_dm.c | 98 ++++++- tools/libs/light/libxl_internal.h | 5 + tools/libs/light/libxl_types.idl | 41 ++- tools/libs/light/libxl_virtio.c | 119 +++++++-- tools/xl/xl_parse.c | 39 +++ xen/arch/arm/Kconfig | 10 + xen/arch/arm/domain.c | 2 +- xen/arch/arm/{ => include/asm}/vpci.h | 11 + xen/arch/arm/io.c | 8 +- xen/arch/arm/ioreq.c | 19 +- xen/arch/arm/vpci.c | 106 +++++++- xen/include/public/arch-arm.h | 21 ++ 15 files changed, 797 insertions(+), 69 deletions(-) rename xen/arch/arm/{ => include/asm}/vpci.h (75%) -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |