This set adds a legacy direct-assign mode. Newer enterprise hardware has physical addressing hints to assist device passthrough to guests that needs to correctly program bridge windows with physical addresses. Some customers are using a legacy method that relies on the VMD subdevice domain's root port windows to be written with the physical addresses. This method also allows other hypervisors besides QEMU/KVM to perform guest passthrough. This patchset adds a host and guest mode to write the physical address information to the root port registers in the host and read them in the guest, and restore them in both cases on module unload. This patchset also folds in the VMD subdevice domain secondary bus reset patchset [1] to clear the domain prior to guest passthrough. [1] https://patchwork.kernel.org/project/linux-pci/cover/20200928010557.5324-1-jonathan.derrick@xxxxxxxxx/ Jon Derrick (5): PCI: vmd: Reset the VMD subdevice domain on probe PCI: Add a reset quirk for VMD PCI: vmd: Add offset translation helper PCI: vmd: Pass features to vmd_get_phys_offsets() PCI: vmd: Add legacy guest passthrough mode drivers/pci/controller/vmd.c | 200 ++++++++++++++++++++++++++++++++++++++----- drivers/pci/quirks.c | 48 +++++++++++ 2 files changed, 227 insertions(+), 21 deletions(-) -- 1.8.3.1