On Wed, 2015-11-11 at 12:49 +0000, Julien Grall wrote: > > > + if ( s->enabled ) > > + gicv2_irq_disable(desc); > > Don't we want to disable the IRQ first and then saving the state?
We need at least the enable/disable state first. Perhaps some of the other stuff might be better done afterwards, I'll have a think. > > > > +static void gicv3_save_and_mask_hwppi(struct irq_desc *desc, > > + struct hwppi_state *s) > > +{ > > + const unsigned int mask = (1u << desc->irq); > > + const unsigned int pendingr = readl_relaxed(GICD_RDIST_SGI_BASE + > > GICR_ISPENDR); > > + const unsigned int activer = readl_gicd(GICD_RDIST_SGI_BASE + > > GICR_ISACTIVER); > > + const unsigned int enabler = readl_gicd(GICD_RDIST_SGI_BASE + > > GICR_ISENABLER); > > Those registers don't exists. Did you try to build the GICv3 code? I thought so (and was a bit surprised there were apparently all the right defines in place). But actually I was building for arm32 and had forgotten that doesn't build gicv3. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel