NeKernel dev
Loading...
Searching...
No Matches
NeBoot.h
Go to the documentation of this file.
1/* ========================================
2
3 Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
4
5======================================== */
6
7#pragma once
8
9#include <NeKit/Config.h>
10
12using namespace Kernel;
13
14struct NEBOOT_LINEAR_EXEC;
15
18struct ATTRIBUTE(aligned(4)) NEBOOT_LINEAR_EXEC {
19 const Char fMagic[2]; // magic number
20 const Char fName[10]; // operating system name
21 const UInt32 fRevision; // firmware revision
22 const UInt32 fStartAddress; // start address (master/slave(s) thread)
23
24#ifdef NE_IS_EXTENDED_COREBOOT
25 UIntPtr fMasterStructure; // master structure for MP/PM and device tree and such. (ARM)
26 UIntPtr fMasterStructureVersion; // master structure version.
27#endif
28
29#ifdef NE_IS_MBCI_COREBOOT
30 UIntPtr fMBCIStructure; // MBCI structure for MBCI (ARM)
31 UIntPtr fMBCIStructureVersion; // MBCI structure version.
32#endif
33};
34} // namespace Firmware::Detail::NeBoot
UInt32 fMagic
Definition DiskSwap.h:0
Definition NeBoot.h:11
struct ATTRIBUTE(aligned(4)) NEBOOT_LINEAR_EXEC
Linear Executable Header.
Definition NeBoot.h:18
UPS inline definitions.
Definition Device.h:12
char Char
Definition Config.h:51
__UINT32_TYPE__ UInt32
Definition Config.h:44
__UINTPTR_TYPE__ UIntPtr
Definition Config.h:62