Are slavio_pic_info and slavio_irq_info still used after this patch? On Mon, Sep 26, 2016 at 10:23 PM, Hervé Poussineau <hpous...@reactos.org> wrote: > Signed-off-by: Hervé Poussineau <hpous...@reactos.org> > --- > hw/intc/slavio_intctl.c | 35 +++++++++++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/hw/intc/slavio_intctl.c b/hw/intc/slavio_intctl.c > index e82e893..a9acb64 100644 > --- a/hw/intc/slavio_intctl.c > +++ b/hw/intc/slavio_intctl.c > @@ -26,6 +26,7 @@ > #include "hw/sparc/sun4m.h" > #include "monitor/monitor.h" > #include "hw/sysbus.h" > +#include "hw/intc/intc.h" > #include "trace.h" > > //#define DEBUG_IRQ_COUNT > @@ -418,6 +419,31 @@ static void slavio_intctl_reset(DeviceState *d) > slavio_check_interrupts(s, 0); > } > > +#ifdef DEBUG_IRQ_COUNT > +static bool slavio_intctl_get_statistics(InterruptStatsProvider *obj, > + uint64_t **irq_counts, > + unsigned int *nb_irqs) > +{ > + SLAVIO_INTCTLState *s = SLAVIO_INTCTL(obj); > + *irq_counts = s->irq_count; > + *nb_irqs = ARRAY_SIZE(s->irq_count); > + return true; > +} > +#endif > + > +static void slavio_intctl_print_info(InterruptStatsProvider *obj, Monitor > *mon) > +{ > + SLAVIO_INTCTLState *s = SLAVIO_INTCTL(obj); > + int i; > + > + for (i = 0; i < MAX_CPUS; i++) { > + monitor_printf(mon, "per-cpu %d: pending 0x%08x\n", i, > + s->slaves[i].intreg_pending); > + } > + monitor_printf(mon, "master: pending 0x%08x, disabled 0x%08x\n", > + s->intregm_pending, s->intregm_disabled); > +} > + > static void slavio_intctl_init(Object *obj) > { > DeviceState *dev = DEVICE(obj); > @@ -449,9 +475,14 @@ static void slavio_intctl_init(Object *obj) > static void slavio_intctl_class_init(ObjectClass *klass, void *data) > { > DeviceClass *dc = DEVICE_CLASS(klass); > + InterruptStatsProviderClass *ic = INTERRUPT_STATS_PROVIDER_CLASS(klass); > > dc->reset = slavio_intctl_reset; > dc->vmsd = &vmstate_intctl; > +#ifdef DEBUG_IRQ_COUNT > + ic->get_statistics = slavio_intctl_get_statistics; > +#endif > + ic->print_info = slavio_intctl_print_info; > } > > static const TypeInfo slavio_intctl_info = { > @@ -460,6 +491,10 @@ static const TypeInfo slavio_intctl_info = { > .instance_size = sizeof(SLAVIO_INTCTLState), > .instance_init = slavio_intctl_init, > .class_init = slavio_intctl_class_init, > + .interfaces = (InterfaceInfo[]) { > + { TYPE_INTERRUPT_STATS_PROVIDER }, > + { } > + }, > }; > > static void slavio_intctl_register_types(void) > -- > 2.1.4 > >
-- Regards, Artyom Tarasenko SPARC and PPC PReP under qemu blog: http://tyom.blogspot.com/search/label/qemu