WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: ron minnich <rminnich@xxxxxxxx>
Subject: Re: [Xen-devel] debugging hypervisor console I/O
From: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>
Date: Thu, 27 May 2004 17:23:02 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx, Ian.Pratt@xxxxxxxxxxxx
Delivery-date: Thu, 27 May 2004 17:30:14 +0100
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: Your message of "Thu, 27 May 2004 08:56:03 MDT." <Pine.LNX.4.44.0405270852390.21178-100000@xxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
> 
> 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

<Prev in Thread] Current Thread [Next in Thread>