summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/KernelKit/PEF.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:02:43 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-11-24 03:02:43 +0100
commit83d870e58457a1d335a1d9b9966a6a1887cc297b (patch)
tree72888f88c7728c82f3f6df1f4f70591de15eab36 /dev/kernel/KernelKit/PEF.h
parentab37adbacf0f33845804c788b39680cd754752a8 (diff)
feat! breaking changes on kernel sources.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/kernel/KernelKit/PEF.h')
-rw-r--r--dev/kernel/KernelKit/PEF.h117
1 files changed, 0 insertions, 117 deletions
diff --git a/dev/kernel/KernelKit/PEF.h b/dev/kernel/KernelKit/PEF.h
deleted file mode 100644
index 94284c98..00000000
--- a/dev/kernel/KernelKit/PEF.h
+++ /dev/null
@@ -1,117 +0,0 @@
-/* ========================================
-
- Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
-
- File: PEF.h
- Purpose: Preferred Executable Format for Kernel.
-
- Revision History:
-
- ?/?/23: Added file (amlel)
-
-======================================== */
-
-#ifndef __KERNELKIT_PEF_H__
-#define __KERNELKIT_PEF_H__
-
-#include <CompilerKit/CompilerKit.h>
-#include <KernelKit/ILoader.h>
-#include <NeKit/Defines.h>
-
-#define kPefMagic "Open"
-#define kPefMagicFat "nepO"
-
-#define kPefMagicLen (5)
-
-#define kPefVersion (0x0500)
-#define kPefNameLen (256U)
-
-/* not mandatory, only for non fork based filesystems. */
-#define kPefExt ".exec"
-#define kPefDylibExt ".dylib"
-#define kPefLibExt ".lib"
-#define kPefObjectExt ".obj"
-#define kPefDebugExt ".dbg"
-#define kPefDriverExt ".sys"
-
-// Kernel System Binary Interface.
-#define kPefAbi (0x5046)
-
-#define kPefBaseOrigin (0x40000000)
-
-#define kPefStart "__ImageStart"
-#define kPefMainSymbol "_NeMain"
-
-#define kPefForkKind kPefMagic
-#define kPefForkKindFAT kPefMagicFat
-
-namespace Kernel {
-enum {
- kPefArchIntel86S,
- kPefArchAMD64,
- kPefArchRISCV,
- kPefArch64x0, /* 64x0. ISA */
- kPefArch32x0, /* 32x0. ISA */
- kPefArchPowerPC,
- kPefArchARM64,
- kPefArchCount = (kPefArchARM64 - kPefArchIntel86S) + 1,
- kPefArchInvalid = 0xFF,
-};
-
-enum {
- kPefSubArchGeneric = 0,
- kPefSubArchAMD = 200,
- kPefSubArchIntel,
- kPefSubArchARM,
- kPefSubArchIBM,
-};
-
-enum {
- kPefKindInvalid = 0,
- kPefKindExec = 1, /* .exec */
- kPefKindDylib = 2, /* .dylib */
- kPefKindObject = 4, /* .obj */
- kPefKindDebug = 5, /* .dbg */
- kPefKindDriver = 6,
- kPefKindCount,
-};
-
-typedef struct PEFContainer final {
- Char Magic[kPefMagicLen];
- UInt32 Linker;
- UInt32 Version;
- UInt32 Kind;
- UInt32 Abi;
- UInt32 Cpu;
- UInt32 SubCpu; /* Cpu specific information */
- UIntPtr Start;
- SizeT HdrSz; /* Size of header */
- SizeT Count; /* container header count */
- UInt32 Checksum;
-} PACKED PEFContainer;
-
-/* First PEFCommandHeader starts after PEFContainer */
-
-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 */
- 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__ */