Files
ksOS/Kernel/Include/Arch/DTB.h
T

36 lines
715 B
C

#pragma once
#include <Types.h>
#include <VM/PMM.h>
typedef struct FDTHeader {
UInt32 magic; // 0xd00dfeed
UInt32 totalSize;
UInt32 offDtStruct;
UInt32 offDtStrings;
UInt32 offMemRsvMap;
UInt32 version;
UInt32 lastCompVersion;
UInt32 bootCpuidPhys;
UInt32 sizeDtStrings;
UInt32 sizeDtStruct;
} FDTHeader;
typedef struct FDTProperty {
UInt32 length;
UInt32 nameOffset;
} FDTProperty;
typedef enum FDTToken {
FDTTokenBeginNode = 0x1,
FDTTokenEndNode = 0x2,
FDTTokenProperty = 0x3,
FDTTokenNOP = 0x4,
FDTTokenEnd = 0x9,
} FDTToken;
enum {
kFDTHeaderMagic = 0xd00dfeed,
};
void DTBParse(Pointer dtb, VMBootMemoryMap* bootMap);