Current Hyper-V vPCI code only compiles and works for x64. There are some hardcoded assumptions about the architectural IRQ chip and other arch defines. This patch series adds support for Hyper-V vPCI for ARM64 by first breaking the current hard coded dependency in the vPCI code and making it arch neutral. That is in the first patch. The second patch introduces a Hyper-V vPCI MSI IRQ chip for allocating SPI vectors. This patch depends on two other independent patch sets. First one is the patch series from Michael Kelley titled: "Enable Linux guests on Hyper-V on ARM64" and the second one is from Boqun Feng titled: "PCI: hv: Support host bridge probing on ARM64". Neither of these patches are merged into one branch at the moment. I think its best to carry this patch with the 'hyperv-next' tree after merging Boqun's patch series. Sunil Muthuswamy (2): PCI: hv: Make the code arch neutral PCI: hv: Support for Hyper-V vPCI for ARM64 arch/arm64/hyperv/Makefile | 2 +- arch/arm64/hyperv/hv_pci.c | 275 +++++++++++++++++++++++++++ arch/arm64/include/asm/hyperv-tlfs.h | 9 + arch/arm64/include/asm/mshyperv.h | 26 +++ arch/x86/include/asm/hyperv-tlfs.h | 33 ++++ arch/x86/include/asm/mshyperv.h | 25 +++ drivers/pci/Kconfig | 2 +- drivers/pci/controller/Kconfig | 2 +- drivers/pci/controller/pci-hyperv.c | 49 +++-- include/asm-generic/hyperv-tlfs.h | 33 ---- 10 files changed, 405 insertions(+), 51 deletions(-) create mode 100644 arch/arm64/hyperv/hv_pci.c -- 2.25.1