This implementation doesn't have any major deviations from the other EFI
ports, and I've copied the boilerplate from arm64 for the most part.
I've tested this with the following boot flows:
OpenSBI (M-mode) -> u-boot (S-mode) -> loader.efi -> FreeBSD
OpenSBI (M-mode) -> u-boot (S-mode) -> boot1.efi -> loader.efi -> FreeBSD
Due to the way that u-boot handles secondary CPUs, we will require
OpenSBI >= v0.7, as the HSM extension is needed to bring them up
explicitly. Additionally, all of the necessary changes for booting will
be present in the upcoming u-boot v2020.07 release.