memory: obsolete more dirty memory related functions
No longer used outside memory.c and exec.c. Reviewed-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
5a97065b01
commit
7638e0d220
49
cpu-all.h
49
cpu-all.h
@ -515,55 +515,6 @@ extern int mem_prealloc;
|
|||||||
/* Set if TLB entry is an IO callback. */
|
/* Set if TLB entry is an IO callback. */
|
||||||
#define TLB_MMIO (1 << 5)
|
#define TLB_MMIO (1 << 5)
|
||||||
|
|
||||||
#define VGA_DIRTY_FLAG 0x01
|
|
||||||
#define CODE_DIRTY_FLAG 0x02
|
|
||||||
#define MIGRATION_DIRTY_FLAG 0x08
|
|
||||||
|
|
||||||
/* read dirty bit (return 0 or 1) */
|
|
||||||
static inline int cpu_physical_memory_is_dirty(ram_addr_t addr)
|
|
||||||
{
|
|
||||||
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] == 0xff;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int cpu_physical_memory_get_dirty_flags(ram_addr_t addr)
|
|
||||||
{
|
|
||||||
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS];
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int cpu_physical_memory_get_dirty(ram_addr_t addr,
|
|
||||||
int dirty_flags)
|
|
||||||
{
|
|
||||||
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] & dirty_flags;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void cpu_physical_memory_set_dirty(ram_addr_t addr)
|
|
||||||
{
|
|
||||||
ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] = 0xff;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline int cpu_physical_memory_set_dirty_flags(ram_addr_t addr,
|
|
||||||
int dirty_flags)
|
|
||||||
{
|
|
||||||
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] |= dirty_flags;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void cpu_physical_memory_mask_dirty_range(ram_addr_t start,
|
|
||||||
int length,
|
|
||||||
int dirty_flags)
|
|
||||||
{
|
|
||||||
int i, mask, len;
|
|
||||||
uint8_t *p;
|
|
||||||
|
|
||||||
len = length >> TARGET_PAGE_BITS;
|
|
||||||
mask = ~dirty_flags;
|
|
||||||
p = ram_list.phys_dirty + (start >> TARGET_PAGE_BITS);
|
|
||||||
for (i = 0; i < len; i++) {
|
|
||||||
p[i] &= mask;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void cpu_physical_memory_reset_dirty(ram_addr_t start, ram_addr_t end,
|
|
||||||
int dirty_flags);
|
|
||||||
void cpu_tlb_update_dirty(CPUState *env);
|
void cpu_tlb_update_dirty(CPUState *env);
|
||||||
|
|
||||||
void dump_exec_info(FILE *f, fprintf_function cpu_fprintf);
|
void dump_exec_info(FILE *f, fprintf_function cpu_fprintf);
|
||||||
|
@ -63,6 +63,55 @@ void qemu_unregister_coalesced_mmio(target_phys_addr_t addr, ram_addr_t size);
|
|||||||
|
|
||||||
int cpu_physical_memory_set_dirty_tracking(int enable);
|
int cpu_physical_memory_set_dirty_tracking(int enable);
|
||||||
|
|
||||||
|
#define VGA_DIRTY_FLAG 0x01
|
||||||
|
#define CODE_DIRTY_FLAG 0x02
|
||||||
|
#define MIGRATION_DIRTY_FLAG 0x08
|
||||||
|
|
||||||
|
/* read dirty bit (return 0 or 1) */
|
||||||
|
static inline int cpu_physical_memory_is_dirty(ram_addr_t addr)
|
||||||
|
{
|
||||||
|
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] == 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int cpu_physical_memory_get_dirty_flags(ram_addr_t addr)
|
||||||
|
{
|
||||||
|
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS];
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int cpu_physical_memory_get_dirty(ram_addr_t addr,
|
||||||
|
int dirty_flags)
|
||||||
|
{
|
||||||
|
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] & dirty_flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void cpu_physical_memory_set_dirty(ram_addr_t addr)
|
||||||
|
{
|
||||||
|
ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] = 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int cpu_physical_memory_set_dirty_flags(ram_addr_t addr,
|
||||||
|
int dirty_flags)
|
||||||
|
{
|
||||||
|
return ram_list.phys_dirty[addr >> TARGET_PAGE_BITS] |= dirty_flags;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void cpu_physical_memory_mask_dirty_range(ram_addr_t start,
|
||||||
|
int length,
|
||||||
|
int dirty_flags)
|
||||||
|
{
|
||||||
|
int i, mask, len;
|
||||||
|
uint8_t *p;
|
||||||
|
|
||||||
|
len = length >> TARGET_PAGE_BITS;
|
||||||
|
mask = ~dirty_flags;
|
||||||
|
p = ram_list.phys_dirty + (start >> TARGET_PAGE_BITS);
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
p[i] &= mask;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void cpu_physical_memory_reset_dirty(ram_addr_t start, ram_addr_t end,
|
||||||
|
int dirty_flags);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user