misc: Move to using separate libfdt repository

This commit is contained in:
Mintsuki
2025-07-12 12:08:05 +02:00
parent e2dc161447
commit 996a0c1801
11 changed files with 55 additions and 59 deletions

3
.gitignore vendored
View File

@@ -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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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");

View File

@@ -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;

View File

@@ -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>

View File

@@ -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

View File

@@ -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 {

View File

@@ -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;