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)
gic_hw_ops->update_hcr_status(GICH_HCR_UIE, true);
}
+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
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)
/* 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);