# $NetBSD: GENERIC,v 1.339 2024/01/29 18:27:10 christos Exp $
#
# This file was automatically created.
# Changes will be lost when make is run in this directory.
#
# Created from: # NetBSD: GENERIC.in,v 1.150 2022/08/07 02:52:23 simonb 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/amiga/conf/std.amiga"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.339 $"

makeoptions     COPTS="-O2 -fno-reorder-blocks -fno-omit-frame-pointer"
       # See share/mk/sys.mk. -fno-omit-frame-pointer is necessary for
       # backtraces in DDB.

maxusers        8
options         RTC_OFFSET=0

#
# mainboards to support (in addition to Amiga)
#
options         DRACO
options         BB060STUPIDROM  # You need this, if you have a non-DraCo
                               # MC68060 with an OS ROM up to (at least)
                               # V40 (OS3.1) and want to boot with the
                               # bootblock.
                               # You do not need this if you have a DraCo,
                               # have no 68060 or NEVER use the bootblock
options         P5PPC68KBOARD   # Phase5 PPC/68K board support
#
# processors this kernel should support
#
options         M68060          # support for 060
options         M060SP          # MC68060 software support (Required for 060)
options         M68040          # support for 040
options         FPSP            # MC68040 floating point support
options         M68030          # support for 030
options         M68020          # support for 020/851
options         FPU_EMULATE     # FPU emulation

#
# Networking options
#
options         INET            # IP networking support (Required)
options         INET6           # IPV6
#options        IPSEC           # IP security
#options        IPSEC_DEBUG     # debug for IP security
#options        GATEWAY         # Packet forwarding

#options        MROUTING        # Multicast routing
#options        PIM             # Protocol Independent Multicast
options         NETATALK        # AppleTalk networking protocols
#options        TCP_DEBUG       # Record last TCP_NDEBUG packets with SO_DEBUG

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

# Filesystems
file-system     FFS             # Berkeley fast file system
file-system     EXT2FS          # second extended file system (linux)
#file-system    LFS             # log-structured filesystem (experimental)

file-system     MFS             # Memory based filesystem

file-system     NFS             # Network File System client side code
file-system     ADOSFS          # AmigaDOS file system
file-system     CD9660          # ISO 9660 + Rock Ridge filesystem
file-system     MSDOSFS         # MS-DOS filesystem

file-system     KERNFS          # kernel data-structure filesystem

file-system     FDESC           # user file descriptor filesystem
file-system     NULLFS          # loopback filesystem
file-system     OVERLAY         # overlay filesystem
file-system     PROCFS          # /proc filesystem
file-system     UMAPFS          # NULLFS + uid and gid remapping
file-system     UNION           # union filesystem
file-system     PTYFS           # /dev/pts/N support
file-system     TMPFS           # Efficient memory file-system
#file-system    UDF             # experimental - OSTA UDF CD/DVD file-system

# Filesystem options

#options        FFS_EI          # FFS Endian Independent support
options         WAPBL           # File system journaling 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         NFSSERVER       # Network File System server


#
# Compatibility options for various existing systems
#


include         "conf/compat_netbsd09.config"

options         COMPAT_SUNOS    # Support to run Sun (m68k) executables
options         COMPAT_NOMID    # allow nonvalid machine id executables
#options        COMPAT_LINUX    # Support to run Linux/m68k executables
#options        COMPAT_OSSAUDIO # Support to run Linux/m68k executables

options         EXEC_AOUT       # 32-bit aout executables (NetBSD-1.5.x)
options         COMPAT_AOUT_M68K # actually make some system calls work.

#
# Support for System V IPC facilities.
#
options         SYSVSHM         # System V-like shared memory
options         SYSVMSG         # System V-like messages
options         SYSVSEM         # System V-like semaphores

#
# Support for various kernel options
#

options         KTRACE          # system call tracing support
#options        INSECURE        # disable kernel security levels
options         SCSIVERBOSE     # human readable SCSI error messages
options         USERCONF        # userconf(4) support
options         NTP             # NTP phase/frequency locked loop
#options        PIPE_SOCKETPAIR # smaller, but slower pipe(2)

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

#
# Misc. debugging options
#
options         DDB             # Kernel debugger
#options        DDB_HISTORY_SIZE=100    # Enable history editing in DDB
#options        DIAGNOSTIC      # Extra kernel sanity checks
#options        DEBUG           # Enable misc. kernel debugging code
makeoptions     DEBUG="-g"      # compile full symbol table
#options        SYSCALL_DEBUG   # debug all syscalls.
#options        SCSIDEBUG       # Add SCSI debugging statements
#options        PANICBUTTON     # Forced crash via keypress (?)

#
# Amiga specific options
#
#options        LIMITMEM=24     # Do not use more than LIMITMEM MB of the
                               # first bank of RAM. (default: unlimited)

# ATTENTION: There is NO WARRANTY AT ALL that the sync will be complete
# before the 10 secondinterval ends, or that KBDRESET does work at all.
#options        KBDRESET        # sync on Ctrl-Amiga-Amiga

# These options improve performance with the built-in serial port
# on slower Amigas.  Try the larger buffers first then lev6_defer.
#options        SERIBUF_SIZE=4096
#options        SEROBUF_SIZE=32
#options        LEV6_DEFER      # defers l6 to l4 (below serial l5)

#options        DEVRELOAD       # implement /dev/reload
#                               # currently only works for a.out kernels

options         RETINACONSOLE   # enable code to allow retina to be console
options         ULOWELLCONSOLE  # enable code to allow a2410 to be console
options         CL5426CONSOLE   # Cirrus console
options         CV64CONSOLE     # CyberVision console
options         TSENGCONSOLE    # Tseng console
options         CV3DCONSOLE     # CyberVision 64/3D console

options         GRF_ECS         # Enhanced Chip Set
options         GRF_NTSC        # NTSC
options         GRF_PAL         # PAL
options         GRF_A2024       # Support for the A2024
options         GRF_AGA         # AGA Chip Set
options         GRF_AGA_VGA     # AGA VGAONLY timing
options         GRF_SUPER72     # AGA Super-72
#options        KFONT_8X11      # 8x11 font

# select a font for the console according to the character set and keymap
# you want to use
options        KFONT_CONS_ISO8859_1
#options         KFONT_CONS_ISO8859_2

# This is how you would tell the kernel the A2410 oscillator frequencies:
# The used frequencies are the defaults, and do not need option setting
#options        ULOWELL_OSC1=36000000
#options        ULOWELL_OSC2=66667000

# This is how you specify the blitting speed, higher values may speed up blits
# a little bit.  If you raise this value too much some trash may appear.
# the commented version is the default.
#options        RH_MEMCLK=61000000
# this option enables the 64 bit sprite which does not work
# for quite a few people.  E.g. The cursor sprite will turn to a block
# when moved to the top of the screen in X.
#options        RH_64BIT_SPRITE
# enables fast scroll code appears to now work on 040 systems.
#options        RETINA_SPEED_HACK
# enables the Hardwarecursor which does not work on some systems.
#options        RH_HARDWARECURSOR

# wscons aware interface to amiga custom chips.
# If you enable it enable also wskbd.
#
#amidisplaycc0  at mainbus0             # wscons interface to custom chips
#wsdisplay0     at amidisplaycc0 console ?
#options        WSEMUL_VT100
#options        WSDISPLAY_COMPAT_USL            # wsconscfg VT handling
#options        FONT_VT220L8x10
#options        FONT_VT220ISO8x16

#z3rambd*       at zbus0                # Zorro III RAM block devices
#altmem*        at z3rambd?

p5bus0          at zbus0                # Phase5 CSPPC/BPPC internal bus

grfcc0          at mainbus0             # custom chips
grfrt0          at zbus0                # retina II
grfrh0          at zbus0                # retina III
grfcl*          at zbus0                # Picasso II/Piccolo/Spectrum
grful0          at zbus0                # A2410
grfcv0          at zbus0                # CyberVision 64
grfet*          at zbus0                # Tseng (oMniBus, Domino, Merlin)
grfcv3d0        at zbus0                # CyberVision 64/3D

grf0            at grfcc0
grf1            at grfrt0
grf2            at grfrh0
grf3            at grfcl?
grf4            at grful0
grf5            at grfcv0
grf6            at grfet?
grf7            at grfcv3d0
ite0            at grf0                 # terminal emulators for grfs
ite1            at grf1                 # terminal emulators for grfs
ite2            at grf2                 # terminal emulators for grfs
ite3            at grf3                 # terminal emulators for grfs
ite4            at grf4                 # terminal emulators for grfs
ite5            at grf5                 # terminal emulators for grfs
ite6            at grf6                 # terminal emulators for grfs
ite7            at grf7                 # terminal emulators for grfs

#wsdisplay*     at grf5 console ?       # wsdisplay on top of grf (CV64)
#wsdisplay*     at grf7 console ?       # wsdisplay on top of grf (CV64/3D)

msc0            at zbus0                # A2232 MSC multiport serial.
mfc0            at zbus0                # MultiFaceCard I/O board
mfcs0           at mfc0 unit 0          # MFC serial
mfcs1           at mfc0 unit 1          # MFC serial
#mfcp0          at mfc0 unit 0          # MFC parallel [not available yet]
#mfc1           at zbus0                # MultiFaceCard 2nd I/O board
#mfcs2          at mfc1 unit 0
#mfcs3          at mfc1 unit 1
#mfcp1          at mfc1 unit 0

hyper*          at zbus?                # zbus HyperCom3/3+/4/4+
#hyper*         at mainbus0             # not yet: HyperCom1 + HyperCom3
com*            at hyper? port ?        # Hypercom3/4 serial ports
lpt*            at hyper? port ?        # Hypercom3+/4+ parallel port

#options        IOBZCLOCK=22118400      # default, uncomment the next line
#options        IOBZCLOCK=24000000      # if needed.

iobl*           at zbus?                # zbus IOBlix
com*            at iobl? port ?         # IOBlix serial ports
lpt*            at iobl? port ?         # IOBlix parallel ports


#
# Keyboard device. Optionally can attach a wskbd.
# wskbd works together with a wsdisplay so enable them both if you will.
# Don't enable wskbd if you use ite.
#
# XXX in std.amiga: kbd0 at mainbus0
#wskbd0         at kbd0 console ?


#
# Amiga Mainboard devices (sans graphics and keyboard)
#

ser0            at mainbus0             # Amiga onboard serial
par0            at mainbus0             # Amiga onboard parallel
ms*             at mainbus0             # Amiga mice
fdc0            at mainbus0             # Amiga FDC
fd*             at fdc0 unit ?          # floppy disks on the later
a34kbbc0        at mainbus0             # A3000/A4000 battery backed clock
a2kbbc0         at mainbus0             # A2000 battery backed clock
aucc*           at mainbus0             # Amiga CC audio
audio*          at aucc?

spkr*           at audio?               # PC speaker (synthesized)

a1k2cp0         at mainbus0             # A1200 on-board clockport
clockport*      at a1k2cp0

#com*            at clockport?           # Individual Computers SilverSurfer

#wsmouse*       at ms?

#
# DraCo Mainboard devices (sans keyboard)
#

drbbc0          at mainbus0             # DraCo battery backed clock
drsupio0        at mainbus0             # DraCo superio chip
com*            at drsupio? port ?      # DraCo serial
lpt0            at drsupio? port ?      # DraCo parallel

#
# Zorro-II, Zorro-III, DraCo Direct-Bus devices (sans graphics)
#


repulse*        at zbus0                # ALiENDESiGN Repulse
audio*          at repulse?

toccata*        at zbus0                # MacroSystem GmbH Toccata
audio*          at toccata?

# Ethernet cards:
le*             at zbus0                # A2065, Ameristar, Ariadne
ne*             at zbus0                # AriadneII
ed*             at zbus0                # Hydra, ASDG LanRover
es*             at zbus0                # CEI A4066 EthernetPLUS
qn*             at zbus0                # Quicknet

xsh*            at zbus0                # X-Surf 100
ne*             at xshbus?              # NE2000 chip on X-Surf 100

xsurf*          at zbus0                # X-Surf
ne*             at xsurfbus?            # NE2000 chip on X-Surf
gencp*          at xsurfbus?            # clockports on X-Surf
wdc*            at xsurfbus?            # IDE on X-Surf

clockport*      at gencp?

# Arcnet
bah*            at zbus0                # C=/Ameristar A2060 / 560

# Greater Valley Product Bus
gvpbus*         at zbus0

# scsi stuff, all possible
gtsc0           at gvpbus?              # GVP series II scsi
scsibus*        at gtsc0
ahsc0           at mainbus0             # A3000 scsi
scsibus*        at ahsc0
atzsc0          at zbus0                # A2091 scsi
scsibus*        at atzsc0
wstsc0          at zbus0                # Wordsync II scsi
scsibus*        at wstsc0
ivsc0           at zbus0                # IVS scsi
scsibus*        at ivsc0
mlhsc0          at zbus0                # Hacker scsi
scsibus*        at mlhsc0
otgsc0          at zbus0                # 12 gauge scsi
scsibus*        at otgsc0
zssc0           at zbus0                # Zeus scsi
scsibus*        at zssc0
mgnsc0          at zbus0                # Magnum scsi
scsibus*        at mgnsc0
wesc0           at zbus0                # Warp Engine scsi
scsibus*        at wesc0
bppcsc0         at p5bus0               # BlizzardPPC 603e+ scsi
scsibus*        at bppcsc0
afsc0           at zbus0                # A4091 scsi
scsibus*        at afsc0
aftsc0          at mainbus0             # A4000T scsi
scsibus*        at aftsc0
flsc0           at zbus0                # FastlaneZ3 scsi
scsibus*        at flsc0
bzsc0           at zbus0                # Blizzard 1230 I,II scsi
scsibus*        at bzsc0
bzivsc0         at zbus0                # Blizzard 12x0 IV scsi
scsibus*        at bzivsc0
bztzsc0         at zbus0                # Blizzard 2060 scsi
scsibus*        at bztzsc0
cbsc0           at zbus0                # CyberSCSI I
scsibus*        at cbsc0
cbiisc0         at zbus0                # CyberSCSI II
scsibus*        at cbiisc0
cbiiisc0        at p5bus0               # Cyberstorm mk.III/Cyberstorm PPC SCSI
scsibus*        at cbiiisc0
empsc0          at zbus0                # Emplant scsi
scsibus*        at empsc0

acafh0          at mainbus0             # Individual Computers ACA500
wdc*            at acafhbus?            # CF slots on ACA500
gencp*          at acafhbus?            # clockport on ACA500

wdc0            at mainbus0             # A4000 & A1200 IDE bus
wdc*            at zbus0                # Buddha / Catweasel
#efa0           at mainbus0             # ELBOX FastATA 1200 Mk-III/Mk-IV

atabus*         at wdc? channel ?       # ATA bus
#atabus*        at efa? channel ?       # ATA bus
atabus*         at ata? channel ?       # ATA bus
wd*             at atabus? drive ?      #  + drives
atapibus*       at atabus?              # ATAPI bus
cd*             at atapibus? drive ?    # ATAPI CD-ROM drives
sd*             at atapibus? drive ?    # ATAPI disk drives

pccard0         at mainbus0
pcmcia*         at pccard0
com*            at pcmcia? function ?   # Modems and serial cards
pcmcom*         at pcmcia? function ?   # PCMCIA multi-port serial cards
aic*            at pcmcia? function ?   # Adaptec APA-1460 SCSI
wdc*            at pcmcia? function ?
awi*            at pcmcia? function ?   # BayStack 650 (802.11FH)
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
mhzc*           at pcmcia? function ?   # Megahertz Ethernet/Modem combo cards
com*            at mhzc?
sm*             at mhzc?

nsphyter*       at mii? phy ?           # NS83843 PHYs
ukphy*          at mii? phy ?           # generic unknown PHYs

drsc0           at mainbus0             # DraCo scsi
scsibus*        at drsc0


# each hard drive from low target to high
# will configure to the next available sd unit number
sd*     at scsibus? target ? lun ?      # scsi disks
st*     at scsibus? target ? lun ?      # scsi tapes
cd*     at scsibus? target ? lun ?      # scsi cds
ch*     at scsibus? target ? lun ?      # scsi autochangers
ss*     at scsibus? target ? lun ?      # scsi scanner
uk*     at scsibus? target ? lun ?      # scsi unknown

# PCI bus support
options         PCIVERBOSE              # verbose PCI device autoconfig messages
#options        PCI_CONFIG_DUMP
options         PCI_NETBSD_CONFIGURE    # supported by mppb(4), p5pb(4), empb(4)

p5pb0           at p5bus0               # Phase5 PCI bridge (CVPPC/BVPPC/G-REX)
p5membar*       at zbus0                # Phase5 PCI bridge autoconfiguring BARs
#options        P5PB_DEBUG              # enable excessive debug for p5pb
#options        P5PB_CONSOLE            # console on CVPPC/BVPPC/Voodoo3
pci*            at p5pb0

mppb*           at zbus0                # Matay Prometheus Zorro-PCI bridge
pci*            at mppb?

empb0           at zbus0                # ELBOX Mediator PCI 1200
em4k0           at zbus0                # ELBOX Mediator PCI 4000
emmem0          at zbus0                # ELBOX Mediator PCI memory space
empm0           at empb0                # ELBOX Mediator PCI Power Management
pci*            at empb0
pci*            at em4k0

#cv3dpb*        at zbus0                # CyberVision 64/3D PCI bridge

#genfb*         at pci?                 # generic fb, CVPPC/BVPPC only
#voodoofb*      at pci?                 # 3Dfx Voodoo 3 in G-REX
#radeonfb*      at pci?                 # untested

ne*             at pci?                 # NE2000 Ethernet
satalink* at pci? dev ? function ? flags 0x0002 # SiI SATALink 3112

# Bluetooth Controller and Device support
# tested only with btuart on an A1200

# Bluetooth PCMCIA Controllers
bt3c*   at pcmcia? function ?           # 3Com 3CRWB6096-A
btbc*   at pcmcia? function ?           # AnyCom BlueCard LSE041/039/139

# Bluetooth Device Hub
bthub*  at bcsp?
bthub*  at bt3c?
bthub*  at btbc?
bthub*  at btuart?

# Bluetooth HID support
bthidev* at bthub?

# Bluetooth Mouse
#btms*   at bthidev? reportid ?
#wsmouse* at btms? mux 0

# Bluetooth Keyboard
#btkbd* at bthidev? reportid ?
#wskbd* at btkbd? console ? mux 1

# Bluetooth Apple Magic Mouse
#btmagic* at bthub?
#wsmouse* at btmagic? mux 0

# Bluetooth Audio support
#btsco* at bthub?

# USB
slhci*          at zbus?                # Thylacine
usb*            at slhci?

uhub*           at usb?
uhub*           at uhub? port ?

uhidev*         at uhub? port ? configuration ? interface ?
uhid*           at uhidev? reportid ?

#
# accept filters
pseudo-device   accf_data               # "dataready" accept filter
pseudo-device   accf_http               # "httpready" accept filter

pseudo-device   loop                    # loopback network interface
pseudo-device   sl                      # SLIP network interfaces
pseudo-device   ppp                     # PPP network interfaces
pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)
pseudo-device   tun                     # network tunnel line discipline
pseudo-device   tap                     # virtual Ethernet
#pseudo-device  gre                     # generic L3 over IP tunnel
pseudo-device   bpfilter                # Berkeley packet filter
pseudo-device   carp                    # Common Address Redundancy Protocol
pseudo-device   npf                     # NPF packet filter
pseudo-device   gif                     # IPv[46] over IPv[46] tunnel (RFC1933)
#pseudo-device  faith                   # IPv[46] tcp relay translation i/f
pseudo-device   stf                     # 6to4 IPv6 over IPv4 encapsulation
pseudo-device   vlan                    # IEEE 802.1q encapsulation
pseudo-device   bridge                  # simple inter-network bridging
pseudo-device   vether                  # Virtual Ethernet for bridge
pseudo-device   agr                     # IEEE 802.3ad link aggregation
pseudo-device   fss                     # file system snapshot device
pseudo-device   putter                  # for puffs and pud

pseudo-device   view            4       # views (needed for grfcc)
pseudo-device   pty                     # pseudo-terminals
pseudo-device   clockctl                # user control of clock subsystem
pseudo-device   drvctl                  # user control of drive subsystem

#pseudo-device  wsfont                  # wsfont(4) dynamic font loading support
#pseudo-device  wsmux                   # mouse & keyboard multiplexor

pseudo-device   vnd                     # vnode pseudo-disks
#options        VND_COMPRESSION         # compressed vnd(4)
pseudo-device   ccd                     # concatenated disk devices
#pseudo-device  cgd                     # cryptographic disk devices
pseudo-device   raid                    # 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

#options        RND_COM                 # use "com" randomness as well (BROKEN)

pseudo-device   ksyms                   # /dev/ksyms (kernel symbols)
pseudo-device   bcsp                    # BlueCore Serial Protocol
pseudo-device   btuart                  # Bluetooth HCI UART (H4)
pseudo-device   swwdog                  # software watchdog timer -- swwdog(4)

# Veriexec
include "dev/veriexec.config"

config  netbsd root on ? type ?

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