
Hi,
uboot for example implements uefi unterfaces too (dunno how complete, but reportly recent versions can run uefi shell and grub just fine).
Indeed: when I was struggling with this enum type and tried to look for more firmware types to add, my googling turned up the "UEFI on Top of U-Boot" whitepaper, from Alex and Andreas :)
In case you wanna play: uboot supports x86 qemu meanwhile, so you can try install u-boot.git-x86 from my firmware repo, then run "qemu-system-x86_64 -bios /usr/share/u-boot.git/x86/qemu-pc/u-boot.rom". It certainly isn't a useful edk2 replacement atm. It has no virtio drivers. And even when using ide storage its not like it would happily boot a fedora live iso. So I certainly wouldn't tag that as uefi today. That might change at some point in the future though.
Again, this reaches to the root of the problem: when a user creates a new domain, using high-level tools, they just want to tick "UEFI". (Dan has emphasized this to me several times, so I think I get the idea by now, if not the full environment.) We cannot ask the user, "please be more specific, do you want UEFI from edk2, or UEFI on top of U-Boot?"
Well, in case the uefi support in u-boot is good enough some day then it doesn't matter to the user whenever uboot or edk2 boots the efi guest from disk/iso, right? cheers, Gerd