# machine description file for the MAMBO simulator from IBM
# Author Sanjay Lal <[email protected]>


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

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.38 $"

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         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         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=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

# Compatibility options
include         "conf/compat_netbsd09.config"

#options        COMPAT_386BSD_MBRPART # recognize old partition ID

# File systems
file-system     FFS             # UFS
file-system     MFS             # memory file system
file-system     KERNFS          # /kern
file-system     NULLFS          # loopback file system
file-system     PROCFS          # /proc
file-system     OVERLAY         # overlay file system
file-system     UMAPFS          # NULLFS + uid and gid remapping
file-system     UNION           # union file system


# File system options
#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

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

# 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_USL            # wsconscfg VT handling
#options        WSDISPLAY_COMPAT_RAWKBD         # can get raw scancodes
options         WSDISPLAY_CUSTOM_OUTPUT         # color customization from wsconsctl(8)
options         WSDISPLAY_SCROLLSUPPORT
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 ?

#
# Device configuration
#

mainbus* at root

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

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

pchb*   at pci? dev ? function ?        # PCI-Host bridges
ppb*    at pci? dev ? function ?        # PCI-PCI bridges

# Other  PCI devices
#ofb*   at pci? dev ? function ?        # Generic Open Firmware Framebuffer
pciide* at pci? dev ? function ? flags 0x0000   # GENERIC pciide driver
obio*   at pci? dev ? function ?

# PCI serial interfaces
nvram*  at obio?                        # nvram
#awacs* at obio?                        # Apple audio device
#ki2c*  at obio?                        # Keywest I2C
wi*     at obio?                        # AirMac
#snapper* at obio?                      # Snapper audio device

#wsdisplay0 at ofb? console ?

# 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


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


#pseudo-device  crypto                  # opencrypto framework
                                       # (disabled, requires generic softints)
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  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=4496      # 2248 KiB
options         MEMORY_DISK_RBFLAGS=RB_SINGLE   # boot in single-user mode

options         MAMBO

# For Mambo console
com* at mainbus?
#options        COM_DEBUG