3.7.1 Applications

A UEFI application starts execution at its entry point and then executes until it returns from its entry point or it calls the Exit() boot service function. When done, the image is unloaded from memory. It does not stay resident. Some examples of common UEFI applications include the following: - UEFI Shell

  • UEFI Shell Applications

  • Flash utilities

  • Diagnostic utilities

It is perfectly acceptable to invoke UEFI applications from inside other UEFI applications.

3.7.1.1 OS loader

The UEFI Specification details a special type of UEFI application called an OS boot loader. It is a UEFI application that calls ExitBootServices(). ExitBootServices() is called when the OS loader has set up enough of the OS infrastructure that it is ready to assume ownership of the system resources. At ExitBootServices(), the UEFI platform firmware frees all of its boot time services and boot time drivers, leaving only the runtime services and runtime drivers.