Port-xen archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

NetBSD-current dom0 crash with keyboard



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



Home | Main Index | Thread Index | Old Index

AltStyle によって変換されたページ (->オリジナル) /