// SPDX-License-Identifier: GPL-3.0-or-later // Copyright (c) 2026 0xKSor #pragma once #include #include 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);