We're completely unable to run on x86 without the BIOS. We depend on it for the initial memory map, which we need in order not to tread on bits of address space that contain magic hardware. It provides the ACPI tables that we need in order to manage various bits of hardware at runtime. It gives us the information about the video hardware that's necessary in order to know which outputs are present and what the hardware can be clocked at.
The only thing EFI adds is some additional runtime services. The only one of those we actually need is the ability to set nvram variables. If we didn't have EFI we'd need to know the location of the flash and we'd need to know the internal storage format, and that's not something that's standardised.
Re: ignore BIOS^wEFI
The only thing EFI adds is some additional runtime services. The only one of those we actually need is the ability to set nvram variables. If we didn't have EFI we'd need to know the location of the flash and we'd need to know the internal storage format, and that's not something that's standardised.