Re: [PATCH 1/2] efi_loader: support for Ctrl() device path node
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 > --- > 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_MEMORY0x03 > # define DEVICE_PATH_SUB_TYPE_VENDOR0x04 > +# define DEVICE_PATH_SUB_TYPE_CONTROLLER0x05 > > 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
Re: [PATCH 1/2] efi_loader: support for Ctrl() device path node
On Mon, 20 Mar 2023 at 04:18, 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 > --- > include/efi_api.h| 6 ++ > lib/efi_loader/efi_device_path_to_text.c | 7 +++ > 2 files changed, 13 insertions(+) > Reviewed-by: Simon Glass
[PATCH 1/2] efi_loader: support for Ctrl() device path node
* Add the definitions for Ctrl() device path nodes. * Implement Ctrl() nodes in the device path to text protocol. Signed-off-by: Heinrich Schuchardt --- 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