cb88 wrote: ↑Mon Aug 13, 2018 9:08 pm
Be nice.
UEFI has no concept of os loader either... it just loads executable modules and provides services to them if you want to keep being pedantic... and it just so happens those executable modules can be kernels.
it does have the concept. Read 2.1.3 of the specification.
2.1.3 UEFI OS Loaders
An OS loader is a special type of UEFI application that normally takes over control of the system from firmware conforming to this specification. When loaded, the OS loader behaves like any other UEFI application in that it must only use memory it has allocated from the firmware and can only use UEFI services and protocols to access the devices that the firmware exposes. If the OS Loader includes any boot service style driver functions, it must use the proper UEFI interfaces to obtain access to the bus specific-resources. That is, I/O and memory-mapped device registers must be accessed through the proper bus specific I/O calls like those that an UEFI driver would perform.
If the OS loader experiences a problem and cannot load its operating system correctly, it can release all allocated resources and return control back to the firmware via the Boot Service Exit() call. The Exit() call allows both an error code and ExitData to be returned. The ExitData contains both a string and OS loader-specific data to be returned.
If the OS loader successfully loads its operating system, it can take control of the system by using the Boot Service ExitBootServices(). After successfully calling ExitBootServices(), all boot services in the system are terminated, including memory management, and the OS loader is responsible for the continued operation of the system.
Taking control over the system by the loader is the thing making it not just an application.
UEFI cares about OS loaders. UEFI doesn't care about OSs. those monolithic ugly stupid bloats that their creators couldn't think out something smarter, of course could embed UEFI OS loader into their crap, but it's still is a freaking loader. Just bloated by idiots to several tens of megabytes.
The whole point was that the 32-bit UEFI OS loader could easily load and start its 64-bit kernel as opposed to what you said. if linux can't do that, I am happy for it! let them compile the whole UEFI into their kernel, maybe then they will be happy.