efi: app: Implement %pD in the app

This printf() extension is useful for the app. Add an implementation of
efi_dp_str() so that it works as expected.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2025-08-15 17:58:38 -06:00
parent 16ed1a82ab
commit fe33f0fbfb
3 changed files with 26 additions and 8 deletions

View File

@@ -11,12 +11,22 @@ config EFI
This is used to provide libraries shared by both.
if EFI_LOADER
config EFI_BINARY_EXEC
bool "Execute UEFI binary"
default y
depends on EFI_LOADER
help
Select this option if you want to execute the UEFI binary after
loading it with U-Boot load commands or other methods.
You may enable CMD_BOOTEFI_BINARY so that you can use bootefi
command to do that.
config EFI_DEVICE_PATH_TO_TEXT
bool "Device path to text protocol"
default y
help
The device path to text protocol converts device nodes and paths to
human readable strings.
endif # EFI_LOADER

View File

@@ -196,3 +196,18 @@ void efi_free_pool(void *ptr)
efi_free(priv, ptr);
}
/* helper for debug prints.. efi_free_pool() the result. */
uint16_t *efi_dp_str(struct efi_device_path *dp)
{
struct efi_priv *priv = efi_get_priv();
u16 *val;
if (!priv->efi_dp_to_text)
return NULL;
val = priv->efi_dp_to_text->convert_device_path_to_text(dp, true,
true);
return val;
}

View File

@@ -356,13 +356,6 @@ endmenu
menu "UEFI protocol support"
config EFI_DEVICE_PATH_TO_TEXT
bool "Device path to text protocol"
default y
help
The device path to text protocol converts device nodes and paths to
human readable strings.
config EFI_DEVICE_PATH_UTIL
bool "Device path utilities protocol"
default y