It appears to me that while TianoCore ARMv8 support is in place, support for 64-bit memory maps is not. The ARM models have all memory (or at least first 2GB) and peripherals below 4GB. The ARM code is very much not 32/64 bit portable. I see lots of places where UINTN is used to cast addresses. This will need to be addressed for any "real" 64-bit platforms.
The things I've found and started fixing so far are:
- Flash base - System memory base - Global variable base
It's not clear to me how much more of this stuff there is. Any knowledge or input here would be helpful. I would guess the common code is 64-bit safe and this issue is only with the ARM code.
While I hope these are all restrictions of the ARM port, are there any general EFI requirements about having memory or peripherals below 4GB (on 64-bit systems)?
Rob