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.schucha...@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.apalodi...@linaro.org>

Reply via email to