On 5 September 2017 at 08:07, Ni, Ruiyu <[email protected]> wrote:
> Bartosz,
>
> Based on your findings, the AddrRangeMin has to be a device address☺
>
> As far as I can remember, this history is:
> In the very beginning, Spec owner assumes the device address equals to CPU 
> address.
> The implementation of GetBarAttributes() directly returns the address read 
> from the BAR.
> But later we found device address doesn’t equal to CPU address, especially in 
> ARM platform.
> So in order to expose the offset of the two addresses, the 
> AddressTranslationOffset field was used.
> To avoid breaking the existing consumers, GetBarAttributes() remains to 
> return the BAR address.
>
> Anyone please correct me if I am wrong.
>

The spec is quite clear: the address descriptor should *not* contain
the raw BAR value, but the CPU's translated view. So I think we should
fix the implementation to comply with that.

The risk for breakage should be low, given that the translation is
zero in 99% of the cases anyway, especially on traditional UEFI (PC)
platforms.
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to