9 ms·
While UEFI is a specification, every implementation I'm aware of is based on EDK. Practically speaking, all UEFI implementations are at least as complicated as
by mjg59 15y ago
While UEFI is a specification, every implementation I'm aware of is based on EDK. Practically speaking, all UEFI implementations are at least as complicated as EDK, and so are as complicated as the Linux kernel. The SCT is impressive, but only really ensures that an implementation gives appropriate results when well formed input are given to it. That gives very little indication of what the real world issues are in a code base, since we can generally assume that the real world is rather less competent at providing well formed input than a test suite is.
I've hit two real and severe bugs in EDK, one of which merely tended to crash any OS on boot and one of which allowed me to brick any hardware using the EDK BDS implementation to the point where recovery involved physical reflashing of the firmware.
Reality is that any codebase is, practically speaking, untested until it's been exposed to the real world. EDK, Tiano, and basically every real-world UEFI implementation haven't as yet. Putting them in the hands of people is going to find new bugs, and some of those are going to compromise operating systems. That's not a criticism of any part of the UEFI development process. It's a description of reality.