VMware and Hyper-V expose passthrough devices to guest VMs without an explicit host bridge device. Consequently, host_bridge_whitelist() cannot automatically identify the underlying host bridge structure, causing Peer-to-Peer DMA (P2PDMA) requests to be rejected unless the device IDs are explicitly listed in pci_p2pdma_whitelist[]. To enable P2PDMA support in virtualized environments on Intel hosts, this series introduces hypervisor_supports_p2pdma().
Although alternative P2PDMA mechanisms are in development [1], their adoption timeline in hypervisors remains uncertain. This solution addresses the immediate need to support both new and existing hypervisor deployments. The patches are organized by hypervisor for clarity. While the primary focus is VMware, a corresponding Hyper-V patch addresses the same pattern and is included for maintainer consideration. [1] https://lore.kernel.org/r/[email protected] Pavel Popov (2): PCI/P2PDMA: Allow P2PDMA in VMware guests on Intel hosts PCI/P2PDMA: Allow P2PDMA in Hyper-V guests on Intel hosts drivers/pci/p2pdma.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) base-commit: 6c377d19d4a5116d9bec5203aa3c6c11523e7898 -- 2.53.0

