Revision e6e5906b hw/pl110.c

b/hw/pl110.c
185 185
    addr = base;
186 186

  
187 187
    dirty = cpu_physical_memory_get_dirty(addr, VGA_DIRTY_FLAG);
188
    new_dirty = dirty;
188 189
    for (i = 0; i < s->rows; i++) {
189
        new_dirty = 0;
190
        if ((addr & TARGET_PAGE_MASK) + src_width >= TARGET_PAGE_SIZE) {
190
        if ((addr & ~TARGET_PAGE_MASK) + src_width >= TARGET_PAGE_SIZE) {
191 191
            uint32_t tmp;
192
            new_dirty = 0;
192 193
            for (tmp = 0; tmp < src_width; tmp += TARGET_PAGE_SIZE) {
193 194
                new_dirty |= cpu_physical_memory_get_dirty(addr + tmp,
194 195
                                                           VGA_DIRTY_FLAG);

Also available in: Unified diff