[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 06/10] ARM: VGIC: split up gic_dump_info() to cover virtual part separately
On Thu, 7 Dec 2017, Andre Przywara wrote: > Currently gic_dump_info() not only dumps the hardware state of the GIC, > but also the VGIC internal virtual IRQ lists. > Split the latter off and move it into gic-vgic.c to observe the abstraction. > > Signed-off-by: Andre Przywara <andre.przywara@xxxxxxxxxx> Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > xen/arch/arm/domain.c | 1 + > xen/arch/arm/gic-vgic.c | 11 +++++++++++ > xen/arch/arm/gic.c | 12 ------------ > xen/include/asm-arm/gic.h | 1 + > 4 files changed, 13 insertions(+), 12 deletions(-) > > diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c > index 73f4d4b2b2..5d2943b800 100644 > --- a/xen/arch/arm/domain.c > +++ b/xen/arch/arm/domain.c > @@ -942,6 +942,7 @@ long arch_do_vcpu_op(int cmd, struct vcpu *v, > XEN_GUEST_HANDLE_PARAM(void) arg) > void arch_dump_vcpu_info(struct vcpu *v) > { > gic_dump_info(v); > + gic_dump_vgic_info(v); > } > > void vcpu_mark_events_pending(struct vcpu *v) > diff --git a/xen/arch/arm/gic-vgic.c b/xen/arch/arm/gic-vgic.c > index 971b3bfe37..90b827c574 100644 > --- a/xen/arch/arm/gic-vgic.c > +++ b/xen/arch/arm/gic-vgic.c > @@ -403,6 +403,17 @@ void gic_inject(struct vcpu *v) > gic_hw_ops->update_hcr_status(GICH_HCR_UIE, 1); > } > > +void gic_dump_vgic_info(struct vcpu *v) > +{ > + struct pending_irq *p; > + > + list_for_each_entry ( p, &v->arch.vgic.inflight_irqs, inflight ) > + printk("Inflight irq=%u lr=%u\n", p->irq, p->lr); > + > + list_for_each_entry( p, &v->arch.vgic.lr_pending, lr_queue ) > + printk("Pending irq=%d\n", p->irq); > +} > + > /* > * Local variables: > * mode: C > diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c > index 04e6d66b69..4cb74d449e 100644 > --- a/xen/arch/arm/gic.c > +++ b/xen/arch/arm/gic.c > @@ -443,20 +443,8 @@ static void maintenance_interrupt(int irq, void *dev_id, > struct cpu_user_regs *r > > void gic_dump_info(struct vcpu *v) > { > - struct pending_irq *p; > - > printk("GICH_LRs (vcpu %d) mask=%"PRIx64"\n", v->vcpu_id, > v->arch.lr_mask); > gic_hw_ops->dump_state(v); > - > - list_for_each_entry ( p, &v->arch.vgic.inflight_irqs, inflight ) > - { > - printk("Inflight irq=%u lr=%u\n", p->irq, p->lr); > - } > - > - list_for_each_entry( p, &v->arch.vgic.lr_pending, lr_queue ) > - { > - printk("Pending irq=%d\n", p->irq); > - } > } > > void init_maintenance_interrupt(void) > diff --git a/xen/include/asm-arm/gic.h b/xen/include/asm-arm/gic.h > index 28cf16654a..4f4fd555c1 100644 > --- a/xen/include/asm-arm/gic.h > +++ b/xen/include/asm-arm/gic.h > @@ -285,6 +285,7 @@ extern void send_SGI_allbutself(enum gic_sgi sgi); > > /* print useful debug info */ > extern void gic_dump_info(struct vcpu *v); > +extern void gic_dump_vgic_info(struct vcpu *v); > > /* Number of interrupt lines */ > extern unsigned int gic_number_lines(void); > -- > 2.14.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |