summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2004-02-04 22:53:50 +0000
committerpeter <peter@FreeBSD.org>2004-02-04 22:53:50 +0000
commitff4831ac368b2996021b7d0f1c7e97b30fe0dbe7 (patch)
tree80d3accd5232887c089253263780726c0dbb5160
parenta5b08daacd0f6769a2c83b82d814ac161a3303f7 (diff)
downloadFreeBSD-src-ff4831ac368b2996021b7d0f1c7e97b30fe0dbe7.zip
FreeBSD-src-ff4831ac368b2996021b7d0f1c7e97b30fe0dbe7.tar.gz
Checkpoint a NOTES file I had as of Nov 23rd. It doesn't quite compile
due to triggering some printf breakage in some DIAGNOSTIC printfs.
-rw-r--r--sys/amd64/conf/NOTES419
1 files changed, 419 insertions, 0 deletions
diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES
new file mode 100644
index 0000000..db8052d
--- /dev/null
+++ b/sys/amd64/conf/NOTES
@@ -0,0 +1,419 @@
+#
+# 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.
+# (XXX from i386:NOTES,v 1.1106; merge in updates)
+# $FreeBSD$
+#
+
+#
+# This directive is mandatory; it defines the architecture to be
+# configured for; in this case, the 386 family based IBM-PC and
+# compatibles.
+#
+machine amd64
+
+#
+# We want LINT to cover profiling as well
+#X#profile 2
+
+
+#####################################################################
+# SMP OPTIONS:
+#
+# The apic device enables the use of the I/O APIC for interrupt delivery.
+# The apic device can be used in both UP and SMP kernels, but is required
+# for SMP kernels. Thus, the apic device is not strictly an SMP option,
+# but it is a prerequisite for SMP.
+#
+# Notes:
+#
+# Be sure to disable 'cpu I386_CPU' for SMP kernels.
+#
+# By default, mixed mode is used to route IRQ0 from the AT timer via
+# the 8259A master PIC through the ExtINT pin on the first I/O APIC.
+# This can be disabled via the NO_MIXED_MODE option. In that case,
+# IRQ0 will be routed via an intpin on the first I/O APIC. Not all
+# motherboards hook IRQ0 up to the first I/O APIC even though their
+# MP table or MADT may claim to do so. That is why mixed mode is
+# enabled by default.
+#
+
+# Optional:
+device atpic
+device mptable
+options NO_MIXED_MODE # Disable use of mixed mode
+
+
+#####################################################################
+# CPU OPTIONS
+
+#
+# You must specify at least one CPU (the one you intend to run on);
+# deleting the specification for CPUs you don't need to use may make
+# parts of the system run faster.
+#
+cpu HAMMER
+
+#
+# Options for CPU features.
+#
+
+#
+# PERFMON causes the driver for Pentium/Pentium Pro performance counters
+# to be compiled. See perfmon(4) for more information.
+#
+#X#options PERFMON
+
+
+#####################################################################
+# NETWORKING OPTIONS
+
+#
+# DEVICE_POLLING adds support for mixed interrupt-polling handling
+# of network device drivers, which has significant benefits in terms
+# of robustness to overloads and responsivity, as well as permitting
+# accurate scheduling of the CPU time between kernel network processing
+# and other activities. The drawback is a moderate (up to 1/HZ seconds)
+# potential increase in response times.
+# It is strongly recommended to use HZ=1000 or 2000 with DEVICE_POLLING
+# to achieve smoother behaviour.
+# Additionally, you can enable/disable polling at runtime with the
+# sysctl variable kern.polling.enable (defaults off), and select
+# the CPU fraction reserved to userland with the sysctl variable
+# kern.polling.user_frac (default 50, range 0..100).
+#
+# Only the "dc" "fxp" and "sis" devices support this mode of operation at
+# the time of this writing.
+
+options DEVICE_POLLING
+
+
+#####################################################################
+# CLOCK OPTIONS
+
+# The following options are used for debugging clock behavior only, and
+# should not be used for production systems.
+#
+# CLK_CALIBRATION_LOOP will run the clock calibration loop at startup
+# until the user presses a key.
+
+options CLK_CALIBRATION_LOOP
+
+# The following two options measure the frequency of the corresponding
+# clock relative to the RTC (onboard mc146818a).
+
+options CLK_USE_I8254_CALIBRATION
+options CLK_USE_TSC_CALIBRATION
+
+
+#####################################################################
+# MISCELLANEOUS DEVICES AND OPTIONS
+
+device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT!
+
+
+#####################################################################
+# HARDWARE BUS CONFIGURATION
+
+#
+# ISA bus
+#
+device isa
+
+#
+# Options for `isa':
+#
+# AUTO_EOI_1 enables the `automatic EOI' feature for the master 8259A
+# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
+# This option breaks suspend/resume on some portables.
+#
+# AUTO_EOI_2 enables the `automatic EOI' feature for the slave 8259A
+# interrupt controller. This saves about 0.7-1.25 usec for each interrupt.
+# Automatic EOI is documented not to work for for the slave with the
+# original i8259A, but it works for some clones and some integrated
+# versions.
+#
+# MAXMEM specifies the amount of RAM on the machine; if this is not
+# specified, FreeBSD will first read the amount of memory from the CMOS
+# RAM, so the amount of memory will initially be limited to 64MB or 16MB
+# depending on the BIOS. If the BIOS reports 64MB, a memory probe will
+# then attempt to detect the installed amount of RAM. If this probe
+# fails to detect >64MB RAM you will have to use the MAXMEM option.
+# The amount is in kilobytes, so for a machine with 128MB of RAM, it would
+# be 131072 (128 * 1024).
+#
+# BROKEN_KEYBOARD_RESET disables the use of the keyboard controller to
+# reset the CPU for reboot. This is needed on some systems with broken
+# keyboard controllers.
+
+options AUTO_EOI_1
+#options AUTO_EOI_2
+
+options MAXMEM=(128*1024)
+#options BROKEN_KEYBOARD_RESET
+
+#
+# PCI bus & PCI options:
+#
+device pci
+
+#
+# AGP GART support
+device agp
+
+
+#####################################################################
+# HARDWARE DEVICE CONFIGURATION
+
+#
+# Mandatory devices:
+#
+
+#
+# Optional devices:
+#
+
+# 3Dfx Voodoo Graphics, Voodoo II /dev/3dfx CDEV support. This will create
+# the /dev/3dfx0 device to work with glide implementations. This should get
+# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
+# the tdfx DRI module from XFree86 and is completely unrelated.
+#
+# To enable Linuxulator support, one must also include COMPAT_LINUX in the
+# config as well, or you will not have the dependencies. The other option
+# is to load both as modules.
+
+device tdfx # Enable 3Dfx Voodoo support
+#X#options TDFX_LINUX # Enable Linuxulator support
+
+#
+# ACPI support using the Intel ACPI Component Architecture reference
+# implementation.
+#
+# ACPI_DEBUG enables the use of the debug.acpi.level and debug.acpi.layer
+# kernel environment variables to select initial debugging levels for the
+# Intel ACPICA code. (Note that the Intel code must also have USE_DEBUGGER
+# defined when it is built).
+#
+# ACPI_MAX_THREADS sets the number of task threads started.
+#
+# ACPI_NO_SEMAPHORES makes the AcpiOs*Semaphore routines a no-op.
+#
+# ACPICA_PEDANTIC enables strict checking of AML. Our default is to
+# relax these checks to allow code generated by the Microsoft compiler
+# to still execute.
+#
+# Note that building ACPI into the kernel is deprecated; the module is
+# normally loaded automatically by the loader.
+#
+device acpi
+options ACPI_DEBUG
+options ACPI_MAX_THREADS=1
+#!options ACPI_NO_SEMAPHORES
+#!options ACPICA_PEDANTIC
+
+# DRM options:
+# mgadrm: AGP Matrox G200, G400, G450, G550
+# r128drm: ATI Rage 128
+# radeondrm: ATI Radeon up to 9000/9100
+# sisdrm: SiS 300/305,540,630
+# tdfxdrm: 3dfx Voodoo 3/4/5 and Banshee
+# DRM_DEBUG: include debug printfs, very slow
+#
+# mga requires AGP in the kernel, and it is recommended
+# for AGP r128 and radeon cards.
+
+device mgadrm
+device "r128drm"
+device radeondrm
+device sisdrm
+device tdfxdrm
+
+options DRM_DEBUG
+
+#
+# Network interfaces:
+#
+
+# ath: Atheros a/b/g WiFi adapters (requires ath_hal and wlan)
+
+device ath
+#X#device ath_hal # Atheros HAL (includes binary component)
+device wlan # 802.11 layer
+
+#
+# ATA raid adapters
+#
+#XXX this stores pointers in a 32bit field that is defined by the hardware
+#device pst
+
+#
+# SCSI host adapters:
+#
+
+#
+# Adaptec FSA RAID controllers, including integrated DELL controllers,
+# the Dell PERC 2/QC and the HP NetRAID-4M
+device aac
+device aacp # SCSI Passthrough interface (optional, CAM required)
+
+#
+# IBM (now Adaptec) ServeRAID controllers
+device ips
+
+#
+# SafeNet crypto driver: can be moved to the MI NOTES as soon as
+# it's tested on a big-endian machine
+#
+device safe # SafeNet 1141
+options SAFE_DEBUG # enable debugging support: hw.safe.debug
+options SAFE_RNDTEST # enable rndtest support
+
+#####################################################################
+
+#
+# Miscellaneous hardware:
+#
+# digi: Digiboard driver
+
+# Notes on the Specialix SI/XIO driver:
+# The host card is memory, not IO mapped.
+# The Rev 1 host cards use a 64K chunk, on a 32K boundary.
+# The Rev 2 host cards use a 32K chunk, on a 32K boundary.
+# The cards can use an IRQ of 11, 12 or 15.
+
+device digi
+hint.digi.0.at="isa"
+hint.digi.0.port="0x104"
+hint.digi.0.maddr="0xd0000"
+# BIOS & FEP/OS components of device digi.
+device digi_CX
+device digi_CX_PCI
+device digi_EPCX
+device digi_EPCX_PCI
+device digi_Xe
+device digi_Xem
+device digi_Xr
+# HOT1 Xilinx 6200 card (http://www.vcc.com/)
+device xrpu
+
+#
+# Laptop/Notebook options:
+#
+
+
+#
+# I2C Bus
+#
+
+#---------------------------------------------------------------------------
+
+#
+# Set the number of PV entries per process. Increasing this can
+# stop panics related to heavy use of shared memory. However, that can
+# (combined with large amounts of physical memory) cause panics at
+# boot time due the kernel running out of VM space.
+#
+# If you're tweaking this, you might also want to increase the sysctls
+# "vm.v_free_min", "vm.v_free_reserved", and "vm.v_free_target".
+#
+# The value below is the one more than the default.
+#
+options PMAP_SHPGPERPROC=201
+
+
+#####################################################################
+# ABI Emulation
+
+#XXX keep these here for now and reactivate when support for emulating
+#XXX these 32 bit binaries is added.
+
+# Enable iBCS2 runtime support for SCO and ISC binaries
+#X#options IBCS2
+
+# Emulate spx device for client side of SVR3 local X interface
+#X#options SPX_HACK
+
+# Enable Linux ABI emulation
+#X#options COMPAT_LINUX
+
+# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
+# and PSEUDOFS)
+#X#options LINPROCFS
+
+#
+# SysVR4 ABI emulation
+#
+# The svr4 ABI emulator can be statically compiled into the kernel or loaded as
+# a KLD module.
+# The STREAMS network emulation code can also be compiled statically or as a
+# module. If loaded as a module, it must be loaded before the svr4 module
+# (the /usr/sbin/svr4 script does this for you). If compiling statically,
+# the `streams' device must be configured into any kernel which also
+# specifies COMPAT_SVR4. It is possible to have a statically-configured
+# STREAMS device and a dynamically loadable svr4 emulator; the /usr/sbin/svr4
+# script understands that it doesn't need to load the `streams' module under
+# those circumstances.
+# Caveat: At this time, `options KTRACE' is required for the svr4 emulator
+# (whether static or dynamic).
+#
+#X#options COMPAT_SVR4 # build emulator statically
+#X#options DEBUG_SVR4 # enable verbose debugging
+#X#device streams # STREAMS network driver (required for svr4).
+
+
+#####################################################################
+# VM OPTIONS
+
+# KSTACK_PAGES is the number of memory pages to assign to the kernel
+# stack of each thread.
+
+options KSTACK_PAGES=3
+
+#####################################################################
+
+# More undocumented options for linting.
+# Note that documenting these are not considered an affront.
+
+options FB_INSTALL_CDEV # install a CDEV entry in /dev
+
+# PECOFF module (Win32 Execution Format)
+#X#options PECOFF_SUPPORT
+#X#options PECOFF_DEBUG
+
+options ENABLE_ALART
+options KBDIO_DEBUG=2
+options KBD_MAXRETRY=4
+options KBD_MAXWAIT=6
+options KBD_RESETDELAY=201
+
+options PSM_DEBUG=1
+
+options TIMER_FREQ=((14318182+6)/12)
+
+options VM_KMEM_SIZE
+options VM_KMEM_SIZE_MAX
+options VM_KMEM_SIZE_SCALE
+
+###############################################################
+# Broken stuff that shouldn't really be broken
+
+# machine/ioctl_meteor.h and machine/bt848.h
+nodevice bktr
+
+# pointer/int stuff
+nodevice mgadrm
+nodevice "r128drm"
+nodevice radeondrm
+nodevice sisdrm
+nodevice tdfxdrm
+
+# missing conf lines (must be fixed ASAP)
+nooption SC_DFLT_FONT
+nooption UKBD_DFLT_KEYMAP
+nooption ATKBD_DFLT_KEYMAP
+nooption PMAP_SHPGPERPROC
+nooption CLK_USE_I8254_CALIBRATION
+# XXX dead option
+nooption CLK_USE_TSC_CALIBRATION
OpenPOWER on IntegriCloud