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>