e0b651251d
by default for sun4v where it is absolutely required. This change moves the buffer from struct pcpu to the stack to avoid using the critical section which created a LOR in a couple of cases due to interaction with the tty code and kqueue. The LOR can't be fixed with the critical section and the pcpu buffer can't be used without the critical section. Putting the buffer on the stack was my initial solution, but it was pointed out that the stress on the stack might cause problems depending on the call path. We don't have a way of creating tests for those possible cases, so it's best to leave this as an option for the time being. In time we may get enough data to enable this option more generally.
220 lines
7.6 KiB
Plaintext
220 lines
7.6 KiB
Plaintext
#
|
|
# GENERIC -- Generic kernel configuration file for FreeBSD/sparc64
|
|
#
|
|
# For more information on this file, please read the handbook section on
|
|
# Kernel Configuration Files:
|
|
#
|
|
# http://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 (http://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.
|
|
#
|
|
# For hardware specific information check HARDWARE.TXT
|
|
#
|
|
# $FreeBSD$
|
|
|
|
cpu SUN4V
|
|
ident GENERIC
|
|
|
|
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
|
|
makeoptions NO_MODULES="" # disable modules (aicasm in buildenv)
|
|
|
|
# Platforms supported
|
|
# At this time all platforms are supported, as-is.
|
|
|
|
options SCHED_4BSD # 4BSD scheduler
|
|
#options PREEMPTION # Enable kernel thread preemption
|
|
options INET # InterNETworking
|
|
options INET6 # IPv6 communications protocols
|
|
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 MD_ROOT # MD is a potential root device
|
|
options NFSCLIENT # Network Filesystem Client
|
|
options NFSSERVER # Network Filesystem Server
|
|
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
|
|
#options MSDOSFS # MSDOS Filesystem
|
|
options NULLFS
|
|
options CD9660 # ISO 9660 Filesystem
|
|
options PROCFS # Process filesystem (requires PSEUDOFS)
|
|
options PSEUDOFS # Pseudo-filesystem framework
|
|
options GEOM_GPT # GUID Partition Tables.
|
|
options COMPAT_43 # Compatible with BSD 4.3 [KEEP THIS!]
|
|
options COMPAT_43TTY # BSD 4.3 TTY compat [KEEP THIS!]
|
|
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
|
|
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
|
|
options KTRACE # ktrace(1) 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 AHC_REG_PRETTY_PRINT # Print register bitfields in debug
|
|
# output. Adds ~128k to driver.
|
|
options ADAPTIVE_GIANT # Giant mutex is adaptive.
|
|
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
|
|
|
|
# Debugging for use in -current
|
|
options KDB # Enable kernel debugger support.
|
|
options KDB_TRACE
|
|
options DDB # Support DDB.
|
|
options TRAP_TRACING # Enable trap tracing.
|
|
options TRAP_TRACE_ENTRIES=256 # Trap trace buffer entries.
|
|
#options GDB # Support remote GDB.
|
|
#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 DEBUG_LOCKS
|
|
#options DEBUG_VFS_LOCKS
|
|
|
|
# To make an SMP kernel, the next line is needed
|
|
options SMP # Symmetric MultiProcessor Kernel
|
|
|
|
# Standard busses
|
|
device pci
|
|
#device isa
|
|
|
|
|
|
# Floppy drives
|
|
#device fdc
|
|
|
|
# ATA and ATAPI devices
|
|
device ata
|
|
#device atadisk # ATA disk drives
|
|
device atapicd # ATAPI CDROM drives
|
|
#device atapifd # ATAPI floppy drives
|
|
#device atapist # ATAPI tape drives
|
|
# Do NOT enable ATA_STATIC_ID -- cmd646 controller will be !ata2!,
|
|
# and you will not mount an ATA /.
|
|
#options ATA_STATIC_ID # Static device numbering
|
|
|
|
# SCSI Controllers
|
|
#device ahc # AHA2940 and onboard AIC7xxx devices
|
|
#device isp # Qlogic family
|
|
#device ispfw # Firmware module for Qlogic host adapters
|
|
device mpt # LSI-Logic MPT-Fusion (not yet)
|
|
#device ncr # NCR/Symbios Logic
|
|
#device sym # NCR/Symbios Logic (newer chipsets + those of `ncr')
|
|
#device esp # NCR53c9x (FEPS/FAS366)
|
|
|
|
# SCSI peripherals
|
|
device scbus # SCSI bus (required for 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 SCSI access)
|
|
device ses # SCSI Environmental Services (and SAF-TE)
|
|
|
|
# RAID controllers
|
|
#device amr # AMI MegaRAID
|
|
#device mlx # Mylex DAC960 family
|
|
|
|
# syscons is the default console driver, resembling an SCO console
|
|
#device sc
|
|
#device splash # Splash screen and screen saver support
|
|
#options KBD_INSTALL_CDEV # install a CDEV entry in /dev
|
|
|
|
#device ofw_console # Open Firmware console device
|
|
|
|
# Builtin hardware
|
|
#device auxio # auxiliary I/O device
|
|
#device clkbrd # Clock Board (blinkenlight on Sun Exx00)
|
|
#device eeprom # eeprom (really a front-end for the MK48Txx)
|
|
#device mk48txx # Mostek MK48Txx clocks
|
|
#device rtc # rtc (really a front-end for the MC146818)
|
|
#device mc146818 # Motorola MC146818 and compatible clocks
|
|
|
|
# Serial (COM) ports
|
|
#device sab # Siemens SAB82532 based serial ports
|
|
#device uart # Multi-uart driver
|
|
#device puc # Multi-channel uarts
|
|
|
|
# Parallel port
|
|
#device ppc
|
|
#device ppbus # Parallel port bus (required)
|
|
#device lpt # Printer
|
|
#device plip # TCP/IP over parallel
|
|
#device ppi # Parallel port interface device
|
|
#device vpo # Requires scbus and da
|
|
|
|
# PCI Ethernet NICs.
|
|
#device de # DEC/Intel DC21x4x (``Tulip'')
|
|
device em # Intel PRO/1000 adapter Gigabit Ethernet Card
|
|
#device ixgb # Intel PRO/10GbE Ethernet Card
|
|
#device le # AMD Am7900 LANCE and Am79C9xx PCnet
|
|
#device txp # 3Com 3cR990 (``Typhoon'')
|
|
#device vx # 3Com 3c590, 3c595 (``Vortex'')
|
|
|
|
# PCI Ethernet NICs that use the common MII bus controller code.
|
|
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
|
|
device miibus # MII bus support
|
|
device bge # Broadcom BCM570xx Gigabit Ethernet
|
|
|
|
# Pseudo devices.
|
|
device loop # Network loopback
|
|
device random # Entropy device
|
|
device ether # Ethernet support
|
|
device sl # Kernel SLIP
|
|
device ppp # Kernel PPP
|
|
device tun # Packet tunnel.
|
|
device pty # Pseudo-ttys (telnet etc)
|
|
device md # Memory "disks"
|
|
device gif # IPv6 and IPv4 tunneling
|
|
device faith # IPv6-to-IPv4 relaying (translation)
|
|
|
|
# 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
|
|
#device uhci # UHCI PCI->USB interface
|
|
#device ohci # OHCI PCI->USB interface
|
|
device usb # USB Bus (required)
|
|
#device udbp # USB Double Bulk Pipe devices
|
|
device ugen # Generic
|
|
device uhid # "Human Interface Devices"
|
|
#device ukbd # Keyboard
|
|
device ulpt # Printer
|
|
#device umass # Disks/Mass storage - Requires scbus and da
|
|
device ums # Mouse
|
|
#device urio # Diamond Rio 500 MP3 player
|
|
#device uscanner # Scanners
|
|
# USB Ethernet, requires mii
|
|
#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
|
|
#device rue # RealTek RTL8150 USB Ethernet
|
|
|
|
# FireWire support
|
|
#device firewire # FireWire bus code
|
|
#device sbp # SCSI over FireWire (Requires scbus and da)
|
|
#device fwe # Ethernet over FireWire (non-standard!)
|
|
|
|
#options SIMULATOR # compile for ISA simulator
|
|
#options KTR
|
|
#options KTR_MASK=(KTR_TRAP)
|
|
#options USB_DEBUG
|
|
#options USBVERBOSE
|
|
#options DEBUG_LOCKS
|
|
#options DEBUG_VFS_LOCKS
|
|
|
|
device ccd
|
|
|
|
# sched_lock incurs a rather high overhead at a 1000Hz with 32 cpus
|
|
# on most arches and in most cases 1000Hz pessimizes performance
|
|
# its choice was not adequately researched
|
|
options HZ=100
|
|
|