qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [6521] Add debug, savevm and reset support for UniNorth
@ 2009-02-05 20:22 Blue Swirl
  0 siblings, 0 replies; only message in thread
From: Blue Swirl @ 2009-02-05 20:22 UTC (permalink / raw)
  To: qemu-devel

Revision: 6521
          http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6521
Author:   blueswir1
Date:     2009-02-05 20:22:07 +0000 (Thu, 05 Feb 2009)

Log Message:
-----------
Add debug, savevm and reset support for UniNorth

Modified Paths:
--------------
    trunk/hw/ppc_chrp.c
    trunk/hw/unin_pci.c

Modified: trunk/hw/ppc_chrp.c
===================================================================
--- trunk/hw/ppc_chrp.c	2009-02-05 20:20:29 UTC (rev 6520)
+++ trunk/hw/ppc_chrp.c	2009-02-05 20:22:07 UTC (rev 6521)
@@ -37,14 +37,30 @@
 #define MAX_IDE_BUS 2
 #define VGA_BIOS_SIZE 65536
 
+/* debug UniNorth */
+//#define DEBUG_UNIN
+
+#ifdef DEBUG_UNIN
+#define UNIN_DPRINTF(fmt, args...) \
+do { printf("UNIN: " fmt , ##args); } while (0)
+#else
+#define UNIN_DPRINTF(fmt, args...)
+#endif
+
 /* UniN device */
 static void unin_writel (void *opaque, target_phys_addr_t addr, uint32_t value)
 {
+    UNIN_DPRINTF("writel addr " TARGET_FMT_plx " val %x\n", addr, value);
 }
 
 static uint32_t unin_readl (void *opaque, target_phys_addr_t addr)
 {
-    return 0;
+    uint32_t value;
+
+    value = 0;
+    UNIN_DPRINTF("readl addr " TARGET_FMT_plx " val %x\n", addr, value);
+
+    return value;
 }
 
 static CPUWriteMemoryFunc *unin_write[] = {

Modified: trunk/hw/unin_pci.c
===================================================================
--- trunk/hw/unin_pci.c	2009-02-05 20:20:29 UTC (rev 6520)
+++ trunk/hw/unin_pci.c	2009-02-05 20:22:07 UTC (rev 6521)
@@ -25,6 +25,16 @@
 #include "ppc_mac.h"
 #include "pci.h"
 
+/* debug UniNorth */
+//#define DEBUG_UNIN
+
+#ifdef DEBUG_UNIN
+#define UNIN_DPRINTF(fmt, args...) \
+do { printf("UNIN: " fmt , ##args); } while (0)
+#else
+#define UNIN_DPRINTF(fmt, args...)
+#endif
+
 typedef target_phys_addr_t pci_addr_t;
 #include "pci_host.h"
 
@@ -36,6 +46,7 @@
     UNINState *s = opaque;
     int i;
 
+    UNIN_DPRINTF("config_writel addr " TARGET_FMT_plx " val %x\n", addr, val);
 #ifdef TARGET_WORDS_BIGENDIAN
     val = bswap32(val);
 #endif
@@ -63,6 +74,7 @@
 #ifdef TARGET_WORDS_BIGENDIAN
     val = bswap32(val);
 #endif
+    UNIN_DPRINTF("config_readl addr " TARGET_FMT_plx " val %x\n", addr, val);
 
     return val;
 }
@@ -154,6 +166,27 @@
     qemu_set_irq(pic[irq_num + 8], level);
 }
 
+static void pci_unin_save(QEMUFile* f, void *opaque)
+{
+    PCIDevice *d = opaque;
+
+    pci_device_save(d, f);
+}
+
+static int pci_unin_load(QEMUFile* f, void *opaque, int version_id)
+{
+    PCIDevice *d = opaque;
+
+    if (version_id != 1)
+        return -EINVAL;
+
+    return pci_device_load(d, f);
+}
+
+static void pci_unin_reset(void *opaque)
+{
+}
+
 PCIBus *pci_pmac_init(qemu_irq *pic)
 {
     UNINState *s;
@@ -254,5 +287,9 @@
     d->config[0x0E] = 0x00; // header_type
     d->config[0x34] = 0x00; // capabilities_pointer
 #endif
+    register_savevm("uninorth", 0, 1, pci_unin_save, pci_unin_load, d);
+    qemu_register_reset(pci_unin_reset, d);
+    pci_unin_reset(d);
+
     return s->bus;
 }

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-02-05 20:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-02-05 20:22 [Qemu-devel] [6521] Add debug, savevm and reset support for UniNorth Blue Swirl

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).