On Thu, 2017-04-13 at 22:16 -0600, Jason Gunthorpe wrote: > > Any caller of pci_add_resource_offset() uses CPU addresses different from > > the PCI bus addresses (unless the offset is zero, of course). All ACPI > > platforms also support this translation (see "translation_offset"), though > > in most x86 systems the offset is zero. I'm aware of one x86 system that > > was tested with a non-zero offset but I don't think it was shipped that > > way. > > I'd suggest just detecting if there is any translation in bus > addresses anywhere and just hard disabling P2P on such systems. I object to designing a subsystem that by design cannot work on whole categories of architectures out there. > On modern hardware with 64 bit BARs there is very little reason to > have translation, so I think this is a legacy feature. No it's not. Cheers, Ben.