summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/PEF.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-16 19:56:21 +0200
committerGitHub <noreply@github.com>2025-08-16 19:56:21 +0200
commit1a32b9307357ac0fc9095e853b2b6d94f9fe62bb (patch)
treef41f723659c8926e38182fbe062746d821ab487e /dev/kernel/KernelKit/PEF.h
parenteb9df5eea339812513c25a8d3b2eeb03c633e7ac (diff)
parentb301047903b79560dce69085fc271a653a1eb4b6 (diff)
Merge pull request #55 from nekernel-org/dev
v0.0.4
Diffstat (limited to 'dev/kernel/KernelKit/PEF.h')
-rw-r--r--dev/kernel/KernelKit/PEF.h23
1 files changed, 13 insertions, 10 deletions
diff --git a/dev/kernel/KernelKit/PEF.h b/dev/kernel/KernelKit/PEF.h
index c28c8f8c..fd39392e 100644
--- a/dev/kernel/KernelKit/PEF.h
+++ b/dev/kernel/KernelKit/PEF.h
@@ -11,19 +11,19 @@
------------------------------------------- */
-#ifndef KERNELKIT_PEF_H
-#define KERNELKIT_PEF_H
+#ifndef __KERNELKIT_PEF_H__
+#define __KERNELKIT_PEF_H__
#include <CompilerKit/CompilerKit.h>
#include <KernelKit/LoaderInterface.h>
#include <NeKit/Defines.h>
-#define kPefMagic "Joy!"
-#define kPefMagicFat "yoJ!"
+#define kPefMagic "Open"
+#define kPefMagicFat "nepO"
#define kPefMagicLen (5)
-#define kPefVersion (4)
+#define kPefVersion (0x0500)
#define kPefNameLen (256U)
/* not mandatory, only for non fork based filesystems. */
@@ -54,15 +54,15 @@ enum {
kPefArch32x0, /* 32x0. ISA */
kPefArchPowerPC,
kPefArchARM64,
- kPefArchCount = (kPefArchPowerPC - kPefArchIntel86S) + 1,
+ kPefArchCount = (kPefArchARM64 - kPefArchIntel86S) + 1,
kPefArchInvalid = 0xFF,
};
enum {
+ kPefSubArchGeneric,
kPefSubArchAMD = 200,
kPefSubArchIntel,
kPefSubArchARM,
- kPefSubArchGeneric,
kPefSubArchIBM,
};
@@ -98,16 +98,19 @@ typedef struct PEFCommandHeader final {
UInt32 Flags; /* container flags */
UInt16 Kind; /* container kind */
UIntPtr Offset; /* content offset */
- UIntPtr VMAddress; /* VM offset */
- SizeT Size; /* content Size */
+ SizeT OffsetSize; /* offset size (physical size inside the file) */
+ UIntPtr VMAddress; /* Virtual Address */
+ SizeT VMSize; /* Virtual Size */
} PACKED PEFCommandHeader;
enum {
+ kPefInvalid = 0x0,
kPefCode = 0xC,
kPefData = 0xD,
kPefZero = 0xE,
kPefLinkerID = 0x1,
+ kPefCount = 4,
};
} // namespace Kernel
-#endif /* ifndef KERNELKIT_PEF_H */
+#endif /* ifndef __KERNELKIT_PEF_H__ */