svn commit: r350867 - in stable/12/sys: arm/conf conf
Ian Lepore
ian at FreeBSD.org
Sun Aug 11 20:50:43 UTC 2019
Author: ian
Date: Sun Aug 11 20:50:41 2019
New Revision: 350867
URL: https://svnweb.freebsd.org/changeset/base/350867
Log:
MFC r349325, r349327
r349325:
Allow compiling ukbdmap.h on arm, since it appears to work fine.
r349327:
Build an armv7 LINT kernel in addition to armv5 LINT. You might think this
had been done years ago. I did. All this time we've only compiled a LINT
kernel for TARGET_ARCH=arm. Now separate LINT-V5 and LINT-V7 configs are
generated and built.
There are two new files in arm/conf, NOTES.armv5 and NOTES.armv7, containing
some of what used to be in the arm NOTES file. That file now contains only
the bits that are common to v5 and v7.
The makeLINT.mk file now creates the LINT-V5 and LINT-V7 files by concatening
sys/conf/NOTES, arm/conf/NOTES, and arm/conf/NOTES.armv{5,7} in that order.
Added:
stable/12/sys/arm/conf/NOTES.armv5
- copied unchanged from r349327, head/sys/arm/conf/NOTES.armv5
stable/12/sys/arm/conf/NOTES.armv7
- copied unchanged from r349327, head/sys/arm/conf/NOTES.armv7
Modified:
stable/12/sys/arm/conf/NOTES
stable/12/sys/conf/files.arm
stable/12/sys/conf/makeLINT.mk
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/arm/conf/NOTES
==============================================================================
--- stable/12/sys/arm/conf/NOTES Sun Aug 11 20:47:01 2019 (r350866)
+++ stable/12/sys/arm/conf/NOTES Sun Aug 11 20:50:41 2019 (r350867)
@@ -1,44 +1,22 @@
# $FreeBSD$
-machine arm
-
-cpu CPU_ARM9E
-
-files "../mv/files.mv"
-files "../mv/discovery/files.db78xxx"
-files "../mv/kirkwood/files.kirkwood"
-files "../mv/orion/files.db88f5xxx"
-files "../mv/orion/files.ts7800"
-
-makeoptions CONF_CFLAGS+="-march=armv5te"
-makeoptions LDFLAGS="-zmuldefs"
-makeoptions KERNPHYSADDR=0x00000000
-
options FDT
-options SOC_MV_DISCOVERY
-options SOC_MV_KIRKWOOD
-options SOC_MV_ORION
+# Undo options from sys/conf/NOTES that we do not want...
-options ARM_MANY_BOARD
-device nand
-
-# IIC
-device twsi
-
-nooptions SMP
-nooptions MAXCPU
-
nooptions COMPAT_FREEBSD4
nooptions COMPAT_FREEBSD5
nooptions COMPAT_FREEBSD6
nooptions COMPAT_FREEBSD7
nooptions COMPAT_FREEBSD9
-nooption PPC_PROBE_CHIPSET
+nooptions PPC_PROBE_CHIPSET
+nooptions MAXCPU # value is set in machine/param.h
+# Devices in sys/conf/NOTES for which no such hardware exists on arm,
+# or the drivers don't compile...
+
nodevice fdc
nodevice sym
-nodevice ukbd
nodevice sc
nodevice blank_saver
@@ -58,24 +36,9 @@ nodevice cxgbe
nodevice cxgbev
nodevice snd_cmi
-#
-# Enable the kernel DTrace hooks which are required to load the DTrace
-# kernel modules.
-#
-options KDTRACE_HOOKS
+nodevice mpr
+nodevice mps
-# DTrace core
-# NOTE: introduces CDDL-licensed components into the kernel
-#device dtrace
+# Add devices which are specific to various arm platforms...
-# DTrace modules
-#device dtrace_profile
-#device dtrace_sdt
-#device dtrace_fbt
-#device dtrace_systrace
-#device dtrace_prototype
-#device dtnfscl
-#device dtmalloc
-
-# Alternatively include all the DTrace modules
-#device dtraceall
+device twsi # i2c controller on Marvel and Allwinner
Copied: stable/12/sys/arm/conf/NOTES.armv5 (from r349327, head/sys/arm/conf/NOTES.armv5)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/sys/arm/conf/NOTES.armv5 Sun Aug 11 20:50:41 2019 (r350867, copy of r349327, head/sys/arm/conf/NOTES.armv5)
@@ -0,0 +1,38 @@
+# armv5-specific changes for doing a LINT build.
+#
+# The contents of sys/conf/NOTES, sys/arm/conf/NOTES, and this file are
+# concatenated (in that order) to create the LINT-V5 kernel config file.
+#
+# $FreeBSD$
+
+#NO_UNIVERSE
+
+machine arm arm
+cpu CPU_ARM9E
+
+files "../mv/files.mv"
+files "../mv/discovery/files.db78xxx"
+files "../mv/kirkwood/files.kirkwood"
+files "../mv/orion/files.db88f5xxx"
+files "../mv/orion/files.ts7800"
+
+makeoptions CONF_CFLAGS+="-march=armv5te"
+makeoptions LDFLAGS="-zmuldefs"
+makeoptions KERNPHYSADDR=0x00000000
+
+# Undo options from sys/conf/NOTES that we do not want...
+
+nooptions SMP # All armv5 are single-core
+
+# Add options for armv5 that are not in sys/conf/NOTES...
+
+options ARM_MANY_BOARD
+
+options SOC_MV_DISCOVERY
+options SOC_MV_KIRKWOOD
+options SOC_MV_ORION
+
+# Add devices which are specific to various arm platforms...
+
+device nand
+
Copied: stable/12/sys/arm/conf/NOTES.armv7 (from r349327, head/sys/arm/conf/NOTES.armv7)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/12/sys/arm/conf/NOTES.armv7 Sun Aug 11 20:50:41 2019 (r350867, copy of r349327, head/sys/arm/conf/NOTES.armv7)
@@ -0,0 +1,64 @@
+# armv7-specific changes for doing a LINT build.
+#
+# The contents of sys/conf/NOTES, sys/arm/conf/NOTES, and this file are
+# concatenated (in that order) to create the LINT-V7 kernel config file.
+#
+# $FreeBSD$
+
+
+#NO_UNIVERSE
+
+machine arm armv7
+cpu CPU_CORTEXA
+cpu CPU_MV_PJ4B
+makeoptions CONF_CFLAGS+="-march=armv7a"
+
+# Add options for armv7 that are not in sys/conf/NOTES...
+
+options ARM_L2_PIPT # Only L2 PIPT is supported
+options FREEBSD_BOOT_LOADER # Process metadata passed from loader(8)
+options INTRNG # Include INTRNG framework
+options LINUX_BOOT_ABI # Process metadata passed from U-Boot
+options PLATFORM # Include platform_if support
+options SMP # Most v7 SoCs are multicore
+options VFP # Enable floating point hardware support
+
+# NOTE: dtrace introduces CDDL-licensed components into the kernel
+device dtrace # dtrace core
+device dtraceall # include all dtrace modules
+options KDTRACE_HOOKS
+
+# Add misc devices which are specific to various arm platforms...
+
+device generic_timer # ARM Generic Timer
+device gic # Interrupt controller
+device gpio # gpio interface and bus
+device mpcore_timer # ARM MPCore Timer
+device pl310 # PL310 L2 cache controller
+device pmu # PMU support (for CCNT).
+
+# Add EXT_RESOURCES pseudo devices...
+
+options EXT_RESOURCES
+device clk
+device phy
+device hwreset
+device nvmem
+device regulator
+device syscon
+
+# Build SOC-specific modules...
+
+makeoptions MODULES_EXTRA+="allwinner"
+makeoptions MODULES_EXTRA+="arm_ti"
+makeoptions MODULES_EXTRA+="imx"
+
+# Build dtb files...
+
+makeoptions MODULES_EXTRA+="dtb/allwinner"
+makeoptions MODULES_EXTRA+="dtb/am335x"
+makeoptions MODULES_EXTRA+="dtb/imx6"
+makeoptions MODULES_EXTRA+="dtb/nvidia"
+makeoptions MODULES_EXTRA+="dtb/omap4"
+makeoptions MODULES_EXTRA+="dtb/rpi"
+makeoptions MODULES_EXTRA+="dtb/zynq"
Modified: stable/12/sys/conf/files.arm
==============================================================================
--- stable/12/sys/conf/files.arm Sun Aug 11 20:47:01 2019 (r350866)
+++ stable/12/sys/conf/files.arm Sun Aug 11 20:50:41 2019 (r350867)
@@ -168,6 +168,12 @@ cloudabi32_vdso_blob.o optional compat_cloudabi32 \
clean "cloudabi32_vdso_blob.o"
#
+#
+ukbdmap.h optional ukbd_dflt_keymap \
+ compile-with "kbdcontrol -P ${S:S/sys$/share/}/vt/keymaps -P ${S:S/sys$/share/}/syscons/keymaps -L ${UKBD_DFLT_KEYMAP} | sed -e 's/^static keymap_t.* = /static keymap_t key_map = /' -e 's/^static accentmap_t.* = /static accentmap_t accent_map = /' > ukbdmap.h" \
+ no-obj no-implicit-rule before-depend \
+ clean "ukbdmap.h"
+
# Annapurna support
arm/annapurna/alpine/alpine_ccu.c optional al_ccu fdt
arm/annapurna/alpine/alpine_nb_service.c optional al_nb_service fdt
Modified: stable/12/sys/conf/makeLINT.mk
==============================================================================
--- stable/12/sys/conf/makeLINT.mk Sun Aug 11 20:47:01 2019 (r350866)
+++ stable/12/sys/conf/makeLINT.mk Sun Aug 11 20:50:41 2019 (r350867)
@@ -47,6 +47,11 @@ LINT: ${NOTES} ${MAKELINT_SED}
echo "nodevice txp" >> ${.TARGET}-NOIP
echo "nodevice netmap" >> ${.TARGET}-NOIP
.endif
+.if ${TARGET} == "arm"
+ cat ${.TARGET} ${.CURDIR}/NOTES.armv5 > ${.TARGET}-V5
+ cat ${.TARGET} ${.CURDIR}/NOTES.armv7 > ${.TARGET}-V7
+ rm ${.TARGET}
+.endif
.if ${TARGET} == "mips"
echo "machine ${TARGET} ${TARGET_ARCH}" >> ${.TARGET}
.endif
More information about the svn-src-stable
mailing list