diff mbox series

[U-Boot] efi_loader: Setup logical_partition media information

Message ID 20171211182233.36676-1-manu@freebsd.org
State Accepted
Commit 5f7708362812dc5c0647cdae4f05a85e57b3cf32
Delegated to: Tom Rini
Headers show
Series [U-Boot] efi_loader: Setup logical_partition media information | expand

Commit Message

Emmanuel Vadot Dec. 11, 2017, 6:22 p.m. UTC
When adding a partition, set the logical_partition member in the media
structure as mandated by the UEFI spec.

Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
---
 lib/efi_loader/efi_disk.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Heinrich Schuchardt Dec. 12, 2017, 7:37 a.m. UTC | #1
On 12/11/2017 07:22 PM, Emmanuel Vadot wrote:
> When adding a partition, set the logical_partition member in the media
> structure as mandated by the UEFI spec.
> 
> Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
> ---
>   lib/efi_loader/efi_disk.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
> index 4e457a841b..d299fc8dea 100644
> --- a/lib/efi_loader/efi_disk.c
> +++ b/lib/efi_loader/efi_disk.c
> @@ -258,6 +258,8 @@ static void efi_disk_add_dev(const char *name,
>   	diskobj->media.block_size = desc->blksz;
>   	diskobj->media.io_align = desc->blksz;
>   	diskobj->media.last_block = desc->lba - offset;
> +	if (part != 0)
> +		diskobj->media.logical_partition = 1;
>   	diskobj->ops.media = &diskobj->media;
>   	return;
>   out_of_memory:
> 

Setting logical_partition is described in chapter
13.9 Block I/O Protocol of UEFI Spec 2.7.

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tom Rini Dec. 19, 2017, 8:44 p.m. UTC | #2
On Mon, Dec 11, 2017 at 07:22:33PM +0100, Emmanuel Vadot wrote:

> When adding a partition, set the logical_partition member in the media
> structure as mandated by the UEFI spec.
> 
> Signed-off-by: Emmanuel Vadot <manu@freebsd.org>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/lib/efi_loader/efi_disk.c b/lib/efi_loader/efi_disk.c
index 4e457a841b..d299fc8dea 100644
--- a/lib/efi_loader/efi_disk.c
+++ b/lib/efi_loader/efi_disk.c
@@ -258,6 +258,8 @@  static void efi_disk_add_dev(const char *name,
 	diskobj->media.block_size = desc->blksz;
 	diskobj->media.io_align = desc->blksz;
 	diskobj->media.last_block = desc->lba - offset;
+	if (part != 0)
+		diskobj->media.logical_partition = 1;
 	diskobj->ops.media = &diskobj->media;
 	return;
 out_of_memory: