Immediate reboot after memory probe

From: Yu-Shun Wang <yushunwa_at_ISI.EDU>
Date: Wed, 07 Jan 2004 16:46:12 -0800
Hi,

Updated a couple of machines after the holiday and they blowed
up on me. :-) As said in the subject, after installing the new
kernel based on today's current, the machines (Dell duo Xeon
2.4GHz with 1G RDRAM) would not boot, or more precisely they'd
immediately reboot after preloading the modules and showing
the CPU/Mem specs:

 From dmesg:

<snip>
Preloaded elf module "/boot/kernel/iicsmb.ko" at 0xc09db4fc.
Preloaded elf module "/boot/kernel/uart.ko" at 0xc09db5a8.
Timecounter "i8254" frequency 1193118 Hz quality 0
CPU: Intel(R) XEON(TM) CPU 2.40GHz (2372.80-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0xf24  Stepping = 4
 
Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
   Hyperthreading: 2 logical CPUs
real memory  = 1073180672 (1023 MB)
avail memory = 1032687616 (984 MB)
*** (Rebooted at this point!) ***

With a bit of digging and luck (not debugging, I am new to
kernel debugging and don't have the environment setup to
generate tracebacks), I managed to find the probable cause:
sys/i386/i386/pmap.c from the commit log included below.
After reversed the diff between 1.456 and 1.457, the problem
was fixed.

Weird thing is, it seems like I am the only one hit by
this problem. I couldn't find any message on CURRENT
list regarding this. Anyways, dmesg & kernel conf files are
also attached. Please let me know if you need more info.

Thanks,

yushun.

Alan Cox wrote:
> alc         2003/12/21 17:01:32 PST
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/amd64/amd64      pmap.c 
>     sys/i386/i386        pmap.c 
>     sys/vm               uma_int.h 
>   Log:
>    - Significantly reduce the number of preallocated pv entries in
>      pmap_init().  Such a large preallocation is unnecessary and wastes
>      nearly eight megabytes of kernel virtual address space per gigabyte
>      of managed physical memory.
>    - Increase UMA_BOOT_PAGES by two.  This enables the removal of
>      pmap_pv_allocf().  (Note: this function was only used during
>      initialization, specifically, after pmap_init() but before
>      pmap_init2().  During pmap_init2(), a new allocator is installed.)
>   
>   Revision  Changes    Path
>   1.449     +1 -14     src/sys/amd64/amd64/pmap.c
>   1.457     +1 -14     src/sys/i386/i386/pmap.c
>   1.22      +1 -1      src/sys/vm/uma_int.h
> _______________________________________________
> cvs-all_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/cvs-all
> To unsubscribe, send any mail to "cvs-all-unsubscribe_at_freebsd.org"
> 
> http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/amd64/amd64/pmap.c.diff?&r1=1.448&r2=1.449&f=h
> http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/i386/i386/pmap.c.diff?&r1=1.456&r2=1.457&f=h
> http://www.FreeBSD.org/cgi/cvsweb.cgi/src/sys/vm/uma_int.h.diff?&r1=1.21&r2=1.22&f=h

-- 
Yu-Shun Wang <yushunwa_at_isi.edu>
USC Information Sciences Institute

cam: using minimum scsi_delay (100ms)
Copyright (c) 1992-2004 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.2-CURRENT #15: Wed Jan  7 15:48:28 PST 2004
    yushunwa_at_nik.isi.edu:/usr/obj/usr/src/sys/KERNEL-1.34
Preloaded elf kernel "/boot/kernel/kernel" at 0xc09d9000.
Preloaded elf module "/boot/kernel/vesa.ko" at 0xc09d921c.
Preloaded elf module "/boot/kernel/md.ko" at 0xc09d92c8.
Preloaded elf module "/boot/kernel/linux.ko" at 0xc09d9370.
Preloaded elf module "/boot/kernel/if_gif.ko" at 0xc09d941c.
Preloaded elf module "/boot/kernel/if_tun.ko" at 0xc09d94c8.
Preloaded elf module "/boot/kernel/ipfw.ko" at 0xc09d9574.
Preloaded elf module "/boot/kernel/if_an.ko" at 0xc09d9620.
Preloaded elf module "/boot/kernel/wlan.ko" at 0xc09d96cc.
Preloaded elf module "/boot/kernel/rc4.ko" at 0xc09d9778.
Preloaded elf module "/boot/kernel/pccard.ko" at 0xc09d9820.
Preloaded elf module "/boot/kernel/if_em.ko" at 0xc09d98cc.
Preloaded elf module "/boot/kernel/if_fxp.ko" at 0xc09d9978.
Preloaded elf module "/boot/kernel/miibus.ko" at 0xc09d9a24.
Preloaded elf module "/boot/kernel/if_lnc.ko" at 0xc09d9ad0.
Preloaded elf module "/boot/kernel/if_wi.ko" at 0xc09d9b7c.
Preloaded elf module "/boot/kernel/if_xl.ko" at 0xc09d9c28.
Preloaded elf module "/boot/kernel/snd_emu10k1.ko" at 0xc09d9cd4.
Preloaded elf module "/boot/kernel/snd_pcm.ko" at 0xc09d9d84.
Preloaded elf module "/boot/kernel/snd_es137x.ko" at 0xc09d9e30.
Preloaded elf module "/boot/kernel/snd_ich.ko" at 0xc09d9ee0.
Preloaded elf module "/boot/kernel/snd_maestro3.ko" at 0xc09d9f8c.
Preloaded elf module "/boot/kernel/ugen.ko" at 0xc09da040.
Preloaded elf module "/boot/kernel/usb.ko" at 0xc09da0ec.
Preloaded elf module "/boot/kernel/uhid.ko" at 0xc09da194.
Preloaded elf module "/boot/kernel/ukbd.ko" at 0xc09da240.
Preloaded elf module "/boot/kernel/ulpt.ko" at 0xc09da2ec.
Preloaded elf module "/boot/kernel/ums.ko" at 0xc09da398.
Preloaded elf module "/boot/kernel/umass.ko" at 0xc09da440.
Preloaded elf module "/boot/kernel/umodem.ko" at 0xc09da4ec.
Preloaded elf module "/boot/kernel/ucom.ko" at 0xc09da598.
Preloaded elf module "/boot/kernel/bktr.ko" at 0xc09da644.
Preloaded elf module "/boot/kernel/bktr_mem.ko" at 0xc09da6f0.
Preloaded elf module "/boot/kernel/agp.ko" at 0xc09da7a0.
Preloaded elf module "/boot/kernel/random.ko" at 0xc09da848.
Preloaded elf module "/boot/kernel/ip_mroute.ko" at 0xc09da8f4.
Preloaded elf module "/boot/kernel/ip6fw.ko" at 0xc09da9a4.
Preloaded elf module "/boot/kernel/netgraph.ko" at 0xc09daa50.
Preloaded elf module "/boot/kernel/dummynet.ko" at 0xc09dab00.
Preloaded elf module "/boot/kernel/radeon.ko" at 0xc09dabb0.
Preloaded elf module "/boot/kernel/r128.ko" at 0xc09dac5c.
Preloaded elf module "/boot/kernel/ahc.ko" at 0xc09dad08.
Preloaded elf module "/boot/kernel/mpt.ko" at 0xc09dadb0.
Preloaded elf module "/boot/kernel/fdc.ko" at 0xc09dae58.
Preloaded elf module "/boot/kernel/cbb.ko" at 0xc09daf00.
Preloaded elf module "/boot/kernel/exca.ko" at 0xc09dafa8.
Preloaded elf module "/boot/kernel/cardbus.ko" at 0xc09db054.
Preloaded elf module "/boot/kernel/lpt.ko" at 0xc09db100.
Preloaded elf module "/boot/kernel/ubsa.ko" at 0xc09db1a8.
Preloaded elf module "/boot/kernel/smbus.ko" at 0xc09db254.
Preloaded elf module "/boot/kernel/smb.ko" at 0xc09db300.
Preloaded elf module "/boot/kernel/iicbus.ko" at 0xc09db3a8.
Preloaded elf module "/boot/kernel/iic.ko" at 0xc09db454.
Preloaded elf module "/boot/kernel/iicsmb.ko" at 0xc09db4fc.
Preloaded elf module "/boot/kernel/uart.ko" at 0xc09db5a8.
Timecounter "i8254" frequency 1193118 Hz quality 0
CPU: Intel(R) XEON(TM) CPU 2.40GHz (2372.80-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf24  Stepping = 4
  Features=0x3febfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM>
  Hyperthreading: 2 logical CPUs
real memory  = 1073180672 (1023 MB)
avail memory = 1032687616 (984 MB)
ACPI APIC Table: <DELL   WS 530 >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
ioapic0: Changing APIC ID to 4
ioapic0 <Version 2.0> irqs 0-23 on motherboard
bktr_mem: memory holder loaded
VESA: v2.0, 65536k memory, flags:0x1, mode table:0xc0769a22 (1000022)
VESA: ATI RADEON RV250
Pentium Pro MTRR support enabled
npx0: [FAST]
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <DELL   WS 530 > on motherboard
pcibios: BIOS version 2.10
Using $PIR table, 12 entries at 0xc00fb9a0
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_cpu1: <CPU> on acpi0
acpi_cpu2: <CPU> on acpi0
acpi_cpu3: <CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82860 host to AGP bridge> mem 0xe8000000-0xefffffff at device 0.0 on pci0
pcib1: <PCIBIOS PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci_cfgintr: 1:0 INTA BIOS irq 11
drm0: <ATI Radeon If R250 9000> port 0xec00-0xecff mem 0xff8f0000-0xff8fffff,0xf4000000-0xf7ffffff irq 11 at device 0.0 on pci1
info: [drm] AGP at 0xe8000000 128MB
info: [drm] Initialized radeon 1.10.0 20020828 on minor 0
pci1: <display> at device 0.1 (no driver attached)
pcib2: <ACPI PCI-PCI bridge> at device 2.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> at device 31.0 on pci2
pci3: <ACPI PCI bus> on pcib3
pci3: <base peripheral, interrupt controller> at device 0.0 (no driver attached)
mpt0: <LSILogic 1030 Ultra4 Adapter> port 0xdc00-0xdcff mem 0xff6a0000-0xff6bffff,0xff6c0000-0xff6dffff irq 20 at device 12.0 on pci3
mpt1: <LSILogic 1030 Ultra4 Adapter> port 0xd800-0xd8ff mem 0xff660000-0xff67ffff,0xff680000-0xff69ffff irq 21 at device 12.1 on pci3
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.19> port 0xd4c0-0xd4ff mem 0xff640000-0xff65ffff irq 21 at device 13.0 on pci3
em0:  Speed:N/A  Duplex:N/A
pcib4: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci4: <ACPI PCI bus> on pcib4
xl0: <3Com 3c905C-TX Fast Etherlink XL> port 0xcc80-0xccff mem 0xff3ffc00-0xff3ffc7f irq 23 at device 11.0 on pci4
xl0: Ethernet address: 00:06:5b:bd:ee:48
miibus0: <MII bus> on xl0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci4: <serial bus, FireWire> at device 12.0 (no driver attached)
pcm0: <Creative EMU10K1> port 0xcc60-0xcc7f irq 18 at device 14.0 on pci4
pcm0: <Cirrus Logic CS4297A AC97 Codec>
bktr0: <BrookTree 878> mem 0xf80ff000-0xf80fffff irq 19 at device 15.0 on pci4
bktr0: Hauppauge Model 61381 D423
bktr0: Detected a MSP3430G-A4 at 0x80
bktr0: Hauppauge WinCast/TV, Philips FR1236 NTSC FM tuner, msp3400c stereo, remote control.
pci4: <multimedia> at device 15.1 (no driver attached)
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH2 UDMA100 controller> port 0xffa0-0xffaf at device 31.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata0: [MPSAFE]
ata1: at 0x170 irq 15 on atapci0
ata1: [MPSAFE]
uhci0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> port 0xff80-0xff9f irq 19 at device 31.2 on pci0
usb0: <Intel 82801BA/BAM (ICH2) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1: NMB Dell USB Keyboard Hub, class 9/0, rev 1.10/0.01, addr 2
uhub1: 3 ports with 2 removable, bus powered
ukbd0: NMB Dell USB 7HK Keyboard, rev 1.10/0.01, addr 3, iclass 3/1
kbd0 at ukbd0
ums0: Microsoft Microsoft 5-Button Mouse with IntelliEye(TM), rev 1.10/3.00, addr 4, iclass 3/1
ums0: 5 buttons and Z dir.
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
uhci1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> port 0xff60-0xff7f irq 23 at device 31.4 on pci0
usb1: <Intel 82801BA/BAM (ICH2) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0: port may not be enabled
sio0 port 0x3f8-0x3ff irq 4 on acpi0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
sio1 port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
ppc0 port 0x778-0x77f,0x378-0x37f irq 7 drq 1 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/8 bytes threshold
ppbus0: <Parallel port bus> on ppc0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
pmtimer0 on isa0
orm0: <Option ROMs> at iomem 0xd1000-0xd3fff,0xcd000-0xd0fff,0xc0000-0xccfff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x200>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 10.000 msec
IPv6 packet filtering initialized, logging disabled
ipfw2 initialized, divert disabled, rule-based forwarding enabled, default to deny, logging disabled
IPsec: Initialized Security Association Processing.
GEOM: create disk ad0 dp=0xc6b06360
ad0: 78167MB <Maxtor 4D080H4> [158816/16/63] at ata0-master UDMA100
acd0: CDRW <PHILIPS DVD+RW-D28> at ata1-master UDMA33
em0: Link is up 1000 Mbps Full Duplex
GEOM: create disk da0 dp=0xc6c32050
GEOM: create disk da1 dp=0xc6c36c50
da0 at mpt1 bus 0 target 0 lun 0
da0: <SEAGATE ST336732LW 2223> Fixed Direct Access SCSI-3 device 
da0: 320.000MB/s transfers (160.000MHz, offset 63, 16bit), Tagged Queueing Enabled
da0: 34732MB (71132959 512 byte sectors: 255H 63S/T 4427C)
da1 at mpt1 bus 0 target 1 lun 0
da1: <SEAGATE ST336732LW 2223> Fixed Direct Access SCSI-3 device 
da1: 320.000MB/s transfers (160.000MHz, offset 63, 16bit), Tagged Queueing Enabled
da1: 34732MB (71132959 512 byte sectors: 255H 63S/T 4427C)
SMP: AP CPU #2 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
Mounting root from ufs:/dev/da0s1a
em0: Link is up 1000 Mbps Full Duplex
em0: Link is up 1000 Mbps Full Duplex
em0: Link is up 1000 Mbps Full Duplex
pid 937 (checkvm), uid 0: exited on signal 10 (core dumped)
info: [drm] Loading R200 Microcode
drm0: [MPSAFE]
pid 1468 (checkvm), uid 0: exited on signal 10 (core dumped)

# $Id: KERNEL,v 1.34 2003/11/05 16:41:55 larse Exp $

# This directive is mandatory; it defines the architecture to be
# configured for; in this case, the 386 family based IBM-PC and
# compatibles.
#
machine		i386

# This is the ``identification'' of the kernel.  Usually this should
# be the same as the name of your kernel.
#
ident		KERNEL

# We need the revision for the automated periodic update script.
# $Revision: 1.34 $

# This allows you to actually store this configuration file into
# the kernel binary itself, where it may be later read by saying:
#    strings -n 3 /boot/kernel/kernel | sed -n 's/^___//p' > MYKERNEL
#
options         INCLUDE_CONFIG_FILE     # Include this file in kernel

# The `maxusers' parameter controls the static sizing of a number of
# internal system tables by a formula defined in subr_param.c.  Setting
# maxusers to 0 will cause the system to auto-size based on physical 
# memory.
#
maxusers	0

# The `makeoptions' parameter allows variables to be passed to the
# generated Makefile in the build area.
#
# CONF_CFLAGS gives some extra compiler flags that are added to ${CFLAGS}
# after most other flags.  Here we use it to inhibit use of non-optimal
# gcc builtin functions (e.g., memcmp).
#
# DEBUG happens to be magic.
# The following is equivalent to 'config -g KERNELNAME' and creates
# 'kernel.debug' compiled with -g debugging as well as a normal
# 'kernel'.  Use 'make install.debug' to install the debug kernel
# but that isn't normally necessary as the debug symbols are not loaded
# by the kernel and are not useful there anyway.
#
makeoptions	CONF_CFLAGS="-fno-builtin"
makeoptions	DEBUG=-g


#####################################################################
# SCHEDULER OPTIONS
#####################################################################

# Scheduler options:
#
# Specifying one of SCHED_4BSD or SCHED_ULE is mandatory.  These options
# select which scheduler is compiled in.
#
# SCHED_4BSD is the historical, proven, BSD scheduler.  It has a global run
# queue and no cpu affinity which makes it suboptimal for SMP.  It has very
# good interactivity and priority selection.
#
# SCHED_ULE is a new experimental scheduler that has been designed for SMP,
# but will work just fine on UP too.  Users of this scheduler should expect
# some hicups and be prepaired to provide feedback.
#
options		SCHED_4BSD
#options	SCHED_ULE


#####################################################################
# SMP OPTIONS
#####################################################################

# APIC_IO enables the use of the IO APIC for Symmetric I/O.
# An SMP kernel will ONLY run on an Intel MP spec. qualified motherboard.
#
device		apic                    # I/O apic

# SMP enables building of a Symmetric MultiProcessor Kernel.
#
options 	SMP			# Symmetric MultiProcessor Kernel

# SMP Debugging Options:
#
# MUTEX_DEBUG enables various extra assertions in the mutex code.
# WITNESS enables the witness code which detects deadlocks and cycles
#         during locking operations.
# WITNESS_DDB causes the witness code to drop into the kernel debugger if
#         a lock heirarchy violation occurs or if locks are held when going to
#         sleep.
# WITNESS_SKIPSPIN disables the witness checks on spin mutexes.
#
#options         MUTEX_DEBUG
#options         WITNESS
#options         WITNESS_DDB
#options         WITNESS_SKIPSPIN


#####################################################################
# 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		I586_CPU		# aka Pentium(tm)
cpu		I686_CPU		# aka Pentium Pro(tm)

# CPU_DISABLE_5X86_LSSER disables load store serialize (i.e. enables
# reorder).  This option should not be used if you use memory mapped
# I/O device(s).
#
# CPU_FASTER_5X86_FPU enables faster FPU exception handler.
#
# CPU_PPRO2CELERON enables L2 cache of Mendocino Celeron CPUs.  This option
# is useful when you use Socket 8 to Socket 370 converter, because most Pentium
# Pro BIOSs do not enable L2 cache of Mendocino Celeron CPUs.
#
# CPU_UPGRADE_HW_CACHE eliminates unneeded cache flush instruction(s).
#
# CPU_DISABLE_CMPXCHG disables the CMPXCHG instruction on > i386 IA32
# machines.  VmWare seems to emulate this instruction poorly, causing
# the guest OS to run very slowly.
#
#options 	CPU_DISABLE_5X86_LSSER
#options 	CPU_FASTER_5X86_FPU
#options 	CPU_PPRO2CELERON
#options 	CPU_UPGRADE_HW_CACHE
#options        CPU_DISABLE_CMPXCHG

# PERFMON causes the driver for Pentium/Pentium Pro performance counters
# to be compiled.  See perfmon(4) for more information.
#
#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 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


#####################################################################
# HARDWARE BUS CONFIGURATION
#####################################################################

# ISA bus
#
device		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.
#
# THESE OPTIONS ALSO PREVENTS THE KERNEL FROM RUNNING INSIDE VMWARE! 
#
#options 	AUTO_EOI_1
#options 	AUTO_EOI_2

# EISA bus
#
#device		eisa

# PCI bus & PCI options:
#
device		pci

# Temporarily (11-05-03):
#
device          acpi


#####################################################################
# HARDWARE DEVICE CONFIGURATION
#####################################################################

# The Numeric Processing eXtension driver.
#
device		npx

# pmtimer: Timer device driver for power management events (APM or ACPI)
#
device		pmtimer			# Adjust system timer at wakeup time


#####################################################################
# VM OPTIONS
#####################################################################

# Disable the 4 MByte page PSE CPU feature.  The PSE feature allows the
# kernel to use a 4 MByte pages to map the kernel instead of 4k pages.
# This saves on the amount of memory needed for page tables needed to
# map the kernel.  You should only disable this feature as a temporary
# workaround if you are having problems with it enabled.
#
#options 	DISABLE_PSE

# Disable the global pages PGE CPU feature.  The PGE feature allows pages
# to be marked with the PG_G bit.  TLB entries for these pages are not
# flushed from the cache when %cr3 is reloaded.  This can make context
# switches less expensive.  You should only disable this feature as a
# temporary workaround if you are having problems with it enabled.
#
#options 	DISABLE_PG_G


#####################################################################
# COMPATIBILITY OPTIONS                                             
#####################################################################

# Implement system calls compatible with 4.3BSD and older versions of
# FreeBSD.  You probably do NOT want to remove this as much current code
# still relies on the 4.3 emulation.
#
options 	COMPAT_43

# Enable FreeBSD4 compatibility syscalls
options 	COMPAT_FREEBSD4

# These three options provide support for System V Interface
# Definition-style interprocess communication, in the form of shared
# memory, semaphores, and message queues, respectively.
#
options 	SYSVSHM
options 	SYSVSEM
options 	SYSVMSG


#####################################################################
# DEBUGGING OPTIONS
#####################################################################

# Enable the kernel debugger.
#
options 	DDB

# KTRACE enables the system-call tracing facility ktrace(2).  To be more
# SMP-friendly, KTRACE uses a worker thread to process most trace events
# asynchronously to the thread generating the event.  This requires a
# pre-allocated store of objects representing trace events.  The
#
options         KTRACE                  #kernel tracing

# The INVARIANTS option is used in a number of source files to enable
# extra sanity checking of internal structures.  This support is not
# enabled by default because of the extra time it would take to check
# for these conditions, which can only occur as a result of
# programming errors.
#
#options         INVARIANTS

# The INVARIANT_SUPPORT option makes us compile in support for
# verifying some of the internal structures.  It is a prerequisite for
# 'INVARIANTS', as enabling 'INVARIANTS' will make these functions be
# called.  The intent is that you can set 'INVARIANTS' for single
# source files (by changing the source file or specifying it on the
# command line) if you have 'INVARIANT_SUPPORT' enabled.  Also, if you
# wish to build a kernel module with 'INVARIANTS', then adding
# 'INVARIANT_SUPPORT' to your kernel will provide all the necessary
# infrastructure without the added overhead.
#
#options         INVARIANT_SUPPORT

# The DIAGNOSTIC option is used to enable extra debugging information
# from some parts of the kernel.  As this makes everything more noisy,
# it is disabled by default.
#
#options         DIAGNOSTIC


#####################################################################
# NETWORKING OPTIONS
#####################################################################

# Protocol families:
#  Only the INET (Internet) family is officially supported in FreeBSD.
#  Source code for the NS (Xerox Network Service) is provided for amusement
#  value.
#
options 	INET			#Internet communications protocols
options 	INET6			#IPv6 communications protocols
options 	IPSEC			#IP security
options 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)

# Network interfaces:
#  The `loop' device is MANDATORY when networking is enabled.
#  The `ether' device provides generic code to handle
#  Ethernets; it is MANDATORY when a Ethernet device driver is
#  configured or token-ring is enabled.
#  The `bpf' device enables the Berkeley Packet Filter.  Be
#  aware of the legal and administrative consequences of enabling this
#  option.  The number of devices determines the maximum number of
#  simultaneous BPF clients programs runnable.
#
device		ether			#Generic Ethernet
device		loop			#Network loopback device
device		bpf			#Berkeley packet filter

# Internet family options:
#
# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
#
# IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
# packets without touching the ttl).  This can be useful to hide firewalls
# from traceroute and similar tools.
#
options 	IPDIVERT		#divert sockets
options 	IPSTEALTH		#support for stealth forwarding

# TCPDEBUG enables code which keeps traces of the TCP state machine
# for sockets with the SO_DEBUG option set, which can then be examined
# using the trpt(8) utility.
#
#options		TCPDEBUG

# RANDOM_IP_ID causes the ID field in IP packets to be randomized
# instead of incremented by 1 with each packet generated.  This
# option closes a minor information leak which allows remote
# observers to determine the rate of packet generation on the
# machine by watching the counter.
#
options 	RANDOM_IP_ID

# Zero copy sockets support.  This enables "zero copy" for sending and
# receving data via a socket.  The send side works for any type of NIC,
# the receive side only works for NICs that support MTUs greater than the
# page size of your architecture and that support header splitting.  See
# zero_copy(9) for more details.
#
options 	ZERO_COPY_SOCKETS


#####################################################################
# FILESYSTEM OPTIONS
#####################################################################

# Only the root, /usr, and /tmp filesystems need be statically
# compiled; everything else will be automatically loaded at mount
# time.  (Exception: the UFS family--- FFS --- cannot
# currently be demand-loaded.)  Some people still prefer to statically
# compile other filesystems as well.

options 	FFS			#Fast filesystem

# Soft updates is a technique for improving filesystem speed and
# making abrupt shutdown less risky.
#
options 	SOFTUPDATES

# Directory hashing improves the speed of operations on very large
# directories at the expense of some memory.
#
options 	UFS_DIRHASH


#####################################################################
# POSIX P1003.1B
#####################################################################

# Real time extensions added in the 1993 Posix
# P1003_1B: Infrastructure
# _KPOSIX_PRIORITY_SCHEDULING: Build in _POSIX_PRIORITY_SCHEDULING
#
options 	_KPOSIX_PRIORITY_SCHEDULING


#####################################################################
# CLOCK OPTIONS
#####################################################################

# The granularity of operation is controlled by the kernel option HZ whose
# default value (100) means a granularity of 10ms (1s/HZ).
# Some subsystems, such as DUMMYNET, might benefit from a smaller
# granularity such as 1ms or less, for a smoother scheduling of packets.
# Consider, however, that reducing the granularity too much might
# cause excessive overhead in clock interrupt processing,
# potentially causing ticks to be missed and thus actually reducing
# the accuracy of operation.
#
#options 	HZ=100


#####################################################################
# SCSI DEVICES
#####################################################################

# All SCSI devices allocate as many units as are required.

# The ch driver drives SCSI Media Changer ("jukebox") devices.
#
# The da driver drives SCSI Direct Access ("disk") and Optical Media
# ("WORM") devices.
#
# The cd driver drives SCSI Read Only Direct Access ("cd") devices.
#
# The ses driver drives SCSI Envinronment Services ("ses") and
# SAF-TE ("SCSI Accessable Fault-Tolerant Enclosure") devices.
#
# The pt driver drives SCSI Processor devices.
#
device		scbus		#base SCSI code
device		da		#SCSI direct access devices (aka disks)
device		cd		#SCSI CD-ROMs
device		ses		#SCSI Environmental Services (and SAF-TE)
device		pt		#SCSI processor 
device		pass		#CAM passthrough driver

# SCSI_DELAY: The number of MILLISECONDS to freeze the SIM (scsi adapter)
#             queue after a bus reset, and the number of milliseconds to
#             freeze the device queue after a bus device reset.  This
#             can be changed at boot and runtime with the
#             kern.cam.scsi_delay tunable/sysctl.
#
options 	SCSI_DELAY=0	# Be pessimistic about Joe SCSI device


#####################################################################
# MISCELLANEOUS DEVICES AND OPTIONS
#####################################################################

# The `pty' device usually turns out to be ``effectively mandatory'',
# as it is required for `telnetd', `rlogind', `screen', `emacs', and
# `xterm', among others.
#
device		pty		#Pseudo ttys


#####################################################################
# HARDWARE DEVICE CONFIGURATION
#####################################################################

# The keyboard controller; it controls the keyboard and the PS/2 mouse.
#
device		atkbdc

# The AT keyboard
#
device		atkbd

# These options are valid for other keyboard drivers as well.
#
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev

# `flags' for atkbd:
#       0x01    Force detection of keyboard, else we always assume a keyboard
#       0x02    Don't reset keyboard, useful for some newer ThinkPads
#	0x03	Force detection and avoid reset, might help with certain
#		dockingstations
#       0x04    Old-style (XT) keyboard support, useful for older ThinkPads

# PS/2 mouse
#
device		psm

# Video card driver for VGA adapters.
#
device		vga

# The syscons console driver (sco color console compatible).
#
device		sc
#options 	SC_PIXEL_MODE		# add support for the raster text mode
options		SC_HISTORY_SIZE=2000    # number of history buffer lines

# The following options will let you change the default behaviour of
# cut-n-paste feature
#
options 	SC_CUT_SPACES2TABS	# convert leading spaces into tabs

# If you have a two button mouse, you may want to add the following option
# to use the right button of the mouse to paste text.
#
options 	SC_TWOBUTTON_MOUSE

# `flags' for sc
#	0x80	Put the video card in the VESA 800x600 dots, 16 color mode
#	0x100	Probe for a keyboard device periodically if one is not present

# bt:  Most Buslogic controllers: including BT-445, BT-54x, BT-64x, BT-74x,
#      BT-75x, BT-946, BT-948, BT-956, BT-958, SDC3211B, SDC3211F, SDC3222F
#
#      This is the SCSI device VMware emulates. Think lnc for disks.
#
device		bt

# The 'ATA' driver supports all ATA and ATAPI devices, including PC Card
# devices. You only need one "device ata" for it to find all
# PCI and PC Card ATA/ATAPI devices on modern machines.
device		ata
device		atadisk		# ATA disk drives
device		atapicd		# ATAPI CDROM drives
#device		atapicam	# emulate ATAPI devices as SCSI ditto via CAM
				# needs CAM to be present (scbus & pass)

# ATA_STATIC_ID:	controller numbering is static ie depends on location
#			else the device numbers are dynamically allocated.
#
options 	ATA_STATIC_ID


# Parallel-Port Bus
#
# Parallel port bus support is provided by the `ppbus' device.
# Multiple devices may be attached to the parallel port, devices
# are automatically probed and attached when found.
#
# Supported devices:
# lpt	Parallel Printer
# ppi	General-purpose I/O ("Geek Port") + IEEE1284 I/O
# lpbb	Philips official parallel port I2C bit-banging interface
#
# Supported interfaces:
# ppc	ISA-bus parallel port interfaces.
#

options 	PPC_PROBE_CHIPSET # Enable chipset specific detection
				  # (see flags in ppc(4))
options 	PERIPH_1284	# Makes your computer act as a IEEE1284
				# compliant peripheral

device		ppc
device		ppbus


#####################################################################
# 
#####################################################################

# Set the amount of time (in seconds) the system will wait before
# rebooting automatically when a kernel panic occurs.  If set to (-1),
# the system will wait indefinitely until a key is pressed on the
# console.
#
options 	PANIC_REBOOT_WAIT_TIME=10

#####################################################################

Received on Wed Jan 07 2004 - 15:46:22 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:36 UTC