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.
This commit is contained in:
parent
d8ddb98a5e
commit
5364951d98
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=349327
@ -1,44 +1,22 @@
|
|||||||
# $FreeBSD$
|
# $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 FDT
|
||||||
|
|
||||||
options SOC_MV_DISCOVERY
|
# Undo options from sys/conf/NOTES that we do not want...
|
||||||
options SOC_MV_KIRKWOOD
|
|
||||||
options SOC_MV_ORION
|
|
||||||
|
|
||||||
options ARM_MANY_BOARD
|
|
||||||
device nand
|
|
||||||
|
|
||||||
# IIC
|
|
||||||
device twsi
|
|
||||||
|
|
||||||
nooptions SMP
|
|
||||||
nooptions MAXCPU
|
|
||||||
|
|
||||||
nooptions COMPAT_FREEBSD4
|
nooptions COMPAT_FREEBSD4
|
||||||
nooptions COMPAT_FREEBSD5
|
nooptions COMPAT_FREEBSD5
|
||||||
nooptions COMPAT_FREEBSD6
|
nooptions COMPAT_FREEBSD6
|
||||||
nooptions COMPAT_FREEBSD7
|
nooptions COMPAT_FREEBSD7
|
||||||
nooptions COMPAT_FREEBSD9
|
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 fdc
|
||||||
nodevice sym
|
nodevice sym
|
||||||
nodevice ukbd
|
|
||||||
|
|
||||||
nodevice sc
|
nodevice sc
|
||||||
nodevice blank_saver
|
nodevice blank_saver
|
||||||
@ -58,28 +36,9 @@ nodevice cxgbe
|
|||||||
nodevice cxgbev
|
nodevice cxgbev
|
||||||
nodevice snd_cmi
|
nodevice snd_cmi
|
||||||
|
|
||||||
#
|
|
||||||
# Enable the kernel DTrace hooks which are required to load the DTrace
|
|
||||||
# kernel modules.
|
|
||||||
#
|
|
||||||
options KDTRACE_HOOKS
|
|
||||||
|
|
||||||
# DTrace core
|
|
||||||
# NOTE: introduces CDDL-licensed components into the kernel
|
|
||||||
#device dtrace
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# These aren't known to work on arm and/or don't compile
|
|
||||||
nodevice mpr
|
nodevice mpr
|
||||||
nodevice mps
|
nodevice mps
|
||||||
|
|
||||||
|
# Add devices which are specific to various arm platforms...
|
||||||
|
|
||||||
|
device twsi # i2c controller on Marvel and Allwinner
|
||||||
|
38
sys/arm/conf/NOTES.armv5
Normal file
38
sys/arm/conf/NOTES.armv5
Normal file
@ -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
|
||||||
|
|
64
sys/arm/conf/NOTES.armv7
Normal file
64
sys/arm/conf/NOTES.armv7
Normal file
@ -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"
|
@ -47,6 +47,11 @@ LINT: ${NOTES} ${MAKELINT_SED}
|
|||||||
echo "nodevice txp" >> ${.TARGET}-NOIP
|
echo "nodevice txp" >> ${.TARGET}-NOIP
|
||||||
echo "nodevice netmap" >> ${.TARGET}-NOIP
|
echo "nodevice netmap" >> ${.TARGET}-NOIP
|
||||||
.endif
|
.endif
|
||||||
|
.if ${TARGET} == "arm"
|
||||||
|
cat ${.TARGET} ${.CURDIR}/NOTES.armv5 > ${.TARGET}-V5
|
||||||
|
cat ${.TARGET} ${.CURDIR}/NOTES.armv7 > ${.TARGET}-V7
|
||||||
|
rm ${.TARGET}
|
||||||
|
.endif
|
||||||
.if ${TARGET} == "mips"
|
.if ${TARGET} == "mips"
|
||||||
echo "machine ${TARGET} ${TARGET_ARCH}" >> ${.TARGET}
|
echo "machine ${TARGET} ${TARGET_ARCH}" >> ${.TARGET}
|
||||||
.endif
|
.endif
|
||||||
|
Loading…
Reference in New Issue
Block a user