[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Serial console hangs with Linux 2.6.20 HVM guest
Anders Kaseorg writes ("Re: [Xen-devel] Serial console hangs with Linux 2.6.20 HVM guest"): > In case this is more interesting, here is a log of all the breakpoints > hit during a Linux boot, up to the point where it hangs: > > http://web.mit.edu/andersk/Public/xen-serial-log Thanks, that's great. But I think it's a kernel bug. The last thing the kernel does is read the IIR (Interrupt Identification Register) twice at a time when the transmit FIFO is empty. Reading the IIR is (sadly) not a side-effect-free operation; specifically, it cancels any outstanding transmit fifo/buffer empty interrupt[1]. So the first time it gets told `Transmit Holding Register Empty interrupt', but that has the effect of clearing the interrupt so the second time it reads the IIRC it gets `no interrupt pending'. [1] I'm getting this out of the National Semiconductor datasheet for the PC16550D, document number TL/C/8652, June 1995. See for example section 8.11 `FIFO Interrupt Mode Operation' item A: The transmit holding register interrupt (02) occurs when the XMIT FIFO is empty; it is cleared as soon as the transmitter holding register is written to ([...]) or the IIR is read. As far as I can see qemu-dm is emulating this accurately. Can you point me at the exact kernel source code you're using ? Thanks, Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |