From 6ec265ee805db6ced0aca0b718a703cc87093b93 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 22 Apr 2024 22:00:23 +0200 Subject: MHR-11: Specify CPU and sub CPU type inside container formats. Signed-off-by: Amlal El Mahrouss --- Private/KernelKit/PEF.hpp | 11 ++++++++++- Private/KernelKit/PEFCodeManager.hxx | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'Private/KernelKit') diff --git a/Private/KernelKit/PEF.hpp b/Private/KernelKit/PEF.hpp index bc2e0990..9fabb189 100644 --- a/Private/KernelKit/PEF.hpp +++ b/Private/KernelKit/PEF.hpp @@ -24,7 +24,7 @@ #define kPefMagicLen 5 #define kPefVersion 1 -#define kPefNameLen 64 +#define kPefNameLen 255 /// @brief Preferred Executable Format. @@ -40,6 +40,13 @@ enum { kPefArchInvalid = 0xFF, }; +enum { + kPefSubArchAMD, + kPefSubArchIntel, + kPefSubArchARM, + kPefSubArchIBM, +}; + enum { kPefKindExec = 1, /* .exe */ kPefKindSharedObject = 2, /* .lib */ @@ -69,6 +76,8 @@ typedef struct PEFContainer final { typedef struct PEFCommandHeader final { Char Name[kPefNameLen]; /* container name */ + UInt32 Cpu; /* container cpu */ + UInt32 SubCpu; /* container sub-cpu */ UInt32 Flags; /* container flags */ UInt16 Kind; /* container kind */ UIntPtr Offset; /* content offset */ diff --git a/Private/KernelKit/PEFCodeManager.hxx b/Private/KernelKit/PEFCodeManager.hxx index 1f5269ae..80ac6e90 100644 --- a/Private/KernelKit/PEFCodeManager.hxx +++ b/Private/KernelKit/PEFCodeManager.hxx @@ -45,6 +45,7 @@ class PEFLoader : public LoaderInterface { private: Ref fPath; VoidPtr fCachedBlob; + bool fFatBinary; bool fBad; }; -- cgit v1.2.3