On 21.08.2018 14:43, Steffen Görtz wrote:
Hi Peter,
+
+static uint64_t clock_read(void *opaque, hwaddr addr, unsigned int size)
+{
+    qemu_log_mask(LOG_UNIMP, "%s: 0x%" HWADDR_PRIx " [%u]\n",
+                  __func__, addr, size);
+    return 1;
+}
+
+static void clock_write(void *opaque, hwaddr addr, uint64_t data,
+                        unsigned int size)
+{
+    qemu_log_mask(LOG_UNIMP, "%s: 0x%" HWADDR_PRIx " <- 0x%" PRIx64 " [%u]\n",
+                  __func__, addr, data, size);
+}
+
+static const MemoryRegionOps clock_ops = {
+    .read = clock_read,
+    .write = clock_write
+};

You don't need to roll your own "do nothing but log" device:
you can use the TYPE_UNIMPLEMENTED_DEVICE to do this.

Until we have a more proper STUB for POWER/CLOCK/MPU peripherals we actually 
need this,
because the unimplemented device will return 0 on reads which will cause guest 
code to stall.

Do you need this stub to run micropython code? Could you delete this,
please, so that I can post the correct stub structures for js
directly on Joel's code?

Best regards, Julia Suvorova.

Reply via email to