[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |