GPT & MBR EFI support
All checks were successful
ci/woodpecker/push/build Pipeline was successful

This commit is contained in:
Rafal Kupiec 2022-07-31 23:29:53 +02:00
parent 9ba3c6a348
commit 231938766c
Signed by: belliash
GPG Key ID: 4E829243E0CFE6B4

View File

@ -294,6 +294,10 @@ typedef struct _EFI_PLATFORM_DRIVER_OVERRIDE_PROTOCOL EFI_PLATFORM_DRIVER_OVERRI
typedef struct _EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL EFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL, *PEFI_BUS_SPECIFIC_DRIVER_OVERRIDE_PROTOCOL;
typedef struct _EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL EFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL, *PEFI_DRIVER_FAMILY_OVERRIDE_PROTOCOL;
typedef struct _EFI_EBC_PROTOCOL EFI_EBC_PROTOCOL, *PEFI_EBC_PROTOCOL;
typedef struct _EFI_MBR_PARTITION_RECORD EFI_MBR_PARTITION_RECORD, *PEFI_MBR_PARTITION_RECORD;
typedef struct _EFI_MASTER_BOOT_RECORD EFI_MASTER_BOOT_RECORD, *PEFI_MASTER_BOOT_RECORD;
typedef struct _EFI_GPT_PARTITION_TABLE_HEADER EFI_GPT_PARTITION_TABLE_HEADER, *PEFI_GPT_PARTITION_TABLE_HEADER;
typedef struct _EFI_GPT_PARTITION_ENTRY EFI_GPT_PARTITION_ENTRY, *PEFI_GPT_PARTITION_ENTRY;
/* EFI unions forward references */
typedef union _EFI_DEV_PATH EFI_DEV_PATH, *PEFI_DEV_PATH;
@ -1593,4 +1597,55 @@ typedef struct _EFI_EBC_PROTOCOL
PEFI_EBC_GET_VERSION GetVersion;
} EFI_EBC_PROTOCOL, *PEFI_EBC_PROTOCOL;
/* MBR partition information */
typedef struct _EFI_MBR_PARTITION_RECORD
{
UINT8 BootIndicator;
UINT8 StartHead;
UINT8 StartSector;
UINT8 StartTrack;
UINT8 OSIndicator;
UINT8 EndHead;
UINT8 EndSector;
UINT8 EndTrack;
UINT8 StartingLBA[4];
UINT8 SizeInLBA[4];
} EFI_MBR_PARTITION_RECORD, *PEFI_MBR_PARTITION_RECORD;
/* Master Boot Record (MBR) information */
typedef struct _EFI_MASTER_BOOT_RECORD
{
UINT8 BootStrapCode[440];
UINT8 UniqueMbrSignature[4];
UINT8 Unknown[2];
EFI_MBR_PARTITION_RECORD Partition[4];
UINT16 Signature;
} EFI_MASTER_BOOT_RECORD, *PEFI_MASTER_BOOT_RECORD;
/* GUID Partition Table (GPT) header */
typedef struct _EFI_GPT_PARTITION_TABLE_HEADER
{
EFI_TABLE_HEADER Header;
EFI_LBA MyLBA;
EFI_LBA AlternateLBA;
EFI_LBA FirstUsableLBA;
EFI_LBA LastUsableLBA;
EFI_GUID DiskGUID;
EFI_LBA PartitionEntryLBA;
UINT32 NumberOfPartitionEntries;
UINT32 SizeOfPartitionEntry;
UINT32 PartitionEntryArrayCRC32;
} EFI_GPT_PARTITION_TABLE_HEADER, *PEFI_GPT_PARTITION_TABLE_HEADER;
/* GUID Partition Table (GPT) partition entry */
typedef struct _EFI_GPT_PARTITION_ENTRY
{
EFI_GUID PartitionTypeGUID;
EFI_GUID UniquePartitionGUID;
EFI_LBA StartingLBA;
EFI_LBA EndingLBA;
UINT64 Attributes;
UINT16 PartitionName[36];
} EFI_GPT_PARTITION_ENTRY, *PEFI_GPT_PARTITION_ENTRY;
#endif /* __XTDK_XTUEFI_H */