[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