Module Name:    src
Committed By:   nat
Date:           Thu Dec  8 11:31:15 UTC 2016

Modified Files:
        src/etc/etc.aarch64: MAKEDEV.conf
        src/etc/etc.algor: MAKEDEV.conf
        src/etc/etc.amiga: MAKEDEV.conf
        src/etc/etc.amigappc: MAKEDEV.conf
        src/etc/etc.atari: MAKEDEV.conf
        src/etc/etc.cats: MAKEDEV.conf
        src/etc/etc.cobalt: MAKEDEV.conf
        src/etc/etc.dreamcast: MAKEDEV.conf
        src/etc/etc.epoc32: MAKEDEV.conf
        src/etc/etc.evbarm: MAKEDEV.conf
        src/etc/etc.evbppc: MAKEDEV.conf
        src/etc/etc.evbsh3: MAKEDEV.conf
        src/etc/etc.hpcarm: MAKEDEV.conf
        src/etc/etc.hpcmips: MAKEDEV.conf
        src/etc/etc.hppa: MAKEDEV.conf
        src/etc/etc.landisk: MAKEDEV.conf
        src/etc/etc.macppc: MAKEDEV.conf
        src/etc/etc.mmeye: MAKEDEV.conf
        src/etc/etc.or1k: MAKEDEV.conf
        src/etc/etc.pmax: MAKEDEV.conf
        src/etc/etc.sgimips: MAKEDEV.conf
        src/etc/etc.shark: MAKEDEV.conf
        src/etc/etc.sparc: MAKEDEV.conf
        src/etc/etc.sparc64: MAKEDEV.conf
        src/etc/etc.x68k: MAKEDEV.conf
        src/etc/etc.zaurus: MAKEDEV.conf
        src/share/man/man4: speaker.4
        src/sys/arch/acorn32/conf: EB7500ATX GENERIC INSTALL LOWMEM_WSCONS NC
        src/sys/arch/algor/conf: majors.algor
        src/sys/arch/alpha/conf: GENERIC majors.alpha
        src/sys/arch/amd64/conf: ALL GENERIC XEN3_DOM0 majors.amd64
        src/sys/arch/amiga/conf: AMIGA DRACO GENERIC GENERIC.in MDINSTALL
        src/sys/arch/amigappc/conf: GENERIC NULL
        src/sys/arch/atari/conf: GENERIC.in HADES HADES.in MILAN-ISAIDE
            MILAN-PCIIDE
        src/sys/arch/bebox/conf: GENERIC INSTALL majors.bebox
        src/sys/arch/cats/conf: GENERIC INSTALL
        src/sys/arch/cobalt/conf: GENERIC INSTALL
        src/sys/arch/dreamcast/conf: GENERIC
        src/sys/arch/emips/conf: GENERIC
        src/sys/arch/epoc32/conf: GENERIC
        src/sys/arch/evbarm/conf: ALLWINNER_A80 ARMADILLO9 BPI CUBIEBOARD
            GUMSTIX HDL_G HPT5325 HUMMINGBIRD_A31 IMX23_OLINUXINO LUBBOCK
            MINI2440 MMNET_GENERIC MPCSA_GENERIC MV2120 POGO RPI SHEEVAPLUG
            SMDK2410 TEGRA TS7200 TWINTAIL
        src/sys/arch/evbmips/conf: ALCHEMY LOONGSON MALTA majors.evbmips
        src/sys/arch/evbppc/conf: EV64260 OPENBLOCKS266_OPT PMPPC
        src/sys/arch/hp300/conf: GENERIC
        src/sys/arch/hpcarm/conf: NETBOOKPRO WZERO3
        src/sys/arch/hpcmips/conf: GENERIC TX3922 VR41XX
        src/sys/arch/hppa/conf: GENERIC
        src/sys/arch/i386/conf: ALL GENERIC GENERIC_TINY INSTALL_FLOPPY
            INSTALL_TINY XEN3_DOM0 majors.i386
        src/sys/arch/ia64/conf: majors.ia64
        src/sys/arch/ibmnws/conf: GENERIC
        src/sys/arch/iyonix/conf: GENERIC
        src/sys/arch/landisk/conf: GENERIC
        src/sys/arch/macppc/conf: GENERIC GENERIC_601 POWERMAC_G5
        src/sys/arch/mmeye/conf: MMEYE_WLF
        src/sys/arch/netwinder/conf: GENERIC
        src/sys/arch/ofppc/conf: GENERIC
        src/sys/arch/playstation2/conf: DEBUG
        src/sys/arch/pmax/conf: GENERIC GENERIC64 INSTALL INSTALL64
        src/sys/arch/powerpc/conf: majors.powerpc
        src/sys/arch/prep/conf: GENERIC majors.prep
        src/sys/arch/riscv/conf: majors.riscv
        src/sys/arch/sandpoint/conf: ENCPP1
        src/sys/arch/sgimips/conf: GENERIC32_IP2x GENERIC32_IP3x
        src/sys/arch/shark/conf: GENERIC INSTALL
        src/sys/arch/sparc/conf: GENERIC INSTALL KRUPS MRCOFFEE TADPOLE3GX
        src/sys/arch/sparc64/conf: GENERIC NONPLUS64
        src/sys/arch/usermode/conf: GENERIC.common
        src/sys/arch/vax/conf: GENERIC
        src/sys/arch/x68k/conf: GENERIC INSTALL
        src/sys/arch/x86/acpi: acpi_cpu_md.c
        src/sys/arch/zaurus/conf: GENERIC INSTALL
        src/sys/conf: majors
        src/sys/dev: audiobell.c audiobellvar.h files.audio
        src/sys/dev/isa: files.isa spkr.c
        src/sys/dev/wscons: wskbd.c
Added Files:
        src/sys/dev: spkr_synth.c spkrvar.h

Log Message:
Add a synthesized pc beeper and keyboard bell for platforms with an audio
device.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/etc/etc.aarch64/MAKEDEV.conf
cvs rdiff -u -r1.4 -r1.5 src/etc/etc.algor/MAKEDEV.conf
cvs rdiff -u -r1.11 -r1.12 src/etc/etc.amiga/MAKEDEV.conf
cvs rdiff -u -r1.2 -r1.3 src/etc/etc.amigappc/MAKEDEV.conf
cvs rdiff -u -r1.10 -r1.11 src/etc/etc.atari/MAKEDEV.conf
cvs rdiff -u -r1.8 -r1.9 src/etc/etc.cats/MAKEDEV.conf
cvs rdiff -u -r1.12 -r1.13 src/etc/etc.cobalt/MAKEDEV.conf
cvs rdiff -u -r1.5 -r1.6 src/etc/etc.dreamcast/MAKEDEV.conf
cvs rdiff -u -r1.1 -r1.2 src/etc/etc.epoc32/MAKEDEV.conf
cvs rdiff -u -r1.15 -r1.16 src/etc/etc.evbarm/MAKEDEV.conf
cvs rdiff -u -r1.9 -r1.10 src/etc/etc.evbppc/MAKEDEV.conf
cvs rdiff -u -r1.7 -r1.8 src/etc/etc.evbsh3/MAKEDEV.conf
cvs rdiff -u -r1.13 -r1.14 src/etc/etc.hpcarm/MAKEDEV.conf
cvs rdiff -u -r1.6 -r1.7 src/etc/etc.hpcmips/MAKEDEV.conf
cvs rdiff -u -r1.1 -r1.2 src/etc/etc.hppa/MAKEDEV.conf
cvs rdiff -u -r1.9 -r1.10 src/etc/etc.landisk/MAKEDEV.conf
cvs rdiff -u -r1.9 -r1.10 src/etc/etc.macppc/MAKEDEV.conf
cvs rdiff -u -r1.7 -r1.8 src/etc/etc.mmeye/MAKEDEV.conf
cvs rdiff -u -r1.1 -r1.2 src/etc/etc.or1k/MAKEDEV.conf
cvs rdiff -u -r1.9 -r1.10 src/etc/etc.pmax/MAKEDEV.conf
cvs rdiff -u -r1.8 -r1.9 src/etc/etc.sgimips/MAKEDEV.conf
cvs rdiff -u -r1.13 -r1.14 src/etc/etc.shark/MAKEDEV.conf
cvs rdiff -u -r1.15 -r1.16 src/etc/etc.sparc/MAKEDEV.conf
cvs rdiff -u -r1.15 -r1.16 src/etc/etc.sparc64/MAKEDEV.conf
cvs rdiff -u -r1.14 -r1.15 src/etc/etc.x68k/MAKEDEV.conf
cvs rdiff -u -r1.9 -r1.10 src/etc/etc.zaurus/MAKEDEV.conf
cvs rdiff -u -r1.16 -r1.17 src/share/man/man4/speaker.4
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/acorn32/conf/EB7500ATX
cvs rdiff -u -r1.117 -r1.118 src/sys/arch/acorn32/conf/GENERIC
cvs rdiff -u -r1.73 -r1.74 src/sys/arch/acorn32/conf/INSTALL
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/acorn32/conf/LOWMEM_WSCONS
cvs rdiff -u -r1.66 -r1.67 src/sys/arch/acorn32/conf/NC
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/algor/conf/majors.algor
cvs rdiff -u -r1.371 -r1.372 src/sys/arch/alpha/conf/GENERIC
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/alpha/conf/majors.alpha
cvs rdiff -u -r1.40 -r1.41 src/sys/arch/amd64/conf/ALL
cvs rdiff -u -r1.443 -r1.444 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -u -r1.120 -r1.121 src/sys/arch/amd64/conf/XEN3_DOM0
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/amd64/conf/majors.amd64
cvs rdiff -u -r1.108 -r1.109 src/sys/arch/amiga/conf/AMIGA
cvs rdiff -u -r1.177 -r1.178 src/sys/arch/amiga/conf/DRACO
cvs rdiff -u -r1.311 -r1.312 src/sys/arch/amiga/conf/GENERIC
cvs rdiff -u -r1.129 -r1.130 src/sys/arch/amiga/conf/GENERIC.in
cvs rdiff -u -r1.32 -r1.33 src/sys/arch/amiga/conf/MDINSTALL
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/amigappc/conf/GENERIC
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/amigappc/conf/NULL
cvs rdiff -u -r1.109 -r1.110 src/sys/arch/atari/conf/GENERIC.in
cvs rdiff -u -r1.107 -r1.108 src/sys/arch/atari/conf/HADES
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/atari/conf/HADES.in
cvs rdiff -u -r1.84 -r1.85 src/sys/arch/atari/conf/MILAN-ISAIDE
cvs rdiff -u -r1.88 -r1.89 src/sys/arch/atari/conf/MILAN-PCIIDE
cvs rdiff -u -r1.147 -r1.148 src/sys/arch/bebox/conf/GENERIC
cvs rdiff -u -r1.56 -r1.57 src/sys/arch/bebox/conf/INSTALL
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/bebox/conf/majors.bebox
cvs rdiff -u -r1.157 -r1.158 src/sys/arch/cats/conf/GENERIC
cvs rdiff -u -r1.97 -r1.98 src/sys/arch/cats/conf/INSTALL
cvs rdiff -u -r1.148 -r1.149 src/sys/arch/cobalt/conf/GENERIC
cvs rdiff -u -r1.59 -r1.60 src/sys/arch/cobalt/conf/INSTALL
cvs rdiff -u -r1.122 -r1.123 src/sys/arch/dreamcast/conf/GENERIC
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/emips/conf/GENERIC
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/epoc32/conf/GENERIC
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/evbarm/conf/ALLWINNER_A80 \
    src/sys/arch/evbarm/conf/MINI2440
cvs rdiff -u -r1.49 -r1.50 src/sys/arch/evbarm/conf/ARMADILLO9 \
    src/sys/arch/evbarm/conf/SHEEVAPLUG
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/evbarm/conf/BPI
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/evbarm/conf/CUBIEBOARD
cvs rdiff -u -r1.86 -r1.87 src/sys/arch/evbarm/conf/GUMSTIX
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/evbarm/conf/HDL_G \
    src/sys/arch/evbarm/conf/MPCSA_GENERIC
cvs rdiff -u -r1.27 -r1.28 src/sys/arch/evbarm/conf/HPT5325 \
    src/sys/arch/evbarm/conf/MV2120
cvs rdiff -u -r1.24 -r1.25 src/sys/arch/evbarm/conf/HUMMINGBIRD_A31
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/evbarm/conf/IMX23_OLINUXINO
cvs rdiff -u -r1.54 -r1.55 src/sys/arch/evbarm/conf/LUBBOCK
cvs rdiff -u -r1.23 -r1.24 src/sys/arch/evbarm/conf/MMNET_GENERIC
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/evbarm/conf/POGO
cvs rdiff -u -r1.68 -r1.69 src/sys/arch/evbarm/conf/RPI
cvs rdiff -u -r1.59 -r1.60 src/sys/arch/evbarm/conf/SMDK2410
cvs rdiff -u -r1.7 -r1.8 src/sys/arch/evbarm/conf/TEGRA
cvs rdiff -u -r1.63 -r1.64 src/sys/arch/evbarm/conf/TS7200
cvs rdiff -u -r1.66 -r1.67 src/sys/arch/evbarm/conf/TWINTAIL
cvs rdiff -u -r1.57 -r1.58 src/sys/arch/evbmips/conf/ALCHEMY
cvs rdiff -u -r1.26 -r1.27 src/sys/arch/evbmips/conf/LOONGSON
cvs rdiff -u -r1.82 -r1.83 src/sys/arch/evbmips/conf/MALTA
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/evbmips/conf/majors.evbmips
cvs rdiff -u -r1.64 -r1.65 src/sys/arch/evbppc/conf/EV64260
cvs rdiff -u -r1.19 -r1.20 src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT
cvs rdiff -u -r1.36 -r1.37 src/sys/arch/evbppc/conf/PMPPC
cvs rdiff -u -r1.191 -r1.192 src/sys/arch/hp300/conf/GENERIC
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/hpcarm/conf/NETBOOKPRO
cvs rdiff -u -r1.39 -r1.40 src/sys/arch/hpcarm/conf/WZERO3
cvs rdiff -u -r1.230 -r1.231 src/sys/arch/hpcmips/conf/GENERIC
cvs rdiff -u -r1.102 -r1.103 src/sys/arch/hpcmips/conf/TX3922
cvs rdiff -u -r1.65 -r1.66 src/sys/arch/hpcmips/conf/VR41XX
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/hppa/conf/GENERIC
cvs rdiff -u -r1.403 -r1.404 src/sys/arch/i386/conf/ALL
cvs rdiff -u -r1.1141 -r1.1142 src/sys/arch/i386/conf/GENERIC
cvs rdiff -u -r1.142 -r1.143 src/sys/arch/i386/conf/GENERIC_TINY
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/i386/conf/INSTALL_FLOPPY
cvs rdiff -u -r1.144 -r1.145 src/sys/arch/i386/conf/INSTALL_TINY
cvs rdiff -u -r1.99 -r1.100 src/sys/arch/i386/conf/XEN3_DOM0
cvs rdiff -u -r1.44 -r1.45 src/sys/arch/i386/conf/majors.i386
cvs rdiff -u -r1.11 -r1.12 src/sys/arch/ia64/conf/majors.ia64
cvs rdiff -u -r1.46 -r1.47 src/sys/arch/ibmnws/conf/GENERIC
cvs rdiff -u -r1.90 -r1.91 src/sys/arch/iyonix/conf/GENERIC
cvs rdiff -u -r1.50 -r1.51 src/sys/arch/landisk/conf/GENERIC
cvs rdiff -u -r1.323 -r1.324 src/sys/arch/macppc/conf/GENERIC
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/macppc/conf/GENERIC_601
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/macppc/conf/POWERMAC_G5
cvs rdiff -u -r1.17 -r1.18 src/sys/arch/mmeye/conf/MMEYE_WLF
cvs rdiff -u -r1.127 -r1.128 src/sys/arch/netwinder/conf/GENERIC
cvs rdiff -u -r1.158 -r1.159 src/sys/arch/ofppc/conf/GENERIC
cvs rdiff -u -r1.20 -r1.21 src/sys/arch/playstation2/conf/DEBUG
cvs rdiff -u -r1.187 -r1.188 src/sys/arch/pmax/conf/GENERIC
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/pmax/conf/GENERIC64
cvs rdiff -u -r1.71 -r1.72 src/sys/arch/pmax/conf/INSTALL
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/pmax/conf/INSTALL64
cvs rdiff -u -r1.9 -r1.10 src/sys/arch/powerpc/conf/majors.powerpc
cvs rdiff -u -r1.176 -r1.177 src/sys/arch/prep/conf/GENERIC
cvs rdiff -u -r1.22 -r1.23 src/sys/arch/prep/conf/majors.prep
cvs rdiff -u -r1.1 -r1.2 src/sys/arch/riscv/conf/majors.riscv
cvs rdiff -u -r1.12 -r1.13 src/sys/arch/sandpoint/conf/ENCPP1
cvs rdiff -u -r1.105 -r1.106 src/sys/arch/sgimips/conf/GENERIC32_IP2x
cvs rdiff -u -r1.108 -r1.109 src/sys/arch/sgimips/conf/GENERIC32_IP3x
cvs rdiff -u -r1.123 -r1.124 src/sys/arch/shark/conf/GENERIC
cvs rdiff -u -r1.58 -r1.59 src/sys/arch/shark/conf/INSTALL
cvs rdiff -u -r1.251 -r1.252 src/sys/arch/sparc/conf/GENERIC
cvs rdiff -u -r1.92 -r1.93 src/sys/arch/sparc/conf/INSTALL
cvs rdiff -u -r1.69 -r1.70 src/sys/arch/sparc/conf/KRUPS
cvs rdiff -u -r1.48 -r1.49 src/sys/arch/sparc/conf/MRCOFFEE
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/sparc/conf/TADPOLE3GX
cvs rdiff -u -r1.193 -r1.194 src/sys/arch/sparc64/conf/GENERIC
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/sparc64/conf/NONPLUS64
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/usermode/conf/GENERIC.common
cvs rdiff -u -r1.196 -r1.197 src/sys/arch/vax/conf/GENERIC
cvs rdiff -u -r1.180 -r1.181 src/sys/arch/x68k/conf/GENERIC
cvs rdiff -u -r1.109 -r1.110 src/sys/arch/x68k/conf/INSTALL
cvs rdiff -u -r1.77 -r1.78 src/sys/arch/x86/acpi/acpi_cpu_md.c
cvs rdiff -u -r1.67 -r1.68 src/sys/arch/zaurus/conf/GENERIC
cvs rdiff -u -r1.28 -r1.29 src/sys/arch/zaurus/conf/INSTALL
cvs rdiff -u -r1.75 -r1.76 src/sys/conf/majors
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/audiobell.c
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/audiobellvar.h
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/files.audio
cvs rdiff -u -r0 -r1.1 src/sys/dev/spkr_synth.c src/sys/dev/spkrvar.h
cvs rdiff -u -r1.164 -r1.165 src/sys/dev/isa/files.isa
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/isa/spkr.c
cvs rdiff -u -r1.136 -r1.137 src/sys/dev/wscons/wskbd.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/etc/etc.aarch64/MAKEDEV.conf
diff -u src/etc/etc.aarch64/MAKEDEV.conf:1.1 src/etc/etc.aarch64/MAKEDEV.conf:1.2
--- src/etc/etc.aarch64/MAKEDEV.conf:1.1	Sun Aug 10 05:47:36 2014
+++ src/etc/etc.aarch64/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2014/08/10 05:47:36 matt Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
@@ -15,7 +15,7 @@ all_md)
 	makedev pci0 pci1 pci2 pci3
 	makedev kttcp
 	makedev cfs
-	makedev audio
+	makedev audio spkr
 	makedev spiflash0
 	;;
 

Index: src/etc/etc.algor/MAKEDEV.conf
diff -u src/etc/etc.algor/MAKEDEV.conf:1.4 src/etc/etc.algor/MAKEDEV.conf:1.5
--- src/etc/etc.algor/MAKEDEV.conf:1.4	Mon Jan 15 23:35:11 2007
+++ src/etc/etc.algor/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.4 2007/01/15 23:35:11 hubertf Exp $
+# $NetBSD: MAKEDEV.conf,v 1.5 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons sd0 sd1 sd2 sd3 sd4
@@ -6,7 +6,7 @@ all_md)
 	makedev ss0 ss1 uk0 uk1
 	makedev ld0 ld1 ld2 ld3
 	makedev ttyC0 ttyC1
-	makedev lpa0 lpt0 audio wd0 wd1 fd0 fd1
+	makedev lpa0 lpt0 audio speaker wd0 wd1 fd0 fd1
 	makedev satlink0 speaker mlx0
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3

Index: src/etc/etc.amiga/MAKEDEV.conf
diff -u src/etc/etc.amiga/MAKEDEV.conf:1.11 src/etc/etc.amiga/MAKEDEV.conf:1.12
--- src/etc/etc.amiga/MAKEDEV.conf:1.11	Tue Sep  6 14:40:10 2011
+++ src/etc/etc.amiga/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.11 2011/09/06 14:40:10 apb Exp $
+# $NetBSD: MAKEDEV.conf,v 1.12 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons std_amiga fd0 fd1 fd2 fd3 kbd mouse0 mouse1 par0
@@ -13,7 +13,7 @@ all_md)
 	makedev ses0 ses1 ses2 ses3
 	makedev ss0 ch0 uk0 uk1
 	makedev vnd4 vnd5 vnd6
-	makedev audio
+	makedev audio speaker
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev isdns
 	makedev nsmb

Index: src/etc/etc.amigappc/MAKEDEV.conf
diff -u src/etc/etc.amigappc/MAKEDEV.conf:1.2 src/etc/etc.amigappc/MAKEDEV.conf:1.3
--- src/etc/etc.amigappc/MAKEDEV.conf:1.2	Tue Sep  6 14:40:10 2011
+++ src/etc/etc.amigappc/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.2 2011/09/06 14:40:10 apb Exp $
+# $NetBSD: MAKEDEV.conf,v 1.3 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons std_amiga fd0 fd1 fd2 fd3 kbd mouse0 mouse1 par0
@@ -12,7 +12,7 @@ all_md)
 	makedev sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 cd0 st0 wd0 wd1
 	makedev ss0 ch0 uk0 uk1
 	makedev vnd4 vnd5 vnd6
-	makedev audio
+	makedev audio speaker
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev isdns
 	makedev nsmb

Index: src/etc/etc.atari/MAKEDEV.conf
diff -u src/etc/etc.atari/MAKEDEV.conf:1.10 src/etc/etc.atari/MAKEDEV.conf:1.11
--- src/etc/etc.atari/MAKEDEV.conf:1.10	Fri Jan 29 18:03:16 2016
+++ src/etc/etc.atari/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.10 2016/01/29 18:03:16 tsutsui Exp $
+# $NetBSD: MAKEDEV.conf,v 1.11 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev std_atari st0 ttye0 ttye1 ttye2 ttye3 ttye4 ttye5 grf0 grf1
@@ -10,7 +10,7 @@ all_md)
 	makedev ttyA0 ttyA1 ttyB0 lpt0
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3
-	makedev audio
+	makedev audio speaker
 	makedev isdns
 	makedev wscons
 	;;

Index: src/etc/etc.cats/MAKEDEV.conf
diff -u src/etc/etc.cats/MAKEDEV.conf:1.8 src/etc/etc.cats/MAKEDEV.conf:1.9
--- src/etc/etc.cats/MAKEDEV.conf:1.8	Thu Aug 16 13:31:24 2012
+++ src/etc/etc.cats/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.8 2012/08/16 13:31:24 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.9 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons std_cats fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
@@ -10,7 +10,7 @@ all_md)
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev pci0 pci1
-	makedev audio
+	makedev audio speaker
 	makedev cfs
 	;;
 

Index: src/etc/etc.cobalt/MAKEDEV.conf
diff -u src/etc/etc.cobalt/MAKEDEV.conf:1.12 src/etc/etc.cobalt/MAKEDEV.conf:1.13
--- src/etc/etc.cobalt/MAKEDEV.conf:1.12	Wed Nov 12 15:57:29 2008
+++ src/etc/etc.cobalt/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.12 2008/11/12 15:57:29 tsutsui Exp $
+# $NetBSD: MAKEDEV.conf,v 1.13 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wd0 wd1 sd0 sd1 sd2 sd3
@@ -6,7 +6,7 @@ all_md)
 	makedev ss0 ss1 uk0 uk1
 	makedev tty00 tty01 tty02 tty03 ttyZ0 ttyZ1
 	makedev isdns
-	makedev audio
+	makedev audio speaker
 	makedev music rmidi0 rmidi1
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3

Index: src/etc/etc.dreamcast/MAKEDEV.conf
diff -u src/etc/etc.dreamcast/MAKEDEV.conf:1.5 src/etc/etc.dreamcast/MAKEDEV.conf:1.6
--- src/etc/etc.dreamcast/MAKEDEV.conf:1.5	Thu Aug 16 13:31:24 2012
+++ src/etc/etc.dreamcast/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,9 +1,9 @@
-# $NetBSD: MAKEDEV.conf,v 1.5 2012/08/16 13:31:24 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.6 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons gdrom0 maple
 	makedev scif0 sci0
-	makedev audio
+	makedev audio speaker
 	makedev cfs
 	;;
 

Index: src/etc/etc.epoc32/MAKEDEV.conf
diff -u src/etc/etc.epoc32/MAKEDEV.conf:1.1 src/etc/etc.epoc32/MAKEDEV.conf:1.2
--- src/etc/etc.epoc32/MAKEDEV.conf:1.1	Wed May  1 13:12:00 2013
+++ src/etc/etc.epoc32/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2013/05/01 13:12:00 kiyohara Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
@@ -10,7 +10,7 @@ all_md)
 	makedev ses0 ses1 ses2 ses3
 	makedev	sysmon
 	makedev kttcp
-	makedev audio
+	makedev audio speaker
 	makedev apm
 	makedev cfs
 	;;

Index: src/etc/etc.evbarm/MAKEDEV.conf
diff -u src/etc/etc.evbarm/MAKEDEV.conf:1.15 src/etc/etc.evbarm/MAKEDEV.conf:1.16
--- src/etc/etc.evbarm/MAKEDEV.conf:1.15	Wed Nov 11 16:20:43 2015
+++ src/etc/etc.evbarm/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.15 2015/11/11 16:20:43 jakllsch Exp $
+# $NetBSD: MAKEDEV.conf,v 1.16 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
@@ -17,7 +17,7 @@ all_md)
 	makedev kttcp
 	makedev cfs
 	makedev vchiq
-	makedev audio
+	makedev audio speaker
 	makedev spiflash0
 	makedev bpf
 	;;

Index: src/etc/etc.evbppc/MAKEDEV.conf
diff -u src/etc/etc.evbppc/MAKEDEV.conf:1.9 src/etc/etc.evbppc/MAKEDEV.conf:1.10
--- src/etc/etc.evbppc/MAKEDEV.conf:1.9	Thu Aug 16 13:31:24 2012
+++ src/etc/etc.evbppc/MAKEDEV.conf	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.9 2012/08/16 13:31:24 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.10 2016/12/08 11:31:13 nat Exp $
 
 all_md)
 	makedev wscons sd0 sd1 sd2 st0 st1 cd0 cd1 wd0 wd1
@@ -7,7 +7,7 @@ all_md)
 	makedev mlx0 ld0 ld1 ld2 ld3
 	makedev tty00 tty01
 	makedev lpa0 lpa1 lpa2 lpt0 lpt1 lpt2
-	makedev usbs ttyCZ0 ttyCY0 audio
+	makedev usbs ttyCZ0 ttyCY0 audio speaker
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3

Index: src/etc/etc.evbsh3/MAKEDEV.conf
diff -u src/etc/etc.evbsh3/MAKEDEV.conf:1.7 src/etc/etc.evbsh3/MAKEDEV.conf:1.8
--- src/etc/etc.evbsh3/MAKEDEV.conf:1.7	Thu Aug 16 13:31:24 2012
+++ src/etc/etc.evbsh3/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,8 +1,8 @@
-# $NetBSD: MAKEDEV.conf,v 1.7 2012/08/16 13:31:24 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.8 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev tty0 tty1
-	makedev audio
+	makedev audio speaker
 	makedev cfs
 	makedev ld0 wd0
 	;;

Index: src/etc/etc.hpcarm/MAKEDEV.conf
diff -u src/etc/etc.hpcarm/MAKEDEV.conf:1.13 src/etc/etc.hpcarm/MAKEDEV.conf:1.14
--- src/etc/etc.hpcarm/MAKEDEV.conf:1.13	Thu Aug 16 13:31:25 2012
+++ src/etc/etc.hpcarm/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.13 2012/08/16 13:31:25 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.14 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wscons std_hpcarm fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
@@ -8,7 +8,7 @@ all_md)
 	makedev ttyS0
 	makedev lpa0 lpt0 tun0
 	makedev usbs
-	makedev audio
+	makedev audio speaker
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3

Index: src/etc/etc.hpcmips/MAKEDEV.conf
diff -u src/etc/etc.hpcmips/MAKEDEV.conf:1.6 src/etc/etc.hpcmips/MAKEDEV.conf:1.7
--- src/etc/etc.hpcmips/MAKEDEV.conf:1.6	Thu Aug 16 13:31:25 2012
+++ src/etc/etc.hpcmips/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.6 2012/08/16 13:31:25 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.7 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3 sd4
@@ -10,7 +10,7 @@ all_md)
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3
 	makedev ttyTX0 ttyTX1 ucbsnd
-	makedev audio
+	makedev audio speaker
 	makedev apm
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev pci0

Index: src/etc/etc.hppa/MAKEDEV.conf
diff -u src/etc/etc.hppa/MAKEDEV.conf:1.1 src/etc/etc.hppa/MAKEDEV.conf:1.2
--- src/etc/etc.hppa/MAKEDEV.conf:1.1	Mon Feb 24 07:23:40 2014
+++ src/etc/etc.hppa/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2014/02/24 07:23:40 skrll Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wscons
@@ -8,7 +8,7 @@ all_md)
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3
 	makedev tty00 tty01 tty02 tty03
-	makedev audio
+	makedev audio speaker
 	makedev pci0 pci1 pci2 pci3
 	makedev raid0 raid1 raid2 raid3
 	makedev sysmon

Index: src/etc/etc.landisk/MAKEDEV.conf
diff -u src/etc/etc.landisk/MAKEDEV.conf:1.9 src/etc/etc.landisk/MAKEDEV.conf:1.10
--- src/etc/etc.landisk/MAKEDEV.conf:1.9	Tue Apr  1 01:10:14 2014
+++ src/etc/etc.landisk/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.9 2014/04/01 01:10:14 uwe Exp $
+# $NetBSD: MAKEDEV.conf,v 1.10 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev std
@@ -7,7 +7,7 @@ all_md)
 	makedev wd0 wd1 sd0 sd1 sd2 sd3
 	makedev cd0 cd1 vnd0
 	makedev tty0 tty1 tty2 tty3
-	makedev audio
+	makedev audio speaker
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev scsibus0
 	makedev altq

Index: src/etc/etc.macppc/MAKEDEV.conf
diff -u src/etc/etc.macppc/MAKEDEV.conf:1.9 src/etc/etc.macppc/MAKEDEV.conf:1.10
--- src/etc/etc.macppc/MAKEDEV.conf:1.9	Wed Dec  1 22:06:19 2010
+++ src/etc/etc.macppc/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,11 +1,11 @@
-# $NetBSD: MAKEDEV.conf,v 1.9 2010/12/01 22:06:19 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.10 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wscons sd0 sd1 sd2 st0 st1 cd0 cd1 wd0 wd1 wd2 wd3
 	makedev ss0 ch0 uk0 uk1
 	makedev mlx0 ld0 ld1 ld2 ld3
 	makedev tty00 tty01 tty10
-	makedev usbs ttyCZ0 ttyCY0 audio
+	makedev usbs ttyCZ0 ttyCY0 audio speaker
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev nvram apm adb grf0 openfirm
 	makedev scsibus0 scsibus1 scsibus2 scsibus3

Index: src/etc/etc.mmeye/MAKEDEV.conf
diff -u src/etc/etc.mmeye/MAKEDEV.conf:1.7 src/etc/etc.mmeye/MAKEDEV.conf:1.8
--- src/etc/etc.mmeye/MAKEDEV.conf:1.7	Thu Aug 16 13:31:26 2012
+++ src/etc/etc.mmeye/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,11 +1,11 @@
-# $NetBSD: MAKEDEV.conf,v 1.7 2012/08/16 13:31:26 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.8 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3 sd4
 	makedev tty0 tty1
 	makedev st0 st1 ch0 cd0 cd1
 	makedev ss0 ch0 uk0 uk1
-	makedev audio
+	makedev audio speaker
 	makedev scsibus0 scsibus1
 	makedev ses0 ses1 ses2 ses3
 	makedev cfs

Index: src/etc/etc.or1k/MAKEDEV.conf
diff -u src/etc/etc.or1k/MAKEDEV.conf:1.1 src/etc/etc.or1k/MAKEDEV.conf:1.2
--- src/etc/etc.or1k/MAKEDEV.conf:1.1	Wed Sep  3 19:34:25 2014
+++ src/etc/etc.or1k/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.1 2014/09/03 19:34:25 matt Exp $
+# $NetBSD: MAKEDEV.conf,v 1.2 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wscons fd0 fd1 wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
@@ -16,7 +16,7 @@ all_md)
 	makedev kttcp
 	makedev cfs
 	makedev vchiq
-	makedev audio
+	makedev audio speaker
 	makedev spiflash0
 	;;
 

Index: src/etc/etc.pmax/MAKEDEV.conf
diff -u src/etc/etc.pmax/MAKEDEV.conf:1.9 src/etc/etc.pmax/MAKEDEV.conf:1.10
--- src/etc/etc.pmax/MAKEDEV.conf:1.9	Fri Oct 21 18:11:59 2016
+++ src/etc/etc.pmax/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,10 +1,10 @@
-# $NetBSD: MAKEDEV.conf,v 1.9 2016/10/21 18:11:59 flxd Exp $
+# $NetBSD: MAKEDEV.conf,v 1.10 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev minimal
 	makedev wscons
 	makedev stic0 stic1 stic2
-	makedev audio
+	makedev audio speaker
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev usbs
 	;;

Index: src/etc/etc.sgimips/MAKEDEV.conf
diff -u src/etc/etc.sgimips/MAKEDEV.conf:1.8 src/etc/etc.sgimips/MAKEDEV.conf:1.9
--- src/etc/etc.sgimips/MAKEDEV.conf:1.8	Mon Jan 15 23:35:12 2007
+++ src/etc/etc.sgimips/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.8 2007/01/15 23:35:12 hubertf Exp $
+# $NetBSD: MAKEDEV.conf,v 1.9 2016/12/08 11:31:14 nat Exp $
 
 # When creating a /dev file system on MFS, init makes a FS that leaves
 # only 890 (or so) inodes free.  Therefore the "init" case (used by
@@ -21,7 +21,7 @@ init)
 all_md)
 	makedev init
 	makedev isdns
-	makedev audio
+	makedev audio speaker
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3
 	makedev pci0 pci1 pci2 pci3 pci4 pci5 pci6 pci7

Index: src/etc/etc.shark/MAKEDEV.conf
diff -u src/etc/etc.shark/MAKEDEV.conf:1.13 src/etc/etc.shark/MAKEDEV.conf:1.14
--- src/etc/etc.shark/MAKEDEV.conf:1.13	Thu Aug 16 13:31:27 2012
+++ src/etc/etc.shark/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,11 +1,11 @@
-# $NetBSD: MAKEDEV.conf,v 1.13 2012/08/16 13:31:27 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.14 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev wscons wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3
 	makedev tty0 tty1 st0 st1 cd0 cd1
 	makedev ttyv0
 	makedev lpa0 lpt0 tun0
-	makedev audio pms0
+	makedev audio speaker pms0
 	makedev openfirm
 	makedev music rmidi0 rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7
 	makedev cfs

Index: src/etc/etc.sparc/MAKEDEV.conf
diff -u src/etc/etc.sparc/MAKEDEV.conf:1.15 src/etc/etc.sparc/MAKEDEV.conf:1.16
--- src/etc/etc.sparc/MAKEDEV.conf:1.15	Thu Aug 16 13:31:27 2012
+++ src/etc/etc.sparc/MAKEDEV.conf	Thu Dec  8 11:31:14 2016
@@ -1,10 +1,10 @@
-# $NetBSD: MAKEDEV.conf,v 1.15 2012/08/16 13:31:27 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.16 2016/12/08 11:31:14 nat Exp $
 
 all_md)
 	makedev std_sparc ttya ttyb ttyc ttyd ttyC00 ttyC01
 	makedev sd0 sd1 sd2 sd3 sd4 xd0 xd1 xd2 xd3 xy0 xy1 xy2 xy3
 	makedev wd0 wd1 wd2 wd3 cd0 st0 st1 fd0
-	makedev audio
+	makedev audio speaker
 	makedev bpp
 	makedev bwtwo0 cgthree0 cgsix0 tcx0
 	makedev bwtwo1 cgthree1 cgsix1 tcx1

Index: src/etc/etc.sparc64/MAKEDEV.conf
diff -u src/etc/etc.sparc64/MAKEDEV.conf:1.15 src/etc/etc.sparc64/MAKEDEV.conf:1.16
--- src/etc/etc.sparc64/MAKEDEV.conf:1.15	Thu Aug 16 13:31:27 2012
+++ src/etc/etc.sparc64/MAKEDEV.conf	Thu Dec  8 11:31:15 2016
@@ -1,11 +1,11 @@
-# $NetBSD: MAKEDEV.conf,v 1.15 2012/08/16 13:31:27 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.16 2016/12/08 11:31:15 nat Exp $
 
 all_md)
 	makedev std_sparc64 ttya ttyb ttyc ttyd ttyC00 ttyC01
 	makedev ttyh0 ttyh1 ttyh2 ttyh3
 	makedev sd0 sd1 sd2 sd3 sd4 ss0 ch0 uk0 uk1
 	makedev wd0 wd1 wd2 wd3 cd0 st0 st1 fd0
-	makedev audio
+	makedev audio speaker
 	makedev lpa0 lpa1 lpa2
 	makedev bpp lpt0 lpt1 lpt2
 	makedev bwtwo0 cgthree0 cgsix0

Index: src/etc/etc.x68k/MAKEDEV.conf
diff -u src/etc/etc.x68k/MAKEDEV.conf:1.14 src/etc/etc.x68k/MAKEDEV.conf:1.15
--- src/etc/etc.x68k/MAKEDEV.conf:1.14	Thu Aug 16 13:31:27 2012
+++ src/etc/etc.x68k/MAKEDEV.conf	Thu Dec  8 11:31:15 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.14 2012/08/16 13:31:27 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.15 2016/12/08 11:31:15 nat Exp $
 
 all_md)
 	makedev std_x68k st0 st1 ttye0 ttye1 mouse0 mouse1
@@ -8,7 +8,7 @@ all_md)
 	makedev vnd4 vnd5 vnd6
 	makedev cd0 ss0 fd0 fd1 fd2 fd3
 	makedev par0
-	makedev sram audio bell
+	makedev sram audio speaker bell
 	makedev bmd0 bmd1 ch0 uk0 uk1 ss0
 	makedev scsibus0 scsibus1 scsibus2 scsibus3
 	makedev ses0 ses1 ses2 ses3

Index: src/etc/etc.zaurus/MAKEDEV.conf
diff -u src/etc/etc.zaurus/MAKEDEV.conf:1.9 src/etc/etc.zaurus/MAKEDEV.conf:1.10
--- src/etc/etc.zaurus/MAKEDEV.conf:1.9	Thu Aug 16 13:31:27 2012
+++ src/etc/etc.zaurus/MAKEDEV.conf	Thu Dec  8 11:31:15 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MAKEDEV.conf,v 1.9 2012/08/16 13:31:27 abs Exp $
+# $NetBSD: MAKEDEV.conf,v 1.10 2016/12/08 11:31:15 nat Exp $
 
 all_md)
 	makedev wscons wd0 wd1 wd2 wd3 sd0 sd1 sd2 sd3 ld0
@@ -13,7 +13,7 @@ all_md)
 	makedev dmoverio
 	makedev pci0
 	makedev kttcp
-	makedev audio
+	makedev audio speaker
 	makedev apm
 	makedev cfs
 	;;

Index: src/share/man/man4/speaker.4
diff -u src/share/man/man4/speaker.4:1.16 src/share/man/man4/speaker.4:1.17
--- src/share/man/man4/speaker.4:1.16	Tue Mar 18 18:20:39 2014
+++ src/share/man/man4/speaker.4	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,7 @@
-.\" $NetBSD: speaker.4,v 1.16 2014/03/18 18:20:39 riastradh Exp $
+.\" $NetBSD: speaker.4,v 1.17 2016/12/08 11:31:09 nat Exp $
+.\"
+.\" Copyright (c) 2016 Nathanial Sloss <nathanialsl...@yahoo.com.au>
+.\" All rights reserved.
 .\"
 .\" Copyright (c) 1993 Christopher G. Demetriou
 .\" All rights reserved.
@@ -32,19 +35,25 @@
 .\"
 .\" <<Id: LICENSE,v 1.2 2000/06/14 15:57:33 cgd Exp>>
 .\"
-.Dd August 6, 1993
+.Dd November 23, 2016
 .Dt SPEAKER 4
 .Os
 .Sh NAME
 .Nm speaker
 .Nd console speaker audio device driver
 .Sh SYNOPSIS
+.Cd "options	PCPPISPEAKER"
 .Cd "spkr0	at pcppi?"
+.Pp
+.Cd "options	VAUDIOSPEAKER"
+.Cd "spkr0	at audio?"
+.Pp
 .In machine/spkr.h
 .Pa /dev/speaker
 .Sh DESCRIPTION
 The speaker device driver allows applications to control the console
-speaker on machines with a PC-like 8253 timer implementation.
+speaker on machines with a PC-like 8253 timer implementation or a synthesized
+speaker from an audio device/soundcard.
 .Pp
 Only one process may have this device open at any given time; open() and
 close() are used to lock and relinquish it. An attempt to open() when
@@ -55,12 +64,19 @@ simple ASCII melody notation. An
 .Fn ioctl
 for tone generation at arbitrary frequencies is also supported.
 .Pp
-Sound-generation does
+For the pcppi device sound-generation does
 .Em not
 monopolize the processor; in fact, the driver
 spends most of its time sleeping while the PC hardware is emitting
 tones. Other processes may emit beeps while the driver is running.
 .Pp
+For the audio device speaker, the speaker uses one of the virtual audio
+channels.
+Enabling this device will also provide a keyboard bell.
+The audio device used for synthesized beeps can be controlled by the
+.Sq hw.beep.device
+sysctl variable.
+.Pp
 Applications may call
 .Fn ioctl
 on a speaker file descriptor to control the speaker driver directly;
@@ -158,6 +174,14 @@ melody sections.
 .El
 .Sh SEE ALSO
 .Xr pcppi 4
+.Xr sysctl 8
+.Sh HISTORY
+This
+.Nm
+device was originally for the pcppi PC timer interface.
+Support was added for a synthesized device by Nathanial Sloss, first appearing
+in
+.Nx 8.0
 .Sh AUTHORS
 .An Eric S. Raymond Aq Mt e...@snark.thyrsus.com
 .Sh BUGS

Index: src/sys/arch/acorn32/conf/EB7500ATX
diff -u src/sys/arch/acorn32/conf/EB7500ATX:1.58 src/sys/arch/acorn32/conf/EB7500ATX:1.59
--- src/sys/arch/acorn32/conf/EB7500ATX:1.58	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/acorn32/conf/EB7500ATX	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: EB7500ATX,v 1.58 2015/08/12 07:53:57 maxv Exp $
+#	$NetBSD: EB7500ATX,v 1.59 2016/12/08 11:31:09 nat Exp $
 #
 #	EB7500ATX --- NetBSD/acorn32 complete configuration
 #
@@ -22,7 +22,7 @@ include		"arch/acorn32/conf/std.acorn32"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"EB7500ATX-$Revision: 1.58 $"
+#ident		"EB7500ATX-$Revision: 1.59 $"
 
 # estimated number of users
 maxusers	32
@@ -222,6 +222,9 @@ pseudo-device	wsmux
 vidcaudio0	at vidc?
 audio*		at vidcaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 rsbus0	at mainbus?
 
 wdc*	at rsbus? 		# eb7500atx build in ide

Index: src/sys/arch/acorn32/conf/GENERIC
diff -u src/sys/arch/acorn32/conf/GENERIC:1.117 src/sys/arch/acorn32/conf/GENERIC:1.118
--- src/sys/arch/acorn32/conf/GENERIC:1.117	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/acorn32/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# 	$NetBSD: GENERIC,v 1.117 2015/08/12 07:53:57 maxv Exp $
+# 	$NetBSD: GENERIC,v 1.118 2016/12/08 11:31:09 nat Exp $
 #
 #	GENERIC --- NetBSD/acorn32 complete configuration
 #
@@ -22,7 +22,7 @@ include		"arch/acorn32/conf/std.acorn32"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.117 $"
+#ident		"GENERIC-$Revision: 1.118 $"
 
 # estimated number of users
 maxusers	32
@@ -248,6 +248,9 @@ lpt*	at pioc? offset 0x0278 irq 0	# Old 
 vidcaudio0	at vidc?
 audio*		at vidcaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Podule bus device
 podulebus0	at root
 

Index: src/sys/arch/acorn32/conf/INSTALL
diff -u src/sys/arch/acorn32/conf/INSTALL:1.73 src/sys/arch/acorn32/conf/INSTALL:1.74
--- src/sys/arch/acorn32/conf/INSTALL:1.73	Fri Aug 21 01:52:07 2015
+++ src/sys/arch/acorn32/conf/INSTALL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.73 2015/08/21 01:52:07 uebayasi Exp $
+#	$NetBSD: INSTALL,v 1.74 2016/12/08 11:31:09 nat Exp $
 #
 #	INSTALL -- NetBSD/acorn32 install configuration
 #
@@ -22,7 +22,7 @@ include		"arch/acorn32/conf/std.acorn32"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"INSTALL-$Revision: 1.73 $"
+#ident		"INSTALL-$Revision: 1.74 $"
 
 # estimated number of users
 maxusers	32
@@ -240,6 +240,9 @@ lpt*	at pioc? offset 0x0278 irq 0
 vidcaudio0	at vidc?
 audio*		at vidcaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Podule bus device
 podulebus0	at root
 

Index: src/sys/arch/acorn32/conf/LOWMEM_WSCONS
diff -u src/sys/arch/acorn32/conf/LOWMEM_WSCONS:1.67 src/sys/arch/acorn32/conf/LOWMEM_WSCONS:1.68
--- src/sys/arch/acorn32/conf/LOWMEM_WSCONS:1.67	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/acorn32/conf/LOWMEM_WSCONS	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: LOWMEM_WSCONS,v 1.67 2015/08/12 07:53:57 maxv Exp $
+#	$NetBSD: LOWMEM_WSCONS,v 1.68 2016/12/08 11:31:09 nat Exp $
 #
 #	LOWMEM_WSCONS -- RiscPC config with wscons for SMALL machines
 #
@@ -218,6 +218,9 @@ lpt*	at pioc? offset 0x0278 irq 0
 vidcaudio0	at vidc?
 audio*		at vidcaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Podule bus device
 #podulebus0	at root
 

Index: src/sys/arch/acorn32/conf/NC
diff -u src/sys/arch/acorn32/conf/NC:1.66 src/sys/arch/acorn32/conf/NC:1.67
--- src/sys/arch/acorn32/conf/NC:1.66	Fri Aug 21 01:52:07 2015
+++ src/sys/arch/acorn32/conf/NC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: NC,v 1.66 2015/08/21 01:52:07 uebayasi Exp $
+#	$NetBSD: NC,v 1.67 2016/12/08 11:31:09 nat Exp $
 #
 #	NC - with wscons
 #
@@ -210,6 +210,9 @@ lpt*	at pioc? offset 0x0278 irq 0	# Old 
 vidcaudio0	at vidc?
 audio*		at vidcaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Podule bus device
 podulebus0	at root
 

Index: src/sys/arch/algor/conf/majors.algor
diff -u src/sys/arch/algor/conf/majors.algor:1.22 src/sys/arch/algor/conf/majors.algor:1.23
--- src/sys/arch/algor/conf/majors.algor:1.22	Thu Jun 30 20:09:17 2011
+++ src/sys/arch/algor/conf/majors.algor	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.algor,v 1.22 2011/06/30 20:09:17 wiz Exp $
+#	$NetBSD: majors.algor,v 1.23 2016/12/08 11:31:09 nat Exp $
 #
 # Device majors for algor
 #
@@ -37,7 +37,6 @@ device-major	se		char 37			se
 device-major	satlink		char 38			satlink
 device-major	rnd		char 39			rnd
 
-device-major	spkr		char 41			spkr
 device-major	scsibus		char 42			scsibus
 device-major	raid		char 43  block 16	raid
 device-major	esh		char 44			esh

Index: src/sys/arch/alpha/conf/GENERIC
diff -u src/sys/arch/alpha/conf/GENERIC:1.371 src/sys/arch/alpha/conf/GENERIC:1.372
--- src/sys/arch/alpha/conf/GENERIC:1.371	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/alpha/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.371 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.372 2016/12/08 11:31:09 nat Exp $
 #
 # This machine description file is used to generate the default NetBSD
 # kernel.
@@ -19,7 +19,7 @@ include 	"arch/alpha/conf/std.alpha"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-ident		"GENERIC-$Revision: 1.371 $"
+ident		"GENERIC-$Revision: 1.372 $"
 
 maxusers 32
 
@@ -440,6 +440,7 @@ pckbd*	at	pckbc?				# PC keyboard (kbd p
 pms*	at	pckbc?				# PS/2-style mouse (aux port)
 attimer* at	isa?				# AT Timer
 pcppi*	at	isa?				# PC prog. periph. interface
+options PCPPISPEAKER
 spkr0	at	pcppi?				# IBM BASIC emulation
 isabeep0 at	pcppi?				# "keyboard" beep
 com*	at	isa? port 0x3f8 irq 4		# standard serial ports
@@ -709,6 +710,9 @@ midi*	at midibus?
 midi*	at pcppi?
 midi*	at sb?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # Workstation Console attachments
 wsdisplay0	at	wsemuldisplaydev? console 1
 wsdisplay*	at	wsemuldisplaydev?

Index: src/sys/arch/alpha/conf/majors.alpha
diff -u src/sys/arch/alpha/conf/majors.alpha:1.29 src/sys/arch/alpha/conf/majors.alpha:1.30
--- src/sys/arch/alpha/conf/majors.alpha:1.29	Thu Apr 23 23:22:51 2015
+++ src/sys/arch/alpha/conf/majors.alpha	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.alpha,v 1.29 2015/04/23 23:22:51 pgoyette Exp $
+#	$NetBSD: majors.alpha,v 1.30 2016/12/08 11:31:09 nat Exp $
 #
 # Device majors for alpha
 #
@@ -38,7 +38,6 @@ device-major	se		char 37			se
 device-major	satlink		char 38			satlink
 device-major	rnd		char 39			rnd
 #device-major	obsolete	char 40			obsolete
-device-major	spkr		char 41			spkr
 device-major	scsibus		char 42			scsibus
 device-major	raid		char 43  block 16	raid
 device-major	esh		char 44			esh

Index: src/sys/arch/amd64/conf/ALL
diff -u src/sys/arch/amd64/conf/ALL:1.40 src/sys/arch/amd64/conf/ALL:1.41
--- src/sys/arch/amd64/conf/ALL:1.40	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/amd64/conf/ALL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.40 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: ALL,v 1.41 2016/12/08 11:31:09 nat Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@ include 	"arch/amd64/conf/std.amd64"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"ALL-$Revision: 1.40 $"
+#ident 		"ALL-$Revision: 1.41 $"
 
 maxusers	64		# estimated number of users
 
@@ -1375,8 +1375,12 @@ midi*	at midibus?
 midi*	at pcppi?		# MIDI interface to the PC speaker
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+options PCPPISPEAKER
 spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 
 # FM-Radio devices
 # ISA radio devices

Index: src/sys/arch/amd64/conf/GENERIC
diff -u src/sys/arch/amd64/conf/GENERIC:1.443 src/sys/arch/amd64/conf/GENERIC:1.444
--- src/sys/arch/amd64/conf/GENERIC:1.443	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/amd64/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.443 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.444 2016/12/08 11:31:09 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include	"arch/amd64/conf/std.amd64"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.443 $"
+#ident 		"GENERIC-$Revision: 1.444 $"
 
 maxusers	64		# estimated number of users
 
@@ -1108,6 +1108,13 @@ hdafg*		at hdaudiobus?
 # Audio support
 audio*	at audiobus?
 
+# The spkr driver provides a simple tone interface to the built in speaker.
+options PCPPISPEAKER
+spkr0	at pcppi?		# PC speaker
+
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # MPU 401 UARTs
 #mpu*	at isa? port 0x330 irq 9	# MPU401 or compatible card
 mpu*	at cmpci?
@@ -1118,10 +1125,6 @@ mpu*	at yds?
 midi*	at midibus?
 midi*	at pcppi?		# MIDI interface to the PC speaker
 
-# The spkr driver provides a simple tone interface to the built in speaker.
-#spkr0	at pcppi?		# PC speaker
-
-
 # FM-Radio devices
 # PCI radio devices
 #gtp*	at pci? dev ? function ? # Guillemot Maxi Radio FM 2000 Radio Card

Index: src/sys/arch/amd64/conf/XEN3_DOM0
diff -u src/sys/arch/amd64/conf/XEN3_DOM0:1.120 src/sys/arch/amd64/conf/XEN3_DOM0:1.121
--- src/sys/arch/amd64/conf/XEN3_DOM0:1.120	Wed Jul 27 07:05:40 2016
+++ src/sys/arch/amd64/conf/XEN3_DOM0	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: XEN3_DOM0,v 1.120 2016/07/27 07:05:40 msaitoh Exp $
+# $NetBSD: XEN3_DOM0,v 1.121 2016/12/08 11:31:09 nat Exp $
 
 include 	"arch/amd64/conf/std.xen"
 
@@ -747,6 +747,9 @@ hdafg*		at hdaudiobus?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MPU 401 UARTs
 #mpu*	at isa? port 0x330 irq 9	# MPU401 or compatible card
 mpu*	at cmpci?

Index: src/sys/arch/amd64/conf/majors.amd64
diff -u src/sys/arch/amd64/conf/majors.amd64:1.25 src/sys/arch/amd64/conf/majors.amd64:1.26
--- src/sys/arch/amd64/conf/majors.amd64:1.25	Thu Apr 23 23:22:51 2015
+++ src/sys/arch/amd64/conf/majors.amd64	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.amd64,v 1.25 2015/04/23 23:22:51 pgoyette Exp $
+#	$NetBSD: majors.amd64,v 1.26 2016/12/08 11:31:09 nat Exp $
 #
 # Device majors for amd64
 #
@@ -29,8 +29,6 @@ device-major	filedesc	char 22
 device-major	bpf		char 23			bpfilter
 device-major	md		char 24  block 17	md
 
-device-major	spkr		char 27			spkr
-
 device-major	cy		char 38			cy
 device-major	mcd		char 39  block 7	mcd
 device-major	tun		char 40			tun

Index: src/sys/arch/amiga/conf/AMIGA
diff -u src/sys/arch/amiga/conf/AMIGA:1.108 src/sys/arch/amiga/conf/AMIGA:1.109
--- src/sys/arch/amiga/conf/AMIGA:1.108	Wed Oct 17 19:53:13 2007
+++ src/sys/arch/amiga/conf/AMIGA	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: AMIGA,v 1.108 2007/10/17 19:53:13 garbled Exp $
+# $NetBSD: AMIGA,v 1.109 2016/12/08 11:31:09 nat Exp $
 
 # GENERIC, without DraCo
 #
@@ -23,3 +23,7 @@ no scsibus*	at drsc0
 #
 melody* 	at zbus0		# Melody MPEG audio decoder
 audio*		at melody?
+
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+

Index: src/sys/arch/amiga/conf/DRACO
diff -u src/sys/arch/amiga/conf/DRACO:1.177 src/sys/arch/amiga/conf/DRACO:1.178
--- src/sys/arch/amiga/conf/DRACO:1.177	Sat Aug 23 20:26:56 2014
+++ src/sys/arch/amiga/conf/DRACO	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: DRACO,v 1.177 2014/08/23 20:26:56 dholland Exp $
+# $NetBSD: DRACO,v 1.178 2016/12/08 11:31:09 nat Exp $
 #
 # This file was automatically created.
 # Changes will be lost when make is run in this directory.
@@ -29,7 +29,7 @@ include "arch/amiga/conf/std.amiga"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.177 $"
+#ident 		"GENERIC-$Revision: 1.178 $"
 
 makeoptions	COPTS="-O2 -fno-reorder-blocks"	# see share/mk/sys.mk
 
@@ -284,6 +284,9 @@ lpt0		at drsupio? port ?	# DraCo paralle
 repulse*	at zbus0		# ALiENDESiGN Repulse
 audio*		at repulse?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 toccata*	at zbus0		# MacroSystem GmbH Toccata
 audio*		at toccata?
 

Index: src/sys/arch/amiga/conf/GENERIC
diff -u src/sys/arch/amiga/conf/GENERIC:1.311 src/sys/arch/amiga/conf/GENERIC:1.312
--- src/sys/arch/amiga/conf/GENERIC:1.311	Sun Nov 16 16:01:40 2014
+++ src/sys/arch/amiga/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.311 2014/11/16 16:01:40 manu Exp $
+# $NetBSD: GENERIC,v 1.312 2016/12/08 11:31:09 nat Exp $
 #
 # This file was automatically created.
 # Changes will be lost when make is run in this directory.
@@ -29,7 +29,7 @@ include "arch/amiga/conf/std.amiga"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.311 $"
+#ident 		"GENERIC-$Revision: 1.312 $"
 
 makeoptions	COPTS="-O2 -fno-reorder-blocks"	# see share/mk/sys.mk
 
@@ -344,6 +344,9 @@ a2kbbc0 	at mainbus0		# A2000 battery ba
 aucc*		at mainbus0		# Amiga CC audio
 audio*		at aucc?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 a1k2cp0         at mainbus0             # A1200 on-board clockport
 clockport*      at a1k2cp0
 

Index: src/sys/arch/amiga/conf/GENERIC.in
diff -u src/sys/arch/amiga/conf/GENERIC.in:1.129 src/sys/arch/amiga/conf/GENERIC.in:1.130
--- src/sys/arch/amiga/conf/GENERIC.in:1.129	Sun Nov 16 16:01:40 2014
+++ src/sys/arch/amiga/conf/GENERIC.in	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC.in,v 1.129 2014/11/16 16:01:40 manu Exp $
+# $NetBSD: GENERIC.in,v 1.130 2016/12/08 11:31:09 nat Exp $
 #
 ##
 # GENERIC machine description file
@@ -52,7 +52,7 @@ include "arch/amiga/conf/std.amiga"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.129 $"
+#ident 		"GENERIC-$Revision: 1.130 $"
 
 m4_ifdef(`INSTALL_CONFIGURATION', `m4_dnl
 makeoptions	COPTS="-Os"
@@ -414,6 +414,9 @@ m4_ifdef(`INSTALL_CONFIGURATION', `', `m
 aucc*		at mainbus0		# Amiga CC audio
 audio*		at aucc?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 a1k2cp0         at mainbus0             # A1200 on-board clockport
 clockport*      at a1k2cp0
 

Index: src/sys/arch/amiga/conf/MDINSTALL
diff -u src/sys/arch/amiga/conf/MDINSTALL:1.32 src/sys/arch/amiga/conf/MDINSTALL:1.33
--- src/sys/arch/amiga/conf/MDINSTALL:1.32	Fri Aug 21 01:52:07 2015
+++ src/sys/arch/amiga/conf/MDINSTALL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: MDINSTALL,v 1.32 2015/08/21 01:52:07 uebayasi Exp $
+#	$NetBSD: MDINSTALL,v 1.33 2016/12/08 11:31:09 nat Exp $
 
 #
 # INSTALL kernel for ramdisk installation
@@ -185,6 +185,9 @@ a2kbbc0 	at mainbus0		# A2000 battery ba
 aucc*		at mainbus0		# Amiga CC audio
 audio*		at aucc?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 #
 # DraCo Mainboard devices (sans keyboard)
 #

Index: src/sys/arch/amigappc/conf/GENERIC
diff -u src/sys/arch/amigappc/conf/GENERIC:1.26 src/sys/arch/amigappc/conf/GENERIC:1.27
--- src/sys/arch/amigappc/conf/GENERIC:1.26	Thu Oct  6 03:17:44 2016
+++ src/sys/arch/amigappc/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.26 2016/10/06 03:17:44 christos Exp $
+# $NetBSD: GENERIC,v 1.27 2016/12/08 11:31:09 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include "arch/amigappc/conf/std.amigappc
 
 options 	INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident          "GENERIC-$Revision: 1.26 $"
+#ident          "GENERIC-$Revision: 1.27 $"
 
 maxusers	8
 
@@ -224,6 +224,9 @@ a34kbbc0	at mainbus0		# A3000/A4000 batt
 aucc*		at mainbus0		# Amiga CC audio
 audio*		at aucc?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # wscons aware interface to amiga custom chips.
 # If you enable it enable also wskbd.
 #amidisplaycc0	at mainbus0		# wscons interface to custom chips

Index: src/sys/arch/amigappc/conf/NULL
diff -u src/sys/arch/amigappc/conf/NULL:1.46 src/sys/arch/amigappc/conf/NULL:1.47
--- src/sys/arch/amigappc/conf/NULL:1.46	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/amigappc/conf/NULL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: NULL,v 1.46 2015/08/12 07:53:57 maxv Exp $
+# $NetBSD: NULL,v 1.47 2016/12/08 11:31:09 nat Exp $
 #
 # NULL machine description file
 # 
@@ -7,7 +7,7 @@ include "arch/amigappc/conf/std.amigappc
 
 #options 	INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident          "GENERIC-$Revision: 1.46 $"
+#ident          "GENERIC-$Revision: 1.47 $"
 
 maxusers	8
 
@@ -209,6 +209,9 @@ fd*		at fdc0 unit ?		# floppy disks on t
 #aucc*		at mainbus0		# Amiga CC audio
 #audio*		at aucc?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # wscons aware interface to amiga custom chips.
 # If you enable it enable also wskbd.
 #amidisplaycc0	at mainbus0		# wscons interface to custom chips

Index: src/sys/arch/atari/conf/GENERIC.in
diff -u src/sys/arch/atari/conf/GENERIC.in:1.109 src/sys/arch/atari/conf/GENERIC.in:1.110
--- src/sys/arch/atari/conf/GENERIC.in:1.109	Mon Nov 24 08:23:48 2014
+++ src/sys/arch/atari/conf/GENERIC.in	Thu Dec  8 11:31:09 2016
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: GENERIC.in,v 1.109 2014/11/24 08:23:48 tsutsui Exp $
+#	$NetBSD: GENERIC.in,v 1.110 2016/12/08 11:31:09 nat Exp $
 #
 # Generic atari
 #
@@ -319,6 +319,9 @@ fxp*	at pci? dev ? function ?	# Intel Et
 eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
 audio*	at eso?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 #endif /* defined(HADES_KERNEL) || defined(MILAN_KERNEL) */
 
 #

Index: src/sys/arch/atari/conf/HADES
diff -u src/sys/arch/atari/conf/HADES:1.107 src/sys/arch/atari/conf/HADES:1.108
--- src/sys/arch/atari/conf/HADES:1.107	Mon Nov 24 08:29:26 2014
+++ src/sys/arch/atari/conf/HADES	Thu Dec  8 11:31:09 2016
@@ -1,5 +1,5 @@
 #
-# $NetBSD: HADES,v 1.107 2014/11/24 08:29:26 tsutsui Exp $
+# $NetBSD: HADES,v 1.108 2016/12/08 11:31:09 nat Exp $
 #
 # This file was automatically created. Changes will be
 # lost when running makeconf in this directory.
@@ -91,6 +91,10 @@ ep* at pci? dev ? function ? # 3Com 3c59
 fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
 eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive
 audio* at eso?
+
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 pseudo-device view 4 # View (graphics mapping)
 pseudo-device mouse 1 # mouse
 ncrscsi0 at mainbus0 # NCR5380 SCSI driver

Index: src/sys/arch/atari/conf/HADES.in
diff -u src/sys/arch/atari/conf/HADES.in:1.12 src/sys/arch/atari/conf/HADES.in:1.13
--- src/sys/arch/atari/conf/HADES.in:1.12	Sun Dec 12 10:05:25 2010
+++ src/sys/arch/atari/conf/HADES.in	Thu Dec  8 11:31:09 2016
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: HADES.in,v 1.12 2010/12/12 10:05:25 tsutsui Exp $
+#	$NetBSD: HADES.in,v 1.13 2016/12/08 11:31:09 nat Exp $
 #
 # Medusa-Hades
 #
@@ -69,4 +69,8 @@ ep*	at pci0 dev ? function 0	# 3Com 3c59
 # Sound...
 eso*	at pci? dev ? function ?	# ESS Solo-1 PCI AudioDrive
 audio*	at eso?
+
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 #endif /* SMALL030_KERNEL */

Index: src/sys/arch/atari/conf/MILAN-ISAIDE
diff -u src/sys/arch/atari/conf/MILAN-ISAIDE:1.84 src/sys/arch/atari/conf/MILAN-ISAIDE:1.85
--- src/sys/arch/atari/conf/MILAN-ISAIDE:1.84	Mon Nov 24 08:29:26 2014
+++ src/sys/arch/atari/conf/MILAN-ISAIDE	Thu Dec  8 11:31:09 2016
@@ -1,5 +1,5 @@
 #
-# $NetBSD: MILAN-ISAIDE,v 1.84 2014/11/24 08:29:26 tsutsui Exp $
+# $NetBSD: MILAN-ISAIDE,v 1.85 2016/12/08 11:31:09 nat Exp $
 #
 # This file was automatically created. Changes will be
 # lost when running makeconf in this directory.
@@ -89,6 +89,10 @@ ep* at pci? dev ? function ? # 3Com 3c59
 fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
 eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive
 audio* at eso?
+
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 options WSEMUL_VT100 # VT100 / VT220 emulation
 options WS_KERNEL_FG=WSCOL_WHITE
 options WS_KERNEL_BG=WSCOL_BLACK

Index: src/sys/arch/atari/conf/MILAN-PCIIDE
diff -u src/sys/arch/atari/conf/MILAN-PCIIDE:1.88 src/sys/arch/atari/conf/MILAN-PCIIDE:1.89
--- src/sys/arch/atari/conf/MILAN-PCIIDE:1.88	Mon Nov 24 08:29:26 2014
+++ src/sys/arch/atari/conf/MILAN-PCIIDE	Thu Dec  8 11:31:09 2016
@@ -1,5 +1,5 @@
 #
-# $NetBSD: MILAN-PCIIDE,v 1.88 2014/11/24 08:29:26 tsutsui Exp $
+# $NetBSD: MILAN-PCIIDE,v 1.89 2016/12/08 11:31:09 nat Exp $
 #
 # This file was automatically created. Changes will be
 # lost when running makeconf in this directory.
@@ -89,6 +89,10 @@ ep* at pci? dev ? function ? # 3Com 3c59
 fxp* at pci? dev ? function ? # Intel EtherExpress PRO 10+/100B
 eso* at pci? dev ? function ? # ESS Solo-1 PCI AudioDrive
 audio* at eso?
+
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 options WSEMUL_VT100 # VT100 / VT220 emulation
 options WS_KERNEL_FG=WSCOL_WHITE
 options WS_KERNEL_BG=WSCOL_BLACK

Index: src/sys/arch/bebox/conf/GENERIC
diff -u src/sys/arch/bebox/conf/GENERIC:1.147 src/sys/arch/bebox/conf/GENERIC:1.148
--- src/sys/arch/bebox/conf/GENERIC:1.147	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/bebox/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.147 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.148 2016/12/08 11:31:09 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/bebox/conf/std.bebox"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.147 $"
+#ident 		"GENERIC-$Revision: 1.148 $"
 
 maxusers	32
 
@@ -202,6 +202,7 @@ lpt0	at isa? port 0x378 irq 7	# standard
 mcclock0 at isa? port 0x70		# time-of-day clock
 attimer0 at isa?
 #pcppi0	at isa?
+#options PCPPISPEAKER
 #spkr0	at pcppi?
 
 wss0	at isa? port 0x82c irq 30 drq 6 drq2 7	# Windows Sound System
@@ -209,6 +210,9 @@ wss0	at isa? port 0x82c irq 30 drq 6 drq
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 #midi*	at pcppi?			# MIDI interface to the PC speaker
 

Index: src/sys/arch/bebox/conf/INSTALL
diff -u src/sys/arch/bebox/conf/INSTALL:1.56 src/sys/arch/bebox/conf/INSTALL:1.57
--- src/sys/arch/bebox/conf/INSTALL:1.56	Sat Aug 23 20:26:57 2014
+++ src/sys/arch/bebox/conf/INSTALL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.56 2014/08/23 20:26:57 dholland Exp $
+#	$NetBSD: INSTALL,v 1.57 2016/12/08 11:31:09 nat Exp $
 #
 # First try for BeBox config file
 #
@@ -179,6 +179,7 @@ tlp*	at pci? dev ? function ?	# DECchip 
 ukphy*  at mii? phy ?                   # generic unknown PHYs
 
 #wss0	at isa? port 0x530 irq 10 drq 0	# Windows Sound System
+#options PCPPISPEAKER
 #spkr0	at pcppi?
 
 # Joystick driver. Probe is a little strange; add only if you have one.

Index: src/sys/arch/bebox/conf/majors.bebox
diff -u src/sys/arch/bebox/conf/majors.bebox:1.25 src/sys/arch/bebox/conf/majors.bebox:1.26
--- src/sys/arch/bebox/conf/majors.bebox:1.25	Thu Jun 30 20:09:21 2011
+++ src/sys/arch/bebox/conf/majors.bebox	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.bebox,v 1.25 2011/06/30 20:09:21 wiz Exp $
+#	$NetBSD: majors.bebox,v 1.26 2016/12/08 11:31:09 nat Exp $
 #
 # Device majors for bebox
 #
@@ -30,7 +30,6 @@ device-major	bpf		char 23			bpfilter
 device-major	md		char 24  block 17	md
 
 device-major	joy		char 26			joy
-device-major	spkr		char 27			spkr
 
 # next two are obsolete
 #device-major	omms		char 35			omms

Index: src/sys/arch/cats/conf/GENERIC
diff -u src/sys/arch/cats/conf/GENERIC:1.157 src/sys/arch/cats/conf/GENERIC:1.158
--- src/sys/arch/cats/conf/GENERIC:1.157	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/cats/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.157 2016/03/19 23:21:02 gdt Exp $
+# $NetBSD: GENERIC,v 1.158 2016/12/08 11:31:09 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -502,8 +502,12 @@ lpt1	at isa? port 0x278 irq 5
 #ep*	at isa? port ? irq ?
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+options PCPPISPEAKER
 spkr0	at pcppi?			# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 ds1687rtc0	at isa? port 0x72	# Dallas 1687 RTC
 
 # ISA Plug-and-Play audio devices

Index: src/sys/arch/cats/conf/INSTALL
diff -u src/sys/arch/cats/conf/INSTALL:1.97 src/sys/arch/cats/conf/INSTALL:1.98
--- src/sys/arch/cats/conf/INSTALL:1.97	Mon Sep  5 14:47:31 2016
+++ src/sys/arch/cats/conf/INSTALL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.97 2016/09/05 14:47:31 jakllsch Exp $
+#	$NetBSD: INSTALL,v 1.98 2016/12/08 11:31:09 nat Exp $
 #
 #	CATSINST -- CHALTECH CATS Install kernel
 #
@@ -398,8 +398,12 @@ lpt1	at isa? port 0x278 irq 5
 #ep*	at isa? port ? irq ?
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+#options PCPPISPEAKER
 #spkr0	at pcppi?			# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 ds1687rtc0	at isa? port 0x72	# Dallas RTC
 
 # ISA Plug-and-Play audio devices

Index: src/sys/arch/cobalt/conf/GENERIC
diff -u src/sys/arch/cobalt/conf/GENERIC:1.148 src/sys/arch/cobalt/conf/GENERIC:1.149
--- src/sys/arch/cobalt/conf/GENERIC:1.148	Sat Aug  8 06:36:25 2015
+++ src/sys/arch/cobalt/conf/GENERIC	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.148 2015/08/08 06:36:25 maxv Exp $
+# $NetBSD: GENERIC,v 1.149 2016/12/08 11:31:09 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/cobalt/conf/std.cobalt"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.148 $"
+#ident 		"GENERIC-$Revision: 1.149 $"
 
 maxusers	32
 
@@ -306,6 +306,9 @@ lxtphy*		at mii? phy ?			# Level One LXT
 # Audio support
 #audio*		at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-devices
 
 pseudo-device 	crypto				# /dev/crypto device

Index: src/sys/arch/cobalt/conf/INSTALL
diff -u src/sys/arch/cobalt/conf/INSTALL:1.59 src/sys/arch/cobalt/conf/INSTALL:1.60
--- src/sys/arch/cobalt/conf/INSTALL:1.59	Fri Aug 21 01:52:07 2015
+++ src/sys/arch/cobalt/conf/INSTALL	Thu Dec  8 11:31:09 2016
@@ -1,4 +1,4 @@
-# $NetBSD: INSTALL,v 1.59 2015/08/21 01:52:07 uebayasi Exp $
+# $NetBSD: INSTALL,v 1.60 2016/12/08 11:31:09 nat Exp $
 #
 # INSTALL -- installation and rescue kernel.
 #
@@ -10,7 +10,7 @@ include 	"arch/cobalt/conf/std.cobalt"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"INSTALL-$Revision: 1.59 $"
+#ident 		"INSTALL-$Revision: 1.60 $"
 
 makeoptions     COPTS="-Os -mmemcpy"
 makeoptions	CPUFLAGS="-march=vr5000 -mabi=32"
@@ -283,6 +283,9 @@ lxtphy*		at mii? phy ?			# Level One LXT
 # Audio support
 #audio*		at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-devices
 
 #pseudo-device 	crypto				# /dev/crypto device

Index: src/sys/arch/dreamcast/conf/GENERIC
diff -u src/sys/arch/dreamcast/conf/GENERIC:1.122 src/sys/arch/dreamcast/conf/GENERIC:1.123
--- src/sys/arch/dreamcast/conf/GENERIC:1.122	Fri Aug  7 14:12:04 2015
+++ src/sys/arch/dreamcast/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.122 2015/08/07 14:12:04 maxv Exp $
+# $NetBSD: GENERIC,v 1.123 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -193,6 +193,9 @@ mbe*		at g2bus?			# SEGA LAN Adapter
 aica*		at g2bus?			# AICA Sound Processing Unit
 audio*		at aica?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 #pseudo-device	cgd			# cryptographic disk devices
 pseudo-device	md			# memory disk device (ramdisk)
 pseudo-device	vnd			# disk-like interface to files

Index: src/sys/arch/emips/conf/GENERIC
diff -u src/sys/arch/emips/conf/GENERIC:1.15 src/sys/arch/emips/conf/GENERIC:1.16
--- src/sys/arch/emips/conf/GENERIC:1.15	Sun Nov 16 16:01:40 2014
+++ src/sys/arch/emips/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.15 2014/11/16 16:01:40 manu Exp $
+# $NetBSD: GENERIC,v 1.16 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include		"arch/emips/conf/std.emips"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.15 $"
+#ident		"GENERIC-$Revision: 1.16 $"
 
 maxusers	64
 
@@ -181,6 +181,8 @@ epio*   at	ebus0 addr ?    # GPIO interf
 gpio*   at	epio?
 lcd*    at	ebus0 addr ?    # lcd display
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
 
 #########################################################################
 # Pseudo-devices							#

Index: src/sys/arch/epoc32/conf/GENERIC
diff -u src/sys/arch/epoc32/conf/GENERIC:1.8 src/sys/arch/epoc32/conf/GENERIC:1.9
--- src/sys/arch/epoc32/conf/GENERIC:1.8	Sun Nov 16 16:01:40 2014
+++ src/sys/arch/epoc32/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC,v 1.8 2014/11/16 16:01:40 manu Exp $
+#	$NetBSD: GENERIC,v 1.9 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include		"arch/epoc32/conf/std.epoc32"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.8 $"
+#ident 		"GENERIC-$Revision: 1.9 $"
 
 maxusers	32			# estimated number of users
 
@@ -168,6 +168,9 @@ wskbd*	at epockbd?
 
 #audio* at audio?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # External devices
 
 #epockbd* at external? addr 0x10000030 addr2 0x10000004		# Series 7

Index: src/sys/arch/evbarm/conf/ALLWINNER_A80
diff -u src/sys/arch/evbarm/conf/ALLWINNER_A80:1.16 src/sys/arch/evbarm/conf/ALLWINNER_A80:1.17
--- src/sys/arch/evbarm/conf/ALLWINNER_A80:1.16	Sun Apr 19 21:28:37 2015
+++ src/sys/arch/evbarm/conf/ALLWINNER_A80	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: ALLWINNER_A80,v 1.16 2015/04/19 21:28:37 matt Exp $
+#	$NetBSD: ALLWINNER_A80,v 1.17 2016/12/08 11:31:10 nat Exp $
 #
 #	ALLWINNER_A80 - Allwinner A80 boards (Cubieboard4, OptimusBoard, etc)
 #
@@ -102,6 +102,9 @@ awge0		at awinio0 port ?
 #awinhdmiaudio0	at awinio0
 #audio1		at awinhdmiaudio0
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # TCON
 #awintcon0	at awinio0 port 0
 
Index: src/sys/arch/evbarm/conf/MINI2440
diff -u src/sys/arch/evbarm/conf/MINI2440:1.16 src/sys/arch/evbarm/conf/MINI2440:1.17
--- src/sys/arch/evbarm/conf/MINI2440:1.16	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/evbarm/conf/MINI2440	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: MINI2440,v 1.16 2015/08/12 07:53:57 maxv Exp $
+#	$NetBSD: MINI2440,v 1.17 2016/12/08 11:31:10 nat Exp $
 #
 #	MINI2440 -- Friendly ARM evaluation board based on Samsung S3C2440
 #
@@ -240,6 +240,9 @@ sd*	at scsibus? target ? lun ?	# SCSI di
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 dme0     at ssextio? intr 7 addr 0x20000300
 
 #options 	MINI2440_ETHER_ADDR_FIXED="0x08,0x08,0x11,0x18,0x12,0x27"

Index: src/sys/arch/evbarm/conf/ARMADILLO9
diff -u src/sys/arch/evbarm/conf/ARMADILLO9:1.49 src/sys/arch/evbarm/conf/ARMADILLO9:1.50
--- src/sys/arch/evbarm/conf/ARMADILLO9:1.49	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/evbarm/conf/ARMADILLO9	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: ARMADILLO9,v 1.49 2015/08/12 07:53:57 maxv Exp $
+#	$NetBSD: ARMADILLO9,v 1.50 2016/12/08 11:31:10 nat Exp $
 #
 #	ARMADILLO9 -- Atmark Techno, Armadillo-9
 #
@@ -251,6 +251,9 @@ uk*	at scsibus? target ? lun ?	# SCSI un
 # Audio support
 #audio*	at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 #midi*	at midibus?
 
Index: src/sys/arch/evbarm/conf/SHEEVAPLUG
diff -u src/sys/arch/evbarm/conf/SHEEVAPLUG:1.49 src/sys/arch/evbarm/conf/SHEEVAPLUG:1.50
--- src/sys/arch/evbarm/conf/SHEEVAPLUG:1.49	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/evbarm/conf/SHEEVAPLUG	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: SHEEVAPLUG,v 1.49 2016/11/26 13:59:45 christos Exp $
+#	$NetBSD: SHEEVAPLUG,v 1.50 2016/12/08 11:31:10 nat Exp $
 #
 #  This configuration supports for generically Marvell SheevaPlug
 #
@@ -437,6 +437,9 @@ mvsocrtc* at mvsoc? offset ? irq ?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 pseudo-device	crypto			# /dev/crypto device

Index: src/sys/arch/evbarm/conf/BPI
diff -u src/sys/arch/evbarm/conf/BPI:1.17 src/sys/arch/evbarm/conf/BPI:1.18
--- src/sys/arch/evbarm/conf/BPI:1.17	Sat Oct 17 15:30:14 2015
+++ src/sys/arch/evbarm/conf/BPI	Thu Dec  8 11:31:10 2016
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: BPI,v 1.17 2015/10/17 15:30:14 bouyer Exp $
+#	$NetBSD: BPI,v 1.18 2016/12/08 11:31:10 nat Exp $
 #
 #	BPI -- Banana Pi - an Allwinner A20 Eval Board Kernel
 #
@@ -138,6 +138,9 @@ awinhdmi0       at awinio0
 awinhdmiaudio0	at awinio0
 audio1		at awinhdmiaudio0
  
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # TCON
 awintcon0       at awinio0 port 0
 

Index: src/sys/arch/evbarm/conf/CUBIEBOARD
diff -u src/sys/arch/evbarm/conf/CUBIEBOARD:1.46 src/sys/arch/evbarm/conf/CUBIEBOARD:1.47
--- src/sys/arch/evbarm/conf/CUBIEBOARD:1.46	Mon Apr 25 20:15:46 2016
+++ src/sys/arch/evbarm/conf/CUBIEBOARD	Thu Dec  8 11:31:10 2016
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: CUBIEBOARD,v 1.46 2016/04/25 20:15:46 bouyer Exp $
+#	$NetBSD: CUBIEBOARD,v 1.47 2016/12/08 11:31:10 nat Exp $
 #
 #	CUBIEBOARD -- Allwinner A10/A20 Eval Board Kernel
 #
@@ -133,6 +133,9 @@ awinhdmi0       at awinio0
 awinhdmiaudio0	at awinio0
 audio1		at awinhdmiaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # TCON
 awintcon0       at awinio0 port 0
 awintcon1       at awinio0 port 1

Index: src/sys/arch/evbarm/conf/GUMSTIX
diff -u src/sys/arch/evbarm/conf/GUMSTIX:1.86 src/sys/arch/evbarm/conf/GUMSTIX:1.87
--- src/sys/arch/evbarm/conf/GUMSTIX:1.86	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/evbarm/conf/GUMSTIX	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GUMSTIX,v 1.86 2016/11/26 13:59:45 christos Exp $
+#	$NetBSD: GUMSTIX,v 1.87 2016/12/08 11:31:10 nat Exp $
 #
 #	GUMSTIX -- Gumstix. Inc. gumstix platforms kernel
 #
@@ -204,6 +204,9 @@ pxaacu0	at pxaip? addr 0x40500000 intr 1
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # LCD
 lcd0	at pxaip? addr 0x44000000		# consoleLCD-vx,consoleLCD16-vx
 wsdisplay* at lcd? console ?

Index: src/sys/arch/evbarm/conf/HDL_G
diff -u src/sys/arch/evbarm/conf/HDL_G:1.45 src/sys/arch/evbarm/conf/HDL_G:1.46
--- src/sys/arch/evbarm/conf/HDL_G:1.45	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/evbarm/conf/HDL_G	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: HDL_G,v 1.45 2016/03/19 23:21:02 gdt Exp $
+# $NetBSD: HDL_G,v 1.46 2016/12/08 11:31:10 nat Exp $
 #
 #       HDL_G -- I-O DATA HDL-G Kernel
 #
@@ -377,6 +377,9 @@ ugen*	at uhub? port ?
 # Audio support
 audio*  at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 midi*   at midibus?
 
Index: src/sys/arch/evbarm/conf/MPCSA_GENERIC
diff -u src/sys/arch/evbarm/conf/MPCSA_GENERIC:1.45 src/sys/arch/evbarm/conf/MPCSA_GENERIC:1.46
--- src/sys/arch/evbarm/conf/MPCSA_GENERIC:1.45	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/evbarm/conf/MPCSA_GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MPCSA_GENERIC,v 1.45 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: MPCSA_GENERIC,v 1.46 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include		"arch/evbarm/conf/std.mpcsa"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.45 $"
+#ident 		"GENERIC-$Revision: 1.46 $"
 
 maxusers	32		# estimated number of users
 
@@ -576,6 +576,9 @@ ucom*	at uvscom? portno ?
 # Audio support
 #audio*	at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 #midi*	at midibus?
 #midi*	at pcppi?		# MIDI interface to the PC speaker

Index: src/sys/arch/evbarm/conf/HPT5325
diff -u src/sys/arch/evbarm/conf/HPT5325:1.27 src/sys/arch/evbarm/conf/HPT5325:1.28
--- src/sys/arch/evbarm/conf/HPT5325:1.27	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/evbarm/conf/HPT5325	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: HPT5325,v 1.27 2016/11/26 13:59:45 christos Exp $
+#	$NetBSD: HPT5325,v 1.28 2016/12/08 11:31:10 nat Exp $
 #
 #  This configuration supports for HP T5325 Thin Client
 #
@@ -436,6 +436,9 @@ mvsocrtc* at mvsoc? offset ? irq ?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 pseudo-device	crypto			# /dev/crypto device
Index: src/sys/arch/evbarm/conf/MV2120
diff -u src/sys/arch/evbarm/conf/MV2120:1.27 src/sys/arch/evbarm/conf/MV2120:1.28
--- src/sys/arch/evbarm/conf/MV2120:1.27	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/evbarm/conf/MV2120	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: MV2120,v 1.27 2016/11/26 13:59:45 christos Exp $
+#	$NetBSD: MV2120,v 1.28 2016/12/08 11:31:10 nat Exp $
 #
 #  This configuration supports for HP MV2120/MV5140/MV5150.
 
@@ -251,6 +251,9 @@ include "dev/bluetooth/bluetoothdevices.
 audio*  at audiobus?
 midi*   at midibus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 pseudo-device	crypto			# /dev/crypto device

Index: src/sys/arch/evbarm/conf/HUMMINGBIRD_A31
diff -u src/sys/arch/evbarm/conf/HUMMINGBIRD_A31:1.24 src/sys/arch/evbarm/conf/HUMMINGBIRD_A31:1.25
--- src/sys/arch/evbarm/conf/HUMMINGBIRD_A31:1.24	Sun Apr 19 23:03:47 2015
+++ src/sys/arch/evbarm/conf/HUMMINGBIRD_A31	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: HUMMINGBIRD_A31,v 1.24 2015/04/19 23:03:47 matt Exp $
+#	$NetBSD: HUMMINGBIRD_A31,v 1.25 2016/12/08 11:31:10 nat Exp $
 #
 #	HUMMINGBIRD_A31 - Merrii Hummingbird A31
 #
@@ -95,6 +95,9 @@ awinhdmi0	at awinio0
 awinhdmiaudio0	at awinio0
 audio1		at awinhdmiaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # TCON
 awintcon0	at awinio0 port 0
 

Index: src/sys/arch/evbarm/conf/IMX23_OLINUXINO
diff -u src/sys/arch/evbarm/conf/IMX23_OLINUXINO:1.12 src/sys/arch/evbarm/conf/IMX23_OLINUXINO:1.13
--- src/sys/arch/evbarm/conf/IMX23_OLINUXINO:1.12	Fri Aug 21 01:52:07 2015
+++ src/sys/arch/evbarm/conf/IMX23_OLINUXINO	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $Id: IMX23_OLINUXINO,v 1.12 2015/08/21 01:52:07 uebayasi Exp $
+# $Id: IMX23_OLINUXINO,v 1.13 2016/12/08 11:31:10 nat Exp $
 #
 # IMX23_OLINUXINO -- Olimex i.MX23 OLinuXino kernel configuration file.
 #
@@ -73,6 +73,9 @@ rtc0		at apbx? addr 0x8005C000 size 0x20
 digfilt0	at apbx? addr 0x80048000 size 0x8000 irq -1
 audio0		at digfilt0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # USB host
 ehci0		at imxusbc0 unit 0 irq 11
 # USB OTG

Index: src/sys/arch/evbarm/conf/LUBBOCK
diff -u src/sys/arch/evbarm/conf/LUBBOCK:1.54 src/sys/arch/evbarm/conf/LUBBOCK:1.55
--- src/sys/arch/evbarm/conf/LUBBOCK:1.54	Fri Aug  7 13:53:28 2015
+++ src/sys/arch/evbarm/conf/LUBBOCK	Thu Dec  8 11:31:10 2016
@@ -160,6 +160,9 @@ options 	PXA2X0_DMAC_DMOVER_CONCURRENCY=
 pxaacu0 	at pxaip? addr 0x40500000 intr 14
 audio*		at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # On-board device support
 obio0		at pxaip? intr 8
 sm0		at obio? addr 0x0c000000 intr 3 	# on-board SMC 91C96

Index: src/sys/arch/evbarm/conf/MMNET_GENERIC
diff -u src/sys/arch/evbarm/conf/MMNET_GENERIC:1.23 src/sys/arch/evbarm/conf/MMNET_GENERIC:1.24
--- src/sys/arch/evbarm/conf/MMNET_GENERIC:1.23	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/evbarm/conf/MMNET_GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MMNET_GENERIC,v 1.23 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: MMNET_GENERIC,v 1.24 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include		"arch/evbarm/conf/std.mmnet"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.23 $"
+#ident 		"GENERIC-$Revision: 1.24 $"
 
 maxusers	32		# estimated number of users
 
@@ -519,6 +519,9 @@ ucom*	at uvscom? portno ?
 # Audio support
 #audio*	at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 #midi*	at midibus?
 #midi*	at pcppi?		# MIDI interface to the PC speaker

Index: src/sys/arch/evbarm/conf/POGO
diff -u src/sys/arch/evbarm/conf/POGO:1.1 src/sys/arch/evbarm/conf/POGO:1.2
--- src/sys/arch/evbarm/conf/POGO:1.1	Sat Mar 12 00:41:30 2016
+++ src/sys/arch/evbarm/conf/POGO	Thu Dec  8 11:31:10 2016
@@ -33,6 +33,7 @@ no wskbd*
 no btmagic*
 no btsco*
 no audio*
+no spkr0 at audio0
 no config netbsd
 
 # Use ld0a for SD slot in Mobile and v4 or sd0a for USB disk

Index: src/sys/arch/evbarm/conf/RPI
diff -u src/sys/arch/evbarm/conf/RPI:1.68 src/sys/arch/evbarm/conf/RPI:1.69
--- src/sys/arch/evbarm/conf/RPI:1.68	Tue Oct 18 18:56:32 2016
+++ src/sys/arch/evbarm/conf/RPI	Thu Dec  8 11:31:10 2016
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: RPI,v 1.68 2016/10/18 18:56:32 aymeric Exp $
+#	$NetBSD: RPI,v 1.69 2016/12/08 11:31:10 nat Exp $
 #
 #	RPi -- Raspberry Pi
 #
@@ -68,6 +68,9 @@ vchiq0		at obio?
 vcaudio0	at vchiq0
 audio0		at vcaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # PL011 uart
 plcom0		at obio?
 

Index: src/sys/arch/evbarm/conf/SMDK2410
diff -u src/sys/arch/evbarm/conf/SMDK2410:1.59 src/sys/arch/evbarm/conf/SMDK2410:1.60
--- src/sys/arch/evbarm/conf/SMDK2410:1.59	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/evbarm/conf/SMDK2410	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: SMDK2410,v 1.59 2016/03/19 23:21:02 gdt Exp $
+#	$NetBSD: SMDK2410,v 1.60 2016/12/08 11:31:10 nat Exp $
 #
 #	SMDK2410 -- Samsung's S3C2410 evaluation board.
 #
@@ -214,6 +214,9 @@ midi*	at midibus?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # on-board CS8900A Ethernet
 cs*	at ssextio? intr 9 addr 0x18000000
 # set MAC address to on-board CS8900A.

Index: src/sys/arch/evbarm/conf/TEGRA
diff -u src/sys/arch/evbarm/conf/TEGRA:1.7 src/sys/arch/evbarm/conf/TEGRA:1.8
--- src/sys/arch/evbarm/conf/TEGRA:1.7	Mon Sep 26 20:05:03 2016
+++ src/sys/arch/evbarm/conf/TEGRA	Thu Dec  8 11:31:10 2016
@@ -1,5 +1,5 @@
 #
-#	$NetBSD: TEGRA,v 1.7 2016/09/26 20:05:03 jakllsch Exp $
+#	$NetBSD: TEGRA,v 1.8 2016/12/08 11:31:10 nat Exp $
 #
 #	NVIDIA Tegra K1 (T124)
 #
@@ -125,6 +125,9 @@ options 	HDAUDIO_32BIT_ACCESS
 options 	HDAUDIO_ENABLE_HDMI
 options 	HDAUDIO_ENABLE_DISPLAYPORT
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # HDMI CEC
 tegracec0	at fdt?			# HDMI CEC
 hdmicec*	at hdmicecbus?

Index: src/sys/arch/evbarm/conf/TS7200
diff -u src/sys/arch/evbarm/conf/TS7200:1.63 src/sys/arch/evbarm/conf/TS7200:1.64
--- src/sys/arch/evbarm/conf/TS7200:1.63	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/evbarm/conf/TS7200	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: TS7200,v 1.63 2015/09/26 11:16:12 maxv Exp $
+#	$NetBSD: TS7200,v 1.64 2016/12/08 11:31:10 nat Exp $
 #
 #	TS7200 - Kernel for Technologic Systems TS7200 ARM hardware
 #
@@ -425,6 +425,9 @@ ugen*	at uhub? port ?
 # Audio support
 #audio*	at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # MPU 401 UARTs
 #mpu*	at cmpci?
 #mpu*	at eso?

Index: src/sys/arch/evbarm/conf/TWINTAIL
diff -u src/sys/arch/evbarm/conf/TWINTAIL:1.66 src/sys/arch/evbarm/conf/TWINTAIL:1.67
--- src/sys/arch/evbarm/conf/TWINTAIL:1.66	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/evbarm/conf/TWINTAIL	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: TWINTAIL,v 1.66 2015/09/26 11:16:12 maxv Exp $
+#	$NetBSD: TWINTAIL,v 1.67 2016/12/08 11:31:10 nat Exp $
 #
 #	TWINTAIL -- Genetec corp. G4255EB-X002 Evaluation Board Kernel
 #
@@ -167,6 +167,8 @@ options KGDB_DEVRATE=115200
 # Audio support
 #audio*	at audiobus?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
 
 # FlashROM disk driver
 # frd*	at pxaip?

Index: src/sys/arch/evbmips/conf/ALCHEMY
diff -u src/sys/arch/evbmips/conf/ALCHEMY:1.57 src/sys/arch/evbmips/conf/ALCHEMY:1.58
--- src/sys/arch/evbmips/conf/ALCHEMY:1.57	Fri Aug  7 14:12:04 2015
+++ src/sys/arch/evbmips/conf/ALCHEMY	Thu Dec  8 11:31:10 2016
@@ -1,11 +1,11 @@
-#	$NetBSD: ALCHEMY,v 1.57 2015/08/07 14:12:04 maxv Exp $
+#	$NetBSD: ALCHEMY,v 1.58 2016/12/08 11:31:10 nat Exp $
 #
 # Kernel config for the Alchemy Semiconductor (AMD) PB1000, PB1500,
 # DBAu1000 and DBAu1500 evaluation boards.
 
 include 	"arch/evbmips/conf/std.alchemy"
 
-#ident 		"ALCHEMY-$Revision: 1.57 $"
+#ident 		"ALCHEMY-$Revision: 1.58 $"
 
 maxusers	32
 
@@ -224,6 +224,9 @@ ugen*		at uhub? port ?
 auaudio*	at aubus? addr ?		# STAC9745 audio codec
 audio*		at auaudio?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # GPIOs
 augpio*	at aubus? addr ?
 gpio*	at augpio?

Index: src/sys/arch/evbmips/conf/LOONGSON
diff -u src/sys/arch/evbmips/conf/LOONGSON:1.26 src/sys/arch/evbmips/conf/LOONGSON:1.27
--- src/sys/arch/evbmips/conf/LOONGSON:1.26	Wed Jul 13 11:12:56 2016
+++ src/sys/arch/evbmips/conf/LOONGSON	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: LOONGSON,v 1.26 2016/07/13 11:12:56 jmcneill Exp $
+# $NetBSD: LOONGSON,v 1.27 2016/12/08 11:31:10 nat Exp $
 #
 # LOONGSON machine description file
 # 
@@ -22,7 +22,7 @@ include		"arch/evbmips/conf/std.loongson
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"LOONGSON-$Revision: 1.26 $"
+#ident 		"LOONGSON-$Revision: 1.27 $"
 
 maxusers	16
 
@@ -209,6 +209,9 @@ com1		at isa? port 0x3f8 irq 4	# Fuloong
 gcscaudio*	at pci?
 audio*		at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
 viaide* 	at pci? dev ? function ?	# VIA/AMD/Nvidia IDE controllers
 options  	WDC_NO_IDS #workaround CS5536+JMH330 interrupt disable bug

Index: src/sys/arch/evbmips/conf/MALTA
diff -u src/sys/arch/evbmips/conf/MALTA:1.82 src/sys/arch/evbmips/conf/MALTA:1.83
--- src/sys/arch/evbmips/conf/MALTA:1.82	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/evbmips/conf/MALTA	Thu Dec  8 11:31:10 2016
@@ -1,10 +1,10 @@
-#	$NetBSD: MALTA,v 1.82 2015/09/26 11:16:12 maxv Exp $
+#	$NetBSD: MALTA,v 1.83 2016/12/08 11:31:10 nat Exp $
 
 include 	"arch/evbmips/conf/std.malta"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"MALTA-$Revision: 1.82 $"
+#ident 		"MALTA-$Revision: 1.83 $"
 
 maxusers	32
 
@@ -296,6 +296,9 @@ clct*		at pci? dev ? function ?	# Cirrus
 # Audio support
 audio*		at clct?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-devices
 
 # Disk/mass storage pseudo-devices

Index: src/sys/arch/evbmips/conf/majors.evbmips
diff -u src/sys/arch/evbmips/conf/majors.evbmips:1.29 src/sys/arch/evbmips/conf/majors.evbmips:1.30
--- src/sys/arch/evbmips/conf/majors.evbmips:1.29	Thu Apr 23 23:22:51 2015
+++ src/sys/arch/evbmips/conf/majors.evbmips	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.evbmips,v 1.29 2015/04/23 23:22:51 pgoyette Exp $
+#	$NetBSD: majors.evbmips,v 1.30 2016/12/08 11:31:10 nat Exp $
 #
 # Device majors for evbmips
 #
@@ -39,7 +39,6 @@ device-major	se		char 37			se
 device-major	satlink		char 38			satlink
 device-major	rnd		char 39			rnd
 
-device-major	spkr		char 41			spkr
 device-major	scsibus		char 42			scsibus
 device-major	raid		char 43  block 16	raid
 device-major	esh		char 44			esh

Index: src/sys/arch/evbppc/conf/EV64260
diff -u src/sys/arch/evbppc/conf/EV64260:1.64 src/sys/arch/evbppc/conf/EV64260:1.65
--- src/sys/arch/evbppc/conf/EV64260:1.64	Tue Oct 14 17:43:14 2014
+++ src/sys/arch/evbppc/conf/EV64260	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: EV64260,v 1.64 2014/10/14 17:43:14 uebayasi Exp $
+#	$NetBSD: EV64260,v 1.65 2016/12/08 11:31:10 nat Exp $
 #
 #	MVP -- Motorola's Multiprocessing Verification Platform
 #
@@ -237,6 +237,9 @@ cd*		at scsibus? target ? lun ?
 #auvia*	at pci? dev ? function ?	# VIA VT82C686A integrated AC'97 Audio
 #audio*	at auvia?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 pciide* 	at pci? dev ? function ? flags 0x0000	# GENERIC pciide driver
 acardide*	at pci? dev ? function ?	# Acard IDE controllers
 aceride* 	at pci? dev ? function ?	# Acer Lab IDE controllers

Index: src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT
diff -u src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT:1.19 src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT:1.20
--- src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT:1.19	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/evbppc/conf/OPENBLOCKS266_OPT	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: OPENBLOCKS266_OPT,v 1.19 2016/03/19 23:21:02 gdt Exp $
+#	$NetBSD: OPENBLOCKS266_OPT,v 1.20 2016/12/08 11:31:10 nat Exp $
 #
 
 include		"arch/evbppc/conf/OPENBLOCKS266"
@@ -193,6 +193,9 @@ wd*	at umass?
 uaudio* at uhub? port ? configuration ?
 audio* at uaudio?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # USB MIDI
 umidi*	at uhub? port ? configuration ?
 midi*	at midibus?

Index: src/sys/arch/evbppc/conf/PMPPC
diff -u src/sys/arch/evbppc/conf/PMPPC:1.36 src/sys/arch/evbppc/conf/PMPPC:1.37
--- src/sys/arch/evbppc/conf/PMPPC:1.36	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/evbppc/conf/PMPPC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: PMPPC,v 1.36 2016/03/19 23:21:02 gdt Exp $
+#	$NetBSD: PMPPC,v 1.37 2016/12/08 11:31:10 nat Exp $
 #
 #	PMPPC
 #
@@ -432,6 +432,9 @@ radio*	at radiodev?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 pseudo-device	vnd			# disk-like interface to files
 #pseudo-device	fss			# file system snapshot device
 #pseudo-device	cgd			# cryptographic disk devices

Index: src/sys/arch/hp300/conf/GENERIC
diff -u src/sys/arch/hp300/conf/GENERIC:1.191 src/sys/arch/hp300/conf/GENERIC:1.192
--- src/sys/arch/hp300/conf/GENERIC:1.191	Sat Aug  8 06:36:25 2015
+++ src/sys/arch/hp300/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.191 2015/08/08 06:36:25 maxv Exp $
+# $NetBSD: GENERIC,v 1.192 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/hp300/conf/std.hp300"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.191 $"
+#ident 		"GENERIC-$Revision: 1.192 $"
 
 makeoptions	COPTS="-O2 -fno-reorder-blocks"	# see share/mk/sys.mk
 
@@ -285,6 +285,9 @@ uk*		at scsibus? target ? lun ?	# unknow
 arcofi* 	at dio? scode ?
 audio*		at arcofi?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 #
 # Pseudo-devices
 #

Index: src/sys/arch/hpcarm/conf/NETBOOKPRO
diff -u src/sys/arch/hpcarm/conf/NETBOOKPRO:1.17 src/sys/arch/hpcarm/conf/NETBOOKPRO:1.18
--- src/sys/arch/hpcarm/conf/NETBOOKPRO:1.17	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/hpcarm/conf/NETBOOKPRO	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: NETBOOKPRO,v 1.17 2015/08/12 07:53:57 maxv Exp $
+#	$NetBSD: NETBOOKPRO,v 1.18 2016/12/08 11:31:10 nat Exp $
 #
 #	NETBOOKPRO -- Psion Teklogix NETBOOK PRO
 #
@@ -8,7 +8,7 @@ include	"arch/hpcarm/conf/files.netbookp
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.17 $"
+#ident 		"GENERIC-$Revision: 1.18 $"
 
 # estimated number of users
 maxusers	32
@@ -185,6 +185,9 @@ pxaacu0 at pxaip? addr 0x40500000 intr 1
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Inter-Integrated Circuit controller
 nbpiic0	at pxaip? addr 0x40300000 intr 18
 iic*	at nbpiic?

Index: src/sys/arch/hpcarm/conf/WZERO3
diff -u src/sys/arch/hpcarm/conf/WZERO3:1.39 src/sys/arch/hpcarm/conf/WZERO3:1.40
--- src/sys/arch/hpcarm/conf/WZERO3:1.39	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/hpcarm/conf/WZERO3	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: WZERO3,v 1.39 2015/08/12 07:53:57 maxv Exp $
+#	$NetBSD: WZERO3,v 1.40 2016/12/08 11:31:10 nat Exp $
 #
 #	WZERO3 -- Sharp Windows Mobile 5 based PDA
 #
@@ -8,7 +8,7 @@ include	"arch/hpcarm/conf/files.wzero3"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.39 $"
+#ident 		"GENERIC-$Revision: 1.40 $"
 
 # estimated number of users
 maxusers	32
@@ -237,6 +237,9 @@ wd* at umass?
 uaudio* at uhub? port ? configuration ?
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # USB Ethernet adapters
 aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
 axe*	at uhub? port ?		# ASIX AX88172 based adapters

Index: src/sys/arch/hpcmips/conf/GENERIC
diff -u src/sys/arch/hpcmips/conf/GENERIC:1.230 src/sys/arch/hpcmips/conf/GENERIC:1.231
--- src/sys/arch/hpcmips/conf/GENERIC:1.230	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/hpcmips/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.230 2016/03/19 23:21:02 gdt Exp $
+# $NetBSD: GENERIC,v 1.231 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -24,7 +24,7 @@ include		"arch/hpcmips/conf/std.hpcmips.
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.230 $"
+#ident 		"GENERIC-$Revision: 1.231 $"
 
 maxusers	16
 
@@ -655,6 +655,9 @@ ugen*	at uhub? port ?
 audio*	at uaudio?
 midi*	at midibus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 #

Index: src/sys/arch/hpcmips/conf/TX3922
diff -u src/sys/arch/hpcmips/conf/TX3922:1.102 src/sys/arch/hpcmips/conf/TX3922:1.103
--- src/sys/arch/hpcmips/conf/TX3922:1.102	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/hpcmips/conf/TX3922	Thu Dec  8 11:31:10 2016
@@ -1,7 +1,7 @@
 #
 # Distribution kernel (TOSHIBA TX3922 based model) kernel config file
 #
-#	$NetBSD: TX3922,v 1.102 2016/03/19 23:21:02 gdt Exp $
+#	$NetBSD: TX3922,v 1.103 2016/12/08 11:31:10 nat Exp $
 #
 include		"arch/hpcmips/conf/std.hpcmips"
 
@@ -225,6 +225,9 @@ scsibus* at umass? channel ?
 uaudio*	at uhub? port ? configuration ?
 audio*	at uaudio?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # USB Ethernet adapters
 aue*	at uhub? port ?		# ADMtek AN986 Pegasus based adapters
 axe*	at uhub? port ?		# ASIX AX88172 based adapters

Index: src/sys/arch/hpcmips/conf/VR41XX
diff -u src/sys/arch/hpcmips/conf/VR41XX:1.65 src/sys/arch/hpcmips/conf/VR41XX:1.66
--- src/sys/arch/hpcmips/conf/VR41XX:1.65	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/hpcmips/conf/VR41XX	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: VR41XX,v 1.65 2016/03/19 23:21:02 gdt Exp $
+# $NetBSD: VR41XX,v 1.66 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -20,7 +20,7 @@
 
 include		"arch/hpcmips/conf/std.hpcmips"
 include		"arch/hpcmips/conf/std.hpcmips.vr41"
-#ident 		"GENERIC-$Revision: 1.65 $"
+#ident 		"GENERIC-$Revision: 1.66 $"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
@@ -515,6 +515,9 @@ ugen*	at uhub? port ?
 
 audio*	at uaudio?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 pseudo-device	loop			# network loopback
 pseudo-device	ppp			# serial-line IP ports
 pseudo-device	pty			# pseudo-terminals

Index: src/sys/arch/hppa/conf/GENERIC
diff -u src/sys/arch/hppa/conf/GENERIC:1.8 src/sys/arch/hppa/conf/GENERIC:1.9
--- src/sys/arch/hppa/conf/GENERIC:1.8	Sat Mar 19 23:21:02 2016
+++ src/sys/arch/hppa/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.8 2016/03/19 23:21:02 gdt Exp $
+# $NetBSD: GENERIC,v 1.9 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -23,7 +23,7 @@ include 	"arch/hppa/conf/std.hppa"
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
 
-#ident 		"GENERIC-$Revision: 1.8 $"
+#ident 		"GENERIC-$Revision: 1.9 $"
 
 maxusers	32		# estimated number of users
 
@@ -548,6 +548,9 @@ harmony* at gsc?			# Audio Type 2 (CS421
 #com*	at harmony?			# Telephone add-in card
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # USB Controller and Devices
 
 # PCI USB controllers

Index: src/sys/arch/i386/conf/ALL
diff -u src/sys/arch/i386/conf/ALL:1.403 src/sys/arch/i386/conf/ALL:1.404
--- src/sys/arch/i386/conf/ALL:1.403	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/i386/conf/ALL	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.403 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: ALL,v 1.404 2016/12/08 11:31:10 nat Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@ include 	"arch/i386/conf/std.i386"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"ALL-$Revision: 1.403 $"
+#ident 		"ALL-$Revision: 1.404 $"
 
 maxusers	64		# estimated number of users
 
@@ -1543,8 +1543,11 @@ midi*	at midibus?
 midi*	at pcppi?		# MIDI interface to the PC speaker
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+options PCPPISPEAKER
 spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
 
 # FM-Radio devices
 # ISA radio devices

Index: src/sys/arch/i386/conf/GENERIC
diff -u src/sys/arch/i386/conf/GENERIC:1.1141 src/sys/arch/i386/conf/GENERIC:1.1142
--- src/sys/arch/i386/conf/GENERIC:1.1141	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/i386/conf/GENERIC	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.1141 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.1142 2016/12/08 11:31:10 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/i386/conf/std.i386"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.1141 $"
+#ident 		"GENERIC-$Revision: 1.1142 $"
 
 maxusers	64		# estimated number of users
 
@@ -1466,8 +1466,12 @@ midi*	at midibus?
 midi*	at pcppi?		# MIDI interface to the PC speaker
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+#options PCPPISPEAKER
 #spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 
 # FM-Radio devices
 # ISA radio devices

Index: src/sys/arch/i386/conf/GENERIC_TINY
diff -u src/sys/arch/i386/conf/GENERIC_TINY:1.142 src/sys/arch/i386/conf/GENERIC_TINY:1.143
--- src/sys/arch/i386/conf/GENERIC_TINY:1.142	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/i386/conf/GENERIC_TINY	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC_TINY,v 1.142 2015/09/26 11:16:12 maxv Exp $
+#	$NetBSD: GENERIC_TINY,v 1.143 2016/12/08 11:31:10 nat Exp $
 #
 #	GENERIC_TINY -- suitable default for 4M machines
 #			No EISA, PCI, or SCSI.
@@ -508,8 +508,11 @@ we1	at isa? port 0x300 iomem 0xcc000 irq
 #audio*	at audiobus?
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+#options PCPPISPEAKER
 #spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
 
 # Joysticks
 

Index: src/sys/arch/i386/conf/INSTALL_FLOPPY
diff -u src/sys/arch/i386/conf/INSTALL_FLOPPY:1.30 src/sys/arch/i386/conf/INSTALL_FLOPPY:1.31
--- src/sys/arch/i386/conf/INSTALL_FLOPPY:1.30	Wed Nov  2 00:11:59 2016
+++ src/sys/arch/i386/conf/INSTALL_FLOPPY	Thu Dec  8 11:31:10 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL_FLOPPY,v 1.30 2016/11/02 00:11:59 pgoyette Exp $
+#	$NetBSD: INSTALL_FLOPPY,v 1.31 2016/12/08 11:31:10 nat Exp $
 #
 #	INSTALL - Installation kernel.
 #
@@ -710,8 +710,11 @@ url*	at uhub? port ?		# Realtek RTL8150L
 #midi*	at pcppi?		# MIDI interface to the PC speaker
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+#options PCPPISPEAKER
 #spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
 
 # Mice
 

Index: src/sys/arch/i386/conf/INSTALL_TINY
diff -u src/sys/arch/i386/conf/INSTALL_TINY:1.144 src/sys/arch/i386/conf/INSTALL_TINY:1.145
--- src/sys/arch/i386/conf/INSTALL_TINY:1.144	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/i386/conf/INSTALL_TINY	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL_TINY,v 1.144 2015/09/26 11:16:12 maxv Exp $
+#	$NetBSD: INSTALL_TINY,v 1.145 2016/12/08 11:31:11 nat Exp $
 #
 #	This kernel should be derived from INSTALL (which is derived
 #	from GENERIC) with some features commented out.
@@ -468,8 +468,12 @@ we1	at isa? port 0x300 iomem 0xcc000 irq
 #audio*	at audiobus?
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+#options PCPPISPEAKER
 #spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 
 # Joysticks
 

Index: src/sys/arch/i386/conf/XEN3_DOM0
diff -u src/sys/arch/i386/conf/XEN3_DOM0:1.99 src/sys/arch/i386/conf/XEN3_DOM0:1.100
--- src/sys/arch/i386/conf/XEN3_DOM0:1.99	Wed Jul 27 07:05:39 2016
+++ src/sys/arch/i386/conf/XEN3_DOM0	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: XEN3_DOM0,v 1.99 2016/07/27 07:05:39 msaitoh Exp $
+#	$NetBSD: XEN3_DOM0,v 1.100 2016/12/08 11:31:11 nat Exp $
 #
 #	XEN3_0: Xen 3.0 domain0 kernel
 
@@ -719,6 +719,9 @@ hdafg*		at hdaudiobus?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MPU 401 UARTs
 #mpu*	at isa? port 0x330 irq 9	# MPU401 or compatible card
 mpu*	at cmpci?

Index: src/sys/arch/i386/conf/majors.i386
diff -u src/sys/arch/i386/conf/majors.i386:1.44 src/sys/arch/i386/conf/majors.i386:1.45
--- src/sys/arch/i386/conf/majors.i386:1.44	Thu Apr 23 23:22:52 2015
+++ src/sys/arch/i386/conf/majors.i386	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.i386,v 1.44 2015/04/23 23:22:52 pgoyette Exp $
+#	$NetBSD: majors.i386,v 1.45 2016/12/08 11:31:11 nat Exp $
 #
 # Device majors for i386
 #
@@ -30,7 +30,6 @@ device-major	bpf		char 23			bpfilter  ve
 device-major	md		char 24  block 17	md	vector=4:8
 
 device-major	joy		char 26			joy
-device-major	spkr		char 27			spkr
 
 # next three are obsolete
 #device-major	omms		char 35			omms

Index: src/sys/arch/ia64/conf/majors.ia64
diff -u src/sys/arch/ia64/conf/majors.ia64:1.11 src/sys/arch/ia64/conf/majors.ia64:1.12
--- src/sys/arch/ia64/conf/majors.ia64:1.11	Thu Apr 23 23:22:52 2015
+++ src/sys/arch/ia64/conf/majors.ia64	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.ia64,v 1.11 2015/04/23 23:22:52 pgoyette Exp $
+#	$NetBSD: majors.ia64,v 1.12 2016/12/08 11:31:11 nat Exp $
 #
 # Device majors for ia64
 #
@@ -30,7 +30,6 @@ device-major	bpf		char 23			bpfilter
 device-major	md		char 24  block 17	md
 
 device-major	joy		char 26			joy
-device-major	spkr		char 27			spkr
 
 # next three are obsolete
 #device-major	omms		char 35			omms

Index: src/sys/arch/ibmnws/conf/GENERIC
diff -u src/sys/arch/ibmnws/conf/GENERIC:1.46 src/sys/arch/ibmnws/conf/GENERIC:1.47
--- src/sys/arch/ibmnws/conf/GENERIC:1.46	Sun Nov 16 16:01:41 2014
+++ src/sys/arch/ibmnws/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC,v 1.46 2014/11/16 16:01:41 manu Exp $
+#	$NetBSD: GENERIC,v 1.47 2016/12/08 11:31:11 nat Exp $
 #
 #
 
@@ -274,6 +274,9 @@ icsphy* at mii? phy ?                   
 paud0 at isa? port 0x830 irq 10 drq 0 drq2 1
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 # disk/mass storage pseudo-devices

Index: src/sys/arch/iyonix/conf/GENERIC
diff -u src/sys/arch/iyonix/conf/GENERIC:1.90 src/sys/arch/iyonix/conf/GENERIC:1.91
--- src/sys/arch/iyonix/conf/GENERIC:1.90	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/iyonix/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC,v 1.90 2016/11/26 13:59:45 christos Exp $
+#	$NetBSD: GENERIC,v 1.91 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include	"arch/iyonix/conf/std.iyonix"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.90 $"
+#ident 		"GENERIC-$Revision: 1.91 $"
 
 maxusers	32		# estimated number of users
 
@@ -700,6 +700,9 @@ opl*	at yds?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MPU 401 UARTs
 mpu*	at cmpci?
 mpu*	at eso?

Index: src/sys/arch/landisk/conf/GENERIC
diff -u src/sys/arch/landisk/conf/GENERIC:1.50 src/sys/arch/landisk/conf/GENERIC:1.51
--- src/sys/arch/landisk/conf/GENERIC:1.50	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/landisk/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.50 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.51 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include		"arch/landisk/conf/std.landisk"
 
 options         INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident          "GENERIC-$Revision: 1.50 $"
+#ident          "GENERIC-$Revision: 1.51 $"
 
 maxusers	16		# estimated number of users
 
@@ -395,6 +395,9 @@ ugen*	at uhub? port ?
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 midi*	at midibus?
 

Index: src/sys/arch/macppc/conf/GENERIC
diff -u src/sys/arch/macppc/conf/GENERIC:1.323 src/sys/arch/macppc/conf/GENERIC:1.324
--- src/sys/arch/macppc/conf/GENERIC:1.323	Sun Nov 20 16:55:18 2016
+++ src/sys/arch/macppc/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.323 2016/11/20 16:55:18 macallan Exp $
+# $NetBSD: GENERIC,v 1.324 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include		"arch/macppc/conf/std.macppc"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.323 $"
+#ident 		"GENERIC-$Revision: 1.324 $"
 
 maxusers	32
 
@@ -566,6 +566,9 @@ eap*	at pci? dev ? function ?	# Ensoniq 
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MPU 401 UARTs
 #mpu*	at cmpci?
 #mpu*	at eso?

Index: src/sys/arch/macppc/conf/GENERIC_601
diff -u src/sys/arch/macppc/conf/GENERIC_601:1.8 src/sys/arch/macppc/conf/GENERIC_601:1.9
--- src/sys/arch/macppc/conf/GENERIC_601:1.8	Fri Jun 10 21:32:46 2016
+++ src/sys/arch/macppc/conf/GENERIC_601	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC_601,v 1.8 2016/06/10 21:32:46 macallan Exp $
+# $NetBSD: GENERIC_601,v 1.9 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -28,7 +28,7 @@ include		"arch/macppc/conf/std.macppc.60
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-ident 		"GENERIC-$Revision: 1.8 $"
+ident 		"GENERIC-$Revision: 1.9 $"
 
 maxusers	32
 
@@ -312,6 +312,9 @@ ugen*	at uhub? port ? configuration ? in
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 #
 # accept filters
 #pseudo-device   accf_data		# "dataready" accept filter

Index: src/sys/arch/macppc/conf/POWERMAC_G5
diff -u src/sys/arch/macppc/conf/POWERMAC_G5:1.25 src/sys/arch/macppc/conf/POWERMAC_G5:1.26
--- src/sys/arch/macppc/conf/POWERMAC_G5:1.25	Sun Nov 16 16:01:41 2014
+++ src/sys/arch/macppc/conf/POWERMAC_G5	Thu Dec  8 11:31:11 2016
@@ -143,6 +143,7 @@ uhub*	at usb?						# USB Hubs
 uhub*	at uhub? port ?
 uhidev*	at uhub? port ? configuration ? interface ?	# USB HID device
 uhid*	at uhidev? reportid ?				# USB Generic HID
+
 ukbd*	at uhidev? reportid ?				# USB Keyboards
 wskbd*	at ukbd? console ?
 ums*	at uhidev? reportid ?				# USB Mice

Index: src/sys/arch/mmeye/conf/MMEYE_WLF
diff -u src/sys/arch/mmeye/conf/MMEYE_WLF:1.17 src/sys/arch/mmeye/conf/MMEYE_WLF:1.18
--- src/sys/arch/mmeye/conf/MMEYE_WLF:1.17	Wed Aug 12 07:53:57 2015
+++ src/sys/arch/mmeye/conf/MMEYE_WLF	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MMEYE_WLF,v 1.17 2015/08/12 07:53:57 maxv Exp $
+# $NetBSD: MMEYE_WLF,v 1.18 2016/12/08 11:31:11 nat Exp $
 #
 # MMEYE_WLF -- Brains Inc. MMEYE-WLF platforms kernel
 #
@@ -22,7 +22,7 @@ include 	"arch/mmeye/conf/std.mmeye"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.17 $"
+#ident 		"GENERIC-$Revision: 1.18 $"
 
 maxusers	16		# estimated number of users
 
@@ -174,6 +174,9 @@ rs5c372rtc* at iic? addr 0x32
 #ac97x	at mainbus? addr1 0xb3000000-0xb300000f irq1 1	# AD1881A
 audio* at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # SH4 Area5/6 PCMCIA space devices
 ne0	at mainbus? addr1 0x14000000 irq1 13
 com0	at mainbus? addr1 0x15000000 irq1 5

Index: src/sys/arch/netwinder/conf/GENERIC
diff -u src/sys/arch/netwinder/conf/GENERIC:1.127 src/sys/arch/netwinder/conf/GENERIC:1.128
--- src/sys/arch/netwinder/conf/GENERIC:1.127	Sat Aug  8 06:36:25 2015
+++ src/sys/arch/netwinder/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.127 2015/08/08 06:36:25 maxv Exp $
+# $NetBSD: GENERIC,v 1.128 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -274,6 +274,9 @@ midi*		at sb?					# SB1 MIDI port
 # Audio support
 audio*		at sb?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 pseudo-device 	crypto		# /dev/crypto device

Index: src/sys/arch/ofppc/conf/GENERIC
diff -u src/sys/arch/ofppc/conf/GENERIC:1.158 src/sys/arch/ofppc/conf/GENERIC:1.159
--- src/sys/arch/ofppc/conf/GENERIC:1.158	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/ofppc/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.158 2015/09/26 11:16:12 maxv Exp $
+# $NetBSD: GENERIC,v 1.159 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include 	"arch/ofppc/conf/std.ofppc"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.158 $"
+#ident 		"GENERIC-$Revision: 1.159 $"
 
 maxusers	32
 
@@ -359,6 +359,7 @@ wskbd*	at ukbd? console ? mux 1
 
 ucycom*	at uhidev? reportid ?				# USB serial adapter
 uhid*	at uhidev? reportid ?				# USB Generic HID
+
 ulpt*	at uhub? port ? configuration ? interface ?	# USB Printer
 umodem*	at uhub? port ? configuration ?			# USB Modem
 ucom*	at umodem?
@@ -404,6 +405,9 @@ auvia*  at pci? dev ? function ?	# VIA V
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 
 #
 # accept filters

Index: src/sys/arch/playstation2/conf/DEBUG
diff -u src/sys/arch/playstation2/conf/DEBUG:1.20 src/sys/arch/playstation2/conf/DEBUG:1.21
--- src/sys/arch/playstation2/conf/DEBUG:1.20	Fri Aug 21 01:52:08 2015
+++ src/sys/arch/playstation2/conf/DEBUG	Thu Dec  8 11:31:11 2016
@@ -1,7 +1,7 @@
 #
 # kernel config file for debugging.
 #
-# 	$NetBSD: DEBUG,v 1.20 2015/08/21 01:52:08 uebayasi Exp $
+# 	$NetBSD: DEBUG,v 1.21 2016/12/08 11:31:11 nat Exp $
 #
 
 include 	"arch/playstation2/conf/std.playstation2"
@@ -112,6 +112,9 @@ uyap* at uhub? port ?
 
 audio*	at uaudio?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 pseudo-device	ppp			# Point-to-Point Protocol
 
 

Index: src/sys/arch/pmax/conf/GENERIC
diff -u src/sys/arch/pmax/conf/GENERIC:1.187 src/sys/arch/pmax/conf/GENERIC:1.188
--- src/sys/arch/pmax/conf/GENERIC:1.187	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/pmax/conf/GENERIC	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.187 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.188 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include		"arch/pmax/conf/std.pmax"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.187 $"
+#ident		"GENERIC-$Revision: 1.188 $"
 
 maxusers	64
 
@@ -205,6 +205,9 @@ vsms*	at	zsc0 channel ?		# mouse port on
 
 audio*	at	bba?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 dtkbd*	at	dt? addr ?
 dtms*	at	dt? addr ?
 

Index: src/sys/arch/pmax/conf/GENERIC64
diff -u src/sys/arch/pmax/conf/GENERIC64:1.21 src/sys/arch/pmax/conf/GENERIC64:1.22
--- src/sys/arch/pmax/conf/GENERIC64:1.21	Sun Nov 16 16:01:42 2014
+++ src/sys/arch/pmax/conf/GENERIC64	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC64,v 1.21 2014/11/16 16:01:42 manu Exp $
+# $NetBSD: GENERIC64,v 1.22 2016/12/08 11:31:11 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include		"arch/pmax/conf/std.pmax64"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.21 $"
+#ident		"GENERIC-$Revision: 1.22 $"
 
 maxusers	64
 
@@ -204,6 +204,9 @@ vsms*	at	zsc0 channel ?		# mouse port on
 
 audio*	at	bba?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 dtkbd*	at	dt? addr ?
 dtms*	at	dt? addr ?
 

Index: src/sys/arch/pmax/conf/INSTALL
diff -u src/sys/arch/pmax/conf/INSTALL:1.71 src/sys/arch/pmax/conf/INSTALL:1.72
--- src/sys/arch/pmax/conf/INSTALL:1.71	Sun Jul 20 10:06:11 2014
+++ src/sys/arch/pmax/conf/INSTALL	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# 	$NetBSD: INSTALL,v 1.71 2014/07/20 10:06:11 alnsn Exp $
+# 	$NetBSD: INSTALL,v 1.72 2016/12/08 11:31:11 nat Exp $
 #
 # Distribution	install kernel (any model)
 #    netbsd:	cut-down kernel for miniroots.
@@ -113,6 +113,9 @@ lkkbd*	at	zsc1 channel ?		# keyboard por
 
 #audio*	at	bba?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 dtkbd*	at	dt? addr ?
 #dtms*	at	dt? addr ?
 

Index: src/sys/arch/pmax/conf/INSTALL64
diff -u src/sys/arch/pmax/conf/INSTALL64:1.8 src/sys/arch/pmax/conf/INSTALL64:1.9
--- src/sys/arch/pmax/conf/INSTALL64:1.8	Sun Jul 20 10:06:11 2014
+++ src/sys/arch/pmax/conf/INSTALL64	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-# 	$NetBSD: INSTALL64,v 1.8 2014/07/20 10:06:11 alnsn Exp $
+# 	$NetBSD: INSTALL64,v 1.9 2016/12/08 11:31:11 nat Exp $
 #
 # Distribution	install kernel (any model)
 #    netbsd:	cut-down kernel for miniroots.
@@ -106,6 +106,9 @@ lkkbd*	at	zsc1 channel ?		# keyboard por
 
 #audio*	at	bba?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 dtkbd*	at	dt? addr ?
 #dtms*	at	dt? addr ?
 

Index: src/sys/arch/powerpc/conf/majors.powerpc
diff -u src/sys/arch/powerpc/conf/majors.powerpc:1.9 src/sys/arch/powerpc/conf/majors.powerpc:1.10
--- src/sys/arch/powerpc/conf/majors.powerpc:1.9	Thu Apr 23 23:22:52 2015
+++ src/sys/arch/powerpc/conf/majors.powerpc	Thu Dec  8 11:31:11 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.powerpc,v 1.9 2015/04/23 23:22:52 pgoyette Exp $
+#	$NetBSD: majors.powerpc,v 1.10 2016/12/08 11:31:11 nat Exp $
 #
 # Device majors for shared PowerPC
 #
@@ -83,7 +83,6 @@ device-major	dmoverio	char 75			dmoverio
 device-major	twe		char 76			twe
 device-major	altq		char 77			altq
 device-major	joy		char 78			joy
-device-major	spkr		char 79			spkr
 
 device-major	gtmpsc		char 80			gtmpsc
 device-major	satlink		char 81			satlink

Index: src/sys/arch/prep/conf/GENERIC
diff -u src/sys/arch/prep/conf/GENERIC:1.176 src/sys/arch/prep/conf/GENERIC:1.177
--- src/sys/arch/prep/conf/GENERIC:1.176	Sat Nov 26 13:59:45 2016
+++ src/sys/arch/prep/conf/GENERIC	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.176 2016/11/26 13:59:45 christos Exp $
+# $NetBSD: GENERIC,v 1.177 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/prep/conf/std.prep"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.176 $"
+#ident		"GENERIC-$Revision: 1.177 $"
 
 maxusers	32
 
@@ -506,8 +506,12 @@ ukphy*	at mii? phy ?			# generic unknown
 #midi*	at pcppi?		# MIDI interface to the PC speaker
 
 # The spkr driver provides a simple tone interface to the built in speaker.
+#options PCPPISPEAKER
 #spkr0	at pcppi?		# PC speaker
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 
 # Joysticks
 

Index: src/sys/arch/prep/conf/majors.prep
diff -u src/sys/arch/prep/conf/majors.prep:1.22 src/sys/arch/prep/conf/majors.prep:1.23
--- src/sys/arch/prep/conf/majors.prep:1.22	Thu Jun 30 20:09:35 2011
+++ src/sys/arch/prep/conf/majors.prep	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.prep,v 1.22 2011/06/30 20:09:35 wiz Exp $
+#	$NetBSD: majors.prep,v 1.23 2016/12/08 11:31:12 nat Exp $
 #
 # Device majors for prep
 #
@@ -30,7 +30,6 @@ device-major	bpf		char 23			bpfilter
 device-major	md		char 24  block 17	md
 
 device-major	joy		char 26			joy
-device-major	spkr		char 27			spkr
 
 device-major	nvram		char 33			nvram
 

Index: src/sys/arch/riscv/conf/majors.riscv
diff -u src/sys/arch/riscv/conf/majors.riscv:1.1 src/sys/arch/riscv/conf/majors.riscv:1.2
--- src/sys/arch/riscv/conf/majors.riscv:1.1	Fri Sep 19 17:36:26 2014
+++ src/sys/arch/riscv/conf/majors.riscv	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: majors.riscv,v 1.1 2014/09/19 17:36:26 matt Exp $
+#	$NetBSD: majors.riscv,v 1.2 2016/12/08 11:31:12 nat Exp $
 #
 # Device majors for evbmips
 #
@@ -12,7 +12,6 @@ device-major	lpt		char 31			lpt
 device-major	ipl		char 35			ipfilter
 device-major	satlink		char 38			satlink
 
-device-major	spkr		char 41			spkr
 device-major	esh		char 44			esh
 device-major	midi		char 49			midi
 device-major	sequencer	char 50			sequencer

Index: src/sys/arch/sandpoint/conf/ENCPP1
diff -u src/sys/arch/sandpoint/conf/ENCPP1:1.12 src/sys/arch/sandpoint/conf/ENCPP1:1.13
--- src/sys/arch/sandpoint/conf/ENCPP1:1.12	Sat Aug 23 20:26:59 2014
+++ src/sys/arch/sandpoint/conf/ENCPP1	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: ENCPP1,v 1.12 2014/08/23 20:26:59 dholland Exp $
+# $NetBSD: ENCPP1,v 1.13 2016/12/08 11:31:12 nat Exp $
 #
 # Ampro EnCorePP1 machine description file
 # 
@@ -23,7 +23,7 @@ options 	PIC_I8259
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"ENCPP1-$Revision: 1.12 $"
+#ident 		"ENCPP1-$Revision: 1.13 $"
 
 maxusers	32
 
@@ -176,6 +176,9 @@ auvia*	at pci? dev ? function ?	# VIA in
 # Audio support
 audio*	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 pckbc0		at isa?			# PS/2 keyboard controller
 pckbd*		at pckbc?		# PC keyboard
 pms*		at pckbc?		# PS/2 mouse for wsmouse

Index: src/sys/arch/sgimips/conf/GENERIC32_IP2x
diff -u src/sys/arch/sgimips/conf/GENERIC32_IP2x:1.105 src/sys/arch/sgimips/conf/GENERIC32_IP2x:1.106
--- src/sys/arch/sgimips/conf/GENERIC32_IP2x:1.105	Sat Sep 26 11:16:12 2015
+++ src/sys/arch/sgimips/conf/GENERIC32_IP2x	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC32_IP2x,v 1.105 2015/09/26 11:16:12 maxv Exp $
+#	$NetBSD: GENERIC32_IP2x,v 1.106 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC32_IP2x machine description file
 # 
@@ -29,7 +29,7 @@ makeoptions	TEXTADDR=0x88069000	# entry 
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC32-IP2x-$Revision: 1.105 $"
+#ident		"GENERIC32-IP2x-$Revision: 1.106 $"
 
 maxusers	32
 
@@ -280,6 +280,9 @@ zsms0		at zsc1 channel 1
 scsibus*	at scsi?		# HPC SCSI
 audio*  	at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Pseudo-Devices
 
 # disk/mass storage pseudo-devices

Index: src/sys/arch/sgimips/conf/GENERIC32_IP3x
diff -u src/sys/arch/sgimips/conf/GENERIC32_IP3x:1.108 src/sys/arch/sgimips/conf/GENERIC32_IP3x:1.109
--- src/sys/arch/sgimips/conf/GENERIC32_IP3x:1.108	Sat Mar 19 23:21:03 2016
+++ src/sys/arch/sgimips/conf/GENERIC32_IP3x	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC32_IP3x,v 1.108 2016/03/19 23:21:03 gdt Exp $
+#	$NetBSD: GENERIC32_IP3x,v 1.109 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC32_IP3x machine description file
 # 
@@ -28,7 +28,7 @@ makeoptions	TEXTADDR="0x80069000"	# entr
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC32_IP3x-$Revision: 1.108 $"
+#ident		"GENERIC32_IP3x-$Revision: 1.109 $"
 
 maxusers	32
 
@@ -415,6 +415,9 @@ sbp*	at ieee1394if? euihi ? euilo ?
 # Audio support
 audio*  at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # MIDI support
 midi*   at midibus?
 

Index: src/sys/arch/shark/conf/GENERIC
diff -u src/sys/arch/shark/conf/GENERIC:1.123 src/sys/arch/shark/conf/GENERIC:1.124
--- src/sys/arch/shark/conf/GENERIC:1.123	Sat Sep 26 16:33:16 2015
+++ src/sys/arch/shark/conf/GENERIC	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC,v 1.123 2015/09/26 16:33:16 maxv Exp $
+#	$NetBSD: GENERIC,v 1.124 2016/12/08 11:31:12 nat Exp $
 #
 # Generic Shark configuration.
 #
@@ -7,7 +7,7 @@ include	"arch/shark/conf/std.shark"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.123 $"
+#ident		"GENERIC-$Revision: 1.124 $"
 
 # estimated number of users
 maxusers	32
@@ -271,6 +271,9 @@ audio*		at ess?
 opl*		at ess?
 midi*		at opl?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Joystick @OFW
 joy*		at ofisa?
 

Index: src/sys/arch/shark/conf/INSTALL
diff -u src/sys/arch/shark/conf/INSTALL:1.58 src/sys/arch/shark/conf/INSTALL:1.59
--- src/sys/arch/shark/conf/INSTALL:1.58	Fri Aug 21 01:52:08 2015
+++ src/sys/arch/shark/conf/INSTALL	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.58 2015/08/21 01:52:08 uebayasi Exp $
+#	$NetBSD: INSTALL,v 1.59 2016/12/08 11:31:12 nat Exp $
 #
 #	Shark installation kernel
 #
@@ -235,6 +235,9 @@ scr*		at ofisascr?
 #opl*		at ess?
 #midi*		at opl?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 # Joystick @OFW
 #joy*		at ofisa?
 

Index: src/sys/arch/sparc/conf/GENERIC
diff -u src/sys/arch/sparc/conf/GENERIC:1.251 src/sys/arch/sparc/conf/GENERIC:1.252
--- src/sys/arch/sparc/conf/GENERIC:1.251	Sat Nov 26 13:59:46 2016
+++ src/sys/arch/sparc/conf/GENERIC	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.251 2016/11/26 13:59:46 christos Exp $
+# $NetBSD: GENERIC,v 1.252 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include 	"arch/sparc/conf/std.sparc"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.251 $"
+#ident 		"GENERIC-$Revision: 1.252 $"
 
 maxusers	32
 
@@ -639,6 +639,9 @@ dbri*		at sbus? slot ? offset ?		# SUNW,
 
 audio*		at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 ## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
 ## systems.  If your sun4 system has a cgfour installed in the P4 slot,
 ## the P4 entries for "bwtwo" will attach to the overlay plane of the

Index: src/sys/arch/sparc/conf/INSTALL
diff -u src/sys/arch/sparc/conf/INSTALL:1.92 src/sys/arch/sparc/conf/INSTALL:1.93
--- src/sys/arch/sparc/conf/INSTALL:1.92	Wed Apr 13 17:32:27 2016
+++ src/sys/arch/sparc/conf/INSTALL	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.92 2016/04/13 17:32:27 macallan Exp $
+#	$NetBSD: INSTALL,v 1.93 2016/12/08 11:31:12 nat Exp $
 #
 # from: NetBSD: GENERIC,v 1.84 1999/06/06 13:00:03 mrg Exp
 #
@@ -508,6 +508,9 @@ pseudo-device	loop
 #audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231
 #audio*		at audiocs0
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 
 ## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
 ## systems.  If your sun4 system has a cgfour installed in the P4 slot,

Index: src/sys/arch/sparc/conf/KRUPS
diff -u src/sys/arch/sparc/conf/KRUPS:1.69 src/sys/arch/sparc/conf/KRUPS:1.70
--- src/sys/arch/sparc/conf/KRUPS:1.69	Sat Nov 26 13:59:46 2016
+++ src/sys/arch/sparc/conf/KRUPS	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: KRUPS,v 1.69 2016/11/26 13:59:46 christos Exp $
+# $NetBSD: KRUPS,v 1.70 2016/12/08 11:31:12 nat Exp $
 # From: NetBSD: GENERIC,v 1.197 2006/12/04 23:43:35 elad Exp
 #
 # Krups (JavaStation-NC) machine description file
@@ -8,7 +8,7 @@ include 	"arch/sparc/conf/std.sparc"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"KRUPS-$Revision: 1.69 $"
+#ident 		"KRUPS-$Revision: 1.70 $"
 
 maxusers	32
 
@@ -323,6 +323,9 @@ pseudo-device	bpfilter
 audiocs*	at ebus?		# SUNW,CS4231
 audio*		at audiocs?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # wscons
 pckbc*		at ebus?		# PC keyboard controller
 pckbd*		at pckbc?		# PC keyboard

Index: src/sys/arch/sparc/conf/MRCOFFEE
diff -u src/sys/arch/sparc/conf/MRCOFFEE:1.48 src/sys/arch/sparc/conf/MRCOFFEE:1.49
--- src/sys/arch/sparc/conf/MRCOFFEE:1.48	Sat Sep 26 11:16:13 2015
+++ src/sys/arch/sparc/conf/MRCOFFEE	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: MRCOFFEE,v 1.48 2015/09/26 11:16:13 maxv Exp $
+# $NetBSD: MRCOFFEE,v 1.49 2016/12/08 11:31:12 nat Exp $
 # From: NetBSD: GENERIC,v 1.197 2006/12/04 23:43:35 elad Exp
 #
 # Mr.Coffee (JavaStation 1) machine description file
@@ -12,7 +12,7 @@ include 	"arch/sparc/conf/std.sparc"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"MRCOFFEE-$Revision: 1.48 $"
+#ident 		"MRCOFFEE-$Revision: 1.49 $"
 
 maxusers	32
 
@@ -315,6 +315,9 @@ pseudo-device	bpfilter
 audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231
 audio0		at audiocs0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 ## Sun "tcx" accelerated color framebuffer.
 tcx0		at sbus? slot ? offset ?
 wsdisplay0	at tcx0

Index: src/sys/arch/sparc/conf/TADPOLE3GX
diff -u src/sys/arch/sparc/conf/TADPOLE3GX:1.67 src/sys/arch/sparc/conf/TADPOLE3GX:1.68
--- src/sys/arch/sparc/conf/TADPOLE3GX:1.67	Sat Sep 26 11:16:13 2015
+++ src/sys/arch/sparc/conf/TADPOLE3GX	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# 	$NetBSD: TADPOLE3GX,v 1.67 2015/09/26 11:16:13 maxv Exp $
+# 	$NetBSD: TADPOLE3GX,v 1.68 2016/12/08 11:31:12 nat Exp $
 
 include "arch/sparc/conf/std.sparc"
 
@@ -345,6 +345,9 @@ options 	DBRI_BIG_BUFFER	# use bigger DM
 dbri0		at sbus0 slot ? offset ?		# SUNW,DBRI[s3|e]
 audio*		at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # Tadpole 3GX/3GS (P9100 -- P Nine One Zero Zero -> pnozz)
 pnozz0 at sbus? slot ? offset ?
 #options 	PNOZZ_EMUL_CG3		# emulate a CG3 for Xsun instead of 

Index: src/sys/arch/sparc64/conf/GENERIC
diff -u src/sys/arch/sparc64/conf/GENERIC:1.193 src/sys/arch/sparc64/conf/GENERIC:1.194
--- src/sys/arch/sparc64/conf/GENERIC:1.193	Sat Nov 26 13:59:46 2016
+++ src/sys/arch/sparc64/conf/GENERIC	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.193 2016/11/26 13:59:46 christos Exp $
+# $NetBSD: GENERIC,v 1.194 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@ include 	"arch/sparc64/conf/std.sparc64"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident		"GENERIC-$Revision: 1.193 $"
+#ident		"GENERIC-$Revision: 1.194 $"
 
 maxusers	64
 
@@ -883,6 +883,9 @@ auacer* 	at pci? dev ? function ?	# Ultr
 
 audio*		at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 midi*		at midibus?
 
 

Index: src/sys/arch/sparc64/conf/NONPLUS64
diff -u src/sys/arch/sparc64/conf/NONPLUS64:1.47 src/sys/arch/sparc64/conf/NONPLUS64:1.48
--- src/sys/arch/sparc64/conf/NONPLUS64:1.47	Wed May 25 20:00:50 2016
+++ src/sys/arch/sparc64/conf/NONPLUS64	Thu Dec  8 11:31:12 2016
@@ -1,8 +1,8 @@
-#	$NetBSD: NONPLUS64,v 1.47 2016/05/25 20:00:50 nakayama Exp $
+#	$NetBSD: NONPLUS64,v 1.48 2016/12/08 11:31:12 nat Exp $
 
 include 	"arch/sparc64/conf/std.sparc64"
 
-#ident		"NONPLUS64-$Revision: 1.47 $"
+#ident		"NONPLUS64-$Revision: 1.48 $"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
@@ -365,6 +365,9 @@ pseudo-device	ipfilter
 audiocs0	at sbus0 slot ? offset ?		# SUNW,CS4231
 audio*		at audiocs0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 
 ## Sun "bwtwo" black and white framebuffer, found on sun4, sun4c, and sun4m
 ## systems.  If your sun4 system has a cgfour installed in the P4 slot,

Index: src/sys/arch/usermode/conf/GENERIC.common
diff -u src/sys/arch/usermode/conf/GENERIC.common:1.21 src/sys/arch/usermode/conf/GENERIC.common:1.22
--- src/sys/arch/usermode/conf/GENERIC.common:1.21	Sun Aug 17 21:17:44 2014
+++ src/sys/arch/usermode/conf/GENERIC.common	Thu Dec  8 11:31:12 2016
@@ -1,9 +1,9 @@
-# $NetBSD: GENERIC.common,v 1.21 2014/08/17 21:17:44 joerg Exp $
+# $NetBSD: GENERIC.common,v 1.22 2016/12/08 11:31:12 nat Exp $
 
 include "arch/usermode/conf/std.usermode"
 
 options 	INCLUDE_CONFIG_FILE
-#ident 		"GENERIC-$Revision: 1.21 $"
+#ident 		"GENERIC-$Revision: 1.22 $"
 maxusers 	32
 
 makeoptions	DEBUG="-O1 -g3"
@@ -65,6 +65,9 @@ veth0		at mainbus?
 vaudio0		at mainbus?
 audio0		at vaudio0
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 vncfb0		at mainbus?
 wsdisplay0	at vncfb?
 wskbd0		at vncfb?

Index: src/sys/arch/vax/conf/GENERIC
diff -u src/sys/arch/vax/conf/GENERIC:1.196 src/sys/arch/vax/conf/GENERIC:1.197
--- src/sys/arch/vax/conf/GENERIC:1.196	Sat Aug  8 06:36:26 2015
+++ src/sys/arch/vax/conf/GENERIC	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.196 2015/08/08 06:36:26 maxv Exp $
+# $NetBSD: GENERIC,v 1.197 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include		"arch/vax/conf/std.vax"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.196 $"
+#ident 		"GENERIC-$Revision: 1.197 $"
 
 # Here are all different supported CPU types listed.
 #options 	VAX8800		# VAX 8500, 8530, 8550, 8700, 8800
@@ -208,6 +208,10 @@ lcg0		at vsbus0 csr 0x21801000 # VS4000/
 vsaudio0	at vsbus0 csr 0x200d0000 # VS4000/60 (or VLC) audio
 vsaudio0	at vsbus0 csr 0x26800000 # VS4000/90 audio
 audio*		at audiobus?
+
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 tc0		at vsbus0 csr 0x36000000 # VS4000/60 or 90 TC adapter
 tcds*		at tc0 slot ? offset ?	 # TC dual SCSI controller
 asc*		at tcds? chip ?		 # PMAZB/C

Index: src/sys/arch/x68k/conf/GENERIC
diff -u src/sys/arch/x68k/conf/GENERIC:1.180 src/sys/arch/x68k/conf/GENERIC:1.181
--- src/sys/arch/x68k/conf/GENERIC:1.180	Sat Aug  8 06:36:26 2015
+++ src/sys/arch/x68k/conf/GENERIC	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.180 2015/08/08 06:36:26 maxv Exp $
+# $NetBSD: GENERIC,v 1.181 2016/12/08 11:31:12 nat Exp $
 #
 # GENERIC machine description file
 # 
@@ -22,7 +22,7 @@ include 	"arch/x68k/conf/std.x68k"
 
 options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"GENERIC-$Revision: 1.180 $"
+#ident 		"GENERIC-$Revision: 1.181 $"
 
 makeoptions	COPTS="-O2 -fno-reorder-blocks"	# see share/mk/sys.mk
 
@@ -293,6 +293,9 @@ com1	at intio0 addr 0xefff10 intr 241	# 
 vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
 audio*	at vs?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 ## Network interfaces
 ne*	at intio0 addr 0xece300 intr 249	# Nereid Ethernet
 ne*	at intio0 addr 0xeceb00 intr 248	# Nereid Ethernet

Index: src/sys/arch/x68k/conf/INSTALL
diff -u src/sys/arch/x68k/conf/INSTALL:1.109 src/sys/arch/x68k/conf/INSTALL:1.110
--- src/sys/arch/x68k/conf/INSTALL:1.109	Sun Sep 18 14:21:16 2016
+++ src/sys/arch/x68k/conf/INSTALL	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: INSTALL,v 1.109 2016/09/18 14:21:16 christos Exp $
+#	$NetBSD: INSTALL,v 1.110 2016/12/08 11:31:12 nat Exp $
 
 #
 #	INSTALL -- installation kernel.
@@ -8,7 +8,7 @@ include "arch/x68k/conf/std.x68k"
 
 #options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
 
-#ident 		"INSTALL-$Revision: 1.109 $"
+#ident 		"INSTALL-$Revision: 1.110 $"
 
 makeoptions	COPTS="-Os"		# Optimise for space. Implies -O2
 
@@ -255,6 +255,9 @@ sram0	at intio0 addr 0xed0000		# battery
 #vs0 at intio0 addr 0xe92000 dma 3 dmaintr 106
 #audio*	at vs?
 
+#options VAUDIOSPEAKER
+#spkr0	at audio0		# PC speaker (synthesized)
+
 ## Network interfaces
 ne*	at intio0 addr 0xece300 intr 249	# Nereid Ethernet
 ne*	at intio0 addr 0xeceb00 intr 248	# Nereid Ethernet

Index: src/sys/arch/x86/acpi/acpi_cpu_md.c
diff -u src/sys/arch/x86/acpi/acpi_cpu_md.c:1.77 src/sys/arch/x86/acpi/acpi_cpu_md.c:1.78
--- src/sys/arch/x86/acpi/acpi_cpu_md.c:1.77	Thu Apr 17 16:01:24 2014
+++ src/sys/arch/x86/acpi/acpi_cpu_md.c	Thu Dec  8 11:31:12 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_cpu_md.c,v 1.77 2014/04/17 16:01:24 christos Exp $ */
+/* $NetBSD: acpi_cpu_md.c,v 1.78 2016/12/08 11:31:12 nat Exp $ */
 
 /*-
  * Copyright (c) 2010, 2011 Jukka Ruohonen <jruoho...@iki.fi>
@@ -27,7 +27,7 @@
  * SUCH DAMAGE.
  */
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_md.c,v 1.77 2014/04/17 16:01:24 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_cpu_md.c,v 1.78 2016/12/08 11:31:12 nat Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -223,6 +223,7 @@ acpicpu_md_flags(void)
 
 			if ((regs[0] & CPUID_DSPM_ARAT) != 0)
 				val &= ~ACPICPU_FLAG_C_APIC;
+
 		}
 
 		break;

Index: src/sys/arch/zaurus/conf/GENERIC
diff -u src/sys/arch/zaurus/conf/GENERIC:1.67 src/sys/arch/zaurus/conf/GENERIC:1.68
--- src/sys/arch/zaurus/conf/GENERIC:1.67	Sat Sep 26 11:16:13 2015
+++ src/sys/arch/zaurus/conf/GENERIC	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: GENERIC,v 1.67 2015/09/26 11:16:13 maxv Exp $
+#	$NetBSD: GENERIC,v 1.68 2016/12/08 11:31:13 nat Exp $
 #
 # GENERIC machine description file
 #
@@ -240,6 +240,9 @@ audio* at zaudio?
 # Audio support
 audio* at audiobus?
 
+options VAUDIOSPEAKER
+spkr0	at audio0		# PC speaker (synthesized)
+
 # integrated 16550 UARTs
 options 	COM_PXA2X0
 #options 	FFUARTCONSOLE

Index: src/sys/arch/zaurus/conf/INSTALL
diff -u src/sys/arch/zaurus/conf/INSTALL:1.28 src/sys/arch/zaurus/conf/INSTALL:1.29
--- src/sys/arch/zaurus/conf/INSTALL:1.28	Fri Aug 12 09:26:35 2016
+++ src/sys/arch/zaurus/conf/INSTALL	Thu Dec  8 11:31:13 2016
@@ -1,4 +1,4 @@
-# $NetBSD: INSTALL,v 1.28 2016/08/12 09:26:35 nonaka Exp $
+# $NetBSD: INSTALL,v 1.29 2016/12/08 11:31:13 nat Exp $
 #
 # INSTALL config file (GENERIC with memory disk root)
 #
@@ -76,6 +76,7 @@ no wsmouse* at ztp?
 
 no zaudio0 at iic?
 no audio* at zaudio?
+no spkr0 at audio0
 
 no ums* at uhidev?
 no wsmouse* at ums?

Index: src/sys/conf/majors
diff -u src/sys/conf/majors:1.75 src/sys/conf/majors:1.76
--- src/sys/conf/majors:1.75	Thu Sep  8 15:00:08 2016
+++ src/sys/conf/majors	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,4 @@
-# $NetBSD: majors,v 1.75 2016/09/08 15:00:08 nonaka Exp $
+# $NetBSD: majors,v 1.76 2016/12/08 11:31:08 nat Exp $
 #
 # Device majors for Machine-Independent drivers.
 #
@@ -71,5 +71,7 @@ device-major lua       char 209         
 # 260-269 reserved for previously not MI tty devices
 # 310-339 reserved for previously not MI storage devices
 
+device-major spkr      char 240		   spkr
+
 device-major hdmicec   char 340            hdmicec
 device-major nvme      char 341		   nvme

Index: src/sys/dev/audiobell.c
diff -u src/sys/dev/audiobell.c:1.8 src/sys/dev/audiobell.c:1.9
--- src/sys/dev/audiobell.c:1.8	Tue May 12 10:22:31 2009
+++ src/sys/dev/audiobell.c	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,5 @@
-/*	$NetBSD: audiobell.c,v 1.8 2009/05/12 10:22:31 cegger Exp $	*/
+/*	$NetBSD: audiobell.c,v 1.9 2016/12/08 11:31:08 nat Exp $	*/
+
 
 /*
  * Copyright (c) 1999 Richard Earnshaw
@@ -31,12 +32,13 @@
  */
 
 #include <sys/types.h>
-__KERNEL_RCSID(0, "$NetBSD: audiobell.c,v 1.8 2009/05/12 10:22:31 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: audiobell.c,v 1.9 2016/12/08 11:31:08 nat Exp $");
 
 #include <sys/audioio.h>
 #include <sys/conf.h>
 #include <sys/device.h>
 #include <sys/fcntl.h>
+#include <sys/ioctl.h>
 #include <sys/malloc.h>
 #include <sys/null.h>
 #include <sys/systm.h>
@@ -46,6 +48,7 @@ __KERNEL_RCSID(0, "$NetBSD: audiobell.c,
 #include <dev/audiobellvar.h>
 
 extern dev_type_open(audioopen);
+extern dev_type_ioctl(audioioctl);
 extern dev_type_write(audiowrite);
 extern dev_type_close(audioclose);
 
@@ -134,36 +137,54 @@ audiobell_synthesize(uint8_t *buf, u_int
 }
 
 void
-audiobell(void *arg, u_int pitch, u_int period, u_int volume, int poll)
+audiobell(int arg, u_int pitch, u_int period, u_int volume, int poll)
 {
-	device_t audio = arg;
+	dev_t audio = arg;
 	uint8_t *buf;
+	struct audio_info ai;
 	struct uio auio;
 	struct iovec aiov;
+	int size, len, offset;
 
 	/* The audio system isn't built for polling. */
 	if (poll) return;
 
 	/* If not configured, we can't beep. */
-	if (audioopen(AUDIO_DEVICE | device_unit(audio), FWRITE, 0, NULL) != 0)
+	if (audioopen(AUDIO_DEVICE | audio, FWRITE, 0, NULL) != 0)
 		return;
 
-	buf = malloc(period * 8, M_TEMP, M_WAITOK);
-	if (buf == NULL) goto out;
-	if (audiobell_synthesize(buf, pitch, period, volume) != 0) goto out;
+	if (audioioctl((dev_t)(AUDIO_DEVICE | audio),
+	    AUDIO_GETINFO, &ai, 0, NULL) != 0)
+		return;
 
-	aiov.iov_base = (void *)buf;
-	aiov.iov_len = period * 8;
-	auio.uio_iov = &aiov;
-	auio.uio_iovcnt = 1;
-	auio.uio_offset = 0;
-	auio.uio_resid = period * 8;
-	auio.uio_rw = UIO_WRITE;
-	UIO_SETUP_SYSSPACE(&auio);
+	buf = NULL;
 
-	audiowrite(AUDIO_DEVICE | device_unit(audio), &auio, 0);
+	len = period * 8;
+	size = min(len, ai.blocksize);
+	if (size == 0) goto out;
 
+	buf = malloc(size, M_TEMP, M_WAITOK);
+	if (buf == NULL) goto out;
+
+	offset = 0;
+	while (len > 0) {
+		size = min(len, ai.blocksize);
+		if (audiobell_synthesize(buf, pitch, size / 8, volume) != 0)
+			goto out;
+		aiov.iov_base = (void *)buf;
+		aiov.iov_len = size;
+		auio.uio_iov = &aiov;
+		auio.uio_iovcnt = 1;
+		auio.uio_offset = 0;
+		auio.uio_resid = size;
+		auio.uio_rw = UIO_WRITE;
+		UIO_SETUP_SYSSPACE(&auio);
+
+		audiowrite(AUDIO_DEVICE | audio, &auio, 0);
+		len -= size;
+		offset += size;
+	}
 out:
 	if (buf != NULL) free(buf, M_TEMP);
-	audioclose(AUDIO_DEVICE | device_unit(audio), FWRITE, 0, NULL);
+	audioclose(AUDIO_DEVICE | audio, FWRITE, 0, NULL);
 }

Index: src/sys/dev/audiobellvar.h
diff -u src/sys/dev/audiobellvar.h:1.6 src/sys/dev/audiobellvar.h:1.7
--- src/sys/dev/audiobellvar.h:1.6	Tue May 12 10:22:31 2009
+++ src/sys/dev/audiobellvar.h	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: audiobellvar.h,v 1.6 2009/05/12 10:22:31 cegger Exp $	*/
+/*	$NetBSD: audiobellvar.h,v 1.7 2016/12/08 11:31:08 nat Exp $	*/
 
 /*-
  * Copyright (c) 2004 Ben Harris
@@ -38,4 +38,4 @@
  * This function is designed to be passed to pckbd_hookup_bell() and
  * equivalents.
  */
-extern void audiobell(void *, u_int, u_int, u_int, int);
+extern void audiobell(int, u_int, u_int, u_int, int);

Index: src/sys/dev/files.audio
diff -u src/sys/dev/files.audio:1.4 src/sys/dev/files.audio:1.5
--- src/sys/dev/files.audio:1.4	Thu Dec  8 10:28:44 2016
+++ src/sys/dev/files.audio	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: files.audio,v 1.4 2016/12/08 10:28:44 nat Exp $
+#	$NetBSD: files.audio,v 1.5 2016/12/08 11:31:08 nat Exp $
 
 define	audiobus	{ }
 define	midibus		{ }
@@ -17,6 +17,8 @@ device	audio {}: audiodev, auconv, aurat
 attach	audio at audiobus
 device	midi: audio
 attach	midi at midibus
+device	spkr: audiobell
+attach  spkr at audio with spkr_synth
 
 # console bell via audio device
 #
@@ -24,10 +26,11 @@ define	audiobell
 
 file	dev/auconv.c			auconv
 file	dev/audio.c			audio			needs-flag
-file	dev/audiobell.c			audiobell
+file	dev/audiobell.c			audiobell & vaudiospeaker needs-flag
 file	dev/aurateconv.c		aurateconv		needs-flag
 file	dev/auvolconv.c			auvolconv
 file	dev/midi.c			midi			needs-flag
 file	dev/midictl.c			midisyn
 file	dev/midisyn.c			midisyn
 file	dev/mulaw.c			mulaw			needs-flag
+file	dev/spkr_synth.c		spkr & vaudiospeaker	needs-flag

Index: src/sys/dev/isa/files.isa
diff -u src/sys/dev/isa/files.isa:1.164 src/sys/dev/isa/files.isa:1.165
--- src/sys/dev/isa/files.isa:1.164	Mon Oct 17 18:23:49 2016
+++ src/sys/dev/isa/files.isa	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,4 @@
-#	$NetBSD: files.isa,v 1.164 2016/10/17 18:23:49 jdolecek Exp $
+#	$NetBSD: files.isa,v 1.165 2016/12/08 11:31:08 nat Exp $
 #
 # Config file and device description for machine-independent ISA code.
 # Included by ports that need it.  Requires that the SCSI files be
@@ -433,9 +433,10 @@ file	dev/isa/radiotrack2.c		rtii
 device	pcppi {}
 attach	pcppi at isa
 file	dev/isa/pcppi.c			pcppi			needs-flag
-device	spkr
+
 attach	spkr at pcppi
-file	dev/isa/spkr.c			spkr			needs-flag
+file	dev/isa/spkr.c			spkr & pcppispeaker	needs-flag
+
 attach	midi at pcppi with midi_pcppi: midisyn
 file	dev/isa/midi_pcppi.c		midi_pcppi
 

Index: src/sys/dev/isa/spkr.c
diff -u src/sys/dev/isa/spkr.c:1.37 src/sys/dev/isa/spkr.c:1.38
--- src/sys/dev/isa/spkr.c:1.37	Thu Jul 14 10:19:06 2016
+++ src/sys/dev/isa/spkr.c	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,4 @@
-/*	$NetBSD: spkr.c,v 1.37 2016/07/14 10:19:06 msaitoh Exp $	*/
+/*	$NetBSD: spkr.c,v 1.38 2016/12/08 11:31:08 nat Exp $	*/
 
 /*
  * Copyright (c) 1990 Eric S. Raymond (e...@snark.thyrsus.com)
@@ -42,8 +42,9 @@
  *      use hz value from param.c
  */
 
+#ifdef PCPPISPEAKER
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: spkr.c,v 1.37 2016/07/14 10:19:06 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: spkr.c,v 1.38 2016/12/08 11:31:08 nat Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -63,7 +64,6 @@ __KERNEL_RCSID(0, "$NetBSD: spkr.c,v 1.3
 
 #include <dev/isa/spkrio.h>
 
-int spkrprobe(device_t, cfdata_t, void *);
 void spkrattach(device_t, device_t, void *);
 int spkrdetach(device_t, int);
 
@@ -75,9 +75,14 @@ MODULE(MODULE_CLASS_DRIVER, spkr, NULL /
 #include "ioconf.c"
 #endif
 
+#endif /* PCPPISPEAKER */
+
+int spkrprobe(device_t, cfdata_t, void *);
 
+#ifdef PCPPISPEAKER
 CFATTACH_DECL_NEW(spkr, 0,
     spkrprobe, spkrattach, spkrdetach, NULL);
+#endif
 
 dev_type_open(spkropen);
 dev_type_close(spkrclose);
@@ -99,7 +104,9 @@ const struct cdevsw spkr_cdevsw = {
 	.d_flag = D_OTHER
 };
 
+#ifdef PCPPISPEAKER
 static pcppi_tag_t ppicookie;
+#endif
 
 #define SPKRPRI (PZERO - 1)
 
@@ -109,6 +116,7 @@ static void playinit(void);
 static void playtone(int, int, int);
 static void playstring(char *, int);
 
+#ifdef PCPPISPEAKER
 static void
 tone(u_int xhz, u_int ticks)
 /* emit tone of frequency hz for given number of ticks */
@@ -131,6 +139,7 @@ rest(int ticks)
     if (ticks > 0)
 	    tsleep(rest, SPKRPRI | PCATCH, "rest", ticks);
 }
+#endif
 
 /**************** PLAY STRING INTERPRETER BEGINS HERE **********************
  *
@@ -424,6 +433,7 @@ spkrprobe(device_t parent, cfdata_t matc
 	return (!spkr_attached);
 }
 
+#ifdef PCPPISPEAKER
 void
 spkrattach(device_t parent, device_t self, void *aux)
 {
@@ -445,6 +455,7 @@ spkrdetach(device_t self, int flags)
 
 	return 0;
 }
+#endif
 
 int
 spkropen(dev_t dev, int	flags, int mode, struct lwp *l)

Index: src/sys/dev/wscons/wskbd.c
diff -u src/sys/dev/wscons/wskbd.c:1.136 src/sys/dev/wscons/wskbd.c:1.137
--- src/sys/dev/wscons/wskbd.c:1.136	Mon Aug 24 22:50:33 2015
+++ src/sys/dev/wscons/wskbd.c	Thu Dec  8 11:31:08 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: wskbd.c,v 1.136 2015/08/24 22:50:33 pooka Exp $ */
+/* $NetBSD: wskbd.c,v 1.137 2016/12/08 11:31:08 nat Exp $ */
 
 /*
  * Copyright (c) 1996, 1997 Christopher G. Demetriou.  All rights reserved.
@@ -105,7 +105,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wskbd.c,v 1.136 2015/08/24 22:50:33 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wskbd.c,v 1.137 2016/12/08 11:31:08 nat Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_ddb.h"
@@ -156,6 +156,10 @@ int	wskbddebug = 0;
 
 #include <dev/wscons/wsmuxvar.h>
 
+#ifdef VAUDIOSPEAKER
+#include <dev/spkrvar.h>
+#endif
+
 struct wskbd_internal {
 	const struct wskbd_mapdata *t_keymap;
 
@@ -186,7 +190,7 @@ struct wskbd_softc {
 	int	sc_ledstate;
 
 	int	sc_isconsole;
-
+	
 	struct wskbd_bell_data sc_bell_data;
 	struct wskbd_keyrepeat_data sc_keyrepeat_data;
 #ifdef WSDISPLAY_SCROLLSUPPORT
@@ -1089,16 +1093,27 @@ wskbd_displayioctl(device_t dev, u_long 
 	case WSKBDIO_BELL:
 		if ((flag & FWRITE) == 0)
 			return (EACCES);
+#ifndef VAUDIOSPEAKER
 		return ((*sc->sc_accessops->ioctl)(sc->sc_accesscookie,
 		    WSKBDIO_COMPLEXBELL, (void *)&sc->sc_bell_data, flag, l));
+#else
+		wskbd_cnbell(0, sc->sc_bell_data.pitch, sc->sc_bell_data.period,
+		    sc->sc_bell_data.volume);
+		return 0;
+#endif
 
 	case WSKBDIO_COMPLEXBELL:
 		if ((flag & FWRITE) == 0)
 			return (EACCES);
 		ubdp = (struct wskbd_bell_data *)data;
 		SETBELL(ubdp, ubdp, &sc->sc_bell_data);
+#ifndef VAUDIOSPEAKER
 		return ((*sc->sc_accessops->ioctl)(sc->sc_accesscookie,
 		    WSKBDIO_COMPLEXBELL, (void *)ubdp, flag, l));
+#else
+		wskbd_cnbell(0, ubdp->pitch, ubdp->period, ubdp->volume);
+		return 0;
+#endif
 
 	case WSKBDIO_SETBELL:
 		if ((flag & FWRITE) == 0)
@@ -1466,10 +1481,14 @@ wskbd_cnbell(dev_t dev, u_int pitch, u_i
 	if (!wskbd_console_initted)
 		return;
 
+#ifndef VAUDIOSPEAKER
 	if (wskbd_console_data.t_consops->bell != NULL)
 		(*wskbd_console_data.t_consops->bell)
 		    (wskbd_console_data.t_consaccesscookie, pitch, period,
 			volume);
+#else
+	speaker_play(pitch, period, volume);
+#endif
 }
 
 static inline void

Added files:

Index: src/sys/dev/spkr_synth.c
diff -u /dev/null src/sys/dev/spkr_synth.c:1.1
--- /dev/null	Thu Dec  8 11:31:16 2016
+++ src/sys/dev/spkr_synth.c	Thu Dec  8 11:31:08 2016
@@ -0,0 +1,255 @@
+/*	$NetBSD: spkr_synth.c,v 1.1 2016/12/08 11:31:08 nat Exp $	*/
+
+/*-
+ * Copyright (c) 2016 Nathanial Sloss <nathanialsl...@yahoo.com.au>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifdef VAUDIOSPEAKER
+#include <sys/cdefs.h>
+__KERNEL_RCSID(0, "$NetBSD: spkr_synth.c,v 1.1 2016/12/08 11:31:08 nat Exp $");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/errno.h>
+#include <sys/device.h>
+#include <sys/malloc.h>
+#include <sys/module.h>
+#include <sys/uio.h>
+#include <sys/proc.h>
+#include <sys/ioctl.h>
+#include <sys/conf.h>
+#include <sys/condvar.h>
+#include <sys/mutex.h>
+#include <sys/kthread.h>
+#include <sys/sysctl.h>
+#include <dev/audio_if.h>
+#include <dev/audiovar.h>
+
+struct vbell_args {
+	device_t *cookie;
+	u_int pitch;
+	u_int period;
+	u_int volume;
+	bool dying;
+};
+
+void bell_thread(void *);
+static int beep_sysctl_device(SYSCTLFN_PROTO);
+
+#include <dev/audiobellvar.h>
+
+#include <dev/spkrvar.h>
+#include <dev/isa/spkrio.h>
+
+#include "isa/spkr.c"
+
+int spkrprobe(device_t, cfdata_t, void *);
+void spkrattach(device_t, device_t, void *);
+int spkrdetach(device_t, int);
+device_t speakerattach_mi(device_t);
+
+#include "ioconf.h"
+
+MODULE(MODULE_CLASS_DRIVER, spkr, NULL /* "audio" */);
+
+#ifdef _MODULE
+#include "ioconf.c"
+#endif
+
+
+CFATTACH_DECL3_NEW(spkr_synth, 0,
+    spkrprobe, spkrattach, spkrdetach, NULL, NULL, NULL, DVF_DETACH_SHUTDOWN);
+
+extern struct cfdriver audio_cd;
+
+static struct sysctllog	*spkr_sc_log;	/* sysctl log */
+static int beep_index = 0;
+
+struct vbell_args sc_bell_args;
+lwp_t		*sc_bellthread;
+kmutex_t	sc_bellock;
+kcondvar_t	sc_bellcv;
+
+struct spkr_attach_args {
+	device_t dev;
+};
+
+static void
+tone(u_int xhz, u_int ticks)
+{
+	audiobell(beep_index, xhz, ticks * (1000 / hz), 80, 0);
+}
+
+static void
+rest(int ticks)
+{
+#ifdef SPKRDEBUG
+    printf("rest: %d\n", ticks);
+#endif /* SPKRDEBUG */
+    if (ticks > 0)
+	audiobell(beep_index, 0, ticks * (1000 / hz), 80, 0);
+}
+
+device_t
+speakerattach_mi(device_t dev)
+{
+	struct spkr_attach_args sa;
+	sa.dev = dev;
+	return config_found(dev, &sa, NULL);
+}
+
+void
+spkrattach(device_t parent, device_t self, void *aux)
+{
+	const struct sysctlnode *node;
+
+	printf("\n");
+	beep_index = 0;
+	spkr_attached = 1;
+	
+	if (!pmf_device_register(self, NULL, NULL))
+		aprint_error_dev(self, "couldn't establish power handler\n"); 
+	mutex_init(&sc_bellock, MUTEX_DEFAULT, IPL_SCHED);
+	cv_init(&sc_bellcv, "bellcv");
+
+	/* sysctl set-up for default audio device */
+	sysctl_createv(&spkr_sc_log, 0, NULL, &node,
+		0,
+		CTLTYPE_NODE, "beep",
+		SYSCTL_DESCR("synthesized beeper information"),
+		NULL, 0,
+		NULL, 0,
+		CTL_HW,
+		CTL_CREATE, CTL_EOL);
+
+	if (node != NULL) {
+		sysctl_createv(&spkr_sc_log, 0, NULL, NULL,
+			CTLFLAG_READWRITE,
+			CTLTYPE_INT, "device",
+			SYSCTL_DESCR("default device"),
+			beep_sysctl_device, 0,
+			NULL, 0,
+			CTL_HW, node->sysctl_num,
+			CTL_CREATE, CTL_EOL);
+	}
+
+	kthread_create(PRI_BIO, KTHREAD_MPSAFE | KTHREAD_MUSTJOIN, NULL,
+	    bell_thread, &sc_bell_args, &sc_bellthread, "vbell");
+}
+
+int
+spkrdetach(device_t self, int flags)
+{
+
+	pmf_device_deregister(self);
+
+	mutex_enter(&sc_bellock);
+	sc_bell_args.dying = true;
+
+	cv_broadcast(&sc_bellcv);
+	mutex_exit(&sc_bellock);
+
+	kthread_join(sc_bellthread);
+	cv_destroy(&sc_bellcv);
+	mutex_destroy(&sc_bellock);
+
+	/* delete sysctl nodes */
+	sysctl_teardown(&spkr_sc_log);
+
+	spkr_attached = 0;
+
+	return 0;
+}
+
+void
+bell_thread(void *arg)
+{
+	struct vbell_args *vb = arg;
+	u_int bpitch;
+	u_int bperiod;
+	u_int bvolume;
+	
+	for (;;) {
+		mutex_enter(&sc_bellock);
+		cv_wait_sig(&sc_bellcv, &sc_bellock);
+		
+		if (vb->dying == true) {
+			mutex_exit(&sc_bellock);
+			kthread_exit(0);
+		}
+		
+		bpitch = vb->pitch;
+		bperiod = vb->period;
+		bvolume = vb->volume;
+		mutex_exit(&sc_bellock);
+		audiobell(beep_index, bpitch, bperiod, bvolume, 0);
+	}
+}
+
+void
+speaker_play(u_int pitch, u_int period, u_int volume)
+{
+	if (spkr_attached == 0 || beep_index == -1)
+		return;
+
+	mutex_enter(&sc_bellock);
+	sc_bell_args.dying = false;
+	sc_bell_args.pitch = pitch;
+	sc_bell_args.period = period;
+	sc_bell_args.volume = volume;
+
+	cv_broadcast(&sc_bellcv);
+	mutex_exit(&sc_bellock);
+}
+
+/* sysctl helper to set common audio channels */
+static int
+beep_sysctl_device(SYSCTLFN_ARGS)
+{
+	struct sysctlnode node;
+	struct audio_softc *ac;
+	int t, error;
+
+	node = *rnode;
+
+	t = beep_index;
+	node.sysctl_data = &t;
+	error = sysctl_lookup(SYSCTLFN_CALL(&node));
+	if (error || newp == NULL)
+		return error;
+
+	
+	if (t < -1 || (t != -1 && (ac = device_lookup_private(&audio_cd, t)) ==
+	    NULL))
+		return EINVAL;
+
+	beep_index = t;
+
+	return error;
+}
+
+#endif /* VAUDIOSPEAKER */
+/* spkr.c ends here */
Index: src/sys/dev/spkrvar.h
diff -u /dev/null src/sys/dev/spkrvar.h:1.1
--- /dev/null	Thu Dec  8 11:31:16 2016
+++ src/sys/dev/spkrvar.h	Thu Dec  8 11:31:08 2016
@@ -0,0 +1,9 @@
+/* $NetBSD: spkrvar.h,v 1.1 2016/12/08 11:31:08 nat Exp $ */
+
+#ifndef _SYS_DEV_SPKRVAR_H
+#define _SYS_DEV_SPKRVAR_H
+
+device_t speakerattach_mi(device_t);
+void speaker_play(u_int, u_int, u_int);
+
+#endif /* _SYS_DEV_SPKRVAR_H */

Reply via email to