Hi, This is the first part for virtual PCI support of Hyper-V guest on ARM64. The whole patchset doesn't have any functional change, but only refactors the pci-hyperv.c code to make it more arch-independent. Previous version: v1: https://lore.kernel.org/lkml/20200121015713.69691-1-boqun.feng@xxxxxxxxx/ Changes since v1: * Reword the commit log and adjust the title as per Bjorn's suggestion * Split patch #2 into two patches (one for moving and one for adding new structure) as per Bjorn's suggestion * Remove unnecesarry #if guard as per Vitaly's suggestion. * Add explanation for adding hv_set_msi_address_from_desc(). I've done compile and boot test of this patchset, also done some tests with a pass-through NVMe device. Suggestions and comments are welcome! Regards, Boqun Boqun Feng (3): PCI: hv: Move hypercall related definitions into tlfs header PCI: hv: Move retarget related structures into tlfs header PCI: hv: Introduce hv_msi_entry arch/x86/include/asm/hyperv-tlfs.h | 41 +++++++++++++++++++++++++++ arch/x86/include/asm/mshyperv.h | 5 ++++ drivers/pci/controller/pci-hyperv.c | 44 +++-------------------------- 3 files changed, 50 insertions(+), 40 deletions(-) -- 2.24.1