:: commit b21e049d27ae46ad05a58e1f6f160240241cb8a5

Mintsuki <mintsuki@protonmail.com> — 2025-07-12 10:08

parents: f8d7ceb750

misc: Move to using separate libfdt repository

diff --git a/.gitignore b/.gitignore
index ce004183..d8d14946 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,14 +29,13 @@
 /nyu-efi
 /freestnd-c-hdrs
 /common/flanterm
-/common/libfdt
 /common/lib/stb_image.h.nopatch
 /common/lib/stb_image.h
 /common/cc-runtime.s2.c
 /cc-runtime
 /decompressor/tinf
 /decompressor/cc-runtime.c
-/dtc
+/libfdt
 /tinf
 /ovmf*
 /bochsout.txt
diff --git a/3RDPARTY.md b/3RDPARTY.md
index 22f81a84..cec8bc1d 100644
--- a/3RDPARTY.md
+++ b/3RDPARTY.md
@@ -58,8 +58,8 @@ text related screen drawing.
 - [stb_image](https://github.com/nothings/stb/blob/master/stb_image.h) (MIT) is
 used for wallpaper image loading.
 
-- [libfdt](https://git.kernel.org/pub/scm/utils/dtc/dtc.git) (BSD-2-Clause) is
-used for manipulating Flat Device Trees.
+- [libfdt](https://codeberg.org/osdev/libfdt) (BSD-2-Clause) is used for
+manipulating Flat Device Trees.
 
 Note that some of these projects, or parts of them, are provided under
 dual-licensing, in which case, in the above list, the only license mentioned is
diff --git a/GNUmakefile.in b/GNUmakefile.in
index 83adb9f1..d840a50e 100644
--- a/GNUmakefile.in
+++ b/GNUmakefile.in
@@ -313,7 +313,7 @@ dist:
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/nyu-efi/.git"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/nyu-efi/.gitignore"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/cc-runtime"
-	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/dtc"
+	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/libfdt/.git"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/tinf"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/common/lib/stb_image.h.nopatch"
 	rm -rf '$(call SHESCAPE,$(BUILDDIR))'/"$(DIST_OUTPUT)/.git"
@@ -342,7 +342,7 @@ distclean: clean
 
 .PHONY: maintainer-clean
 maintainer-clean: distclean
-	cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf common/flanterm common/libfdt common/lib/stb_image.h.nopatch common/lib/stb_image.h decompressor/tinf tinf dtc freestnd-c-hdrs cc-runtime common/cc-runtime.s2.c decompressor/cc-runtime.c limine-protocol nyu-efi configure timestamps build-aux *'~' autom4te.cache aclocal.m4 *.tar*
+	cd '$(call SHESCAPE,$(SRCDIR))' && rm -rf common/flanterm common/lib/stb_image.h.nopatch common/lib/stb_image.h decompressor/tinf tinf libfdt freestnd-c-hdrs cc-runtime common/cc-runtime.s2.c decompressor/cc-runtime.c limine-protocol nyu-efi configure timestamps build-aux *'~' autom4te.cache aclocal.m4 *.tar*
 
 .PHONY: common-uefi-x86-64
 common-uefi-x86-64:
diff --git a/bootstrap b/bootstrap
index 101a9389..f032fab2 100755
--- a/bootstrap
+++ b/bootstrap
@@ -120,12 +120,9 @@ if ! test -f version; then
     rm -f common/lib/stb_image.h.orig
 
     clone_repo_commit \
-        https://git.kernel.org/pub/scm/utils/dtc/dtc.git \
-        dtc \
-        2d10aa2afe35527728db30b35ec491ecb6959e5c
-    rm -rf common/libfdt
-    cp -rp dtc/libfdt common/
-    find common/libfdt/ -type f -not -name '*.c' -not -name '*.h' -delete
+        https://codeberg.org/osdev/libfdt.git \
+        libfdt \
+        7bf94e6347129d17eca263112296ad170dec28a9
 fi
 
 # Create timestamps file
diff --git a/common/common.mk b/common/common.mk
index 9e414607..93c3d893 100644
--- a/common/common.mk
+++ b/common/common.mk
@@ -45,7 +45,7 @@ override CPPFLAGS_FOR_TARGET := \
     -I . \
     -I libc-compat \
     -I ../limine-protocol/include \
-    -I libfdt \
+    -I ../libfdt/src \
     -I '$(call SHESCAPE,$(BUILDDIR))/..' \
     -isystem ../freestnd-c-hdrs \
     $(CPPFLAGS_FOR_TARGET) \
@@ -55,10 +55,10 @@ override CPPFLAGS_FOR_TARGET := \
     -MMD \
     -MP
 
-$(call MKESCAPE,$(BUILDDIR))/./libfdt/fdt_overlay.o: override CFLAGS_FOR_TARGET += \
+$(call MKESCAPE,$(BUILDDIR))/libfdt/src/fdt_overlay.o: override CFLAGS_FOR_TARGET += \
     -Wno-unused-parameter
 
-$(call MKESCAPE,$(BUILDDIR))/./flanterm/backends/fb.o: override CPPFLAGS_FOR_TARGET += \
+$(call MKESCAPE,$(BUILDDIR))/common/flanterm/backends/fb.o: override CPPFLAGS_FOR_TARGET += \
     -DFLANTERM_FB_DISABLE_BUMP_ALLOC
 
 override NASMFLAGS_FOR_TARGET += \
@@ -214,44 +214,44 @@ ifeq ($(TARGET),uefi-loongarch64)
         -z text
 endif
 
-override C_FILES := $(shell find . -type f -name '*.c' | LC_ALL=C sort)
+override C_FILES := $(shell cd .. && find common libfdt -type f -name '*.c' | LC_ALL=C sort)
 ifeq ($(TARGET),bios)
-    override ASMX86_FILES := $(shell find . -type f -name '*.asm_x86' | LC_ALL=C sort)
-    override ASM32_FILES := $(shell find . -type f -name '*.asm_ia32' | LC_ALL=C sort)
-    override ASMB_FILES := $(shell find . -type f -name '*.asm_bios_ia32' | LC_ALL=C sort)
+    override ASMX86_FILES := $(shell cd .. && find common -type f -name '*.asm_x86' | LC_ALL=C sort)
+    override ASM32_FILES := $(shell cd .. && find common -type f -name '*.asm_ia32' | LC_ALL=C sort)
+    override ASMB_FILES := $(shell cd .. && find common -type f -name '*.asm_bios_ia32' | LC_ALL=C sort)
 
     override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.o) $(ASM32_FILES:.asm_ia32=.o) $(ASMB_FILES:.asm_bios_ia32=.o) $(ASMX86_FILES:.asm_x86=.o))
     override OBJ_S2 := $(filter %.s2.o,$(OBJ))
 endif
 ifeq ($(TARGET),uefi-x86-64)
-    override ASMX86_FILES := $(shell find . -type f -name '*.asm_x86' | LC_ALL=C sort)
-    override ASM64_FILES := $(shell find . -type f -name '*.asm_x86_64' | LC_ALL=C sort)
-    override ASM64U_FILES := $(shell find . -type f -name '*.asm_uefi_x86_64' | LC_ALL=C sort)
+    override ASMX86_FILES := $(shell cd .. && find common -type f -name '*.asm_x86' | LC_ALL=C sort)
+    override ASM64_FILES := $(shell cd .. && find common -type f -name '*.asm_x86_64' | LC_ALL=C sort)
+    override ASM64U_FILES := $(shell cd .. && find common -type f -name '*.asm_uefi_x86_64' | LC_ALL=C sort)
 
     override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.o) $(ASM64_FILES:.asm_x86_64=.o) $(ASM64U_FILES:.asm_uefi_x86_64=.o) $(ASMX86_FILES:.asm_x86=.o))
 endif
 ifeq ($(TARGET),uefi-ia32)
-    override ASMX86_FILES := $(shell find . -type f -name '*.asm_x86' | LC_ALL=C sort)
-    override ASM32_FILES := $(shell find . -type f -name '*.asm_ia32' | LC_ALL=C sort)
-    override ASM32U_FILES := $(shell find . -type f -name '*.asm_uefi_ia32' | LC_ALL=C sort)
+    override ASMX86_FILES := $(shell cd .. && find common -type f -name '*.asm_x86' | LC_ALL=C sort)
+    override ASM32_FILES := $(shell cd .. && find common -type f -name '*.asm_ia32' | LC_ALL=C sort)
+    override ASM32U_FILES := $(shell cd .. && find common -type f -name '*.asm_uefi_ia32' | LC_ALL=C sort)
 
     override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.o) $(ASM32_FILES:.asm_ia32=.o) $(ASM32U_FILES:.asm_uefi_ia32=.o) $(ASMX86_FILES:.asm_x86=.o))
 endif
 ifeq ($(TARGET),uefi-aarch64)
-    override ASM64_FILES := $(shell find . -type f -name '*.asm_aarch64' | LC_ALL=C sort)
-    override ASM64U_FILES := $(shell find . -type f -name '*.asm_uefi_aarch64' | LC_ALL=C sort)
+    override ASM64_FILES := $(shell cd .. && find common -type f -name '*.asm_aarch64' | LC_ALL=C sort)
+    override ASM64U_FILES := $(shell cd .. && find common -type f -name '*.asm_uefi_aarch64' | LC_ALL=C sort)
 
     override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.o) $(ASM64_FILES:.asm_aarch64=.o) $(ASM64U_FILES:.asm_uefi_aarch64=.o))
 endif
 ifeq ($(TARGET),uefi-riscv64)
-    override ASM64_FILES := $(shell find . -type f -name '*.asm_riscv64' | LC_ALL=C sort)
-    override ASM64U_FILES := $(shell find . -type f -name '*.asm_uefi_riscv64' | LC_ALL=C sort)
+    override ASM64_FILES := $(shell cd .. && find common -type f -name '*.asm_riscv64' | LC_ALL=C sort)
+    override ASM64U_FILES := $(shell cd .. && find common -type f -name '*.asm_uefi_riscv64' | LC_ALL=C sort)
 
     override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.o) $(ASM64_FILES:.asm_riscv64=.o) $(ASM64U_FILES:.asm_uefi_riscv64=.o))
 endif
 ifeq ($(TARGET),uefi-loongarch64)
-    override ASM64_FILES := $(shell find . -type f -name '*.asm_loongarch64' | LC_ALL=C sort)
-    override ASM64U_FILES := $(shell find . -type f -name '*.asm_uefi_loongarch64' | LC_ALL=C sort)
+    override ASM64_FILES := $(shell cd .. && find common -type f -name '*.asm_loongarch64' | LC_ALL=C sort)
+    override ASM64U_FILES := $(shell cd .. && find common -type f -name '*.asm_uefi_loongarch64' | LC_ALL=C sort)
 
     override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.o) $(ASM64_FILES:.asm_loongarch64=.o) $(ASM64U_FILES:.asm_uefi_loongarch64=.o))
 endif
@@ -611,37 +611,37 @@ endif
 -include $(HEADER_DEPS)
 
 ifeq ($(TARGET),uefi-x86-64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-aarch64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-riscv64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-loongarch64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-ia32)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.c $(call MKESCAPE,$(BUILDDIR))/nyu-efi
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),bios)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.c
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.c
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
@@ -649,7 +649,7 @@ endif
 -include $(HEADER_DEPS)
 
 ifeq ($(TARGET),bios)
-$(call MKESCAPE,$(BUILDDIR))/%.s2.o: %.s2.c
+$(call MKESCAPE,$(BUILDDIR))/%.s2.o: ../%.s2.c
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(S2CFLAGS) $(CPPFLAGS_FOR_TARGET) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
@@ -657,73 +657,73 @@ endif
 -include $(HEADER_DEPS)
 
 ifeq ($(TARGET),bios)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_ia32
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_ia32
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_bios_ia32
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_bios_ia32
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_x86
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_x86
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-x86-64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_x86_64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_x86_64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_uefi_x86_64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_uefi_x86_64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_x86
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_x86
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-aarch64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_aarch64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_aarch64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -x assembler-with-cpp -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_uefi_aarch64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_uefi_aarch64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -x assembler-with-cpp -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-riscv64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_riscv64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_riscv64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -x assembler-with-cpp -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_uefi_riscv64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_uefi_riscv64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -x assembler-with-cpp -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-loongarch64)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_loongarch64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_loongarch64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -x assembler-with-cpp -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_uefi_loongarch64
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_uefi_loongarch64
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	$(CC_FOR_TARGET) $(CFLAGS_FOR_TARGET) $(CPPFLAGS_FOR_TARGET) -x assembler-with-cpp -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 endif
 
 ifeq ($(TARGET),uefi-ia32)
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_ia32
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_ia32
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_uefi_ia32
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_uefi_ia32
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm_x86
+$(call MKESCAPE,$(BUILDDIR))/%.o: ../%.asm_x86
 	$(MKDIR_P) "$$(dirname '$(call SHESCAPE,$@)')"
 	nasm '$(call SHESCAPE,$<)' $(NASMFLAGS_FOR_TARGET) -o '$(call SHESCAPE,$@)'
 endif
diff --git a/common/lib/fdt.c b/common/lib/fdt.c
index fb60cc0f..9e3e1153 100644
--- a/common/lib/fdt.c
+++ b/common/lib/fdt.c
@@ -2,7 +2,7 @@
 
 #include <stdint.h>
 #include <stddef.h>
-#include <libfdt/libfdt.h>
+#include <libfdt.h>
 
 static int fdt_get_or_add_chosen_node(void *fdt) {
     int offset = fdt_subnode_offset(fdt, 0, "chosen");
diff --git a/common/lib/misc.c b/common/lib/misc.c
index 1d91f731..ad7ac556 100644
--- a/common/lib/misc.c
+++ b/common/lib/misc.c
@@ -11,7 +11,7 @@
 #include <lib/bli.h>
 #include <fs/file.h>
 #include <mm/pmm.h>
-#include <libfdt/libfdt.h>
+#include <libfdt.h>
 
 #if defined (UEFI)
 EFI_SYSTEM_TABLE *gST;
diff --git a/common/protos/limine.c b/common/protos/limine.c
index cd88f557..bd441fab 100644
--- a/common/protos/limine.c
+++ b/common/protos/limine.c
@@ -14,7 +14,7 @@
 #include <lib/libc.h>
 #include <lib/gterm.h>
 #include <lib/fdt.h>
-#include <libfdt/libfdt.h>
+#include <libfdt.h>
 #include <lib/uri.h>
 #include <sys/smp.h>
 #include <sys/cpu.h>
diff --git a/common/protos/linux_risc.c b/common/protos/linux_risc.c
index a5a62db5..e94f990b 100644
--- a/common/protos/linux_risc.c
+++ b/common/protos/linux_risc.c
@@ -16,7 +16,7 @@
 #include <lib/fb.h>
 #include <lib/acpi.h>
 #include <lib/fdt.h>
-#include <libfdt/libfdt.h>
+#include <libfdt.h>
 
 // The following definitions and struct were copied and adapted from Linux
 // kernel headers released under GPL-2.0 WITH Linux-syscall-note
diff --git a/common/sys/cpu_riscv.c b/common/sys/cpu_riscv.c
index 4160a2da..58feec6a 100644
--- a/common/sys/cpu_riscv.c
+++ b/common/sys/cpu_riscv.c
@@ -8,7 +8,7 @@
 #include <mm/pmm.h>
 #include <stddef.h>
 #include <stdint.h>
-#include <libfdt/libfdt.h>
+#include <libfdt.h>
 
 // ACPI RISC-V Hart Capabilities Table
 struct rhct {
diff --git a/common/sys/smp.c b/common/sys/smp.c
index 048b31a6..d40d1d3d 100644
--- a/common/sys/smp.c
+++ b/common/sys/smp.c
@@ -18,7 +18,7 @@
 #include <sys/sbi.h>
 #endif
 #if defined (__aarch64__)
-#include <libfdt/libfdt.h>
+#include <libfdt.h>
 #endif
 
 extern symbol smp_trampoline_start;
tab: 248 wrap: offon