From 6b29cf334370d29cefd5344b3cb1094da3eb898e Mon Sep 17 00:00:00 2001 From: Warner Losh Date: Sun, 2 Feb 2020 08:27:08 +0000 Subject: [PATCH] Move arm back to having one LINT Now that armv5 is gone, we no longer need multiple LINT files. Kill the odd-ball support here. From now on, we just have LINT built from notes like all the other platforms. Keep the removal of LINT-V5/7 to remove stale files for a while still.. --- sys/arm/conf/NOTES | 64 +++++++++++++++++++++++++++++++++++----- sys/arm/conf/NOTES.armv7 | 64 ---------------------------------------- sys/conf/makeLINT.mk | 8 ++--- 3 files changed, 58 insertions(+), 78 deletions(-) delete mode 100644 sys/arm/conf/NOTES.armv7 diff --git a/sys/arm/conf/NOTES b/sys/arm/conf/NOTES index 7cbf19d229c..746d0947548 100644 --- a/sys/arm/conf/NOTES +++ b/sys/arm/conf/NOTES @@ -1,6 +1,49 @@ +# arm-specific changes for doing a LINT build. # $FreeBSD$ -options FDT + +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 FDT # Flattened device tree support +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 # Nearly all 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 pl330 # ARM PL330 dma controller +device pmu # PMU support (for CCNT). +device twsi # i2c controller on Marvel and Allwinner +device xdma # xDMA framework for SoC on-chip dma controllers + +# Add EXT_RESOURCES pseudo devices... + +options EXT_RESOURCES +device clk +device phy +device hwreset +device nvmem +device regulator +device syscon # Undo options from sys/conf/NOTES that we do not want... @@ -12,9 +55,6 @@ nooptions COMPAT_FREEBSD9 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 sym nodevice ccr @@ -25,10 +65,18 @@ nodevice snd_cmi nodevice mpr nodevice mps -# Add devices which are specific to various arm platforms... +# Build SOC-specific modules... -device twsi # i2c controller on Marvel and Allwinner +makeoptions MODULES_EXTRA+="allwinner" +makeoptions MODULES_EXTRA+="arm_ti" +makeoptions MODULES_EXTRA+="imx" -device pl330 # ARM PL330 dma controller -device xdma # xDMA framework for SoC on-chip dma controllers +# 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" diff --git a/sys/arm/conf/NOTES.armv7 b/sys/arm/conf/NOTES.armv7 deleted file mode 100644 index e8a19034b00..00000000000 --- a/sys/arm/conf/NOTES.armv7 +++ /dev/null @@ -1,64 +0,0 @@ -# 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" diff --git a/sys/conf/makeLINT.mk b/sys/conf/makeLINT.mk index e291bbc612b..b2fc256621b 100644 --- a/sys/conf/makeLINT.mk +++ b/sys/conf/makeLINT.mk @@ -13,7 +13,8 @@ clean: .endif .if ${TARGET} == "arm" # LINT-V5 removed 2019-11-26. The clean rule is left here temporarily - # to avoid having stale copies left behind. + # to avoid having stale copies left behind. LINT-V7 left the tree on + # 2020-02-02. rm -f LINT-V5 LINT-V7 .endif .if ${TARGET} == "powerpc" @@ -55,11 +56,6 @@ LINT: ${NOTES} ${MAKELINT_SED} echo "nodevice txp" >> ${.TARGET}-NOIP echo "nodevice netmap" >> ${.TARGET}-NOIP .endif -.if ${TARGET} == "arm" - cat ${NOTES} ${.CURDIR}/NOTES.armv7 | sed -E -n -f ${MAKELINT_SED} > \ - ${.TARGET}-V7 - rm ${.TARGET} -.endif .if ${TARGET} == "mips" echo "machine ${TARGET} ${TARGET_ARCH}" >> ${.TARGET} .endif