# Kernel configuration for wifibsd install image
# 	By yazzy[at]yazzy[dot]org
#

include 	"arch/i386/conf/std.i386"

#options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary

#ident 		"WIFIBSD-LIVE_CF-$Revision: 0.1.0 $"

# Enable the hooks used for initializing the root memory-disk.
options 	MEMORY_DISK_HOOKS
options 	MEMORY_DISK_IS_ROOT	# force root on memory disk
options 	MEMORY_DISK_SERVER=0	# no userspace memory disk support
options 	MEMORY_RBFLAGS=0	# don't force single user

# Size of memory disk, in blocks:
#options 	MEMORY_DISK_ROOT_SIZE=2880	# 1.44M - 1*1024*2 (same as a floppy)
#options	MEMORY_DISK_ROOT_SIZE=20480	# 10M - 10*1024*2 
options 	MEMORY_DISK_ROOT_SIZE=32768	# 16M - 16*1024*2

maxusers	2		# estimated number of users

# CPU support.  At least one is REQUIRED.
options 	I386_CPU
options 	I486_CPU
options 	I586_CPU
options 	I686_CPU

# AMD Elan SC520's timer runs at a different frequency
options 	TIMER_FREQ=1189200

#makeoptions	COPTS="-Os -mcpu=i486"
makeoptions     COPTS="-Os"             # Optimise for space. Implies -O2

# eliminate delay no-ops in I/O; recommended on all but very old machines
options         DUMMY_NOPS

# CPU-related options.
options 	MATH_EMULATE	# floating point emulation
#options 	VM86		# virtual 8086 emulation
#options 	USER_LDT	# user-settable LDT; used by WINE

#options 	MTRR		# memory-type range register syscall support
#options 	PERFCTRS	# performance-monitoring counters support

# delay between "rebooting ..." message and hardware reset, in milliseconds
#options 	CPURESET_DELAY=2000

# This option allows you to force a serial console at the specified
# I/O address.   see console(4) for details.
#options 	CONSDEVNAME="\"com\"",CONADDR=0x2f8,CONSPEED=57600
#	you don't want the option below ON iff you are using the
#	serial console option of the new boot strap code.
#options 	CONS_OVERRIDE	# Always use above! independent of boot info

# ISA console
#pc0     at isa? port 0x60 irq 1         # pccons generic PC console driver

# Avoid irq 5 and 7, the most likely cause of problems on modern laptops.
options                 PCIC_ISA_INTR_ALLOC_MASK=0xff5f

# The following options override the memory sizes passed in from the boot
# block.  Use them *only* if the boot block is unable to determine the correct
# values.  Note that the BIOS may *correctly* report less than 640k of base
# memory if the extended BIOS data area is located at the top of base memory
# (as is the case on most recent systems).
#options 	REALBASEMEM=639		# size of base memory (in KB)
#options 	REALEXTMEM=15360	# size of extended memory (in KB)

# Standard system options

#options         UCONSOLE        # users can use TIOCCONS (for xconsole)
options 	INSECURE	# disable kernel security levels

#
# wscons options
#
# builtin terminal emulations
options         WSEMUL_VT100            # VT100 / VT220 emulation
#options         WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8)
#options         WS_KERNEL_FG=WSCOL_BLACK
#options         WS_KERNEL_BG=WSCOL_BLACK
#options         WSDISPLAY_CUSTOM_BORDER # border customization from wsconsctl(8)
#options         WSDISPLAY_BORDER_COLOR=WSCOL_BLUE       # default color
options         WSDISPLAY_COMPAT_PCVT           # emulate some ioctls
options         WSDISPLAY_COMPAT_SYSCONS        # emulate some ioctls
options         WSDISPLAY_COMPAT_USL            # VT handling
options         WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
# allocate a number of virtual screens at autoconfiguration time
#options        WSDISPLAY_DEFAULTSCREENS=1
# use a large software cursor that doesn't blink
#options         PCDISPLAY_SOFTCURSOR
# work around a hardware bug that loaded fonts don't work; found on ATI cards
options        VGA_CONSOLE_ATI_BROKEN_FONTSEL
# console scrolling support.
options        WSDISPLAY_SCROLLSUPPORT

# wscons
pckbc0          at isa?                 # pc keyboard controller
pckbd*          at pckbc?               # PC keyboard
#pms*           at pckbc?               # PS/2 mouse for wsmouse
vga0            at isa?
vga*            at pci? dev ? function ?
pcdisplay0      at isa?                 # CGA, MDA, EGA, HGA
wsdisplay*      at vga? console ?
wsdisplay*      at pcdisplay? console ?
wskbd*          at pckbd? console ?

# wscons pseudo-devices
pseudo-device   wsmux                   # mouse & keyboard multiplexor

attimer0        at isa?
pcppi0          at isa?
#sysbeep0        at pcppi?

options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop

#options 	KTRACE		# system call tracing via ktrace(1)

options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
#options 	SEMMNI=10	# number of semaphore identifiers
#options 	SEMMNS=60	# number of semaphores in system
#options 	SEMUME=10	# max number of undo entries per process
#options 	SEMMNU=30	# number of undo structures in system
options 	SYSVSHM		# System V-like memory sharing
#options 	SHMMAXPGS=2048	# 2048 pages is the default

#options 	LKM		# loadable kernel modules

options 	USERCONF	# userconf(4) support
options 	PIPE_SOCKETPAIR	# smaller, but slower pipe(2)
#options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
options         MALLOC_NOINLINE         # Not inlining MALLOC saves memory
no options      EXEC_AOUT

# Compatibility options
#options 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI
#options 	COMPAT_09	# NetBSD 0.9
#options 	COMPAT_10	# NetBSD 1.0
#options 	COMPAT_11	# NetBSD 1.1
#options 	COMPAT_12	# NetBSD 1.2, 386BSD, and BSDI
#options 	COMPAT_13	# NetBSD 1.3, 386BSD, and BSDI
#options 	COMPAT_14	# NetBSD 1.4
#options 	COMPAT_15	# NetBSD 1.5
#options 	COMPAT_16	# NetBSD 1.6
#options 	COMPAT_43	# 4.3BSD, 386BSD, and BSDI
#options 	COMPAT_386BSD_MBRPART # recognize old partition ID
#options 	TCP_COMPAT_42	# 4.2BSD TCP/IP bug compat. Not recommended.

#options 	COMPAT_SVR4	# binary compatibility with SVR4
#options 	COMPAT_IBCS2	# binary compatibility with SCO and ISC
#options 	COMPAT_LINUX	# binary compatibility with Linux
#options 	COMPAT_FREEBSD	# binary compatibility with FreeBSD
#options 	COMPAT_MACH	# binary compatibility with Mach binaries
#options 	EXEC_MACHO	# exec MACH-O binaries
#options 	COMPAT_PECOFF	# kernel support to run Win32 apps
options         VNODE_OP_NOINLINE       # Not inlining vnode op calls saves mem

# File systems
file-system 	FFS		# UFS
file-system 	MFS		# memory file system
file-system     TMPFS           # Efficient memory file-system
#file-system 	CD9660		# ISO 9660 + Rock Ridge file system
#file-system 	FDESC		# /dev/fd
#file-system 	KERNFS		# /kern
#file-system 	PROCFS		# /proc

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
#options 	MIIVERBOSE	# verbose PHY autoconfig messages
#options 	PCIVERBOSE	# verbose PCI device autoconfig messages
#options 	PCI_CONFIG_DUMP	# verbosely dump PCI config space

#options 	NFS_BOOT_DHCP,NFS_BOOT_BOOTPARAM

# Kernel root file system and dump configuration.
#config		netbsd	root on ? type ?
config		netbsd	root on ? type ? dumps on none
#config		netbsd	root on sd0a type ffs
#config		netbsd	root on ? type nfs

#
# Device configuration
#

mainbus0 at root
cpu0 	at mainbus0

# Basic Bus Support

# PCI bus support
pci*	at mainbus? bus ?
pci*    at pchb? bus ?

# Configure PCI using BIOS information
#options 	PCIBIOS			# PCI BIOS support
#options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
#options 	PCIBIOS_ADDR_FIXUP	# fixup PCI I/O addresses
#options 	PCIBIOS_BUS_FIXUP	# fixup PCI bus numbering
#options 	PCIBIOS_INTR_FIXUP	# fixup PCI interrupt routing
#options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
#options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
#options 	PCIINTR_DEBUG		# super-verbose PCI interrupt fixup

# PCI bridges
elansc*	at pci? dev ? function ?	# Elan SC520 System Controller
pchb*   at pci? dev ? function ?        # PCI-Host bridges

# ISA bus support
isa0	at mainbus?

# CardBus bridge support
cbb*		at pci? dev ? function ?
cardslot*	at cbb?

# CardBus bus support
cardbus*	at cardslot?
pcmcia* 	at cardslot?

# Cardbus NICs
#ath*	at cardbus? dev ? function ?	# Atheros 5210/5211/5212 802.11
#atw*	at cardbus? dev ? function ?	# ADMtek ADM8211 (802.11)

# Coprocessor Support

# Math Coprocessor support
npx0	at isa? port 0xf0 irq 13	# x86 math coprocessor

# ISA serial interfaces
com0	at isa? port 0x3f8 irq 4	# Standard PC serial ports
com1	at isa? port 0x2f8 irq 3

# IDE and related devices
# PCI IDE controllers - see pciide(4) for supported hardware.
# The 0x0001 flag force the driver to use DMA, even if the driver doesn't know
# how to set up DMA modes for this chip. This may work, or may cause
# a machine hang with some controllers.
pciide*         at pci? dev ? function ? flags 0x0000   # GENERIC pciide driver
acardide*       at pci? dev ? function ?        	# Acard IDE controllers
aceride*        at pci? dev ? function ?        	# Acer Lab IDE controllers
artsata*        at pci? dev ? function ?        	# Intel i31244 SATA controller
cmdide*         at pci? dev ? function ?        	# CMD tech IDE controllers
cypide*         at pci? dev ? function ?        	# Cypress IDE controllers
geodeide*       at pci? dev ? function ?        	# AMD Geode IDE controllers
hptide*         at pci? dev ? function ?        	# Triones/HighPoint IDE controllers
iteide*         at pci? dev ? function ?        	# IT Express IDE controllers
ixpide*         at pci? dev ? function ?        	# ATI IXP IDE controllers
optiide*        at pci? dev ? function ?        	# Opti IDE controllers
piixide*        at pci? dev ? function ?        	# Intel IDE controllers
pdcide*         at pci? dev ? function ?        	# Promise IDE controllers
pdcsata*        at pci? dev ? function ?        	# Promise SATA150 controllers
rccide*         at pci? dev ? function ?        	# ServerWorks IDE controllers
satalink*       at pci? dev ? function ?        	# SiI SATALink controllers
siside*         at pci? dev ? function ?        	# SiS IDE controllers
slide*          at pci? dev ? function ?        	# Symphony Labs IDE controllers
stpcide*        at pci? dev ? function ?        	# STMicro STPC IDE controllers
viaide*         at pci? dev ? function ?        	# VIA/AMD/Nvidia IDE controllers

# ATA (IDE) bus support
atabus*	at ata?

# ISA ST506, ESDI, and IDE controllers
wdc0	at isa? port 0x1f0 irq 14 flags 0x00

# IDE drives
wd*	at atabus? drive ? flags 0x0000

# ATAPI bus support
atapibus* at atapi?

# ATAPI devices
# flags have the same meaning as for IDE drives.
#cd*     at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives

# PCMCIA IDE controllers
wdc*    at pcmcia? function ?

# USB Controller and Devices

# PCI USB controllers
ehci*   at pci? dev ? function ?        # Enhanced Host Controller
ohci*   at pci? dev ? function ?        # Open Host Controller
uhci*   at pci? dev ? function ?        # Universal Host Controller (Intel)

# CardBus USB controllers
#ehci*  at cardbus? dev ? function ?    # Enhanced Host Controller
#ohci*  at cardbus? dev ? function ?    # Open Host Controller

# USB bus support
usb*    at ehci?
usb*    at ohci?
usb*    at uhci?

# USB Hubs
uhub*   at usb?
uhub*   at uhub? port ? configuration ? interface ?

# USB HID device
uhidev* at uhub? port ? configuration ? interface ?

# USB Generic HID devices
uhid*   at uhidev? reportid ?

# USB Generic driver
ugen*   at uhub? port ?

# USB Mass Storage
umass*  at uhub? port ? configuration ? interface ?
wd*     at umass?

# MII/PHY support
#nsphyter* at mii? phy ?			# NS83843 PHYs

# miscellaneous pseudo-devices
pseudo-device	pty		2	# pseudo-terminals (sysinst needs only 2)
options NO_DEV_PTM
#pseudo-device	tb		1	# tablet line discipline
#pseudo-device	sequencer	1	# MIDI sequencer
# rnd works; RND_COM does not on port i386 yet.
pseudo-device	rnd			# /dev/random and in-kernel generator
#options 	RND_COM			# use "com" randomness as well (BROKEN)
pseudo-device	clockctl		# user control of clock subsystem
#pseudo-device  fss             4       # file system snapshot device
pseudo-device	md		1	# memory disk device (ramdisk)
#pseudo-device 	crypto			# opencrypto framework
#pseudo-device	ksyms			# /dev/ksyms

