Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Aug 2019 20:50:41 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r350867 - in stable/12/sys: arm/conf conf
Message-ID:  <201908112050.x7BKofMT067047@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201908112050.x7BKofMT067047>