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

Re: [Xen-devel] debugging hypervisor console I/O



> 
> If you have a guest you are just booting with no console I/O device for 
> xen in the guest, I assume that HYPERVISOR_console_io(0, "HI!\n", 4)
> 
> will get some console I/O down to xen, right? And that xen will arrange 
> for the console I/o to appear on port, e.g., 9611 if I have set the 
> console_port to 9611 in /etc/xc/defaults. 

Not quite. 

HYPERVISOR_console_io is intended for input/output over the
system serial console.

Access is normally restricted to domain 0, but for debug Xen
builds anyone can play.

> I have a guest that can exit but not do console I/O, and I'm trying to 
> track down what is missing. 

The "production" way for guests to generate console output is via
the comms ring to domain0 -- there's an example of how to do this
in xenolinux-sparse/arch/xen/drivers/console/console.c
The mechanism is slightly complicated, so for start of day
debugging you're better off using HYPERVISOR_console_io to the
serial port.

Xen versions up until 1.2 used to have what was known as the
"domain UDP console" which took HYPERVISOR_console_write calls
and generated a fake UDP packet containing the message that was then
delivered to domain 0 via inter-VM networking; A UDP client in
domain 0 displayed the message.

Although this mechanism was nice and simple, it was output-only
and had potential denial of service vulnerabilities for untrusted
guests generating large amounts of output. The new comms ring
mechanism is progress, but not great for bringing up a new guest
OS.

Any kind of development on Xen is much easier with a serial line
anyhow -- you can use ^A^A^A to switch to Xen's debug interface
which has a few useful features (and is trivial to add more).
Hit 'h' for help. The most useful keys are 'd','p','q' and 'R' to
reboot.

> What's a reasonable starting point to debug a lack of console I/O? debug 
> print in Xen for domains > 0?

Plumb your VMWare serial port through to a telnet terminal on
the host OS.

BTW: It would be really great if you could keep a few notes as
you go so that we could compile a 'guest os porting howto'. 

Cheers,
Ian


-------------------------------------------------------
This SF.Net email is sponsored by: Oracle 10g
Get certified on the hottest thing ever to hit the market... Oracle 10g. 
Take an Oracle 10g class now, and we'll give you the exam FREE.
http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

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