From d302a6f4761ef2eee60416736ffb24144cbe6cc9 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 7 Jan 2025 21:51:37 +0100 Subject: ADD: Refactor EPM according to specs. --- dev/Kernel/FirmwareKit/EPM.h | 8 ++++---- dev/Kernel/FirmwareKit/GPT.h | 11 ++++++++++- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'dev/Kernel/FirmwareKit') diff --git a/dev/Kernel/FirmwareKit/EPM.h b/dev/Kernel/FirmwareKit/EPM.h index 8987ae6f..101316e4 100644 --- a/dev/Kernel/FirmwareKit/EPM.h +++ b/dev/Kernel/FirmwareKit/EPM.h @@ -50,7 +50,7 @@ ///! @brief partition must start at this address. ///! Anything below is reserved for Data backup by the Main OS. -#define kEPMPartBlockLba (sizeof(EPM_BOOT_BLOCK)) +#define kEPMPartBlockLba (sizeof(EPM_PART_BLOCK)) ///! @brief Current EPM revision. #define kEPMRevisionBcd (0x0100) @@ -61,7 +61,7 @@ #define kEPMReserveLen (401) struct EPM_GUID; -struct EPM_BOOT_BLOCK; +struct EPM_PART_BLOCK; /* The first 0 > 128 addresses of a disk contains these headers. */ @@ -78,7 +78,7 @@ typedef struct EPM_GUID * @brief The EPM boot block. * @note NumBlock and LbaStart are ignored on some platforms. */ -struct PACKED EPM_BOOT_BLOCK +struct PACKED EPM_PART_BLOCK { Kernel::Char Magic[kEPMMagicLength]; Kernel::Char Name[kEPMNameLength]; @@ -107,6 +107,6 @@ enum kEPMInvalidOS = 0xff, }; -typedef struct EPM_BOOT_BLOCK BOOT_BLOCK_STRUCT; +typedef struct EPM_PART_BLOCK BOOT_BLOCK_STRUCT; #endif // ifndef FIRMWAREKIT_EPM_H diff --git a/dev/Kernel/FirmwareKit/GPT.h b/dev/Kernel/FirmwareKit/GPT.h index 1427ca31..2e72f0b6 100644 --- a/dev/Kernel/FirmwareKit/GPT.h +++ b/dev/Kernel/FirmwareKit/GPT.h @@ -13,10 +13,19 @@ namespace Kernel { - typedef EfiGUID GPT_GUID; + struct GPT_GUID; struct GPT_PARTITION_TABLE; struct GPT_PARTITION_ENTRY; + /// @brief GPT GUID structure. + typedef struct GPT_GUID + { + Kernel::UInt32 Data1; + Kernel::UInt16 Data2; + Kernel::UInt16 Data3; + Kernel::UInt8 Data4[8]; + } GPT_GUID; + struct PACKED GPT_PARTITION_TABLE final { Char PartitionName[8]; -- cgit v1.2.3