For now, please consider these patches for review and suggest if these can be merged to mainline kernel v4.9.
These patches add support for vPCI protocol version 1.2, by backpotring from v4.14 to v4.9. Individual patches are summarised below:
Patch 1: PCI: hv: Allocate physically contiguous hypercall params buffer Backported as is.
Patch 2: PCI: hv: Add vPCI version protocol negotiation Backported as is.
Patch 3: PCI: hv: Use vPCI protocol version 1.2 for v4.9 Change: Because v4.9 doesn't have hv_tmp_cpu_nr_to_vp_nr(), so original patch from v4.14 fails to apply on v4.9. To solve this, using vmbus_cpu_number_to_vp_number() instead of hv_tmp_cpu_nr_to_vp_nr() in this patch.
drivers/pci/host/pci-hyperv.c | 387 +++++++++++++++++++++++++++++++++--------- 1 file changed, 311 insertions(+), 76 deletions(-)