Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Aug 2019 17:55:19 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r350766 - head/sys/arm64/conf
Message-ID:  <201908081755.x78HtJH9091565@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Thu Aug  8 17:55:19 2019
New Revision: 350766
URL: https://svnweb.freebsd.org/changeset/base/350766

Log:
  First pass at a LINT for arm64.
  
  Create a rough and ready NOTES file from GENERIC, remove the duplication from
  sys/conf/NOTES and add relevant no* directives to make this compile.
  
  Reviewed by: jhb, manu (earlier versions that differed only in comments)
  Differential Revision: https://reviews.freebsd.org/D21184

Added:
  head/sys/arm64/conf/Makefile   (contents, props changed)
  head/sys/arm64/conf/NOTES   (contents, props changed)

Added: head/sys/arm64/conf/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm64/conf/Makefile	Thu Aug  8 17:55:19 2019	(r350766)
@@ -0,0 +1,5 @@
+# $FreeBSD$
+
+TARGET=arm64
+
+.include "${.CURDIR}/../../conf/makeLINT.mk"

Added: head/sys/arm64/conf/NOTES
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/arm64/conf/NOTES	Thu Aug  8 17:55:19 2019	(r350766)
@@ -0,0 +1,245 @@
+#
+# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
+#
+# This file contains machine dependent kernel configuration notes.  For
+# machine independent notes, look in /sys/conf/NOTES.
+#
+# $FreeBSD$
+#
+
+#
+# We want LINT to cover profiling as well.
+# Except it's broken.
+#profile         2
+
+#
+# Enable the kernel DTrace hooks which are required to load the DTrace
+# kernel modules.
+#
+options 	KDTRACE_HOOKS
+
+#
+# Most of the following is copied from ARM64 GENERIC.
+cpu		ARM64
+
+makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
+makeoptions	WITH_CTF=1		# Run ctfconvert(1) for DTrace support
+
+options 	PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
+options 	KDTRACE_FRAME		# Ensure frames are compiled in
+options 	VFP			# Floating-point support
+options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
+options 	INTRNG
+
+nooptions 	GDB			# Support remote GDB -- not supported
+
+# SoC support
+options 	SOC_ALLWINNER_A64
+options 	SOC_ALLWINNER_H5
+options 	SOC_CAVM_THUNDERX
+options 	SOC_HISI_HI6220
+options 	SOC_BRCM_BCM2837
+options 	SOC_MARVELL_8K
+options 	SOC_ROCKCHIP_RK3328
+options 	SOC_ROCKCHIP_RK3399
+options 	SOC_XILINX_ZYNQ
+
+# Timer drivers
+device		a10_timer
+
+# Annapurna Alpine drivers
+device		al_ccu			# Alpine Cache Coherency Unit
+device		al_nb_service		# Alpine North Bridge Service
+device		al_iofic		# I/O Fabric Interrupt Controller
+device		al_serdes		# Serializer/Deserializer
+device		al_udma			# Universal DMA
+
+# Qualcomm Snapdragon drivers
+device		qcom_gcc		# Global Clock Controller
+
+# VirtIO support
+device		virtio
+device		virtio_pci
+device		virtio_mmio
+device		virtio_blk
+device		vtnet
+
+# CPU frequency control
+device		cpufreq
+
+# Bus drivers
+device		al_pci		# Annapurna Alpine PCI-E
+options 	PCI_HP			# PCI-Express native HotPlug
+options 	PCI_IOV		# PCI SR-IOV support
+
+# Ethernet NICs
+device		mdio
+device		awg		# Allwinner EMAC Gigabit Ethernet
+device		axgbe		# AMD Opteron A1100 integrated NIC
+device		neta		# Marvell Armada 370/38x/XP/3700 NIC
+device  	smc		# SMSC LAN91C111
+device		vnic		# Cavium ThunderX NIC
+device		al_eth		# Annapurna Alpine Ethernet NIC
+device		dwc_rk		# Rockchip Designware
+device		dwc_socfpga	# Altera SOCFPGA Ethernet MAC
+
+# Etherswitch devices
+device		e6000sw		# Marvell mv88e6085 based switches
+
+# NVM Express (NVMe) support
+device		nvme		# base NVMe driver
+options 	NVME_USE_NVD=0	# prefer the cam(4) based nda(4) driver
+device		nvd		# expose NVMe namespaces as disks, depends on nvme
+
+# MMC/SD/SDIO Card slot support
+device		sdhci_xenon		# Marvell Xenon SD/MMC controller
+device		aw_mmc			# Allwinner SD/MMC controller
+device		dwmmc
+device		dwmmc_altera
+device		rk_emmcphy
+
+# Serial (COM) ports
+device		uart_msm	# Qualcomm MSM UART driver
+device		uart_mu		# RPI3 aux port
+device		uart_mvebu	# Armada 3700 UART driver
+device		uart_ns8250	# ns8250-type UART driver
+device		uart_snps
+device		pl011
+
+# USB support
+device		aw_ehci			# Allwinner EHCI USB interface (USB 2.0)
+device		aw_usbphy		# Allwinner USB PHY
+device		dwcotg			# DWC OTG controller
+device		ehci_mv			# Marvell EHCI USB interface
+
+# USB ethernet support
+device		muge
+device		smsc
+
+# Sound support
+device a10_codec
+
+# DMA controller
+device		a31_dmac
+
+# GPIO / PINCTRL
+device		a37x0_gpio	# Marvell Armada 37x0 GPIO controller
+device		aw_gpio		# Allwinner GPIO controller
+device		fdt_pinctrl
+device		mv_gpio		# Marvell GPIO controller
+device		mvebu_pinctrl	# Marvell Pinmux Controller
+device		rk_gpio		# RockChip GPIO Controller
+device		rk_pinctrl	# RockChip Pinmux Controller
+
+# I2C
+device		aw_rsb		# Allwinner Reduced Serial Bus
+device		bcm2835_bsc	# Broadcom BCM283x I2C bus
+device		twsi		# Allwinner I2C controller
+device		rk_i2c		# RockChip I2C controller
+
+# Clock and reset controllers
+device		aw_ccu		# Allwinner clock controller
+
+# Interrupt controllers
+device		aw_nmi		# Allwinner NMI support
+device		mv_cp110_icu	# Marvell CP110 ICU
+device		mv_ap806_gicp	# Marvell AP806 GICP
+
+# Real-time clock support
+device		aw_rtc		# Allwinner Real-time Clock
+device		mv_rtc		# Marvell Real-time Clock
+
+# Watchdog controllers
+device		aw_wdog		# Allwinner Watchdog
+
+# Power management controllers
+device		axp81x		# X-Powers AXP81x PMIC
+device		rk805		# RockChip RK805 PMIC
+
+# EFUSE
+device		aw_sid		# Allwinner Secure ID EFUSE
+
+# Thermal sensors
+device		aw_thermal	# Allwinner Thermal Sensor Controller
+device		mv_thermal	# Marvell Thermal Sensor Controller
+
+# SPI
+device		bcm2835_spi	# Broadcom BCM283x SPI bus
+
+# PWM
+device		pwm
+device		aw_pwm
+
+device		vt_efifb
+
+# EVDEV support
+options		EVDEV_SUPPORT		# evdev support in legacy drivers
+device		aw_cir
+
+# Pseudo devices.
+options 	EFIRT		# EFI Runtime Services
+
+# EXT_RESOURCES pseudo devices
+options 	EXT_RESOURCES
+device		clk
+device		phy
+device		hwreset
+device		nvmem
+device		regulator
+device		syscon
+device		aw_syscon
+
+# Chip-specific errata
+options 	THUNDERX_PASS_1_1_ERRATA
+
+options 	FDT
+device		acpi
+
+# DTBs
+makeoptions	MODULES_EXTRA="dtb/allwinner dtb/rockchip dtb/rpi"
+
+# Add CAMDEBUG stuff
+options 	CAMDEBUG
+options 	CAM_DEBUG_FLAGS=(CAM_DEBUG_INFO|CAM_DEBUG_PROBE|CAM_DEBUG_PERIPH)
+
+# bring in camified MMC too
+options		MMCCAM
+
+# No support for floppies on arm64
+nodevice	fdc
+
+# arm64 doesn't support inb/outb, so disable chipset probing which needs it
+nooptions 	PPC_PROBE_CHIPSET
+
+# can't support syscons, no inb/outb, ditto for the screen savers
+nodevice	sc
+nodevice	blank_saver
+nodevice	daemon_saver
+nodevice	dragon_saver
+nodevice	fade_saver
+nodevice	fire_saver
+nodevice	green_saver
+nodevice	logo_saver
+nodevice	rain_saver
+nodevice	snake_saver
+nodevice	star_saver
+nodevice	warp_saver
+
+# These cause weird issues, not sure why
+nodevice	ukbd
+nooptions 	DEBUG
+
+# Makes assumptions about bus tags that aren't true on arm64
+nodevice	snd_cmi
+
+# arm64 didn't exist for these releases, so doesn't have the required compat
+# support. Just disable them because they are meaningless.
+nooptions 	COMPAT_FREEBSD4
+nooptions 	COMPAT_FREEBSD5
+nooptions 	COMPAT_FREEBSD6
+nooptions 	COMPAT_FREEBSD7
+nooptions 	COMPAT_FREEBSD9
+nooptions 	COMPAT_FREEBSD10
+
+# arm64 supports 32-bit FreeBSD/arm binaries (armv[67] ABIs)
+options 	COMPAT_FREEBSD32	# Compatible with FreeBSD/arm



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