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.