Module Name: src
Committed By: gdt
Date: Tue Mar 2 18:10:31 UTC 2021
Modified Files:
src/sys/arch/amd64/conf: XEN3_DOM0
Log Message:
XEN3_DOM0: Fix pckbc console attachment logic
Copy PCKBD_CNATTACH_MAY_FAIL lines from GENERIC to XEN3_DOM0.
GENERIC defines PCKBD_CNATTACH_MAY_FAIL, which means that an attempt
to activate console input on pckbc will fail if there is no keyboard
present. This is a problem on semi-modern machines that have pckbc
silicon but not ports, and thus almost always have a USB keyboard
also. What I suspect are bugs in console attachment logic lead to
attempting to attach a ukbd while there already is a console keyboard,
and with DIAGNOSTIC this is (properly) fatal, so XEN3_DOM0 blows up
with a USB keyboard in current, and probably not in 9.
Live tested on a machine that previously paniced on boot.
To generate a diff of this commit:
cvs rdiff -u -r1.188 -r1.189 src/sys/arch/amd64/conf/XEN3_DOM0
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/amd64/conf/XEN3_DOM0
diff -u src/sys/arch/amd64/conf/XEN3_DOM0:1.188 src/sys/arch/amd64/conf/XEN3_DOM0:1.189
--- src/sys/arch/amd64/conf/XEN3_DOM0:1.188 Tue Mar 2 18:06:12 2021
+++ src/sys/arch/amd64/conf/XEN3_DOM0 Tue Mar 2 18:10:31 2021
@@ -1,4 +1,4 @@
-# $NetBSD: XEN3_DOM0,v 1.188 2021/03/02 18:06:12 gdt Exp $
+# $NetBSD: XEN3_DOM0,v 1.189 2021/03/02 18:10:31 gdt Exp $
# XEN3_DOM0 machine description file
#
@@ -22,7 +22,7 @@ options INCLUDE_CONFIG_FILE # embed con
#options UVMHIST_PRINT
#options SYSCALL_DEBUG
-#ident "XEN3_DOM0-$Revision: 1.188 $"
+#ident "XEN3_DOM0-$Revision: 1.189 $"
maxusers 32 # estimated number of users
@@ -166,6 +166,8 @@ options WSDISPLAY_COMPAT_PCVT # emulat
options WSDISPLAY_COMPAT_SYSCONS # emulate some ioctls
options WSDISPLAY_COMPAT_USL # wsconscfg VT handling
options WSDISPLAY_COMPAT_RAWKBD # can get raw scancodes
+# don't attach pckbd as the console if no PS/2 keyboard is found
+options PCKBD_CNATTACH_MAY_FAIL
# see dev/pckbport/wskbdmap_mfii.c for implemented layouts
#options PCKBD_LAYOUT="(KB_DE | KB_NODEAD)"
# allocate a number of virtual screens at autoconfiguration time