On 2018.12.12 18:32, Leif Lindholm wrote:
On Tue, Dec 11, 2018 at 08:16:07PM +0000, Pete Batard wrote:
I _think_ all of the ATF binaries we have in non-osi are
non-upstream. If the port for the rpi3 is upstream, I would be just as
happy to have simple build instructions of a known good commit (with
notes on toolchain version tested) in the Readme.md - and possibly a
placeholder directory with a .inf in to drop a prebuilt image into.
Well, while it is upstream, it is built using a custom rpi3 specific option
which we had ATF to add, so that we could get a memory mapping that works
with Windows (default one was okay for Linux but not Windows). So I doubt we
will ever get upstream binaries that we can use as is, if that's what you
are alluding to.
I don't really care all that much about that, but if we need
modifications to run Windows (and nothing prevents that from working
with Linux), then should we try to change the upstream defaults?
The problem here is U-Boot.
The RPi3 ATF has pretty much been designed around U-Boot usage (since it
was its only consumer until now), so, to achieve the above, we'll need
to validate that we aren't going to break anything for downstream
RPi3/U-Boot users, which I don't think we can accomplish in a reasonable
timeframe.
When I mentioned that the ATF works with Linux and Windows, I meant
"when used as part of an UEFI payload". But I have yet to run any
comprehensive test of our UEFI-tailored ATF within a U-Boot payload. And
even though nobody should be relying on a fixed memory mapping, I do
some have concerns that some people might have downstream elements that
are tailored around the current U-Boot friendly memory mapping, which we
might break.
As such, I'd rather first see usage of the UEFI bootloader take off with
a few Linux distros, after it has been officialized in edk2-platforms,
so that we can have a bit more weight in asking the U-Boot folks whether
they'd consider using our memory mapping as default.
But for me, I'd be happy with just the build instructions you have,
and no binaries/license, in
edk2-platforms/Platform/RaspberryPi/RPi3/Arm-Tf/, with the user having
to drop in their own binaries.
In that case, I think I'd still like to provide some links to
downloadable binaries, for people who don't want to have to rebuild ATF,
and who consider that download links provided in an official readme
should be trustworthy enough.
I can certainly upload binary releases for the required ATF files in my
github clone of ATF, and then add links to that in the readme with the
instructions on how to rebuild ATF.
However, I'd rather wait to do that until there has been an official
tagged new release for ATF (which would be 2.1 at this stage, since our
changes have been applied after 2.0), as it'll look better for Pi users
to see an initial ATF serial output that says "BL<#>: v2.1(release)"
instead of the current "BL<#>: v2.0(release):v2.0-278-gc3859557"
How about this then: If ATF produces a formal release before this
proposal is integrated, I'll amend it to remove the ATF binary blobs and
apply the suggestion above, with the Atf/ build/link data moved out of
non-osi. But if they don't, I'll keep the proposal for ATF as is, and
then submit a patch to remove the non-osi data and apply the above at a
later date, once there has been a new ATF release.
Regards,
/Pete
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel