Pull request for efi-2023-04-rc6

Documentation:
 
 * describe skipping triggering a pipeline in Gitlab
 
 UEFI:
 
 * correct shortening of device-paths for boot options
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEbcT5xx8ppvoGt20zxIHbvCwFGsQFAmQoFXUACgkQxIHbvCwF
 GsT+Kg/+J77C3UXUhd9xc1zDf1UXpWZ62gMatngK4p3dmu2kuN9e0E4k97wHDQpw
 6L56Re95P9gBZCjLHo7Fx4zo07znv6cQfl2ps28u+j7cd8OJcmxpdS+r00wlGu+y
 y5zNW9abW0U7neyc3FIDRWFwNRw4i+uSQ3k4184rPrSlJamAp7PkIb2uctcZhAmw
 G2/esIcSzzlhjMfLhUjAG9ibJSuBzcm+8DvS2my4qoiHFAXS3S3D0Clzmw9+nLYT
 PWRRRB8I/rOKMpwa6g8OvzB4XPiWH54LeEmTPUd1M5jZCKq6t1wbw3bwhrJA+IX8
 q0Bj9fpRGMK3WFMfhwK7DpxuBKUocEXj0a9pw1RJZvKKDRPpnQ9nOOo+zGinycQ1
 4+aA9sJML8Gr/91XvEwkKbNty1EJqq6RBk/+4/bfWZAFfWfzD4PyxRz9iY951D43
 LPqk00Z+qKToskHOjeKNrAv4ZNW3ass1fIAoSuiZ3oV5RO/ize/aCWHEMnlA9UL3
 4IaxhKZ2mpSV3PkUeaAbNyeusZyP+3aSijEGT7tqFqS/6EaWq3zkdHL/hpgwy/HD
 ylx/Co8+MycoGlRafISyZWm2RvFAQTxV7GAAAfgBu52JdIYmer28yigDQ4wjvkhG
 Q4f+rAgZNjQT8BTrS+CKfyWpUZXz8cgABVi2d7/4NWYlJQ+XkmU=
 =sS2b
 -----END PGP SIGNATURE-----

Merge tag 'efi-2023-04-rc6' of https://source.denx.de/u-boot/custodians/u-boot-efi

Pull request for efi-2023-04-rc6

Documentation:

* describe skipping triggering a pipeline in Gitlab

UEFI:

* correct shortening of device-paths for boot options
This commit is contained in:
Tom Rini 2023-04-01 10:55:06 -04:00
commit 6c617e082d
4 changed files with 15 additions and 17 deletions

View file

@ -50,6 +50,12 @@ runners you are able to provide. While it is intended to be able to run this
pipeline on the free public instances provided at https://gitlab.com/ a problem
with our squashfs tests currently prevents this.
To push to Gitlab without triggering a pipeline use:
.. code-block:: bash
git push -o ci.skip
Docker container
----------------

View file

@ -26,7 +26,7 @@ config SCSI_AHCI_PLAT
This is deprecated. An AHCI driver should be provided instead.
config SYS_SCSI_MAX_SCSI_ID
int "Maximum supporedt SCSI ID"
int "Maximum supported SCSI ID"
default 1
help
Sets the maximum number of SCSI IDs to scan when looking for devices.

View file

@ -610,6 +610,7 @@ struct efi_device_path_acpi_path {
# define DEVICE_PATH_SUB_TYPE_MSG_MAC_ADDR 0x0b
# define DEVICE_PATH_SUB_TYPE_MSG_UART 0x0e
# define DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS 0x0f
# define DEVICE_PATH_SUB_TYPE_MSG_USB_WWI 0x10
# define DEVICE_PATH_SUB_TYPE_MSG_SATA 0x12
# define DEVICE_PATH_SUB_TYPE_MSG_NVME 0x17
# define DEVICE_PATH_SUB_TYPE_MSG_URI 0x18

View file

@ -124,17 +124,13 @@ int efi_dp_match(const struct efi_device_path *a,
/**
* efi_dp_shorten() - shorten device-path
*
* We can have device paths that start with a USB WWID or a USB Class node,
* and a few other cases which don't encode the full device path with bus
* hierarchy:
* When creating a short boot option we want to use a device-path that is
* independent of the location where the block device is plugged in.
*
* * MESSAGING:USB_WWID
* * MESSAGING:USB_CLASS
* * MEDIA:FILE_PATH
* * MEDIA:HARD_DRIVE
* * MESSAGING:URI
* UsbWwi() nodes contain a serial number, hard drive paths a partition
* UUID. Both should be unique.
*
* See UEFI spec (section 3.1.2, about short-form device-paths)
* See UEFI spec, section 3.1.2 for "short-form device path".
*
* @dp: original device-path
* @Return: shortened device-path or NULL
@ -142,12 +138,7 @@ int efi_dp_match(const struct efi_device_path *a,
struct efi_device_path *efi_dp_shorten(struct efi_device_path *dp)
{
while (dp) {
/*
* TODO: Add MESSAGING:USB_WWID and MESSAGING:URI..
* in practice fallback.efi just uses MEDIA:HARD_DRIVE
* so not sure when we would see these other cases.
*/
if (EFI_DP_TYPE(dp, MESSAGING_DEVICE, MSG_USB) ||
if (EFI_DP_TYPE(dp, MESSAGING_DEVICE, MSG_USB_WWI) ||
EFI_DP_TYPE(dp, MEDIA_DEVICE, HARD_DRIVE_PATH) ||
EFI_DP_TYPE(dp, MEDIA_DEVICE, FILE_PATH))
return dp;
@ -749,7 +740,7 @@ __maybe_unused static void *dp_fill(void *buf, struct udevice *dev)
#endif
#if defined(CONFIG_USB)
case UCLASS_MASS_STORAGE: {
struct blk_desc *desc = desc = dev_get_uclass_plat(dev);
struct blk_desc *desc = dev_get_uclass_plat(dev);
struct efi_device_path_controller *dp =
dp_fill(buf, dev->parent);