mirror of
https://github.com/linux-sunxi/u-boot-sunxi.git
synced 2024-02-12 11:16:03 +08:00
part: extract MBR signature from partitions
EFI client programs need the signature information from the partition table to determine the disk a partition is on, so we need to fill that in here. Signed-off-by: Peter Jones <pjones@redhat.com> [separated from efi_loader part, and fixed build-errors for non- CONFIG_EFI_PARTITION case] Signed-off-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:

committed by
Alexander Graf

parent
0d6ab32e37
commit
ff98cb9051
@ -8,6 +8,8 @@
|
||||
#ifndef BLK_H
|
||||
#define BLK_H
|
||||
|
||||
#include <efi.h>
|
||||
|
||||
#ifdef CONFIG_SYS_64BIT_LBA
|
||||
typedef uint64_t lbaint_t;
|
||||
#define LBAFlength "ll"
|
||||
@ -40,6 +42,17 @@ enum if_type {
|
||||
#define BLK_PRD_SIZE 20
|
||||
#define BLK_REV_SIZE 8
|
||||
|
||||
/*
|
||||
* Identifies the partition table type (ie. MBR vs GPT GUID) signature
|
||||
*/
|
||||
enum sig_type {
|
||||
SIG_TYPE_NONE,
|
||||
SIG_TYPE_MBR,
|
||||
SIG_TYPE_GUID,
|
||||
|
||||
SIG_TYPE_COUNT /* Number of signature types */
|
||||
};
|
||||
|
||||
/*
|
||||
* With driver model (CONFIG_BLK) this is uclass platform data, accessible
|
||||
* with dev_get_uclass_platdata(dev)
|
||||
@ -67,6 +80,11 @@ struct blk_desc {
|
||||
char vendor[BLK_VEN_SIZE + 1]; /* device vendor string */
|
||||
char product[BLK_PRD_SIZE + 1]; /* device product number */
|
||||
char revision[BLK_REV_SIZE + 1]; /* firmware revision */
|
||||
enum sig_type sig_type; /* Partition table signature type */
|
||||
union {
|
||||
uint32_t mbr_sig; /* MBR integer signature */
|
||||
efi_guid_t guid_sig; /* GPT GUID Signature */
|
||||
};
|
||||
#if CONFIG_IS_ENABLED(BLK)
|
||||
/*
|
||||
* For now we have a few functions which take struct blk_desc as a
|
||||
|
Reference in New Issue
Block a user