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

