On 9 November 2011 15:05, Avi Kivity <a...@redhat.com> wrote: > On 11/09/2011 04:40 PM, Anthony Liguori wrote: >> >> typedef struct { >> SysBusDevice busdev; >> uint32_t memsz; >> MemoryRegion flash; >> bool flash_mapped; > > Both flash.has_parent and flash_mapped are slaved to a bit of one of the > registers below.
Yes. The only reason for having a separate flash_mapped would be if it was *not* saved/loaded and we needed it to track whether the memory region API thought the region was mapped or not (ie whether calling memory_region_add_subregion_overlap() from the post-load-hook would assert, which is what it does in master currently.) This is why I'm pushing back on Benoit's patch here -- I don't want us to carry around this extra flash_mapped flag unless we really need it. >From a really quick glance at Avi's memory/mutators branch I think the long term plan would be that rather than mapping/unmapping the region we just call memory_region_set_enabled() which would cope happily with being asked to enable an already-enabled region. Is that right? -- PMM