# Lean and mean config file for the POWERMAC G5
# Author: Sanjay Lal <[email protected]>

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

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary
maxusers        32

options         PMAC_G5
#options        OFWOEA_DEBUG
#no makeoptions MACHINE_ARCH
#makeoptions    MACHINE_ARCH="powerpc64"

options         ALTIVEC         # Include AltiVec support
options         EXSTORAGE_MAX=64
#options        MULTIPROCESSOR

# 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         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         MODULAR         # 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

# Alternate buffer queue strategies for better responsiveness under high
# disk I/O load.
#options        BUFQ_READPRIO
options         BUFQ_PRIOCSCAN

# 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=1   # don't go into ddb on panic.
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB
options         TRAP_PANICWAIT
#options        DDB_COMMANDONENTER="bt"

# Compatibility options
include         "conf/compat_netbsd70.config"
#options        COMPAT_BSDPTY   # /dev/[pt]ty?? ptys.

# Wedge support
options         DKWEDGE_AUTODISCOVER    # Automatically add dk(4) instances
options         DKWEDGE_METHOD_GPT      # Supports GPT partitions as wedges
#options        DKWEDGE_METHOD_BSDLABEL # Support disklabel entries as wedges
#options        DKWEDGE_METHOD_MBR      # Support MBR partitions as wedges
#options        DKWEDGE_METHOD_APPLE    # Support Apple partitions as wedges
#options        DKWEDGE_METHOD_RDB      # Support RDB partitions as wedges
#options        DKWEDGE_METHOD_TOS      # Support Atari "TOS" partitions as wedges

# File systems
file-system     FFS             # UFS
file-system     MFS             # memory file system
file-system     TMPFS           # memory file system
file-system     KERNFS          # /kern
file-system     PROCFS          # /proc
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     PTYFS           # /dev/pts/N support
#file-system    HFS             # experimental - Apple HFS+ (read-only)

# File system options
#options        APPLE_UFS       # Apple UFS support in FFS
#options        FFS_EI          # FFS Endian Independent support
#options        FFS_NO_SNAPSHOT # No FFS snapshot support
options         QUOTA           # legacy UFS quotas
options         QUOTA2          # new, in-filesystem UFS quotas
options         UFS_DIRHASH     # UFS Large Directory Hashing
#options        UFS_EXTATTR     # Extended attribute support for UFS1
options         WAPBL           # File system journaling support
#options        NFSSERVER       # Network File System server

# Networking options
#options        GATEWAY         # packet forwarding
options         INET            # IP + ICMP + TCP + UDP
options         INET6           # IPV6

# 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

# wscons options
#options        WSEMUL_SUN                      # sun terminal emulation
options         WSEMUL_VT100                    # VT100 / VT220 emulation
options         WSDISPLAY_COMPAT_PCVT           # emulate some ioctls
options         WSDISPLAY_COMPAT_SYSCONS        # emulate some ioctls
options         WSDISPLAY_COMPAT_USL            # wsconscfg VT handling
#options        WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
options         WS_DEFAULT_FG=WSCOL_BLACK
options         WS_DEFAULT_BG=WSCOL_LIGHT_WHITE
options         WS_KERNEL_FG=WSCOL_GREEN
options         WS_KERNEL_BG=WSCOL_LIGHT_WHITE
options         WSDISPLAY_CUSTOM_OUTPUT         # color customization from wsconsctl(8)
options         WSDISPLAY_SCROLLSUPPORT
options         FONT_GALLANT12x22

# Kernel root file system and dump configuration.
config          netbsd  root on ? type ?
#config         netbsd  root on gem0 type nfs
options         NFS_BOOT_DHCP

#
# Device configuration
#

mainbus* at root

cpu0    at mainbus?
uni_n*  at mainbus?
memory* at mainbus?
spdmem* at memory? addr ?
ki2c*   at uni_n?                       # Keywest I2C

ibmcpc*         at mainbus?
uninorth*       at mainbus?
smu*            at mainbus?
#options        SMU_DEBUG
smuiic*         at smu?
iic*            at smuiic?


pci*    at ibmcpc? 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

obio0           at pci? dev ? function ?
zsc*            at obio?
zstty*          at zsc? channel ?
snapper*        at obio?
ki2c*           at obio?        # Keywest I2C
iic*            at i2cbus?

admtemp*        at iic?
lmtemp*         at iic?
dstemp*         at iic?
adadc*          at iic?
fcu*            at iic?
smusat*         at iic?
deq*            at iic?

obiofan*        at obio?        # PSU fan on PowerMac7,3

pmu*            at obio?        # Apple PMU

# Audio support
audio*  at audiobus?

spkr*   at audio?               # PC speaker (synthesized)
wsbell* at spkr?

gem*    at pci? dev ? function ?        # gmac ethernet
#options        GEM_DEBUG
bge*    at pci? dev ? function ?        # borgcom ethernet
bmtphy* at mii? phy ?                   # Broadcom BCM5201/BCM5202 PHYs
brgphy* at mii? phy ?                   # Broadcom BCM5400 PHYs
ukphy*  at mii? phy ?                   # generic unknown PHYs

# PCI IEEE1394 controllers
#fwohci*        at pci? dev ? function ?        # IEEE1394 Open Host Controller

# IEEE1394 nodes
#ieee1394if* at fwohci?
#fwip*  at ieee1394if?                  # IP over IEEE1394
#sbp*   at ieee1394if? euihi ? euilo ?
#scsibus* at sbp?


# PCI USB controllers
ohci*   at pci? dev ? function ?        # USB Open Host Controller
ehci*   at pci? 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 ?
uhidev* at uhub? port ? configuration ? interface ?     # USB HID device
uhid*   at uhidev? reportid ?                           # USB Generic HID
ukbd*   at uhidev? reportid ?                           # USB Keyboards
wskbd*  at ukbd? console ?
ums*    at uhidev? reportid ?                           # USB Mice
wsmouse* at ums?

genfb*  at pci? dev ? function ?        # Generic Open Firmware Framebuffer
gffb*   at pci? dev ? function ?        # some iMacs have nvidia graphics chips
radeonfb*       at pci? dev ? function ?
options         RADEONFB_ALWAYS_ACCEL_PUTCHAR

#radeon*        at pci? dev ? function ?
#radeondrmkmsfb* at radeonfbbus?

#pciide* at pci? dev ? function ? flags 0x0000  # GENERIC pciide driver
wdc*    at pci? dev ? function ?                # Kauai ATA
svwsata* at pci? dev ? function ?               # ServerWorks SATA controllers
siisata* at pci? dev ? function ?               # SiI SteelVine controllers
#options        ATADEBUG

obio*   at pci? dev ? function ?
zsc*    at obio?
zstty*  at zsc? channel ?

wsdisplay0      at wsemuldisplaydev? console 1
wsdisplay*      at wsemuldisplaydev?

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


pseudo-device   crypto                  # /dev/crypto device
pseudo-device   swcrypto                # software crypto implementation
pseudo-device   vnd                     # disk-like interface to files
#pseudo-device  md                      # memory disk device
pseudo-device   loop                    # network loopback
pseudo-device   pty                     # pseudo-terminals
pseudo-device   openfirm                # /dev/openfirm
pseudo-device   wsmux                   # mouse and keyboard multiplexor
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   drvctl                  # user control of drive subsystem
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   bpfilter                # packet filter
#pseudo-device  npf                     # NPF packet filter

# Enable the hooks used for initializing the ram-disk.
#options        MEMORY_DISK_HOOKS
#options        MEMORY_DISK_IS_ROOT             # Force root on ram-disk
#options        MEMORY_DISK_ROOT_SIZE=4096      # 2 Megabytes
#options        MEMORY_DISK_RBFLAGS=RB_SINGLE   # boot in single-user mode

options         PAX_SEGVGUARD=0         # PaX Segmentation fault guard
options         PAX_MPROTECT=1          # PaX mprotect(2) restrictions
options         PAX_MPROTECT_DEBUG=1    # PaX mprotect debug
options         PAX_ASLR=1              # PaX Address Space Layout Randomization
options         PAX_ASLR_DEBUG=1        # PaX ASLR debug

# Pull in optional local configuration - always at end
cinclude        "arch/macppc/conf/POWERMAC_G5.local"