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@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