From: Richard <judicator3@gmail.com>
To: andrew.warfield@cl.cam.ac.uk
Cc: xen-devel@lists.sourceforge.net
Subject: Re: console driver - How domain0 processes console messages ?
Date: Wed, 16 Feb 2005 03:38:05 -0500 [thread overview]
Message-ID: <a146ff9b050216003837a321e6@mail.gmail.com> (raw)
In-Reply-To: <eacc82a405021523546a3ad773@mail.gmail.com>
On Wed, 16 Feb 2005 07:54:22 +0000, Andrew Warfield
<andrew.warfield@gmail.com> wrote:
> Console messages currently share the same shared memory rings that
> control messages use. As such, ctrl_if_send_message_noblock(), is a
> non-blocking send on these rings, and ctrl_if_notify_controller() is
> an event channel notification of a control event. Aside from console
> messages, control messages are exactly that -- things like driver
> setup and connection. See xen/include/public/io/domain_controller.h
> for a full list.
>
> The control message rings are mapped to user space in dom0 through
> calls to libxc, while the notification is delivered to dom0 via
> /dev/evtchn. If you are using stable or testing, these rings are
> accessed directly by xend, see tools/python/xen/lowlevel/xu/xu.c
> (especially the notifier and port objects therein). If you are using
> the unstable tree, xcs (tools/xcs/xcs.c) demultiplexes the shared
> rings/event channels.
>
> In xend, consol messages are eventually handled in
> tools/python/xen/xend/server/console.py.
>
> Hope that helps. We plan to separate the console messages from the
> control rings in the very near future, allowing them to have a
> separate driver and be throttled independent of control messages.
> This should make the current interface considerably simpler.
Hello Andrew,
Thanks for all the info, I am working on a stable tree of XEN.
I am actually working on the mini-os. I am now porting some drivers to
the mini-os and I am starting with the console driver since it is the
simplest and uses the same communication ring as regular event
messages.
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.
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.
Thanks
Richard
-------------------------------------------------------
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.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
next prev parent reply other threads:[~2005-02-16 8:38 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-02-16 6:10 console driver - How domain0 processes console messages ? Richard
2005-02-16 7:54 ` Andrew Warfield
2005-02-16 8:38 ` Richard [this message]
2005-02-16 9:35 ` Andrew Warfield
2005-02-17 1:26 ` Anthony Liguori
2005-02-21 3:04 ` Richard
2005-02-16 8:38 ` aq
[not found] ` <eacc82a405021600562ed346d2@mail.gmail.com>
2005-02-16 8:57 ` Andrew Warfield
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a146ff9b050216003837a321e6@mail.gmail.com \
--to=judicator3@gmail.com \
--cc=andrew.warfield@cl.cam.ac.uk \
--cc=xen-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.