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