I ran into a undefined reference to chacha_md_init() while building a
kernel (configs attached).  On IRC I discovered a work-around of "add
``select chacha'' at the end of the config.

Seems that this should be fixed to not require explicit selection of
the option.


+--------------------+--------------------------+-----------------------+
| Paul Goyette       | PGP Key fingerprint:     | E-mail addresses:     |
| (Retired)          | FA29 0E3B 35AF E8AE 6651 | p...@whooppee.com     |
| Software Developer | 0786 F758 55DE 53BA 7731 | pgoye...@netbsd.org   |
+--------------------+--------------------------+-----------------------+
include "arch/amd64/conf/std.amd64"

#ident          "GENERIC-$Revision: 1.573 $"
ident           "WHOOPPEE-common"

options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary

config          netbsd  root on ? type ffs

maxusers        64              # estimated number of users

# Remove standard options, as they are provided by modules

no options      EXEC_SCRIPT
no options      EXEC_ELF64
no options      COREDUMP
no options      AIO
no options      MQUEUE
no options      SEMAPHORE
no options      PTRACE

# 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         CPU_UCODE       # cpu ucode loading support
options         KDTRACE_HOOKS   # kernel DTrace hooks

options         MODULAR         # new style module(7) framework
options         MODULAR_DEFAULT_AUTOLOAD
options         VGA_POST        # in-kernel support for VGA POST
options         USERCONF        # userconf(4) support
options         SYSCTL_INCLUDE_DESCR    # Include sysctl descriptions in kernel

# CPU-related options
options         USER_LDT        # User-settable LDT, used by Wine
options         SVS             # Separate Virtual Space
options         PCPU_IDT        # Per CPU IDTs

# GCC Spectre variant 2 mitigation
makeoptions     SPECTRE_V2_GCC_MITIGATION=1
options         SPECTRE_V2_GCC_MITIGATION

options         DIAGNOSTIC      # inexpensive kernel consistency checks
options         DEBUG           # expensive debugging checks/support
options         LOCKDEBUG       # expensive locking checks/support
options         MSGBUFSIZE=524288

makeoptions     COPTS="-O2 -fno-omit-frame-pointer"
makeoptions     DEBUG="-g"      # compile full symbol table - CTF needs this

# DDB_* options - see ddb(4), sysctl(7), and options(4)

options         DDB             # in-kernel debugger
#options        DDB_ONPANIC=1           # enter ddb if panic(9)
options         DDB_COMMANDONENTER="bt" # backtrace at entry
#options        DDB_DUMPSTACK=1         # backtrace at entry
options         DDB_HISTORY_SIZE=512    # enable history editing in DDB

# File systems
#file-system    FFS             # UFS
#options        QUOTA2          # new, in-filesystem UFS quotas
#options        FFS_EI          # FFS Endian Independent support
#options        DISKLABEL_EI    # disklabel Endian Independent support
#options        WAPBL           # File system journaling support
#options        UFS_EXTATTR     # Extended attribute support for UFS1

# Networking options
options         INET            # IP + ICMP + TCP + UDP
options         INET6           # IPV6

pseudo-device   loop            # network loopback

# wscons options
#
options         WSEMUL_VT100                    # VT100 / VT220 emulation
options         WS_KERNEL_FG=WSCOL_GREEN
#options        WS_KERNEL_BG=WSCOL_BLACK
# 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
# don't attach pckbd as the console if no PS/2 keyboard is found
options         PCKBD_CNATTACH_MAY_FAIL
options         PCDISPLAY_SOFTCURSOR
options         WSDISPLAY_SCROLLSUPPORT

pseudo-device   wsmux                   # mouse & keyboard multiplexor
# Give us a choice of font depending on monitor size
pseudo-device   wsfont
options         FONT_BOLD8x16
options         FONT_BOLD16x32

# Miscellaneous options

options         FILEASSOC               # fileassoc(9) - needed by Veriexec
                                        # and PAX_SEGVGUARD
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

options         ACPI_SCANPCI            # find PCI roots using ACPI

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         AGP_X86
options         VCONS_DRAW_INTR

#options        KASLR           # Kernel Address Space Layout Randomization
#makeoptions    KASLR=1         # (and the "pre-kern")

# Pseudo-Devices

pseudo-device   pty                     # pseudo-terminals
pseudo-device   ksyms                   # /dev/ksyms
pseudo-device   lockstat                # lock profiling
#pseudo-device  sequencer               # MIDI sequencer

select chacha
include "arch/amd64/conf/WHOOPPEE_COMMON"

#ident          "GENERIC-$Revision: 1.573 $"
ident           "SPEEDY 2020-07-26 18:25:27 UTC"

no options      LOCKDEBUG       # too expensive for production use!

# Device configuration

acpi0           at mainbus0

acpiec0         at acpi0                # ACPI Embedded Controller (late)
acpiecdt0       at acpi0                # ACPI Embedded Controller (early)
attimer0        at acpi0                # AT Timer

# PCI bus support
pci0            at mainbus0 bus 0
pchb0           at pci0 dev  0 function 0 # PCI-Host bridges
ppb1            at pci0 dev  1 function 0 # PCI-PCI bridges
ppb2            at pci0 dev  1 function 1 # PCI-PCI bridges
ppb0            at pci0 dev  3 function 0 # PCI-PCI bridges
xhci0           at pci0 dev 20 function 0 # eXtensible USB Host Controller
wm0             at pci0 dev 25 function 0 # Realtek 8139C+/8169/8169S/8110S
ihphy0          at wm0  phy 2             # Realtek 8169S/8110 internal PHYs
#ukphy0         at mii? phy ?             # generic unknown PHYs

ehci0           at pci0 dev 26 function 0 # Enhanced USB Host Controller
ppb3            at pci0 dev 28 function 0 # PCI-PCI bridges
ppb4            at pci0 dev 28 function 4 # PCI-PCI bridges
ehci1           at pci0 dev 29 function 0 # Enhanced USB Host Controller
ichlpcib0       at pci0 dev 31 function 0 # Intel ICH PCI-LPC w/ watchdog,
                                          # timecounter, Speedstep, gpio,
                                          # and HPET
ahcisata0       at pci0 dev 31 function 2 # AHCI SATA controllers

pci1            at ppb0 bus 1

# vga0 is needed since nouveau currently doesn't work on many modern
# nVidia video cards.

vga0            at pci1 dev 0 function 0
nouveau0        at pci1 dev 0 function 0
nouveaufb0      at nouveau0

radeon0         at pci1 dev  0 function 0
radeondrmkmsfb0 at radeon0

genfb0          at pci1 dev  0 function 0

pci2            at ppb1 bus 2

pci3            at ppb2 bus 3

pci4            at ppb3 bus 4

pci5            at ppb4 bus 5
xhci1           at pci5 dev  0 function 0 # eXtensible USB Host Controller

pci6            at mainbus0 bus 255

# Console Devices

wsdisplay0      at wsemuldisplaydev?

# ATA/IDE/SCSI devices

atabus0         at ahcisata0 channel 0
atabus1         at ahcisata0 channel 1
atabus*         at ahcisata? channel ?

wd0             at atabus0 drive 0 flags 0x0000         # ATA/IDE hard drives
wd1             at atabus1 drive 0 flags 0x0000         # ATA/IDE hard drives
wd*             at atabus?

# ISA bus devices - keyboard, mouse, serial port, system monitor
isa0            at ichlpcib?            # ISA bus
pckbc0          at isa?                 # pc keyboard controller
pckbd0          at pckbc0               # PC keyboard
pms0            at pckbc0               # PS/2 mouse for wsmouse
com0            at isa0 port 0x3f8 irq 4 # Standard PC serial ports
wskbd*          at pckbd? console ? mux 1
wsmouse*        at wsmousedev?

# USB Devices (not hardwired, except for ugen0 for the UPS)

# USB Hubs and busses
usb*            at xhci?
usb*            at ehci?
uhub*           at usb?
uhub*           at uhub? port ?

# APC UPS 
ugen0           at uhub? port ? vendor 0x51d product 0x2

# USB Storage
umass*          at uhub? port ? configuration ? interface ?
scsibus*        at umass?
sd*             at scsibus? target ? lun ?
cd*             at scsibus? target ? lun ?
atapibus*       at umass?
sd*             at atapibus? drive ? flags 0x0000
cd*             at atapibus? drive ? flags 0x0000

# USB Human interface devices
uhidev*         at uhub? port ? configuration ? interface ?
uhid*           at uhidev? reportid ?   # USB generic HID
ukbd*           at uhidev? reportid ?   # USB keyboards
wskbd*          at ukbd? console ? mux 1
ums*            at uhidev? reportid ?   # USB mice

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

# USB Printer
#ulpt*          at uhub? port ? configuration ? interface ?

Reply via email to