On Wed, 19 Nov 2014, Andrii Tseglytskyi wrote: > Hi Stefano, > > > > if ( !list_empty(¤t->arch.vgic.lr_pending) && lr_all_full() ) > > > - GICH[GICH_HCR] |= GICH_HCR_UIE; > > > + GICH[GICH_HCR] |= GICH_HCR_NPIE; > > > else > > > - GICH[GICH_HCR] &= ~GICH_HCR_UIE; > > > + GICH[GICH_HCR] &= ~GICH_HCR_NPIE; > > > > > > } > > > > Yes, exactly > > I tried, hang still occurs with this change
We need to figure out why during the hang you still have all the LRs busy even if you are getting maintenance interrupts that should cause them to be cleared. Could you please call gic_dump_info(current) from maintenance_interrupt, and post the output during the hang? Remove the other gic_dump_info to avoid confusion, we want to understand what is the status of the LRs after clearing them upon receiving a maintenance interrupt at busy times. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel