# $NetBSD: GENERIC,v 1.15 2024/01/29 18:27:13 christos 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/ia64/conf/std.ia64"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

#ident          "GENERIC-$Revision: 1.15 $"

maxusers        32              # estimated number of users

# CPU support.  At least one is REQUIRED.
#options        IA64_CPU

# CPU-related options.

# Standard system options
options         INSECURE        # disable kernel security levels - X needs this
options         NTP             # NTP phase/frequency locked loop

options         KTRACE          # system call tracing via ktrace(1)

# Note: SysV IPC parameters can be changed dynamically; see sysctl(8).
options         SYSVMSG         # System V-like message queues
options         SYSVSEM         # System V-like semaphores
options         SYSVSHM         # System V-like memory sharing

#options        MODULAR         # new style module(7) framework
#options        MODULAR_DEFAULT_AUTOLOAD

options         USERCONF        # userconf(4) support

# Diagnostic/debugging support options
options         DIAGNOSTIC      # expensive kernel consistency checks
options         DEBUG           # expensive debugging checks/support
#options        LOCKDEBUG       # expensive locking checks/support
options         DDB             # in-kernel debugger
pseudo-device   ksyms
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

#options UVMHIST
#options UVMHIST_PRINT

# File systems
file-system     FFS             # UFS
file-system     NFS             # Network File System client
file-system     MFS             # memory file system
#file-system    LFS             # log-structured file system
#file-system    NTFS            # Windows/NT file system (experimental)
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     TMPFS           # Efficient memory 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
options         WAPBL           # File system journaling support
options         NFSSERVER       # Network File System server

# These options enable verbose messages for several subsystems.
# Warning, these may compile large string tables into the kernel!
options         ACPIVERBOSE     # verbose ACPI device autoconfig messages

#options        GATEWAY         # packet forwarding
options         INET            # IP + ICMP + TCP + UDP
#options        INET6           # IPv6
#options        IPSEC           # IP security

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

#
# Device configuration
#

mainbus0 at root

cpu*            at mainbus?

# Advanced Configuration and Power Interface

acpi0           at mainbus?

# ACPI devices
acpitz*         at acpi?                # ACPI Thermal Zone
com*            at acpi?                # Serial communications interface

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

#puc* at pci? dev ? function ?
#com* at puc? port ?

# Pseudo-Devices

# Enable the hooks used for initializing the root memory-disk.
#pseudo-device  md                      # memory disk device (ramdisk)
#options        MEMORY_DISK_DYNAMIC     # loaded via kernel module(7)
##options       MEMORY_DISK_HOOKS       # enable root ramdisk
##options               MEMORY_DISK_IS_ROOT     # force md RAM disk to be the root device
#options    MEMORY_DISK_ROOT_SIZE=2880  # 1.44M, same as a floppy
##options     MEMORY_DISK_ROOT_SIZE=8192  # 4Meg
##options     MEMORY_DISK_SERVER=1        # make the ramdisk writeable

# network pseudo-devices
pseudo-device   loop                    # network loopback

# miscellaneous pseudo-devices
#pseudo-device  pty                     # pseudo-terminals
pseudo-device   swwdog                  # software watchdog timer -- swwdog(4)

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