blob: 8e8fd87fe5266f67d475744144ea1e3e254b2a90 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/* ========================================
Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license.
======================================== */
#pragma once
#include <NeKit/Defines.h>
namespace Firmware::Detail::NeBoot {
using namespace Kernel;
struct NEBOOT_LINEAR_EXEC;
/// @brief Linear Executable Header
/// @author Amlal El Mahrouss
struct ATTRIBUTE(aligned(4)) NEBOOT_LINEAR_EXEC {
const Char fMagic[2]; // magic number
const Char fName[10]; // operating system name
const UInt32 fRevision; // firmware revision
const UInt32 fStartAddress; // start address (master/slave(s) thread)
#ifdef NE_IS_EXTENDED_COREBOOT
UIntPtr fMasterStructure; // master structure for MP/PM and device tree and such. (ARM)
UIntPtr fMasterStructureVersion; // master structure version.
#endif
#ifdef NE_IS_MBCI_COREBOOT
UIntPtr fMBCIStructure; // MBCI structure for MBCI (ARM)
UIntPtr fMBCIStructureVersion; // MBCI structure version.
#endif
};
} // namespace Firmware::Detail::NeBoot
|