[SerialICE] r91 - trunk/qemu-0.11.0

svn at coresystems.de svn at coresystems.de
Sun Dec 13 00:43:38 CET 2009


Author: stepan
Date: 2009-12-13 00:43:38 +0100 (Sun, 13 Dec 2009)
New Revision: 91

Modified:
   trunk/qemu-0.11.0/softmmu_template.h
Log:
It would appear that not returning in case a store is supposed to be filtered
would be a bad thing. It is not, because the filter only runs reliably in case
the memory region is IO_MEM_UNASSIGNED, so letting the write through is a NOP.

Signed-off-by: Stefan Reinauer <stepan at coresystems.de>



Modified: trunk/qemu-0.11.0/softmmu_template.h
===================================================================
--- trunk/qemu-0.11.0/softmmu_template.h	2009-12-07 17:05:07 UTC (rev 90)
+++ trunk/qemu-0.11.0/softmmu_template.h	2009-12-12 23:43:38 UTC (rev 91)
@@ -254,11 +254,16 @@
     int index;
 
 #ifdef CONFIG_SERIALICE
-    if (serialice_active && serialice_handle_store((uint32_t)addr, (uint32_t)val, (unsigned int) DATA_SIZE)) {
-	// For now, we just always keep a backup of _all_ writes in qemu's
-	// memory. At this point we can later decide what to do, if it becomes
-	// necessary.
-	// return;
+    if (serialice_active && serialice_handle_store((uint32_t)addr, 
+        		    (uint32_t)val, (unsigned int) DATA_SIZE)) {
+        /* The memory catch mechanism does not work particularly well
+         * because of the softmmu is optimizing all accesses to Qemu
+         * "memory". Because of this we need to leave RAM "unassigned"
+         * until RAM init is done, and can't freely switch around.
+         *
+         * It's the right thing, however, to return here.
+         */
+        return;
     }
 #endif
 




More information about the SerialICE mailing list