# $NetBSD: GENERIC,v 1.194.4.7 2005/11/05 00:39:47 tron Exp $
#
# GENERIC machine description file
#
# This machine description file is used to generate the default NetBSD
# kernel.  The generic kernel does not include all options, subsystems
# and device drivers, but should be useful for most applications.
#
# The machine description file can be customised for your specific
# machine to reduce the kernel size and improve its performance.
#
# For further information on compiling NetBSD kernels, see the config(8)
# man page.
#
# For further information on hardware support for this architecture, see
# the intro(4) man page.  For further information about kernel options
# for this architecture, see the options(4) man page.  For an explanation
# of each device driver in this file see the section 4 man page for the
# device.

include         "arch/macppc/conf/std.macppc"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.194.4.7 $"

maxusers        32

options         ALTIVEC         # Include AltiVec support

# Standard system options
options         INSECURE        # disable kernel security levels

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         SYSTRACE        # system call vetting via systrace(1)

options         SYSVMSG         # System V message queues
options         SYSVSEM         # System V 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 shared memory
#options        SHMMAXPGS=1024  # 1024 pages is the default
options         P1003_1B_SEMAPHORE # p1003.1b semaphore support

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

# Enable experimental buffer queue strategy for better responsiveness under
# high disk I/O load. Use it with caution - it's not proven to be stable yet.
#options        NEW_BUFQ_STRATEGY

# Diagnostic/debugging support options
#options        DIAGNOSTIC      # cheap kernel consistency checks
#options        DEBUG           # expensive debugging checks/support
options         ZS_CONSOLE_ABORT# allow break to get into DDB on serial
options         DDB             # in-kernel debugger
#options        DDB_ONPANIC=0   # don't go into ddb on panic.
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB
#options        TRAP_PANICWAIT

#makeoptions    DEBUG="-g"      # compile full symbol table

# File systems
file-system     FFS             # UFS
file-system     EXT2FS          # second extended file system (linux)
file-system     LFS             # log-structured file system
file-system     MFS             # memory file system
file-system     NFS             # Network File System client
file-system     CD9660          # ISO 9660 + Rock Ridge file system
file-system     MSDOSFS         # MS-DOS file system
file-system     FDESC           # /dev/fd
file-system     KERNFS          # /kern
file-system     NULLFS          # loopback file system
file-system     OVERLAY         # overlay file system
file-system     PROCFS          # /proc
file-system     UNION           # union file system
file-system     PTYFS           # pty file system

options         COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.

# File system options
options         SOFTDEP         # FFS soft updates support.
#options        UFS_DIRHASH     # UFS Large Directory Hashing - Experimental
options         NFSSERVER       # Network File System server
#options        FFS_NO_SNAPSHOT # ffs snapshots
#options        EXT2FS_SYSTEM_FLAGS # makes ext2fs file flags (append and
                               # immutable) behave as system flags.
options         APPLE_UFS       # Apple UFS support in FFS

options         NFS_BOOT_DHCP   # Support DHCP NFS root

# Networking options
options         GATEWAY         # packet forwarding
options         INET            # IP + ICMP + TCP + UDP
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_ESP       # IP security (encryption part; define w/IPSEC)
#options        IPSEC_NAT_T     # IPsec NAT traversal (NAT-T)
#options        IPSEC_DEBUG     # debug for IP security
#options        MROUTING        # IP multicast routing
#options        PIM             # Protocol Independent Multicast
#options        NS              # XNS
#options        NSIP            # XNS tunneling over IP
#options        ISO,TPIP        # OSI
#options        EON             # OSI tunneling over IP
#options        CCITT,LLC,HDLC  # X.25
options         PFIL_HOOKS      # pfil(9) packet filter hooks
options         IPFILTER_LOG    # ipmon(8) log support
#options        IPFILTER_DEFAULT_BLOCK  # block all packets by default
#options        TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG

#options        ALTQ            # Manipulate network interfaces' output queues
#options        ALTQ_BLUE       # Stochastic Fair Blue
#options        ALTQ_CBQ        # Class-Based Queueing
#options        ALTQ_CDNR       # Diffserv Traffic Conditioner
#options        ALTQ_FIFOQ      # First-In First-Out Queue
#options        ALTQ_FLOWVALVE  # RED/flow-valve (red-penalty-box)
#options        ALTQ_HFSC       # Hierarchical Fair Service Curve
#options        ALTQ_LOCALQ     # Local queueing discipline
#options        ALTQ_PRIQ       # Priority Queueing
#options        ALTQ_RED        # Random Early Detection
#options        ALTQ_RIO        # RED with IN/OUT
#options        ALTQ_WFQ        # Weighted Fair Queueing

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

# wscons options
#options        WSEMUL_SUN                      # sun terminal emulation
options         WSEMUL_VT100                    # VT100 / VT220 emulation
#options        WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
options         FONT_GALLANT12x22

# Optional Mac keyboard tweaks

# Tweak the keyboard driver to treat the caps lock key on an ADB
# keyboard as a control key; requires special remapping because of
# ADB's strange emulation of a mechanically-locked key.
#options        CAPS_IS_CONTROL

# On Mac laptops, several function keys double as "hot keys"
# (brightness, volume, eject) when the Fn modifier is held down.  Mac
# OS X likes to reprogram the keyboard controller to send hot key
# events when Fn is not held down and send function key events when it
# is.  This option transforms the non-keyboard "button" events back
# into function key events.
#options        FORCE_FUNCTION_KEYS

# Kernel root file system and dump configuration.
#config         netbsd  root on ? type ?
config          netbsd  root on wd0b type ? dumps on wd0e

#
# Device configuration
#

mainbus* at root

cpu*    at mainbus?
bandit* at mainbus?
grackle* at mainbus?
uninorth* at mainbus?

pci*    at bandit? bus ?
pci*    at grackle? bus ?
pci*    at uninorth? bus ?
pci*    at ppb? bus ?

pchb*   at pci? dev ? function ?        # PCI-Host bridges
ppb*    at pci? dev ? function ?        # PCI-PCI bridges
# XXX 'puc's aren't really bridges, but there's no better place for them here
puc*    at pci? dev ? function ?        # PCI "universal" comm. cards
lpt*    at puc? port ?                  # || ports on > "universal" comm boards

# PCI Network devices
gem*    at pci? dev ? function ?        # gmac ethernet
#gm*    at pci? dev ? function ?        # gmac ethernet (old)

# PCI SCSI controllers
#adv*   at pci? dev ? function ?        # AdvanSys 1200[A,B], 9xx[U,UA] SCSI
#adw*   at pci? dev ? function ?        # AdvanSys 9x0UW[D], 3940U[2,3]W SCSI
#ahc*   at pci? dev ? function ?        # Adaptec 294x, aic78x0 SCSI
#bha*   at pci? dev ? function ?        # BusLogic 9xx SCSI
#esiop* at pci? dev ? function ?        # NCR 53c8xx SCSI (enhanced)
#iha*   at pci? dev ? function ?        # Initio INIC-940/950 SCSI
#isp*   at pci? dev ? function ?        # Qlogic ISP 10x0/2xx0 SCSI/Fibre Chan
#pcscp* at pci? dev ? function ?        # AMD Am53c974 PCscsi-PCI SCSI
#siop*  at pci? dev ? function ?        # NCR 53c8xx SCSI
#trm*   at pci? dev ? function ?        # Tekram DC-395U/UW/F, DC-315/U SCSI

# Other  PCI devices
ofb*    at pci? dev ? function ?        # Generic Open Firmware Framebuffer
# OFB_ENABLE_CACHE speeds up the console on many machines, but should
# not be enabled on some older machines, such as the rev. A-D iMacs.
#options        OFB_ENABLE_CACHE        # Speed up console
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
hptide* at pci? dev ? function ?        # Triones/HighPoint IDE controllers
optiide* at pci? dev ? function ?       # Opti IDE controllers
pdcide* at pci? dev ? function ?        # Promise IDE controllers
pdcsata* at pci? dev ? function ?       # Promise SATA150 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
viaide* at pci? dev ? function ?        # VIA/AMD/Nvidia IDE controllers
wdc*    at pci? dev ? function ?        # Kauai ATA
cbb*    at pci? dev ? function ?        # PCI-CardBus bridge
obio*   at pci? dev ? function ?
#macofcons0 at pci? dev ? function ?    # OpenFirmware console (for debugging)

bmtphy* at mii? phy ?                   # Broadcom BCM5201/BCM5202 PHYs
ukphy*  at mii? phy ?                   # generic unknown PHYs

# PCI serial interfaces
com*    at puc? port ?                  # 16x50s on "universal" comm boards
cy*     at pci? dev ? function ?        # Cyclades Cyclom-Y serial boards
#cz*    at pci? dev ? function ?        # Cyclades-Z multi-port serial boards

bktr*   at      pci? dev ? function ?           # Brooktree video/audio capture/tuner
radio*  at      bktr?

bm*     at obio?                        # bmac ethernet
mc*     at obio?                        # MACE ethernet
esp*    at obio? flags 0x00ff           # 53c9x SCSI
mesh*   at obio? flags 0xffff           # MESH SCSI
nvram*  at obio?                        # nvram
adb*    at obio?                        # Apple Desktop Bus
apm0    at adb?                         # APM emulation
aed*    at adb?                         # ADB Event Device
akbd*   at adb?                         # ADB keyboard
ams*    at adb?                         # ADB mouse
abtn*   at adb?
zsc*    at obio?
zstty*  at zsc? channel ?
mediabay* at obio?
wdc*    at mediabay? flags 0
# awacs is disabled because on most systems (7300 - 9600 PowerMacs,
# many kinds of G4s), very heavy load can cause the machine to lock
# up. ONLY enable this if your machine is never under heavy load, or
# you'd rather have audio than worry about occasional lockups.
#awacs* at obio?                        # Apple audio device
#ki2c*  at obio?                        # Keywest I2C
wi*     at obio?                        # AirMac
#snapper* at obio?                      # Snapper audio device

cardslot* at cbb?
cardbus* at cardslot?
pcmcia* at cardslot?

com*    at pcmcia? function ?           # Modems and serial cards
wdc*    at pcmcia? function ?           # PCMCIA IDE controllers
ep*     at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
mbe*    at pcmcia? function ?           # MB8696x based Ethernet
ne*     at pcmcia? function ?           # NE2000-compatible Ethernet
awi*    at pcmcia? function ?           # BayStack 650/660 (802.11FH/DS)
wi*     at pcmcia? function ?           # Lucent WaveLan IEEE (802.11)
atw*    at cardbus? dev ? function ?    # ADMtek ADM8211 (802.11)
ex*     at cardbus? dev ? function ?    # 3Com 3C575TX
tlp*    at cardbus? dev ? function ?    # DECchip 21143
rtk*    at cardbus? dev ? function ?    # Realtek 8129/8139

wsdisplay0 at ofb? console ?
wskbd0  at akbd? console ?
wsmouse* at ams?

# Cryptographic Devices

# PCI cryptographic devices
# (disabled, requires opencrypto framework which requires generic softints
#hifn*  at pci? dev ? function ?        # Hifn 7755/7811/795x
#ubsec* at pci? dev ? function ?        # Broadcom 5501/5601/580x/582x


scsibus* at scsi?

sd*     at scsibus? target ? lun ?      # SCSI disks
st*     at scsibus? target ? lun ?      # SCSI tape drives
cd*     at scsibus? target ? lun ?      # SCSI CD-ROM drives
ch*     at scsibus? target ? lun ?      # SCSI autochangers
ss*     at scsibus? target ? lun ?      # SCSI scanners
uk*     at scsibus? target ? lun ?      # SCSI unknown

wdc*    at obio? flags 0x1
atabus* at ata?
wd*     at atabus? drive ? flags 0x0000

atapibus* at atapi?

cd*     at atapibus? drive ? flags 0x0000       # ATAPI CD-ROM drives
sd*     at atapibus? drive ? flags 0x0000       # ATAPI disk drives
uk*     at atapibus? drive ? flags 0x0000       # ATAPI unknown

# PCI USB controllers
ohci*   at pci? dev ? function ?        # USB Open Host Controller
ehci*   at pci? dev ? function ?        # USB Enhanced Host Controller

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

usb*    at ohci?                                        # USB bus support
usb*    at ehci?                                        # USB bus support
uhub*   at usb?                                         # USB Hubs
uhub*   at uhub? port ? configuration ? interface ?

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

ums*    at uhidev? reportid ?                           # USB Mice
wsmouse* at ums?

ukbd*   at uhidev? reportid ?                           # USB Keyboards
wskbd*  at ukbd? console ?

uhid*   at uhidev? reportid ?                           # USB Generic HID

ulpt*   at uhub? port ? configuration ? interface ?     # USB Printer

umodem* at uhub? port ? configuration ?                 # USB Modem
ucom*   at umodem?

umass*  at uhub? port ? configuration ? interface ?     # USB Mass Storage
atapibus* at umass?
scsibus* at umass? channel ?

uaudio* at uhub? port ? configuration ?                 # USB audio

# D-Link DSB-R100 USB FM radio tuner
udsbr* at uhub? port ?
radio* at udsbr?

# USB Ethernet adapters
aue*    at uhub? port ?         # ADMtek AN986 Pegasus based adapters
axe*    at uhub? port ?         # ASIX AX88172 based adapters
cue*    at uhub? port ?         # CATC USB-EL1201A based adapters
kue*    at uhub? port ?         # Kawasaki LSI KL5KUSB101B based adapters
url*    at uhub? port ?         # Realtek RTL8150L based adapters
udav*   at uhub? port ?         # Davicom DM9601 based adapters

ukyopon* at uhub? port ?                                # Kyocera AIR-EDGE PHONE
ucom*   at ukyopon? portno ?

#uscanner* at uhub? port ?                              # USB scanners
#uyap* at uhub? port ?                                  # Y@P firmware loader
ugen*   at uhub? port ? configuration ? interface ?     # USB Generic driver

# PCI IEEE1394 controllers
fwohci* at pci? dev ? function ?        # IEEE1394 Open Host Controller
#fwlynx* at pci? dev ? function ?       # IEEE1394 TI Lynx Controller
fw*     at fwbus?                       # IP over 1394

# IEEE1394 nodes
fwnode* at fwbus? idhi ? idlo ?
sbpscsi* at fwnode?
scsibus* at sbpscsi?

# Audio Devices

# PCI audio devices
#clcs*  at pci? dev ? function ?        # Cirrus Logic CS4280
#cmpci* at pci? dev ? function ?        # C-Media CMI8338/8738
eap*    at pci? dev ? function ?        # Ensoniq AudioPCI
#eso*   at pci? dev ? function ?        # ESS Solo-1 PCI AudioDrive
#fms*   at pci? dev ? function ?        # Forte Media FM801
#sv*    at pci? dev ? function ?        # S3 SonicVibes

# OPL[23] FM synthesizers
#opl*   at cmpci? flags 1
#opl*   at eso?
#opl*   at fms?

# Audio support
#audio* at awacs?
#audio* at clcs?
#audio* at cmpci?
audio*  at eap?
#audio* at eso?
#audio* at fms?
#audio* at snapper?
#audio* at sv?
audio*  at uaudio?

# MPU 401 UARTs
#mpu*   at cmpci?
#mpu*   at eso?
#mpu*   at fms?

# MIDI support
midi*   at eap?                 # 137[01] MIDI port
#midi*  at mpu?                 # MPU 401

#pseudo-device  crypto                  # opencrypto framework
                                       # (disabled, requires generic softints)
pseudo-device   vnd             4       # disk-like interface to files
#options        VND_COMPRESSION         # compressed vnd(4)
#pseudo-device  ccd             4       # concatenated/striped disk devices
pseudo-device   cgd             4       # cryptographic disk devices
#pseudo-device  raid            8       # RAIDframe disk driver
#options        RAID_AUTOCONFIG         # auto-configuration of RAID components
# Options to enable various other RAIDframe RAID types.
# options       RF_INCLUDE_EVENODD=1
# options       RF_INCLUDE_RAID5_RS=1
# options       RF_INCLUDE_PARITYLOGGING=1
# options       RF_INCLUDE_CHAINDECLUSTER=1
# options       RF_INCLUDE_INTERDECLUSTER=1
# options       RF_INCLUDE_PARITY_DECLUSTERING=1
# options       RF_INCLUDE_PARITY_DECLUSTERING_DS=1
pseudo-device   fss             4       # file system snapshot device
pseudo-device   md              1       # memory disk device
pseudo-device   loop                    # network loopback
pseudo-device   bpfilter        8       # packet filter
pseudo-device   ipfilter                # IP filter (firewall) and NAT
#pseudo-device  ppp             2       # Point-to-Point Protocol
#pseudo-device  pppoe                   # PPP over Ethernet (RFC 2516)
#pseudo-device  sl              2       # Serial Line IP
pseudo-device   tun             4       # network tunneling over tty
pseudo-device   tap                     # virtual Ethernet
#pseudo-device  gre             2       # generic L3 over IP tunnel
pseudo-device   gif             4       # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device  faith           1       # IPv[46] tcp relay translation i/f
#pseudo-device  stf             1       # 6to4 IPv6 over IPv4 encapsulation
pseudo-device   vlan                    # IEEE 802.1q encapsulation
pseudo-device   bridge                  # simple inter-network bridging
#options        BRIDGE_IPF              # bridge uses IP/IPv6 pfil hooks too
pseudo-device   pty                     # pseudo-terminals
pseudo-device   rnd                     # /dev/random and in-kernel generator
pseudo-device   openfirm                # /dev/openfirm
pseudo-device   wsmux                   # mouse and keyboard multiplexor
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   nsmb                    # SMB requester
#pseudo-device  pf                      # PF packet filter
#pseudo-device  pflog                   # PF log if