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

Reply via email to