-
Notifications
You must be signed in to change notification settings - Fork 37
Required EFI protocols
Heinrich Schuchardt edited this page Oct 26, 2020
·
24 revisions
Currently EBBR indicates the mandatory EFI protocols primarily by citing from the UEFI specification (section 2.6 Requirements). This brings in a lot of conditional platform specific requirements that are not approprate for embedded systems (see #60).
Protocol | Comment |
---|---|
EFI_DEVICE_PATH_PROTOCOL | available |
EFI_DEVICE_PATH_TO_TEXT_PROTOCOL | Only nodes used in U-Boot supported |
EFI_DEVICE_PATH_UTILITIES_PROTOCOL | available |
EFI_UNICODE_COLLATION_PROTOCOL2 | available |
EFI_DRIVER_BINDING_PROTOCOL | can be consumed by ConnectController() |
EFI_SIMPLE_TEXT_INPUT_PROTOCOL | available |
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL | available, toggle key cannot be set |
EFI_SIMPLE_TEXT_OUTPUT | available |
EFI_BLOCK_IO_PROTOCOL | available |
EFI_SIMPLE_FILE_SYSTEM_PROTOCOL | available, FAT bugs to be resolved, _EX functions not implemented |
EFI_LOADED_IMAGE_PROTOCOL | available |
EFI_GRAPHICS_OUTPUT_PROTOCOL | available |
EFI_HII_STRING_PROTOCOL | available, only needed for SCT |
EFI_HII_DATABASE_PROTOCOL | available, only needed for SCT |
EFI_HII_CONFIG_ROUTING_PROTOCOL | stub for SCT |
EFI_LOAD_FILE2_PROTOCOL | experimental support to provide initrd to Linux |
EFI_RNG_PROTOCOL | available if DM_RNG driver available |
EFI_SIMPLE_NETWORK_PROTOCOL | available, only required services |
EFI_PXE_BASE_CODE_PROTOCOL | stub for old versions of GRUB |
- LoadImage() should support EFI_LOAD_FILE2_PROTOCOL and EFI_LOAD_FILE_PROTOCOL
- ConnectController() should support EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL, EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL, EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL