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

Re: [Xen-devel] fooey. no interrupts.



> I understand my confusion better. 
> 
> cli on linux on xen is this:
> HYPERVISOR_shared_info->vcpu_data[0].evtchn_upcall_mask = 1;
> 
> That disables all interrupts? I'm confused on that, how does this relate 
> to the evtchn_mask? 

The purpose of the evtchn_mask[] array is to disallow callbacks at
per-channel granularity. e.g., for scheduling purposes.

The evtchn_upcall_mask is intended to disallow callbacks in general,
where your OS is in a state that it cannot handle them. i.e., it's to
allow easy reeentrancy control in your OS.

> For cpu 0 do I need to clear BOTH of these for interrupts to happen, and 
> then in the domain itself only mess with the one for vcpu 0? I'm looking 
> at linux U kernel code but want to make sure I get this right. Is this 
> stuff really firmly tested and laid out or still somewhat tentative due to 
> the fact that it's not really tested with vcpu > 0?

For a particular event channel @e to fire you an async callback, you
need:
 1. The original value of bit @e in evtchn_pending[] must be zero.
 2. The value of bit @e in evtchn_mask[] must be zero.
 3. The original value of bit (@e>>5) in evtchn_pending_sel must be zero.
 4. The original value of vcpu_data[0].evtchn_upcall_pending must be zero.
 5. The value of vcpu_data[0].evtchn_upcall_mask must be zero.

If these 5 requirements are satisfied then you _will_ receive a
callback.

 -- Keir


-------------------------------------------------------
SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media
100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33
Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift.
http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

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