On 02/18/16 22:40, Benjamin Herrenschmidt wrote: > On Thu, 2016-02-18 at 18:02 +0100, Laszlo Ersek wrote: >> >> with Ray's change in the generic PCI bus driver, *must* all PciIo-based >> device drivers be updated? Is this a (bug-)compatible change, or does it >> regress existing drivers (perhaps by triggering their hidden bugs)? > > I wouldn't expect existing drivers to break no, as I don't expect them > to look at the AddressTranslation field and it's 0 anyway on existing > platforms. > > Of course they have to be updated to work on non-1:1 platforms. > >> If this PciIo change has potential to expose bugs or invalid silent >> assumptions in other drivers, then I think the patch should not be >> committed in isolation. It should be part of a series that addresses >> said assumptions in all dependent drivers that are present in the open >> source edk2 tree. > > I am not aware of such bugs or silent assumptions. I had the > opportunity to look at a couple of vendor drivers as well and they also > don't seem to make such problematic assumptions either. > >> I believe, for QemuVideoDxe, running on >> - qemu-system-(i386|x86_64), i440fx and q35 machine types, or >> - qemu-system-(arm|aarch64), "virt" machine type, >> >> the translation offset between CPU and device MMIO is, in practice, >> zero, so I guess in practice QemuVideoDxe won't break. >> >> But, it would be nice to see confirmation (plus in the long term, >> QemuVideoDxe should be updated nonetheless) > > I agree but overall I think this is pretty safe.
After reviewing Ray's v2 posting, I agree they are safe -- in particular because the PCI root bridge drivers I worried about always store AddrTranslationOffset=0 on output, in the Configuration() function. (Well, they do so for the time being, anyway.) Thanks Laszlo _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

