27 Load File Driver Design Guidelines

The Load File Protocol is used to support booting from a device type which does not fit cleanly into any of the standard device types supported by the UEFI Specification. A UEFI Boot Manager can only boot through the Simple File System Protocol or the Load File Protocol. If a device must be a boot device and cannot directly or indirectly produce the Simple File System Protocol or indirectly produce the Load File Protocol, then a Load File Protocol must be implemented. The indirect production of Simple File System and the Load File Protocol may not always be obvious. The EDK II provides a number of platform-agnostic drivers that help produce the Simple File System Protocol and the Load File Protocol through several layers of UEFI drivers. For example, a UEFI Driver that produces the Block I/O Protocol is sufficient to produce the Simple File System Protocol if the Disk I/O Driver, Partition Driver, and FAT File System Driver are also included in the platform. Review all the other boot device types described in this guide and the UEFI Specification before choosing to implement the Load File Protocol.

Note: The Load File Protocol should not be implemented for any standard device type which has a defined driver hierarchy (e.g. USB, SCSI, and ATA).