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] trying to understand interrupts from xen->guest

To: ron minnich <rminnich@xxxxxxxx>
Subject: Re: [Xen-devel] trying to understand interrupts from xen->guest
From: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Date: Fri, 25 Jun 2004 15:25:23 +0100
Cc: Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Fri, 25 Jun 2004 15:27:40 +0100
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: Your message of "Fri, 25 Jun 2004 07:57:59 MDT." <Pine.LNX.4.44.0406250756590.22552-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
> I'm definitely getting an interrupt from xen when I disable the mask. 
> 
> Any idea why this would happen? I hvae set the callback address at this 
> point. 
> 
> hmm maybe it is calling back to 0 ... that would explain my call frame 
> completely. 

Not sure what you mean here. Yes, you could get an interrupt on
event-channel 0 -- at start of day no event channels are masked, but
also none are bound to event sources. The only exception is evtchn 0,
which is statically bound to VIRQ_MISDIRECT. This is a 'dumping
ground' for any VIRQs that occur that you have not yet bound to an
event channel.

So, you are receiving periodic ticks on VIRQ_TIMER. These aren't
bouind to an event channel, so they get passed to VIRQ_MISDIRECT which
is bound to evtchn0. This causes the pend flag to get set for your
domain, and so you get an interrupt next time you disable the mask.

Of course, you don't get the interrupt immediately. :-) You get it
next time Xen is invoked and then returns to you. If you want to
process outstanding events sooner then you need to manually check the
pending flag and take appropriate action. This is what I do in Linux's
'enable_local_irq()' function, for example.

 -- Keir


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel