On 10/17/2011 09:13 PM, Blue Swirl wrote: > > > > - ret = cpu_physical_memory_get_dirty(page, VGA_DIRTY_FLAG); > > + ret = memory_region_get_dirty(&s->vram_mem, page, DIRTY_MEMORY_VGA); > > for (off = 0; off < TARGET_PAGE_SIZE * 4; off += TARGET_PAGE_SIZE) { > > - ret |= cpu_physical_memory_get_dirty(page24 + off, VGA_DIRTY_FLAG); > > - ret |= cpu_physical_memory_get_dirty(cpage + off, VGA_DIRTY_FLAG); > > + ret |= memory_region_get_dirty(&s->vram_mem, page24 + off, > > + DIRTY_MEMORY_VGA); > > + ret |= memory_region_get_dirty(&s->vram_mem, cpage + off, > > + DIRTY_MEMORY_VGA); > > Like memory_region_set_dirty(), this should be changed to take a range > so that the for loops and PAGE_SIZEs can be dropped.
Agree. Lets' keep it outside this conversion patchset though. What would the API look like? accept a range, return true if any of the pages in the range are dirty? -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.