#ifndef HV_FDT_H #define HV_FDT_H #include "hv/types.h" struct fdt_platform_info { bool valid; uint64_t fdt_pa; uint64_t size; uint64_t memory_base; uint64_t memory_size; uint64_t initrd_start; uint64_t initrd_end; const char *bootargs; }; bool fdt_probe(uint64_t fdt_pa, struct fdt_platform_info *info); bool fdt_patch_memory(uint64_t fdt_pa, uint64_t base, uint64_t size); bool fdt_patch_linux_guest(uint64_t fdt_pa, uint64_t max_size, const char *bootargs, uint64_t initrd_start, uint64_t initrd_end); void fdt_dump(const struct fdt_platform_info *info); #endif