[PATCH 1/2] efi_loader: support for Ctrl() device path node
Ilias Apalodimas
ilias.apalodimas at linaro.org
Mon Mar 20 08:39:48 CET 2023
On Sun, Mar 19, 2023 at 04:18:08PM +0100, Heinrich Schuchardt wrote:
> * Add the definitions for Ctrl() device path nodes.
> * Implement Ctrl() nodes in the device path to text protocol.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> include/efi_api.h | 6 ++++++
> lib/efi_loader/efi_device_path_to_text.c | 7 +++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/include/efi_api.h b/include/efi_api.h
> index 2d18d25a71..c57868abbd 100644
> --- a/include/efi_api.h
> +++ b/include/efi_api.h
> @@ -570,6 +570,7 @@ struct efi_mac_addr {
> #define DEVICE_PATH_TYPE_HARDWARE_DEVICE 0x01
> # define DEVICE_PATH_SUB_TYPE_MEMORY 0x03
> # define DEVICE_PATH_SUB_TYPE_VENDOR 0x04
> +# define DEVICE_PATH_SUB_TYPE_CONTROLLER 0x05
>
> struct efi_device_path_memory {
> struct efi_device_path dp;
> @@ -584,6 +585,11 @@ struct efi_device_path_vendor {
> u8 vendor_data[];
> } __packed;
>
> +struct efi_device_path_controller {
> + struct efi_device_path dp;
> + u32 controller_number;
> +} __packed;
> +
> #define DEVICE_PATH_TYPE_ACPI_DEVICE 0x02
> # define DEVICE_PATH_SUB_TYPE_ACPI_DEVICE 0x01
>
> diff --git a/lib/efi_loader/efi_device_path_to_text.c b/lib/efi_loader/efi_device_path_to_text.c
> index 9062058ac2..9c0b39311a 100644
> --- a/lib/efi_loader/efi_device_path_to_text.c
> +++ b/lib/efi_loader/efi_device_path_to_text.c
> @@ -77,6 +77,13 @@ static char *dp_hardware(char *s, struct efi_device_path *dp)
> s += sprintf(s, ")");
> break;
> }
> + case DEVICE_PATH_SUB_TYPE_CONTROLLER: {
> + struct efi_device_path_controller *cdp =
> + (struct efi_device_path_controller *)dp;
> +
> + s += sprintf(s, "Ctrl(0x%0x)", cdp->controller_number);
> + break;
> + }
> default:
> s = dp_unknown(s, dp);
> break;
> --
> 2.39.2
>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>
More information about the U-Boot
mailing list