--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbian-qemu-0.9.1-12/qemu-symbian-svp/hw/syborg_dummy.c Fri Jul 31 15:01:17 2009 +0100
@@ -0,0 +1,57 @@
+//
+// Copyright (c) 2008 Symbian Ltd. All rights reserved.
+//
+// dummy peripheral used for logging peripheral accesses
+
+#include "hw.h"
+
+typedef struct {
+ uint32_t base;
+ char tag[32];
+} syborg_dummy_state;
+
+static const unsigned int syborg_dummy_id = 0xbabe0007;
+
+static uint32_t syborg_dummy_read(void *opaque, target_phys_addr_t offset)
+{
+ syborg_dummy_state *s = (syborg_dummy_state *)opaque;
+ offset -= s->base;
+
+ printf("[%s] dummy_read b:%x o:%x\n", s->tag, s->base, offset);
+
+ return 0;
+}
+
+static void syborg_dummy_write(void *opaque, target_phys_addr_t offset, uint32_t value)
+{
+ syborg_dummy_state *s = (syborg_dummy_state *)opaque;
+ offset -= s->base;
+
+ printf("[%s] dummy_write b:%x o:%x v:%x\n", s->tag, s->base, offset, value);
+}
+
+static CPUReadMemoryFunc *syborg_dummy_readfn[] = {
+ syborg_dummy_read,
+ syborg_dummy_read,
+ syborg_dummy_read
+};
+
+static CPUWriteMemoryFunc *syborg_dummy_writefn[] = {
+ syborg_dummy_write,
+ syborg_dummy_write,
+ syborg_dummy_write
+};
+
+void syborg_dummy_init(uint32_t base, char *tag)
+{
+ syborg_dummy_state *s;
+ int iomemtype;
+
+ s = (syborg_dummy_state *)qemu_mallocz(sizeof(syborg_dummy_state));
+ iomemtype = cpu_register_io_memory(0, syborg_dummy_readfn, syborg_dummy_writefn, s);
+ cpu_register_physical_memory(base, 0x00001000, iomemtype);
+ s->base = base;
+ memcpy(s->tag, tag, 32);
+ s->tag[31] = 0;
+}
+