This note supercedes all my previous keyboard crash notes.
No crash dump, but I caught the panic with a video recording; this is
typed from that.
I did this by powering up the computer with the keyboard plugged in
(because otherwise the BIOS says "keyboard failure - press F2 to
continue"!), and then unplugged it while /boot was running, so that the
XEN3_DOM0 kernel would boot up, replay log on /, and stabilize. At this
point it's up and I can log in over ssh.
Then, I started video recording and plugged in the keyboard, which
resulted in a crash within a second or two.
The kernel prints
uhidev0: [apple keyboard]
ukbd0 at uhidev0
The next line is a panic and the call chain is basically:
[normal USB discovery]
ukbd_attach
wskbd_cnattach
line 523: KASSERT(!wskbd_console_initted);
so we are trying to attach a second console.
Looking at dmesg from a boot of this same kernel without a keyboard, I
see (in addition to many things that seem unremarkable):
xencons0 at hypervisor0: Xen Virtual Console Driver
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
For completeness, my /boot line is
menu=Xen:load /netbsd-XEN3_DOM0.gz console=pc;multiboot /xen.gz dom0_mem=4096M
and I have two trivial debug changes for coda and puffs. nothing in
USB, xen, keyboards, console is different. And GENERIC from the same
release build works fine on this machine.
So:
Is Xen itself supposed to grab this keyboard?
Is the dom0 supposed to be using hardware for the system console, and
use xencons0 to get 'xl dmesg' output from the hypervisor, with no way
for Xen to get console keyboard input?
It seems that when wsdisplay attaches to the vga, to provide an output
path, it conjures up wskbd mux (1, not 0??) for the reverse path and
marks it as console -- even though there is no input. And then the
keyboard later collides somehow.
There is a variable for ukbd being console
separately from all the other things that could be console, but I
think this is about one and only one ukbd being the console. I don't
understand what else woudl have claimed it that is a ukbd.
This problem does not seem to be about my hardware; is anyone else
seeing this? Why not?
Attachment:
signature.asc
Description: PGP signature