aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Horne <mhorne@FreeBSD.org>2025-10-20 14:24:45 +0000
committerMitchell Horne <mhorne@FreeBSD.org>2025-10-20 23:37:13 +0000
commitcf202819af2337c0b652ac9290964c2ef7a1ae3c (patch)
treecc81cc06449aae5c3e8998b33916b5e2e6c0ae0b
parentfa347930f89d4f9d1956573c3bd4b5987127bc12 (diff)
dtb: sort by vendor on riscv
Just like arm64, our DTS comes from Linux and is correctly sorted into subdirectories by vendor. Enable the logic to preserve these directories in the installation, for example: /boot/dtb/sifive/hifive-unmatched-a00.dtb MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D53116
-rw-r--r--sys/conf/dtb.build.mk9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/conf/dtb.build.mk b/sys/conf/dtb.build.mk
index 7eb0db5e8b80..f0cd8f8d515c 100644
--- a/sys/conf/dtb.build.mk
+++ b/sys/conf/dtb.build.mk
@@ -15,9 +15,10 @@ SYSDIR= ${S}
.endif
.for _dts in ${DTS}
-# DTB for aarch64 needs to preserve the immediate parent of the .dts, because
-# these DTS are vendored and should be installed into their vendored directory.
-.if ${MACHINE_CPUARCH} == "aarch64"
+# DTBs for aarch64 and riscv need to preserve the immediate parent of the .dts,
+# because these DTS are vendored and should be installed into their vendored
+# directories.
+.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "riscv"
DTB+= ${_dts:R:S/$/.dtb/}
.else
DTB+= ${_dts:T:R:S/$/.dtb/}
@@ -54,7 +55,7 @@ _dtbinstall:
# entries in the NO_ROOT case.
test -d ${DESTDIR}${DTBDIR} || ${INSTALL} -d -o ${DTBOWN} -g ${DTBGRP} ${DESTDIR}${DTBDIR}
.for _dtb in ${DTB}
-.if ${MACHINE_CPUARCH} == "aarch64"
+.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "riscv"
# :H:T here to grab the vendor component of the DTB path in a way that
# allows out-of-tree DTS builds, too. We make the assumption that
# out-of-tree DTS will have a similar directory structure to in-tree,