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

Re: [Xen-devel] question on the evtchan stuff

> On Fri, 18 Jun 2004, Keir Fraser wrote:
> > 
> > Yes, pretty much. I/O will require you to implement virtual drivers
> > based on interdomain communications (i.e., shared memory + inter-domin
> > event channels). You could perhaps get some mileage out of the Linux
> > drivers though (also, using those will allow you to track changes in
> > the API as we move towards a 2.0 release of Xen).
> so the virtual drivers will require PIRQ support in the guest? I was a bit 
> unclear on this one. I'm so used to i8259 oddness and limitations that I 
> figured you would deliver virtual dirver interrupts as VIRQs -- I'm wrong 
> there?
> Ah well, more reading. I'm trying to get the console up as Plan 9 is now 
> starting the boot process, which in turn is asking me what the root is ... 
> but I can't tell it :-)
> ron

The only event notification mechanism provided by Xen is event
channels. VIRQs are kind-of a special case of these -- you can bind an
event channel to a number of different sources, mainly:
 1. VIRQs
 2. PIRQs
 3. An event-channel point in another domain (i.e., inter-dom channel)

In a non-privileged guest, the only VIRQ you need care about is
VIRQ_TIMER (although VIRQ_DEBUG may also be useful).

You don't need to worry about PIRQs at all.

Everything else is done via inter-domain event channels. Generally
these are set up for you by control software in DOM0, and you are told
the port address of your end of the channel. You can then send
notifications to the far end, and receive async notifications

There is one bootstrap comms channel that is created for you to talk
to the control software -- you get told the address of that endpoint
in your start_info structure; the shared memory for messages is the
second half of the shared_info page. For message formats and a
sensible abstraction layer see tools/xend/lib/domain_controller.h
(this is #include'd into your OS), and
linux-2.4.26-xen-sparse/arch/xen/kernel/evtchn.c, and
linux-2.4.26-xen-sparse/arch/xen/kernel/ctrl_if.c, and

Yes -- we desperately need some API docs! :-D

 -- Keir

This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
Xen-devel mailing list



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