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/
Home Products Support Community News


[Xen-devel] Blocking upcall to dom0

To: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Blocking upcall to dom0
From: Andrew Biggadike <biggadike@xxxxxxx>
Date: Mon, 28 Feb 2005 18:04:06 -0500
Delivery-date: Tue, 01 Mar 2005 01:52:39 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
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
User-agent: Mutt/1.5.6+20040907i

I'm working on a project in which I'd like to implement an upcall into
dom0 from certain points within Xen, where Xen is running in the context
of one of the unprivileged domains.  The upcall will pass a
variable-sized data structure (up to a few hundred bytes) to dom0, and
I need Xen to block on the completion of this upcall.  Also, it's
important that the source of the upcall start from within Xen itself,
rather than the domU guest.

For example, on each hypercall from a particular domU, I'd want to
collect a bunch of state from within Xen and pass that state to dom0,
then wait for a return value before continuing on with the hypercall.  

I'm looking for suggestions on the best way to go about this.  I've just
started looking at the event channel code and I'm wondering how I can
best use this.  My first thought is to create a virtual interrupt, but
I'm not sure whether this will synchronously deliver the VIRQ and wait
for dom0 to complete before proceeding.  Another issue is how best to
pass the data, though it appears a shared page between Xen and dom0 is
the preferred approach.

Any information or pointers to files/functions would be a great help.

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