On Fri, Feb 05, 2016 at 09:17:37AM +0000, Ryan Harkin wrote:
On 5 February 2016 at 08:42, Ard Biesheuvel ard.biesheuvel@linaro.org wrote
Ard's last comment on the idea of removing FVP was:
"I am happy to switch to OpenPlatformPkg for building those once it is synced up with EDK2"
... which is now the case.
OK, so there are two aspects to take into consideration here:
- we need reference code in EDK2 in can be reused as a starting point
for porting it to new ARM platforms
I don't understand why we need reference code specifically in EDK2.
And, like LibNull, FVP is exactly not the place for someone to start porting to a new platform. It's a horrible mess of copy and paste hackery.
Agreed on both counts.
Clearly, we will want this for Tianocore in general, not just the ARM bits. For now, I'm staging the platforms I can get hold of, regardless of architecture, into OpenPlatformPkg.
- we need to support actual users of FVP Foundation model and FVP Base model.
So while I am perfectly happy to build my EDK2 snapshots for FVP from OpenPlatformPkg, I think the pragmatism involved in keeping things working for actual users (i.e., kick the GICv3 in v2 mode, or other platform specific workarounds) does not belong in the upstream reference code. So perhaps we can keep ArmPlatformPkg/FVP in EDK2 (and I don't mind picking up the maintainership),
I have no objection to you doing that, although I think you're crazy ;-) Once code is migrated to OpenPlatformPkg, I won't be checking back to see what's happened in the meantime, so it's no extra work for me.
I actually see it as directly conterproductive. People doing actual development on ARM platforms _should_ be verifying they don't break platforms in OpenPlatformPkg (or at least let people know when they do).
People just wanting to verify they have not broken the ARM architectures have ArmVirtPkg.
We badly need to stop seeing every new platform port including ArmVExpress.dsc.inc.
Long term, I will have migrated all of ArmPlatformPkg to OpenPlatformPkg and it will look completely different.
but reverse the roles, i.e., anyone that is interested in running it on the latest model/ATF should be using OpenPlatformPkg, but we keep a version in EDK2 that is clean from hacks you will need to actually build and run it.
OpenPlatformPkg will not contain any hacks beyond those already in EDK2. (I don't count having the option to build with GICv2 Legacy mode as a hack, that's a feature in the architecture that we were forced to use and the code builds with GICv3 by default).
The idea is to clean the platform support, make it more maintainable and a good place to start when creating a new platform.
Any hacks that I currently host are in my own forks of the EDK2 and OPP trees.
All good from my perspective.
ARM Platforms in EDK2 are currently unusable for what most people outside of enterprise use cases want.
Funny, I would say the exact opposite.
Unless we're talking about legacy tickbox "can boot Android in a reqlly contrived way"? Which I don't think matters to users of real devices.
Regards,
Leif