qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [COMMIT d453c2c] Sparc32: fix monitor commands 'info pic'


From: Anthony Liguori
Subject: [Qemu-commits] [COMMIT d453c2c] Sparc32: fix monitor commands 'info pic' and 'infoirq'
Date: Sun, 23 Aug 2009 12:47:09 -0000

From: Blue Swirl <address@hidden>

Signed-off-by: Blue Swirl <address@hidden>

diff --git a/hw/slavio_intctl.c b/hw/slavio_intctl.c
index dbea1f9..c9bad26 100644
--- a/hw/slavio_intctl.c
+++ b/hw/slavio_intctl.c
@@ -220,11 +220,14 @@ static CPUWriteMemoryFunc *slavio_intctlm_mem_write[3] = {
     slavio_intctlm_mem_writel,
 };
 
-void slavio_pic_info(Monitor *mon, void *opaque)
+void slavio_pic_info(Monitor *mon, DeviceState *dev)
 {
-    SLAVIO_INTCTLState *s = opaque;
+    SysBusDevice *sd;
+    SLAVIO_INTCTLState *s;
     int i;
 
+    sd = sysbus_from_qdev(dev);
+    s = FROM_SYSBUS(SLAVIO_INTCTLState, sd);
     for (i = 0; i < MAX_CPUS; i++) {
         monitor_printf(mon, "per-cpu %d: pending 0x%08x\n", i,
                        s->slaves[i].intreg_pending);
@@ -233,15 +236,18 @@ void slavio_pic_info(Monitor *mon, void *opaque)
                    s->intregm_pending, s->intregm_disabled);
 }
 
-void slavio_irq_info(Monitor *mon, void *opaque)
+void slavio_irq_info(Monitor *mon, DeviceState *dev)
 {
 #ifndef DEBUG_IRQ_COUNT
     monitor_printf(mon, "irq statistic code not compiled.\n");
 #else
-    SLAVIO_INTCTLState *s = opaque;
+    SysBusDevice *sd;
+    SLAVIO_INTCTLState *s;
     int i;
     int64_t count;
 
+    sd = sysbus_from_qdev(dev);
+    s = FROM_SYSBUS(SLAVIO_INTCTLState, sd);
     monitor_printf(mon, "IRQ statistics:\n");
     for (i = 0; i < 32; i++) {
         count = s->irq_count[i];
diff --git a/hw/sun4m.c b/hw/sun4m.c
index ddc295a..88a0b25 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -209,7 +209,7 @@ static void nvram_init(m48t59_t *nvram, uint8_t *macaddr, 
const char *cmdline,
         m48t59_write(nvram, i, image[i]);
 }
 
-static void *slavio_intctl;
+static DeviceState *slavio_intctl;
 
 void pic_info(Monitor *mon)
 {
@@ -748,7 +748,6 @@ static void sun4m_hw_init(const struct sun4m_hwdef *hwdef, 
ram_addr_t RAM_size,
     unsigned long kernel_size;
     BlockDriverState *fd[MAX_FD];
     void *fw_cfg;
-    DeviceState *dev;
     DriveInfo *dinfo;
 
     /* init CPUs */
@@ -768,16 +767,16 @@ static void sun4m_hw_init(const struct sun4m_hwdef 
*hwdef, ram_addr_t RAM_size,
 
     prom_init(hwdef->slavio_base, bios_name);
 
-    dev = slavio_intctl_init(hwdef->intctl_base,
-                             hwdef->intctl_base + 0x10000ULL,
-                             cpu_irqs,
-                             7);
+    slavio_intctl = slavio_intctl_init(hwdef->intctl_base,
+                                       hwdef->intctl_base + 0x10000ULL,
+                                       cpu_irqs,
+                                       7);
 
     for (i = 0; i < 32; i++) {
-        slavio_irq[i] = qdev_get_gpio_in(dev, i);
+        slavio_irq[i] = qdev_get_gpio_in(slavio_intctl, i);
     }
     for (i = 0; i < MAX_CPUS; i++) {
-        slavio_cpu_irq[i] = qdev_get_gpio_in(dev, 32 + i);
+        slavio_cpu_irq[i] = qdev_get_gpio_in(slavio_intctl, 32 + i);
     }
 
     if (hwdef->idreg_base) {
diff --git a/hw/sun4m.h b/hw/sun4m.h
index 9f54092..ce97ee5 100644
--- a/hw/sun4m.h
+++ b/hw/sun4m.h
@@ -23,8 +23,8 @@ static inline void sparc_iommu_memory_write(void *opaque,
 }
 
 /* slavio_intctl.c */
-void slavio_pic_info(Monitor *mon, void *opaque);
-void slavio_irq_info(Monitor *mon, void *opaque);
+void slavio_pic_info(Monitor *mon, DeviceState *dev);
+void slavio_irq_info(Monitor *mon, DeviceState *dev);
 
 /* sun4c_intctl.c */
 void sun4c_pic_info(Monitor *mon, void *opaque);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]