svn commit: r366043 - head/sys/powerpc/conf

Brandon Bergren bdragon at FreeBSD.org
Wed Sep 23 01:07:56 UTC 2020


Author: bdragon
Date: Wed Sep 23 01:07:55 2020
New Revision: 366043
URL: https://svnweb.freebsd.org/changeset/base/366043

Log:
  [PowerPC64LE] Initial GENERIC64LE kernel config.
  
  This is slightly stripped down from GENERIC64, as PowerMac G5 machines
  are incapable of running in LE mode (so we can skip the Mac drivers.)
  
  While technically POWER6 and POWER7 have the hardware capability of running
  in LE mode, they have a tendency to trap excessively when a load/store is
  misaligned. (an extremely common occurrence in LE code, and one of the main
  reasons I consider BE to be superior, as it turns potential security issues
  into immediately obvious mangled numbers.)
  
  Additionally, there was no mechanism to control what endian interrupts
  are delivered in, so supporting LE operation on POWER6 and POWER7 involves
  some really dirty tricks in the interrupt vectors that I would rather
  avoid.
  
  IBM drew the line in the sand at POWER8 some time around 2013, embracing
  full support for LE in the platform, and making a push across the board
  for LE code to target POWER8 as a minimum requirement. As such, usage of
  LE kernels on POWER6 and POWER7 is practically nil, despite it being
  technically possible to do.
  
  The so-called "TRUELE" feature bit which is the baseline requirement for
   needed for PowerPC64LE was introduced in POWER8.
  
  Sponsored by:	Tag1 Consulting, Inc.

Added:
  head/sys/powerpc/conf/GENERIC64LE   (contents, props changed)

Added: head/sys/powerpc/conf/GENERIC64LE
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sys/powerpc/conf/GENERIC64LE	Wed Sep 23 01:07:55 2020	(r366043)
@@ -0,0 +1,253 @@
+#
+# GENERIC -- Generic kernel configuration file for FreeBSD/powerpc
+#
+# For more information on this file, please read the handbook section on
+# Kernel Configuration Files:
+#
+#    https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
+#
+# The handbook is also available locally in /usr/share/doc/handbook
+# if you've installed the doc distribution, otherwise always see the
+# FreeBSD World Wide Web server (https://www.FreeBSD.org/) for the
+# latest information.
+#
+# An exhaustive list of options and more detailed explanations of the
+# device lines is also present in the ../../conf/NOTES and NOTES files. 
+# If you are in doubt as to the purpose or necessity of a line, check first 
+# in NOTES.
+#
+# $FreeBSD$
+
+cpu		AIM
+ident		GENERIC
+
+machine 	powerpc	powerpc64le
+
+makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols
+makeoptions	WITH_CTF=1
+
+# Platform support
+options 	MAMBO			#IBM Mambo Full System Simulator
+options		QEMU			#QEMU processor emulator
+options 	PSERIES			#PAPR-compliant systems (e.g. IBM p)
+options 	POWERNV			#Non-virtualized OpenPOWER systems
+
+options		FDT			#Flattened Device Tree
+options 	SCHED_ULE		#ULE scheduler
+options 	NUMA			#Non-Uniform Memory Architecture support
+options 	PREEMPTION		#Enable kernel thread preemption
+options 	VIMAGE			# Subsystem virtualization, e.g. VNET
+options 	INET			#InterNETworking
+options 	INET6			#IPv6 communications protocols
+options 	IPSEC_SUPPORT		# Allow kldload of ipsec and tcpmd5
+options 	TCP_OFFLOAD		# TCP offload
+options 	TCP_BLACKBOX		# Enhanced TCP event logging
+options 	TCP_HHOOK		# hhook(9) framework for TCP
+options 	TCP_RFC7413		# TCP Fast Open
+options 	SCTP_SUPPORT		# Allow kldload of SCTP
+options 	FFS			#Berkeley Fast Filesystem
+options 	SOFTUPDATES		#Enable FFS soft updates support
+options 	UFS_ACL			#Support for access control lists
+options 	UFS_DIRHASH		#Improve performance on big directories
+options 	UFS_GJOURNAL		#Enable gjournal-based UFS journaling
+options 	QUOTA			#Enable disk quotas for UFS
+options 	MD_ROOT			#MD is a potential root device
+options 	MD_ROOT_MEM		#Enable use of initrd as MD root
+options 	NFSCL			#Network Filesystem Client
+options 	NFSD			#Network Filesystem Server
+options 	NFSLOCKD		#Network Lock Manager
+options 	NFS_ROOT		#NFS usable as root device
+options 	MSDOSFS			#MSDOS Filesystem
+options 	CD9660			#ISO 9660 Filesystem
+options 	PROCFS			#Process filesystem (requires PSEUDOFS)
+options 	PSEUDOFS		#Pseudo-filesystem framework
+options 	TMPFS			#Efficient memory filesystem
+options 	GEOM_PART_APM		#Apple Partition Maps.
+options 	GEOM_PART_GPT		#GUID Partition Tables.
+options 	GEOM_LABEL		#Provides labelization
+options 	COMPAT_FREEBSD32	#Compatible with FreeBSD/powerpc binaries
+options 	COMPAT_FREEBSD5		#Compatible with FreeBSD5
+options 	COMPAT_FREEBSD6		#Compatible with FreeBSD6
+options 	COMPAT_FREEBSD7		#Compatible with FreeBSD7
+options 	COMPAT_FREEBSD9		# Compatible with FreeBSD9
+options 	COMPAT_FREEBSD10	# Compatible with FreeBSD10
+options 	COMPAT_FREEBSD11	# Compatible with FreeBSD11
+options 	COMPAT_FREEBSD12	# Compatible with FreeBSD12
+options 	SCSI_DELAY=5000		#Delay (in ms) before probing SCSI 
+options 	KTRACE			#ktrace(1) syscall trace support
+options 	STACK			#stack(9) support
+options 	SYSVSHM			#SYSV-style shared memory
+options 	SYSVMSG			#SYSV-style message queues
+options 	SYSVSEM			#SYSV-style semaphores
+options 	_KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
+options		PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
+options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
+options 	AUDIT			# Security event auditing
+options 	CAPABILITY_MODE		# Capsicum capability mode
+options 	CAPABILITIES		# Capsicum capabilities
+options 	MAC			# TrustedBSD MAC Framework
+options 	KDTRACE_HOOKS		# Kernel DTrace hooks
+options 	DDB_CTF			# Kernel ELF linker loads CTF data
+options 	INCLUDE_CONFIG_FILE     # Include this file in kernel
+options 	RACCT			# Resource accounting framework
+options 	RACCT_DEFAULT_TO_DISABLED # Set kern.racct.enable=0 by default
+options 	RCTL			# Resource limits
+
+# Debugging support.  Always need this:
+options 	KDB			# Enable kernel debugger support.
+options 	KDB_TRACE		# Print a stack trace for a panic.
+# For full debugger support use (turn off in stable branch):
+options 	DDB			#Support DDB
+#options 	DEADLKRES		#Enable the deadlock resolver
+options 	INVARIANTS		#Enable calls of extra sanity checking
+options 	INVARIANT_SUPPORT	#Extra sanity checks of internal structures, required by INVARIANTS
+options 	WITNESS			#Enable checks to detect deadlocks and cycles
+options 	WITNESS_SKIPSPIN	#Don't run witness on spinlocks for speed
+options 	MALLOC_DEBUG_MAXZONES=8	# Separate malloc(9) zones
+options 	VERBOSE_SYSINIT=0	# Support debug.verbose_sysinit, off by default
+
+# Kernel dump features.
+options 	EKCD			# Support for encrypted kernel dumps
+options 	GZIO			# gzip-compressed kernel and user dumps
+options 	ZSTDIO			# zstd-compressed kernel and user dumps
+options 	DEBUGNET		# debugnet networking
+options 	NETDUMP			# netdump(4) client support
+
+# Make an SMP-capable kernel by default
+options 	SMP			# Symmetric MultiProcessor Kernel
+
+# CPU frequency control
+device		cpufreq
+
+# Standard busses
+device		pci
+options 	PCI_HP			# PCI-Express native HotPlug
+device		agp
+
+# ATA controllers
+device		ahci		# AHCI-compatible SATA controllers
+device		ata		# Legacy ATA/SATA controllers
+device		mvs		# Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA
+device		siis		# SiliconImage SiI3124/SiI3132/SiI3531 SATA
+
+# 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
+
+# SCSI Controllers
+device		aacraid		# Adaptec by PMC RAID
+device		ahc		# AHA2940 and onboard AIC7xxx devices
+options 	AHC_ALLOW_MEMIO	# Attempt to use memory mapped I/O
+device		isp		# Qlogic family
+device		ispfw		# Firmware module for Qlogic host adapters
+device		mpt		# LSI-Logic MPT-Fusion
+device		mps		# LSI-Logic MPT-Fusion 2
+device		sym		# NCR/Symbios/LSI Logic 53C8XX/53C1010/53C1510D
+
+# ATA/SCSI peripherals
+device		scbus		# SCSI bus (required for ATA/SCSI)
+device		ch		# SCSI media changers
+device		da		# Direct Access (disks)
+device		sa		# Sequential Access (tape etc)
+device		cd		# CD
+device		pass		# Passthrough device (direct ATA/SCSI access)
+device		ses		# Enclosure Service (SES and SAF-TE)
+
+# vt is the default console driver, resembling an SCO console
+device		vt		# Core console driver
+device		kbdmux
+
+# Serial (COM) ports
+device		scc
+device		uart
+device		uart_z8530
+
+device		iflib
+
+# Ethernet hardware
+device		em		# Intel PRO/1000 Gigabit Ethernet Family
+device		ix		# Intel PRO/10GbE PCIE PF Ethernet Family
+device		ixl		# Intel 700 Series Physical Function
+device		ixv		# Intel PRO/10GbE PCIE VF Ethernet Family
+device		llan		# IBM pSeries Virtual Ethernet
+device		cxgbe		# Chelsio 10/25G NIC
+
+# PCI Ethernet NICs that use the common MII bus controller code.
+device		miibus		# MII bus support
+device		bge		# Broadcom BCM570xx Gigabit Ethernet
+device		gem		# Sun GEM/Sun ERI/Apple GMAC
+device		dc		# DEC/Intel 21143 and various workalikes
+device		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
+device		re		# RealTek 8139C+/8169/8169S/8110S
+device		rl		# RealTek 8129/8139
+
+# Pseudo devices.
+device		crypto		# core crypto support
+device		loop		# Network loopback
+device		ether		# Ethernet support
+device		vlan		# 802.1Q VLAN support
+device		tuntap		# Packet tunnel.
+device		md		# Memory "disks"
+device		ofwd		# Open Firmware disks
+device		gif		# IPv6 and IPv4 tunneling
+device		firmware	# firmware assist module
+
+# The `bpf' device enables the Berkeley Packet Filter.
+# Be aware of the administrative consequences of enabling this!
+# Note that 'bpf' is required for DHCP.
+device		bpf		#Berkeley packet filter
+
+# USB support
+options 	USB_DEBUG	# enable debug msgs
+device		uhci		# UHCI PCI->USB interface
+device		ohci		# OHCI PCI->USB interface
+device		ehci		# EHCI PCI->USB interface
+device		xhci		# XHCI PCI->USB interface
+device		usb		# USB Bus (required)
+device		uhid		# "Human Interface Devices"
+device		ukbd		# Keyboard
+options 	KBD_INSTALL_CDEV # install a CDEV entry in /dev
+device		umass		# Disks/Mass storage - Requires scbus and da0
+device		ums		# Mouse
+# USB Ethernet
+device		aue		# ADMtek USB Ethernet
+device		axe		# ASIX Electronics USB Ethernet
+device		cdce		# Generic USB over Ethernet
+device		cue		# CATC USB Ethernet
+device		kue		# Kawasaki LSI USB Ethernet
+
+# Wireless NIC cards
+options 	IEEE80211_SUPPORT_MESH
+
+# FireWire support
+device		firewire	# FireWire bus code
+device		sbp		# SCSI over FireWire (Requires scbus and da)
+device		fwe		# Ethernet over FireWire (non-standard!)
+
+# Misc
+device		iicbus		# I2C bus code
+device		iic
+device		opalflash	# PowerNV embedded flash memory
+
+# Sound support
+device		sound		# Generic sound driver (required)
+device		snd_hda		# Intel High Definition Audio
+device		snd_uaudio	# USB Audio
+
+# Netmap provides direct access to TX/RX rings on supported NICs
+device		netmap		# netmap(4) support
+
+# evdev interface
+options 	EVDEV_SUPPORT		# evdev support in legacy drivers
+device		evdev			# input event device support
+device		uinput			# install /dev/uinput cdev
+
+# VirtIO support
+device          virtio                  # Generic VirtIO bus (required)
+device          virtio_pci              # VirtIO PCI device
+device          vtnet                   # VirtIO Ethernet device
+device          virtio_blk              # VirtIO Block device
+device          virtio_scsi             # VirtIO SCSI device
+device          virtio_balloon          # VirtIO Memory Balloon device
+


More information about the svn-src-head mailing list