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

[Xen-ia64-devel] RE: [PATCH] fixed serial console support


  • To: "Williamson, Alex (Linux Kernel Dev)" <alex.williamson@xxxxxx>
  • From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
  • Date: Sat, 3 Dec 2005 08:33:44 -0800
  • Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Sat, 03 Dec 2005 16:33:22 +0000
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcX3m06ngjt/QctdSzil8ftLOxtZWwAgGUxQ
  • Thread-topic: [PATCH] fixed serial console support

I actually manually removed the #ifdefs but other than
that I did the same.

I added some debug output and initialize_keytable is
definitely getting called, as is serial_init_postirq,
however either serial_init_postirq is not returning
or serial output gets disabled... a printk I added
after the call to serial_init_postirq is not printing.

I added some printks within serial_init_postirq.
It calls driver->init_postirq on com[0] but this
call never returns.

More debugging:

ns16550_init_postirq is called with port=0xf0000000040d0500,
uart->irq = 9, then serial_async_trasmit is called and
never returns.

serial_async_transmit is called with port=0xf0000000040d5000,
port->driver=0xf0000000040d04d0, port->driver->tx_empty=
0xf00000000409b520 and port->txbuf=0.  It calls
alloc_xenheap_pages(0) (get_order_from_bytes(SERIAL_TXBUFSZ)=0),
but alloc_xenheap_pages never returns.  Or more precisely,
alloc_xenheap_pages gets to its successful return statement
(return page_to_virt(pg)) and page_to_virt(pg)==0xf000000007ff8000
but never returns to the point of call in serial_async_transmit!
(Maybe the stack got trashed? Checking the sp at the point
of return from alloc_xenheap_pages, sp and bsp don't seem to
conflict with the page being returned. Or maybe a register
stack miss occurs here?)

That's as far as I've gotten isolating this.

One possible difference: My test box has a video card
and the EFI serial input/output are set to multiple
inputs/outputs.  Perhaps a bogus interrupt is getting
delivered before everything is set up to receive them?
(doubtful... it appears interrupts are off through all
of the above)  Or maybe it causes a xenheap allocation
that does not occur on your system and this allocation
has some strange interaction?

I'll try all this on another box (Monday).

Dan

> -----Original Message-----
> From: Williamson, Alex (Linux Kernel Dev) 
> Sent: Friday, December 02, 2005 4:51 PM
> To: Magenheimer, Dan (HP Labs Fort Collins)
> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: RE: [PATCH] fixed serial console support
> 
> On Fri, 2005-12-02 at 15:42 -0800, Magenheimer, Dan (HP Labs Fort
> Collins) wrote:
> > I tried turning on this patch in tip (and turning off
> > CONFIG_SERIAL_8250).
> > 
> > When I boot Xen, it freezes at "About to call ac_timer_init"
> > and never makes it to loading dom0.
> > 
> > Perhaps something changed in xen-unstable since this
> > was tested?
> 
>   That sounds like what happens when initialize_keytable() 
> isn't called.
> I just booted on 8188 and it worked fine.  The steps I took are:
> 
> 1) edit xen/include/asm-ia64/config.h add:
>       #define CONFIG_XEN_CONSOLE_INPUT
> 2) make
> 3) remove CONFIG_SERIAL_8250 from linuux-2.6.12-xen0/.config
> 4) make
> 
> Does that work?  Thanks,
> 
>       Alex
> 
> -- 
> Alex Williamson                             HP Linux & Open Source Lab
> 
> 

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.