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

Re: [Xen-devel] console driver - How domain0 processes console messages ?

  • To: Richard <judicator3@xxxxxxxxx>
  • From: Andrew Warfield <andrew.warfield@xxxxxxxxx>
  • Date: Wed, 16 Feb 2005 09:35:39 +0000
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Wed, 16 Feb 2005 09:38:32 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=fi7iZfN7QJQw5ZTj0heSuoEXl4AnmIudY+aqPOQIg9MDu1SNYIDQe8D7wAoro3QkByEpVGpO+FhyMeJUQrCCTX4rNvMxTsNW7p8KFDxYdj6NNj1jKC9yCVrq3Izqfcz2a7PTrOs9VGje0fdy1qyJn6yr8eImNGpmC6iVLR5SpDA=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>

> Whenever I try to output to the console of mini-os I get some garbage
> (non ascii characters). In XenoLinux, the communication ring is found
> at 2048 bytes offset from the
> shared_info structure. I am refering to the following macro found in ctrl_if.c
> ************************************************************************
> #define get_ctrl_if() ((control_if_t *)((char *)HYPERVISOR_shared_info + 
> 2048))
> ************************************************************************
> Are the control rings found at the same location if I boot something
> else than Linux like for example the mini-os ? I am concern that my
> console driver in mini-os is sending event notification to domain0 but
> is however not writing the messages in the correct location of the
> communication ring and that is why I am getting some  bogus output on
> my console.

The domain build tools tell a gues linux where its shared_info page is
at start of day.  Take a look at
tools/libxc/xc_linux_build.c:xc_linux_build() to see this in action --
the code doeas a GETDOMAININFO hypercall to find out the location of
the shared page for the newly created comain, and then passes this on
the start_info page to the new linux VM.  The startup code is all
called from tools/python/xen/xend/XendDomainInfo.py, which is a bit
convoluted.  Anthony's c-based tools may be an easier reference for
what actually happens during domain startup -- it's effectively just a
series of calls to libxc.

> Next, I am going to look at tools/python/xen/lowlevel/xu/xu.c to see
> if domain0 is  receiving the actual data being sent from mini-os
> console driver.

Sounds like a plan.  I'd thing that you should be able to pull most of
the control ring interaction code straight out of the console driver.

good luck!

SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list



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