aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.inc110
-rw-r--r--share/mk/bsd.own.mk2
-rw-r--r--sys/boot/fdt/dts/arm/am335x-evm.dts (renamed from sys/boot/fdt/dts/am335x-evm.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/am335x.dtsi (renamed from sys/boot/fdt/dts/am335x.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/bcm2835.dtsi (renamed from sys/boot/fdt/dts/bcm2835.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/beaglebone-black.dts (renamed from sys/boot/fdt/dts/beaglebone-black.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/beaglebone.dts (renamed from sys/boot/fdt/dts/beaglebone.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/cubieboard.dts (renamed from sys/boot/fdt/dts/cubieboard.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/cubieboard2.dts (renamed from sys/boot/fdt/dts/cubieboard2.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/db78100.dts (renamed from sys/boot/fdt/dts/db78100.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/db78460.dts (renamed from sys/boot/fdt/dts/db78460.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/db88f5182.dts (renamed from sys/boot/fdt/dts/db88f5182.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/db88f5281.dts (renamed from sys/boot/fdt/dts/db88f5281.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/db88f6281.dts (renamed from sys/boot/fdt/dts/db88f6281.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/digi-ccwmx53.dts (renamed from sys/boot/fdt/dts/digi-ccwmx53.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/dockstar.dts (renamed from sys/boot/fdt/dts/dockstar.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/dreamplug-1001.dts (renamed from sys/boot/fdt/dts/dreamplug-1001.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/dreamplug-1001N.dts (renamed from sys/boot/fdt/dts/dreamplug-1001N.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/ea3250.dts (renamed from sys/boot/fdt/dts/ea3250.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/efikamx.dts (renamed from sys/boot/fdt/dts/efikamx.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/exynos5250-arndale.dts (renamed from sys/boot/fdt/dts/exynos5250-arndale.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/exynos5250.dtsi (renamed from sys/boot/fdt/dts/exynos5250.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/imx51x.dtsi (renamed from sys/boot/fdt/dts/imx51x.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/imx53-qsb.dts (renamed from sys/boot/fdt/dts/imx53-qsb.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/imx53x.dtsi (renamed from sys/boot/fdt/dts/imx53x.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/imx6.dtsi (renamed from sys/boot/fdt/dts/imx6.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/p1020rdb.dts (renamed from sys/boot/fdt/dts/p1020rdb.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/p2020ds.dts (renamed from sys/boot/fdt/dts/p2020ds.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/p2041rdb.dts (renamed from sys/boot/fdt/dts/p2041rdb.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/p2041si.dtsi (renamed from sys/boot/fdt/dts/p2041si.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/p3041ds.dts (renamed from sys/boot/fdt/dts/p3041ds.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/p3041si.dtsi (renamed from sys/boot/fdt/dts/p3041si.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/p5020ds.dts (renamed from sys/boot/fdt/dts/p5020ds.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/p5020si.dtsi (renamed from sys/boot/fdt/dts/p5020si.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/pandaboard.dts (renamed from sys/boot/fdt/dts/pandaboard.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/rk3188-radxa.dts (renamed from sys/boot/fdt/dts/rk3188-radxa.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/rk3188.dtsi (renamed from sys/boot/fdt/dts/rk3188.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/rpi.dts (renamed from sys/boot/fdt/dts/rpi.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/sheevaplug.dts (renamed from sys/boot/fdt/dts/sheevaplug.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/tegra20-paz00.dts (renamed from sys/boot/fdt/dts/tegra20-paz00.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/tegra20.dtsi (renamed from sys/boot/fdt/dts/tegra20.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/trimslice.dts (renamed from sys/boot/fdt/dts/trimslice.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/ts7800.dts (renamed from sys/boot/fdt/dts/ts7800.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/versatilepb.dts (renamed from sys/boot/fdt/dts/versatilepb.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/vybrid-colibri-vf50.dts (renamed from sys/boot/fdt/dts/vybrid-colibri-vf50.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/vybrid-cosmic.dts (renamed from sys/boot/fdt/dts/vybrid-cosmic.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/vybrid-quartz.dts (renamed from sys/boot/fdt/dts/vybrid-quartz.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/vybrid.dtsi (renamed from sys/boot/fdt/dts/vybrid.dtsi)0
-rw-r--r--sys/boot/fdt/dts/arm/wandboard-dual.dts (renamed from sys/boot/fdt/dts/wandboard-dual.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/wandboard-quad.dts (renamed from sys/boot/fdt/dts/wandboard-quad.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/wandboard-solo.dts (renamed from sys/boot/fdt/dts/wandboard-solo.dts)0
-rw-r--r--sys/boot/fdt/dts/arm/zedboard.dts (renamed from sys/boot/fdt/dts/zedboard.dts)0
-rw-r--r--sys/boot/fdt/dts/mips/beri-netfpga.dts (renamed from sys/boot/fdt/dts/beri-netfpga.dts)0
-rw-r--r--sys/boot/fdt/dts/mips/beri-sim.dts (renamed from sys/boot/fdt/dts/beri-sim.dts)0
-rw-r--r--sys/boot/fdt/dts/mips/beripad-de4.dts (renamed from sys/boot/fdt/dts/beripad-de4.dts)0
-rw-r--r--sys/boot/fdt/dts/mips/xlp-basic.dts (renamed from sys/boot/fdt/dts/xlp-basic.dts)0
-rw-r--r--sys/boot/fdt/dts/powerpc/mpc8555cds.dts (renamed from sys/boot/fdt/dts/mpc8555cds.dts)0
-rw-r--r--sys/boot/fdt/dts/powerpc/mpc8572ds.dts (renamed from sys/boot/fdt/dts/mpc8572ds.dts)0
-rw-r--r--sys/conf/files7
-rwxr-xr-xsys/tools/fdt/make_dtb.sh11
60 files changed, 21 insertions, 9 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 00d0a9fc695b4..2f227595c4ad0 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1262,7 +1262,7 @@ _dtrace_tools= cddl/usr.bin/sgsmsg cddl/lib/libctf lib/libelf \
lib/libdwarf cddl/usr.bin/ctfconvert cddl/usr.bin/ctfmerge
.endif
-# Default to building the BSDL DTC, but build the GPL one if users explicitly
+# Default to building the GPL DTC, but build the BSDL one if users explicitly
# request it.
_dtc= usr.bin/dtc
.if ${MK_GPL_DTC} != "no"
@@ -1853,7 +1853,7 @@ builddtb:
echo "ERROR: FDT_DTS_FILE must be specified!"; \
exit 1; \
fi; \
- if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE} ]; then \
+ if [ ! -f ${.CURDIR}/sys/boot/fdt/dts/${MACHINE}/${FDT_DTS_FILE} ]; then \
echo "ERROR: Specified DTS file (${FDT_DTS_FILE}) does not \
exist!"; \
exit 1; \
@@ -1863,9 +1863,9 @@ builddtb:
directory"; \
fi
@PATH=${TMPPATH} \
- dtc -O dtb -o \
- ${DTBOUTPUTPATH}/`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 \
- -p 1024 ${.CURDIR}/sys/boot/fdt/dts/${FDT_DTS_FILE}
+ ${.CURDIR}/sys/tools/fdt/make_dtb.sh ${.CURDIR}/sys \
+ ${FDT_DTS_FILE} \
+ ${DTBOUTPUTPATH}/`basename ${FDT_DTS_FILE} .dts`
###############
diff --git a/share/mk/bsd.own.mk b/share/mk/bsd.own.mk
index f4fd64433aae9..71f2e1efae032 100644
--- a/share/mk/bsd.own.mk
+++ b/share/mk/bsd.own.mk
@@ -287,6 +287,7 @@ __DEFAULT_YES_OPTIONS = \
GNU \
GPIB \
GPIO \
+ GPL_DTC \
GROFF \
HTML \
ICONV \
@@ -368,7 +369,6 @@ __DEFAULT_NO_OPTIONS = \
CLANG_EXTRAS \
CTF \
DEBUG_FILES \
- GPL_DTC \
HESIOD \
INSTALL_AS_USER \
LLDB \
diff --git a/sys/boot/fdt/dts/am335x-evm.dts b/sys/boot/fdt/dts/arm/am335x-evm.dts
index 30239f6747c02..30239f6747c02 100644
--- a/sys/boot/fdt/dts/am335x-evm.dts
+++ b/sys/boot/fdt/dts/arm/am335x-evm.dts
diff --git a/sys/boot/fdt/dts/am335x.dtsi b/sys/boot/fdt/dts/arm/am335x.dtsi
index 35cecf2f7f729..35cecf2f7f729 100644
--- a/sys/boot/fdt/dts/am335x.dtsi
+++ b/sys/boot/fdt/dts/arm/am335x.dtsi
diff --git a/sys/boot/fdt/dts/bcm2835.dtsi b/sys/boot/fdt/dts/arm/bcm2835.dtsi
index bb3024844271b..bb3024844271b 100644
--- a/sys/boot/fdt/dts/bcm2835.dtsi
+++ b/sys/boot/fdt/dts/arm/bcm2835.dtsi
diff --git a/sys/boot/fdt/dts/beaglebone-black.dts b/sys/boot/fdt/dts/arm/beaglebone-black.dts
index 5da633f71308b..5da633f71308b 100644
--- a/sys/boot/fdt/dts/beaglebone-black.dts
+++ b/sys/boot/fdt/dts/arm/beaglebone-black.dts
diff --git a/sys/boot/fdt/dts/beaglebone.dts b/sys/boot/fdt/dts/arm/beaglebone.dts
index 12be0d621ceb2..12be0d621ceb2 100644
--- a/sys/boot/fdt/dts/beaglebone.dts
+++ b/sys/boot/fdt/dts/arm/beaglebone.dts
diff --git a/sys/boot/fdt/dts/cubieboard.dts b/sys/boot/fdt/dts/arm/cubieboard.dts
index 81bce0c2747be..81bce0c2747be 100644
--- a/sys/boot/fdt/dts/cubieboard.dts
+++ b/sys/boot/fdt/dts/arm/cubieboard.dts
diff --git a/sys/boot/fdt/dts/cubieboard2.dts b/sys/boot/fdt/dts/arm/cubieboard2.dts
index 324ca262f6df4..324ca262f6df4 100644
--- a/sys/boot/fdt/dts/cubieboard2.dts
+++ b/sys/boot/fdt/dts/arm/cubieboard2.dts
diff --git a/sys/boot/fdt/dts/db78100.dts b/sys/boot/fdt/dts/arm/db78100.dts
index 8a9e91c020348..8a9e91c020348 100644
--- a/sys/boot/fdt/dts/db78100.dts
+++ b/sys/boot/fdt/dts/arm/db78100.dts
diff --git a/sys/boot/fdt/dts/db78460.dts b/sys/boot/fdt/dts/arm/db78460.dts
index 1407f62daec90..1407f62daec90 100644
--- a/sys/boot/fdt/dts/db78460.dts
+++ b/sys/boot/fdt/dts/arm/db78460.dts
diff --git a/sys/boot/fdt/dts/db88f5182.dts b/sys/boot/fdt/dts/arm/db88f5182.dts
index 6ce7b6580d362..6ce7b6580d362 100644
--- a/sys/boot/fdt/dts/db88f5182.dts
+++ b/sys/boot/fdt/dts/arm/db88f5182.dts
diff --git a/sys/boot/fdt/dts/db88f5281.dts b/sys/boot/fdt/dts/arm/db88f5281.dts
index 61212eb4db1f2..61212eb4db1f2 100644
--- a/sys/boot/fdt/dts/db88f5281.dts
+++ b/sys/boot/fdt/dts/arm/db88f5281.dts
diff --git a/sys/boot/fdt/dts/db88f6281.dts b/sys/boot/fdt/dts/arm/db88f6281.dts
index 55a27fc303372..55a27fc303372 100644
--- a/sys/boot/fdt/dts/db88f6281.dts
+++ b/sys/boot/fdt/dts/arm/db88f6281.dts
diff --git a/sys/boot/fdt/dts/digi-ccwmx53.dts b/sys/boot/fdt/dts/arm/digi-ccwmx53.dts
index 898ffbb55c793..898ffbb55c793 100644
--- a/sys/boot/fdt/dts/digi-ccwmx53.dts
+++ b/sys/boot/fdt/dts/arm/digi-ccwmx53.dts
diff --git a/sys/boot/fdt/dts/dockstar.dts b/sys/boot/fdt/dts/arm/dockstar.dts
index 595894a7c8162..595894a7c8162 100644
--- a/sys/boot/fdt/dts/dockstar.dts
+++ b/sys/boot/fdt/dts/arm/dockstar.dts
diff --git a/sys/boot/fdt/dts/dreamplug-1001.dts b/sys/boot/fdt/dts/arm/dreamplug-1001.dts
index 92ca1b0ec8b22..92ca1b0ec8b22 100644
--- a/sys/boot/fdt/dts/dreamplug-1001.dts
+++ b/sys/boot/fdt/dts/arm/dreamplug-1001.dts
diff --git a/sys/boot/fdt/dts/dreamplug-1001N.dts b/sys/boot/fdt/dts/arm/dreamplug-1001N.dts
index 230a65f4860cb..230a65f4860cb 100644
--- a/sys/boot/fdt/dts/dreamplug-1001N.dts
+++ b/sys/boot/fdt/dts/arm/dreamplug-1001N.dts
diff --git a/sys/boot/fdt/dts/ea3250.dts b/sys/boot/fdt/dts/arm/ea3250.dts
index 2c466e3637456..2c466e3637456 100644
--- a/sys/boot/fdt/dts/ea3250.dts
+++ b/sys/boot/fdt/dts/arm/ea3250.dts
diff --git a/sys/boot/fdt/dts/efikamx.dts b/sys/boot/fdt/dts/arm/efikamx.dts
index 22b455b5a530b..22b455b5a530b 100644
--- a/sys/boot/fdt/dts/efikamx.dts
+++ b/sys/boot/fdt/dts/arm/efikamx.dts
diff --git a/sys/boot/fdt/dts/exynos5250-arndale.dts b/sys/boot/fdt/dts/arm/exynos5250-arndale.dts
index 67cadcbdf64b7..67cadcbdf64b7 100644
--- a/sys/boot/fdt/dts/exynos5250-arndale.dts
+++ b/sys/boot/fdt/dts/arm/exynos5250-arndale.dts
diff --git a/sys/boot/fdt/dts/exynos5250.dtsi b/sys/boot/fdt/dts/arm/exynos5250.dtsi
index 860fcd02d8907..860fcd02d8907 100644
--- a/sys/boot/fdt/dts/exynos5250.dtsi
+++ b/sys/boot/fdt/dts/arm/exynos5250.dtsi
diff --git a/sys/boot/fdt/dts/imx51x.dtsi b/sys/boot/fdt/dts/arm/imx51x.dtsi
index cc06f0f355ec4..cc06f0f355ec4 100644
--- a/sys/boot/fdt/dts/imx51x.dtsi
+++ b/sys/boot/fdt/dts/arm/imx51x.dtsi
diff --git a/sys/boot/fdt/dts/imx53-qsb.dts b/sys/boot/fdt/dts/arm/imx53-qsb.dts
index 1184cb39e57a5..1184cb39e57a5 100644
--- a/sys/boot/fdt/dts/imx53-qsb.dts
+++ b/sys/boot/fdt/dts/arm/imx53-qsb.dts
diff --git a/sys/boot/fdt/dts/imx53x.dtsi b/sys/boot/fdt/dts/arm/imx53x.dtsi
index eafabcb5191b5..eafabcb5191b5 100644
--- a/sys/boot/fdt/dts/imx53x.dtsi
+++ b/sys/boot/fdt/dts/arm/imx53x.dtsi
diff --git a/sys/boot/fdt/dts/imx6.dtsi b/sys/boot/fdt/dts/arm/imx6.dtsi
index da81d79f9abbf..da81d79f9abbf 100644
--- a/sys/boot/fdt/dts/imx6.dtsi
+++ b/sys/boot/fdt/dts/arm/imx6.dtsi
diff --git a/sys/boot/fdt/dts/p1020rdb.dts b/sys/boot/fdt/dts/arm/p1020rdb.dts
index ec5118ce0f3fd..ec5118ce0f3fd 100644
--- a/sys/boot/fdt/dts/p1020rdb.dts
+++ b/sys/boot/fdt/dts/arm/p1020rdb.dts
diff --git a/sys/boot/fdt/dts/p2020ds.dts b/sys/boot/fdt/dts/arm/p2020ds.dts
index 7823429dc9d1f..7823429dc9d1f 100644
--- a/sys/boot/fdt/dts/p2020ds.dts
+++ b/sys/boot/fdt/dts/arm/p2020ds.dts
diff --git a/sys/boot/fdt/dts/p2041rdb.dts b/sys/boot/fdt/dts/arm/p2041rdb.dts
index aa5af072e7686..aa5af072e7686 100644
--- a/sys/boot/fdt/dts/p2041rdb.dts
+++ b/sys/boot/fdt/dts/arm/p2041rdb.dts
diff --git a/sys/boot/fdt/dts/p2041si.dtsi b/sys/boot/fdt/dts/arm/p2041si.dtsi
index 9db01fa62ca9c..9db01fa62ca9c 100644
--- a/sys/boot/fdt/dts/p2041si.dtsi
+++ b/sys/boot/fdt/dts/arm/p2041si.dtsi
diff --git a/sys/boot/fdt/dts/p3041ds.dts b/sys/boot/fdt/dts/arm/p3041ds.dts
index 70787e432765f..70787e432765f 100644
--- a/sys/boot/fdt/dts/p3041ds.dts
+++ b/sys/boot/fdt/dts/arm/p3041ds.dts
diff --git a/sys/boot/fdt/dts/p3041si.dtsi b/sys/boot/fdt/dts/arm/p3041si.dtsi
index 3335e48d4702d..3335e48d4702d 100644
--- a/sys/boot/fdt/dts/p3041si.dtsi
+++ b/sys/boot/fdt/dts/arm/p3041si.dtsi
diff --git a/sys/boot/fdt/dts/p5020ds.dts b/sys/boot/fdt/dts/arm/p5020ds.dts
index cb070457924ef..cb070457924ef 100644
--- a/sys/boot/fdt/dts/p5020ds.dts
+++ b/sys/boot/fdt/dts/arm/p5020ds.dts
diff --git a/sys/boot/fdt/dts/p5020si.dtsi b/sys/boot/fdt/dts/arm/p5020si.dtsi
index 27699cbc7e03d..27699cbc7e03d 100644
--- a/sys/boot/fdt/dts/p5020si.dtsi
+++ b/sys/boot/fdt/dts/arm/p5020si.dtsi
diff --git a/sys/boot/fdt/dts/pandaboard.dts b/sys/boot/fdt/dts/arm/pandaboard.dts
index 5544dc5c773a9..5544dc5c773a9 100644
--- a/sys/boot/fdt/dts/pandaboard.dts
+++ b/sys/boot/fdt/dts/arm/pandaboard.dts
diff --git a/sys/boot/fdt/dts/rk3188-radxa.dts b/sys/boot/fdt/dts/arm/rk3188-radxa.dts
index 7fc8ec53254e9..7fc8ec53254e9 100644
--- a/sys/boot/fdt/dts/rk3188-radxa.dts
+++ b/sys/boot/fdt/dts/arm/rk3188-radxa.dts
diff --git a/sys/boot/fdt/dts/rk3188.dtsi b/sys/boot/fdt/dts/arm/rk3188.dtsi
index ca04159464d60..ca04159464d60 100644
--- a/sys/boot/fdt/dts/rk3188.dtsi
+++ b/sys/boot/fdt/dts/arm/rk3188.dtsi
diff --git a/sys/boot/fdt/dts/rpi.dts b/sys/boot/fdt/dts/arm/rpi.dts
index 318591a571f16..318591a571f16 100644
--- a/sys/boot/fdt/dts/rpi.dts
+++ b/sys/boot/fdt/dts/arm/rpi.dts
diff --git a/sys/boot/fdt/dts/sheevaplug.dts b/sys/boot/fdt/dts/arm/sheevaplug.dts
index 3d347da19df29..3d347da19df29 100644
--- a/sys/boot/fdt/dts/sheevaplug.dts
+++ b/sys/boot/fdt/dts/arm/sheevaplug.dts
diff --git a/sys/boot/fdt/dts/tegra20-paz00.dts b/sys/boot/fdt/dts/arm/tegra20-paz00.dts
index 912a8f9c631d5..912a8f9c631d5 100644
--- a/sys/boot/fdt/dts/tegra20-paz00.dts
+++ b/sys/boot/fdt/dts/arm/tegra20-paz00.dts
diff --git a/sys/boot/fdt/dts/tegra20.dtsi b/sys/boot/fdt/dts/arm/tegra20.dtsi
index d7107fdc31648..d7107fdc31648 100644
--- a/sys/boot/fdt/dts/tegra20.dtsi
+++ b/sys/boot/fdt/dts/arm/tegra20.dtsi
diff --git a/sys/boot/fdt/dts/trimslice.dts b/sys/boot/fdt/dts/arm/trimslice.dts
index ac7017fc59fac..ac7017fc59fac 100644
--- a/sys/boot/fdt/dts/trimslice.dts
+++ b/sys/boot/fdt/dts/arm/trimslice.dts
diff --git a/sys/boot/fdt/dts/ts7800.dts b/sys/boot/fdt/dts/arm/ts7800.dts
index 547a2d7551151..547a2d7551151 100644
--- a/sys/boot/fdt/dts/ts7800.dts
+++ b/sys/boot/fdt/dts/arm/ts7800.dts
diff --git a/sys/boot/fdt/dts/versatilepb.dts b/sys/boot/fdt/dts/arm/versatilepb.dts
index ca58e8859c094..ca58e8859c094 100644
--- a/sys/boot/fdt/dts/versatilepb.dts
+++ b/sys/boot/fdt/dts/arm/versatilepb.dts
diff --git a/sys/boot/fdt/dts/vybrid-colibri-vf50.dts b/sys/boot/fdt/dts/arm/vybrid-colibri-vf50.dts
index 6d4d934b3d3f5..6d4d934b3d3f5 100644
--- a/sys/boot/fdt/dts/vybrid-colibri-vf50.dts
+++ b/sys/boot/fdt/dts/arm/vybrid-colibri-vf50.dts
diff --git a/sys/boot/fdt/dts/vybrid-cosmic.dts b/sys/boot/fdt/dts/arm/vybrid-cosmic.dts
index c98c093257fa4..c98c093257fa4 100644
--- a/sys/boot/fdt/dts/vybrid-cosmic.dts
+++ b/sys/boot/fdt/dts/arm/vybrid-cosmic.dts
diff --git a/sys/boot/fdt/dts/vybrid-quartz.dts b/sys/boot/fdt/dts/arm/vybrid-quartz.dts
index d9787964e646c..d9787964e646c 100644
--- a/sys/boot/fdt/dts/vybrid-quartz.dts
+++ b/sys/boot/fdt/dts/arm/vybrid-quartz.dts
diff --git a/sys/boot/fdt/dts/vybrid.dtsi b/sys/boot/fdt/dts/arm/vybrid.dtsi
index 154c1ab3d56ea..154c1ab3d56ea 100644
--- a/sys/boot/fdt/dts/vybrid.dtsi
+++ b/sys/boot/fdt/dts/arm/vybrid.dtsi
diff --git a/sys/boot/fdt/dts/wandboard-dual.dts b/sys/boot/fdt/dts/arm/wandboard-dual.dts
index 65a88c42fca28..65a88c42fca28 100644
--- a/sys/boot/fdt/dts/wandboard-dual.dts
+++ b/sys/boot/fdt/dts/arm/wandboard-dual.dts
diff --git a/sys/boot/fdt/dts/wandboard-quad.dts b/sys/boot/fdt/dts/arm/wandboard-quad.dts
index 71c51560a5130..71c51560a5130 100644
--- a/sys/boot/fdt/dts/wandboard-quad.dts
+++ b/sys/boot/fdt/dts/arm/wandboard-quad.dts
diff --git a/sys/boot/fdt/dts/wandboard-solo.dts b/sys/boot/fdt/dts/arm/wandboard-solo.dts
index 70e05e0a80fc4..70e05e0a80fc4 100644
--- a/sys/boot/fdt/dts/wandboard-solo.dts
+++ b/sys/boot/fdt/dts/arm/wandboard-solo.dts
diff --git a/sys/boot/fdt/dts/zedboard.dts b/sys/boot/fdt/dts/arm/zedboard.dts
index a95a2f7769d1f..a95a2f7769d1f 100644
--- a/sys/boot/fdt/dts/zedboard.dts
+++ b/sys/boot/fdt/dts/arm/zedboard.dts
diff --git a/sys/boot/fdt/dts/beri-netfpga.dts b/sys/boot/fdt/dts/mips/beri-netfpga.dts
index 6979168950564..6979168950564 100644
--- a/sys/boot/fdt/dts/beri-netfpga.dts
+++ b/sys/boot/fdt/dts/mips/beri-netfpga.dts
diff --git a/sys/boot/fdt/dts/beri-sim.dts b/sys/boot/fdt/dts/mips/beri-sim.dts
index 4148bb9a564b5..4148bb9a564b5 100644
--- a/sys/boot/fdt/dts/beri-sim.dts
+++ b/sys/boot/fdt/dts/mips/beri-sim.dts
diff --git a/sys/boot/fdt/dts/beripad-de4.dts b/sys/boot/fdt/dts/mips/beripad-de4.dts
index 4d4126c38db09..4d4126c38db09 100644
--- a/sys/boot/fdt/dts/beripad-de4.dts
+++ b/sys/boot/fdt/dts/mips/beripad-de4.dts
diff --git a/sys/boot/fdt/dts/xlp-basic.dts b/sys/boot/fdt/dts/mips/xlp-basic.dts
index a66c11d67e17e..a66c11d67e17e 100644
--- a/sys/boot/fdt/dts/xlp-basic.dts
+++ b/sys/boot/fdt/dts/mips/xlp-basic.dts
diff --git a/sys/boot/fdt/dts/mpc8555cds.dts b/sys/boot/fdt/dts/powerpc/mpc8555cds.dts
index 34991baaefdea..34991baaefdea 100644
--- a/sys/boot/fdt/dts/mpc8555cds.dts
+++ b/sys/boot/fdt/dts/powerpc/mpc8555cds.dts
diff --git a/sys/boot/fdt/dts/mpc8572ds.dts b/sys/boot/fdt/dts/powerpc/mpc8572ds.dts
index 67f0d66f86807..67f0d66f86807 100644
--- a/sys/boot/fdt/dts/mpc8572ds.dts
+++ b/sys/boot/fdt/dts/powerpc/mpc8572ds.dts
diff --git a/sys/conf/files b/sys/conf/files
index 3e3a0731f4ab5..160f663b54881 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -14,11 +14,12 @@ acpi_quirks.h optional acpi \
# from the specified source (DTS) file: <platform>.dts -> <platform>.dtb
#
fdt_dtb_file optional fdt \
- compile-with "if [ -f $S/boot/fdt/dts/${FDT_DTS_FILE} ]; then dtc -O dtb -o ${FDT_DTS_FILE:R}.dtb -b 0 -p 1024 $S/boot/fdt/dts/${FDT_DTS_FILE}; fi" \
+ compile-with "sh $S/tools/fdt/make_dtb.sh $S ${FDT_DTS_FILE} ${.CURDIR}/${FDT_DTS_FILE:R}.dtb" \
no-obj no-implicit-rule before-depend \
clean "${FDT_DTS_FILE:R}.dtb"
fdt_static_dtb.h optional fdt fdt_dtb_static \
- compile-with "sh $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ." \
+ compile-with "sh $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ${.CURDIR}" \
+ dependency "fdt_dtb_file" \
no-obj no-implicit-rule before-depend \
clean "fdt_static_dtb.h"
feeder_eq_gen.h optional sound \
@@ -1370,7 +1371,7 @@ dev/fb/splash.c optional sc splash
dev/fdt/fdt_common.c optional fdt
dev/fdt/fdt_slicer.c optional fdt cfi | fdt nand
dev/fdt/fdt_static_dtb.S optional fdt fdt_dtb_static \
- dependency "$S/boot/fdt/dts/${FDT_DTS_FILE}"
+ dependency "$S/boot/fdt/dts/${MACHINE}/${FDT_DTS_FILE}"
dev/fdt/simplebus.c optional fdt
dev/fe/if_fe.c optional fe
dev/fe/if_fe_pccard.c optional fe pccard
diff --git a/sys/tools/fdt/make_dtb.sh b/sys/tools/fdt/make_dtb.sh
new file mode 100755
index 0000000000000..8e4892ee293fd
--- /dev/null
+++ b/sys/tools/fdt/make_dtb.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+# Script generates dtb file ($3) from dts source ($2) in build tree S ($1)
+S=$1
+dts=$2
+dtb=$3
+
+cpp -x assembler-with-cpp -I $S/gnu/dts/include -I $S/boot/fdt/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -include $dts /dev/null |
+ dtc -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts -i $S/gnu/dts/${MACHINE}