This patch is a redo of the EFI refactoring, with a lot of the complexity removes. It basically refactors boot1 to use the same IO code as loader.
This opens the way to a lot of follow-up work, including GELI support for EFI, volume selection in boot1, and other things.
This should be sorted, it was missed when arm was added, but that shouldn't mean we do the same with AArch64.