mirror of
https://xff.cz/git/u-boot/
synced 2025-09-03 17:52:07 +02:00
efi_loader: Uri() device path node
iPXE used Uri() device path nodes. So we should support them in the device path to text protocol. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:
@@ -523,6 +523,7 @@ struct efi_device_path_acpi_path {
|
|||||||
# define DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS 0x0f
|
# define DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS 0x0f
|
||||||
# define DEVICE_PATH_SUB_TYPE_MSG_SATA 0x12
|
# define DEVICE_PATH_SUB_TYPE_MSG_SATA 0x12
|
||||||
# define DEVICE_PATH_SUB_TYPE_MSG_NVME 0x17
|
# define DEVICE_PATH_SUB_TYPE_MSG_NVME 0x17
|
||||||
|
# define DEVICE_PATH_SUB_TYPE_MSG_URI 0x18
|
||||||
# define DEVICE_PATH_SUB_TYPE_MSG_SD 0x1a
|
# define DEVICE_PATH_SUB_TYPE_MSG_SD 0x1a
|
||||||
# define DEVICE_PATH_SUB_TYPE_MSG_MMC 0x1d
|
# define DEVICE_PATH_SUB_TYPE_MSG_MMC 0x1d
|
||||||
|
|
||||||
@@ -587,6 +588,11 @@ struct efi_device_path_nvme {
|
|||||||
u8 eui64[8];
|
u8 eui64[8];
|
||||||
} __packed;
|
} __packed;
|
||||||
|
|
||||||
|
struct efi_device_path_uri {
|
||||||
|
struct efi_device_path dp;
|
||||||
|
u8 uri[];
|
||||||
|
} __packed;
|
||||||
|
|
||||||
#define DEVICE_PATH_TYPE_MEDIA_DEVICE 0x04
|
#define DEVICE_PATH_TYPE_MEDIA_DEVICE 0x04
|
||||||
# define DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH 0x01
|
# define DEVICE_PATH_SUB_TYPE_HARD_DRIVE_PATH 0x01
|
||||||
# define DEVICE_PATH_SUB_TYPE_CDROM_PATH 0x02
|
# define DEVICE_PATH_SUB_TYPE_CDROM_PATH 0x02
|
||||||
|
@@ -190,6 +190,19 @@ static char *dp_msging(char *s, struct efi_device_path *dp)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case DEVICE_PATH_SUB_TYPE_MSG_URI: {
|
||||||
|
struct efi_device_path_uri *udp =
|
||||||
|
(struct efi_device_path_uri *)dp;
|
||||||
|
int n;
|
||||||
|
|
||||||
|
n = (int)udp->dp.length - sizeof(struct efi_device_path_uri);
|
||||||
|
|
||||||
|
s += sprintf(s, "Uri(");
|
||||||
|
if (n > 0 && n < MAX_NODE_LEN - 6)
|
||||||
|
s += snprintf(s, n, "%s", (char *)udp->uri);
|
||||||
|
s += sprintf(s, ")");
|
||||||
|
break;
|
||||||
|
}
|
||||||
case DEVICE_PATH_SUB_TYPE_MSG_SD:
|
case DEVICE_PATH_SUB_TYPE_MSG_SD:
|
||||||
case DEVICE_PATH_SUB_TYPE_MSG_MMC: {
|
case DEVICE_PATH_SUB_TYPE_MSG_MMC: {
|
||||||
const char *typename =
|
const char *typename =
|
||||||
|
Reference in New Issue
Block a user