Revision ca39b46e

b/cpu-all.h
888 888
    return phys_ram_dirty[addr >> TARGET_PAGE_BITS] == 0xff;
889 889
}
890 890

  
891
static inline int cpu_physical_memory_get_dirty_flags(ram_addr_t addr)
892
{
893
    return phys_ram_dirty[addr >> TARGET_PAGE_BITS];
894
}
895

  
891 896
static inline int cpu_physical_memory_get_dirty(ram_addr_t addr,
892 897
                                                int dirty_flags)
893 898
{
......
899 904
    phys_ram_dirty[addr >> TARGET_PAGE_BITS] = 0xff;
900 905
}
901 906

  
907
static inline int cpu_physical_memory_set_dirty_flags(ram_addr_t addr,
908
                                                      int dirty_flags)
909
{
910
    return phys_ram_dirty[addr >> TARGET_PAGE_BITS] |= dirty_flags;
911
}
912

  
913
static inline void cpu_physical_memory_mask_dirty_range(ram_addr_t start,
914
                                                        int length,
915
                                                        int dirty_flags)
916
{
917
    int i, mask, len;
918
    uint8_t *p;
919

  
920
    len = length >> TARGET_PAGE_BITS;
921
    mask = ~dirty_flags;
922
    p = phys_ram_dirty + (start >> TARGET_PAGE_BITS);
923
    for (i = 0; i < len; i++) {
924
        p[i] &= mask;
925
    }
926
}
927

  
902 928
void cpu_physical_memory_reset_dirty(ram_addr_t start, ram_addr_t end,
903 929
                                     int dirty_flags);
904 930
void cpu_tlb_update_dirty(CPUState *env);

Also available in: Unified diff