summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/FirmwareKit
diff options
context:
space:
mode:
Diffstat (limited to 'dev/kernel/FirmwareKit')
-rw-r--r--dev/kernel/FirmwareKit/EFI.h1
-rw-r--r--dev/kernel/FirmwareKit/EFI/EFI.h30
-rw-r--r--dev/kernel/FirmwareKit/GPT.h10
-rw-r--r--dev/kernel/FirmwareKit/Handover.h16
4 files changed, 30 insertions, 27 deletions
diff --git a/dev/kernel/FirmwareKit/EFI.h b/dev/kernel/FirmwareKit/EFI.h
index e4e78720..ca4360b1 100644
--- a/dev/kernel/FirmwareKit/EFI.h
+++ b/dev/kernel/FirmwareKit/EFI.h
@@ -7,5 +7,6 @@
#pragma once
#include <FirmwareKit/EFI/EFI.h>
+#include <FirmwareKit/GPT.h>
/// @note this header is used to reference the EFI/EFI.h
diff --git a/dev/kernel/FirmwareKit/EFI/EFI.h b/dev/kernel/FirmwareKit/EFI/EFI.h
index 24f474d1..2772582b 100644
--- a/dev/kernel/FirmwareKit/EFI/EFI.h
+++ b/dev/kernel/FirmwareKit/EFI/EFI.h
@@ -380,25 +380,25 @@ typedef UInt8 EfiMacAddress[32];
typedef struct
{
- UInt32 State;
- UInt32 HwAddressSize;
- UInt32 MediaHeaderSize;
- UInt32 MaxPacketSize;
- UInt32 NvRamSize;
- UInt32 NvRamAccessSize;
- UInt32 ReceiveFilterMask;
- UInt32 ReceiveFilterSetting;
- UInt32 MaxMCastFilterCount;
- UInt32 MCastFilterCount;
+ UInt32 State;
+ UInt32 HwAddressSize;
+ UInt32 MediaHeaderSize;
+ UInt32 MaxPacketSize;
+ UInt32 NvRamSize;
+ UInt32 NvRamAccessSize;
+ UInt32 ReceiveFilterMask;
+ UInt32 ReceiveFilterSetting;
+ UInt32 MaxMCastFilterCount;
+ UInt32 MCastFilterCount;
EfiMacAddress MCastFilter[MAX_MCAST_FILTER_CNT];
EfiMacAddress CurrentAddress;
EfiMacAddress BroadcastAddress;
EfiMacAddress PermanentAddress;
- UInt8 IfType;
- BOOL MacAddressChangeable;
- BOOL MultipleTxSupported;
- BOOL MediaPresentSupported;
- BOOL MediaPresent;
+ UInt8 IfType;
+ BOOL MacAddressChangeable;
+ BOOL MultipleTxSupported;
+ BOOL MediaPresentSupported;
+ BOOL MediaPresent;
} EFI_SIMPLE_NETWORK_MODE;
typedef EFI_STATUS(EFIAPI* EFI_SIMPLE_NETWORK_TRANSMIT)(
diff --git a/dev/kernel/FirmwareKit/GPT.h b/dev/kernel/FirmwareKit/GPT.h
index 0515af8a..dc2b5ce3 100644
--- a/dev/kernel/FirmwareKit/GPT.h
+++ b/dev/kernel/FirmwareKit/GPT.h
@@ -9,9 +9,11 @@
#include <NewKit/Defines.h>
#include <FirmwareKit/EFI/EFI.h>
-#define kSectorAlignGPT_PartTbl (420U)
+#define kSectorAlignGPT_PartTbl (420U)
#define kSectorAlignGPT_PartEntry (72U)
-#define kPartNameGPT (8U)
+#define kMagicLenGPT (8U)
+#define kMagicGPT ("EFI PART") // "EFI PART"
+#define kGPTPartitionTableLBA (512U + sizeof(GPT_PARTITION_TABLE))
namespace Kernel
{
@@ -30,10 +32,10 @@ namespace Kernel
struct PACKED GPT_PARTITION_TABLE final
{
- Char PartitionName[kPartNameGPT];
+ Char Signature[kMagicLenGPT];
UInt32 Revision;
UInt32 HeaderSize;
- UInt32 ChecksumCRC32;
+ UInt32 CRC32;
UInt32 Reserved1;
UInt64 LBAHeader;
UInt64 LBAAltHeader;
diff --git a/dev/kernel/FirmwareKit/Handover.h b/dev/kernel/FirmwareKit/Handover.h
index 4ff04e6d..3a5e9e19 100644
--- a/dev/kernel/FirmwareKit/Handover.h
+++ b/dev/kernel/FirmwareKit/Handover.h
@@ -75,11 +75,11 @@ namespace Kernel::HEL
struct
{
- VoidPtr f_SmBios;
- VoidPtr f_VendorPtr;
- VoidPtr f_MpPtr;
- Bool f_MultiProcessingEnabled;
- UInt32 f_ImageKey;
+ VoidPtr f_SmBios;
+ VoidPtr f_VendorPtr;
+ VoidPtr f_MpPtr;
+ Bool f_MultiProcessingEnabled;
+ UInt32 f_ImageKey;
EfiHandlePtr f_ImageHandle;
} f_HardwareTables;
@@ -98,9 +98,9 @@ namespace Kernel::HEL
enum
{
- kHandoverSpecificKind,
- kHandoverSpecificAttrib,
- kHandoverSpecificMemoryEfi,
+ kHandoverTableBS,
+ kHandoverTableST,
+ kHandoverTableCount,
};
/// @brief Alias of bootloader main type.