#       $NetBSD: GENERIC_TINY,v 1.172 2024/01/29 18:27:13 christos Exp $
#
#       GENERIC_TINY -- suitable default for 4M machines
#                       No EISA, PCI, or SCSI.
#

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

#options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary

makeoptions     COPTS="-Os"
makeoptions     USE_SSP="no"

maxusers        8               # estimated number of users

# CPU-related options.
#options        USER_LDT        # user-settable LDT; used by WINE

# This option allows you to force a serial console at the specified
# I/O address.   see console(4) for details.
#options        CONSDEVNAME="\"com\""

# 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=... # size of base memory
#options        REALEXTMEM=...  # size of extended memory

# Standard system options

options         INSECURE        # disable kernel security levels - X needs this

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        SYSVSHM         # System V-like memory sharing

#options        USERCONF        # userconf(4) support
options         PIPE_SOCKETPAIR # smaller, but slower pipe(2)
#options        SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel

# Diagnostic/debugging support options
#options        DIAGNOSTIC      # inexpensive kernel consistency checks
#options        DEBUG           # expensive debugging checks/support
#options        DDB             # in-kernel debugger
#options        DDB_ONPANIC=1   # see also sysctl(7): `ddb.onpanic'
#options        DDB_HISTORY_SIZE=512    # enable history editing in DDB
#options        KGDB            # remote debugger
#options        KGDB_DEVNAME="\"com\"",KGDB_DEVADDR=0x3f8,KGDB_DEVRATE=9600
#makeoptions    DEBUG="-g"      # compile full symbol table

# Compatibility options
include         "conf/compat_netbsd60.config"
#options        COMPAT_386BSD_MBRPART # recognize old partition ID

#options        COMPAT_LINUX    # binary compatibility with Linux
#options        COMPAT_OSSAUDIO # binary compatibility with Linux

# 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    PROCFS          # /proc
#file-system    UMAPFS          # NULLFS + uid and gid remapping
#file-system    UNION           # union file system
#file-system    PTYFS           # /dev/pts/N support
#file-system    TMPFS           # Efficient memory file-system

# File system options
#options        QUOTA           # legacy UFS quotas
#options        QUOTA2          # new, in-filesystem UFS quotas
#options        DISKLABEL_EI    # disklabel Endian Independent support
#options        FFS_EI          # FFS Endian Independent support
#options        NFSSERVER       # Network File System server
options         FFS_NO_SNAPSHOT # No FF snapshot support

# Networking options
#options        GATEWAY         # packet forwarding
options         INET            # IP + ICMP + TCP + UDP
#options        MROUTING        # IP multicast routing
#options        PIM             # Protocol Independent Multicast
#options        NETATALK        # AppleTalk networking protocols
#options        PPP_BSDCOMP     # BSD-Compress compression support for PPP
#options        PPP_DEFLATE     # Deflate compression support for PPP
#options        PPP_FILTER      # Active filter support for PPP (requires bpf)
#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        EISAVERBOSE     # verbose EISA device autoconfig messages
#options        PCIVERBOSE      # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP # verbosely dump PCI config space
#options        PCMCIAVERBOSE   # verbose PCMCIA configuration messages
#options        SCSIVERBOSE     # human readable SCSI error messages
#options        USBVERBOSE      # verbose USB device autoconfig messages

#options        NFS_BOOT_BOOTP,NFS_BOOT_BOOTPARAM

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

#
# wscons options
#
# builtin terminal emulations
#options        WSEMUL_SUN              # sun terminal emulation
options         WSEMUL_VT100            # VT100 / VT220 emulation
# customization of console and kernel output - see dev/wscons/wsdisplayvar.h
#options        WSDISPLAY_CUSTOM_OUTPUT # color customization from wsconsctl(8)
#options        WS_DEFAULT_FG=WSCOL_WHITE
#options        WS_DEFAULT_BG=WSCOL_BLACK
#options        WS_DEFAULT_COLATTR="(0)"
#options        WS_DEFAULT_MONOATTR="(0)"
options         WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK
#options        WS_KERNEL_COLATTR=""
#options        WS_KERNEL_MONOATTR=""
# customization of console border color
#options        WSDISPLAY_CUSTOM_BORDER # border customization from wsconsctl(8)
#options        WSDISPLAY_BORDER_COLOR=WSCOL_BLUE       # default color
# compatibility to other console drivers
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
# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
#options        PCKBD_LAYOUT="(KB_DE | KB_NODEAD)" # for pckbd driver
#options        UKBD_LAYOUT="(KB_DE | KB_NODEAD)"  # for ukbd driver
# allocate a number of virtual screens at autoconfiguration time
#options        WSDISPLAY_DEFAULTSCREENS=4
# use a large software cursor that doesn't blink
options         PCDISPLAY_SOFTCURSOR

#
# Device configuration
#

#apm0   at mainbus0                     # Advanced power management


# Basic Bus Support

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

# PCI bridges
#pchb*  at pci? dev ? function ?        # PCI-Host bridges
#pceb*  at pci? dev ? function ?        # PCI-EISA bridges
#pcib*  at pci? dev ? function ?        # PCI-ISA bridges
#ichlpcib* at pci? dev ? function ?     # Intel ICH PCI-ISA w/ watchdog and
                                       # SpeedStep support
#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

# EISA bus support
#eisa0  at mainbus?
#eisa0  at pceb?

# ISA bus support
isa0    at mainbus?
#isa0   at pceb?
#isa0   at pcib?
#isa0   at ichlpcib?

# PCMCIA bus support
pcmcia* at pcic? controller ? socket ?

# ISA PCMCIA controllers
pcic0   at isa? port 0x3e0 iomem 0xd0000 iosiz 0x4000
pcic1   at isa? port 0x3e2 iomem 0xd4000 iosiz 0x4000

# ISA Plug-and-Play bus support
#isapnp0 at isa?

# ISA Plug-and-Play PCMCIA controllers
#pcic*  at isapnp?

# Console Devices

# 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 ?
#wsmouse*       at pms? mux 0


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

# Serial Devices

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

# ISA Plug-and-Play serial interfaces
#com*   at isapnp?                      # Modems and serial boards

# PCMCIA serial interfaces
com*    at pcmcia? function ?           # Modems and serial cards

# ISA serial interfaces
#options        COM_HAYESP              # adds Hayes ESP serial board support
com0    at isa? port 0x3f8 irq 4        # Standard PC serial ports
com1    at isa? port 0x2f8 irq 3
com2    at isa? port 0x3e8 irq 5
#com3   at isa? port 0x2e8 irq 9
#ast0   at isa? port 0x1a0 irq 5        # AST 4-port serial cards
#com*   at ast? slave ?
#boca0  at isa? port 0x100 irq 5        # BOCA 8-port serial cards
#com*   at boca? slave ?
#rtfps0 at isa? port 0x1230 irq 10      # RT 4-port serial cards
#com*   at rtfps? slave ?
#cy0    at isa? iomem 0xd4000 irq 12    # Cyclades serial cards


# Parallel Printer Interfaces

# PCI parallel printer interfaces
#lpt*   at puc? port ?                  # || ports on "universal" comm boards

# ISA parallel printer interfaces
lpt0    at isa? port 0x378 irq 7        # standard PC parallel ports
#lpt1   at isa? port 0x278
#lpt2   at isa? port 0x3bc


# SCSI Controllers and Devices

# PCI SCSI controllers
#ahc*   at pci? dev ? function ?        # Adaptec [23]94x, aic78x0 SCSI
#dpt*   at pci? dev ? function ?        # DPT SmartCache/SmartRAID
#bha*   at pci? dev ? function ?        # BusLogic 9xx SCSI
#isp*   at pci? dev ? function ?        # Qlogic ISP [12]0x0 SCSI/FibreChannel
#siop*  at pci? dev ? function ?        # NCR 53c8xx SCSI
#esiop* at pci? dev ? function ?        # NCR 53c875 SCSI and newer
#options        SIOP_SYMLED             # drive the act. LED in software

# EISA SCSI controllers
#ahb*   at eisa? slot ?                 # Adaptec 174[02] SCSI
#ahc*   at eisa? slot ?                 # Adaptec 274x, aic7770 SCSI
#bha*   at eisa? slot ?                 # BusLogic 7xx SCSI
#dpt*   at eisa? slot ?                 # DPT SmartCache/SmartRAID
#uha*   at eisa? slot ?                 # UltraStor 24f SCSI

# PCMCIA SCSI controllers
#aic*   at pcmcia? function ?           # Adaptec APA-1460 SCSI

# ISA Plug-and-Play SCSI controllers
#aic*   at isapnp?                      # Adaptec AHA-1520B

# ISA SCSI controllers
#aha0   at isa? port 0x330 irq ? drq ?  # Adaptec 154[02] SCSI
#aha1   at isa? port 0x334 irq ? drq ?
#ahc0   at isa? port ? irq ?            # Adaptec 284x SCSI
#aic0   at isa? port 0x340 irq 11       # Adaptec 152[02] SCSI
#bha0   at isa? port 0x330 irq ? drq ?  # BusLogic [457]4X SCSI
#bha1   at isa? port 0x334 irq ? drq ?
#sea0   at isa? iomem 0xc8000 irq 5     # Seagate/Future Domain SCSI
#uha0   at isa? port 0x330 irq ? drq ?  # UltraStor [13]4f SCSI
#uha1   at isa? port 0x340 irq ? drq ?
#wds0   at isa? port 0x350 irq 15 drq 6 # WD7000 and TMC-7000 controllers
#wds1   at isa? port 0x358 irq 11 drq 5

# SCSI bus support
#scsibus* at scsi?

# SCSI devices
#sd*    at scsibus? target ? lun ?      # SCSI disk drives
#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


# IDE and related devices

# ISA Plug-and-Play IDE controllers
#wdc*   at isapnp?

# PCMCIA IDE controllers
wdc*    at pcmcia? function ?

# ISA IDE controllers
wdc0    at isa? port 0x1f0 irq 14       # ST506, ESDI, and IDE controllers
wdc1    at isa? port 0x170 irq 15

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

# IDE drives
wd*     at atabus? drive ?                      # the drives themselves

# ATAPI bus support
atapibus* at atapi?

# ATAPI devices
cd*     at atapibus? drive ?            # ATAPI CD-ROM drives
sd*     at atapibus? drive ?            # ATAPI disk drives


# Miscellaneous mass storage devices

# ISA floppy
fdc0    at isa? port 0x3f0 irq 6 drq 2  # standard PC floppy controllers
#fdc1   at isa? port 0x370 irq ? drq ?
fd*     at fdc? drive ?                 # the drives themselves
# some machines need you to do this instead of fd*
#fd0    at fdc0 drive 0

# ISA CD-ROM devices
#mcd0   at isa? port 0x300 irq 10       # Mitsumi CD-ROM drives

# ISA tape devices
# note: the wt driver conflicts unpleasantly with SMC boards at the
# same I/O address. The probe reprograms their EEPROMs. Don't
# uncomment it unless you are actually using it.
#wt0    at isa? port 0x308 irq 5 drq 1  # Archive and Wangtek QIC tape drives


# Network Interfaces

# PCI network interfaces
#ep*    at pci? dev ? function ?        # 3Com 3c59x/3c90x Ethernet
#epic*  at pci? dev ? function ?        # SMC EPIC/100 Ethernet
#fxp*   at pci? dev ? function ?        # Intel EtherExpress PRO 10+/100B
#pcn*   at pci? dev ? function ?        # PCnet-PCI Ethernet
#ne*    at pci? dev ? function ?        # NE2000-compatible Ethernet
#tl*    at pci? dev ? function ?        # ThunderLAN-based Ethernet
#tlp*   at pci? dev ? function ?        # DECchip 21x4x and clones

# EISA network interfaces
#ep*    at eisa? slot ?                 # 3Com 3c579 Ethernet

# ISA Plug-and-Play network interfaces
#ep*    at isapnp?                      # 3Com 3c509 Ethernet
#ne*    at isapnp?                      # NE2000-compatible Ethernet

# PCMCIA network interfaces
ep*     at pcmcia? function ?           # 3Com 3c589 and 3c562 Ethernet
mbe*    at pcmcia? function ?           # MB8696x based Ethernet
ne*     at pcmcia? function ?           # NE2000-compatible Ethernet
sm*     at pcmcia? function ?           # Megahertz Ethernet

# ISA network interfaces
ate0    at isa? port 0x2a0 irq ?                # AT1700
ec0     at isa? port 0x250 iomem 0xd8000 irq 9  # 3Com 3c503 Ethernet
eg0     at isa? port 0x280 irq 9                # 3c505 Ethernet cards
el0     at isa? port 0x300 irq 9                # 3c501 Ethernet cards
ep0     at isa? port ? irq ?                    # 3c509 Ethernet cards
ef0     at isa? port 0x360 iomem 0xd0000 irq 7  # 3c507
ai0     at isa? port 0x360 iomem 0xd0000 irq 7  # StarLAN
fmv0    at isa? port 0x2a0 irq ?                # FMV-180 series
ix0     at isa? port 0x300 irq 10               # EtherExpress/16
iy0     at isa? port 0x360 irq ?                # EtherExpress PRO 10 ISA
lc0     at isa? port 0x320 iomem ? irq ?        # DEC EtherWORKS III (LEMAC)
#depca0 at isa? port 0x300 iomem 0xc8000 iosiz 0x8000 irq 5     # DEPCA
#le*    at depca?
nele0   at isa? port 0x320 irq 9 drq 7          # NE2100
le*     at nele?
bicc0   at isa? port 0x320 irq 10 drq 7         # BICC IsoLan
le*     at bicc?
ne0     at isa? port 0x280 irq 9                # NE[12]000 Ethernet cards
ne1     at isa? port 0x300 irq 10
sm0     at isa? port 0x300 irq 10               # SMC91C9x Ethernet
we0     at isa? port 0x280 iomem 0xd0000 irq 9  # WD/SMC Ethernet
we1     at isa? port 0x300 iomem 0xcc000 irq 10

# MII bus support
#mii*   at tl?

# MII PHY network interfaces
#nsphy* at mii? dev ?                   # NS and compatible PHYs
#tlphy* at mii? dev ?                   # ThunderLAN PHYs
#rgephy* at mii? dev ?                  # Realtek 8169S/8110S/8211 PHYs
#rlphy* at mii? dev ?                   # Realtek 8139/8201L PHYs
#ukphy* at mii? phy ?                   # generic unknown PHYs


# USB Controller and Devices

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

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

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

# USB Mice
#ums*   at uhub? port ?

# USB Keyboards
#ukbd*  at uhub? port ?

# USB Generic HID devices
#uhid*  at uhub? port ?

# USB Printer
#ulpt*  at uhub? port ?

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

# 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
#mue*   at uhub? port ?         # Microchip LAN75xx/LAN78xx based adapters
#ure*   at uhub? port ?         # Realtek RTL8152/RTL8153 based adapters
#url*   at uhub? port ?         # Realtek RTL8150L based adapters

# USB Generic driver
#ugen*  at uhub? port ?

# Audio Devices

# PCI audio devices
#eap*   at pci? dev ? function ?        # Ensoniq AudioPCI

# ISA Plug-and-Play audio devices
#guspnp* at isapnp?                     # Gravis Ultra Sound PnP audio
#sb*    at isapnp?                      # SoundBlaster-compatible audio
#ym*    at isapnp?                      # Yamaha OPL3-SA[23] audio

# ISA audio devices
#aria0  at isa? port 0x290 irq 10               # Aria
#gus0   at isa? port 0x220 irq 7 drq 1 drq2 6   # Gravis Ultra Sound
#pas0   at isa? port 0x220 irq 7 drq 1          # ProAudio Spectrum
#sb0    at isa? port 0x220 irq 5 drq 1 drq2 5   # SoundBlaster
#wss0   at isa? port 0x530 irq 10 drq 0 drq2 1  # Windows Sound System

# Audio support
#audio* at audiobus?

# The spkr driver provides a simple tone interface to the built in speaker.
#spkr*  at pcppi?               # PC speaker
#spkr*  at audio?               # PC speaker (synthesized)

# Joysticks

# ISA Plug-and-Play joysticks
#joy*   at isapnp?                      # Game ports (usually on audio cards)

# ISA joysticks. Probe is a little strange; add only if you have one.
#joy0   at isa? port 0x201

# Pseudo-Devices

# disk/mass storage pseudo-devices
#pseudo-device  ccd                     # concatenated/striped disk devices
pseudo-device   fss                     # file system snapshot device
#pseudo-device  md                      # memory disk device (ramdisk)
pseudo-device   vnd                     # disk-like interface to files
#options        VND_COMPRESSION         # compressed vnd(4)

# network pseudo-devices
pseudo-device   bpfilter                # Berkeley packet filter
pseudo-device   bridge                  # simple inter-network bridging
#pseudo-device  vether                  # Virtual Ethernet for bridge
pseudo-device   npf                     # NPF packet filter
pseudo-device   loop                    # network loopback
pseudo-device   ppp                     # Point-to-Point Protocol
pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)
#pseudo-device  sl                      # Serial Line IP
pseudo-device   tun                     # network tunneling over tty
#pseudo-device  tap                     # virtual Ethernet

# miscellaneous pseudo-devices
pseudo-device   pty                     # pseudo-terminals
#options        RND_COM                 # use "com" randomness as well (BROKEN)
pseudo-device   clockctl                # user control of clock subsystem

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

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