mirror of
https://github.com/Motorhead1991/qemu.git
synced 2026-03-04 09:04:39 -07:00
memory: differentiate memory_region_is_logging and memory_region_get_dirty_log_mask
For now memory regions only track DIRTY_MEMORY_VGA individually, but this will change soon. To support this, split memory_region_is_logging in two functions: one that returns a given bit from dirty_log_mask, and one that returns the entire mask. memory_region_is_logging gets an extra parameter so that the compiler flags misuse. While VGA-specific users (including the Xen listener!) will want to keep checking that bit, KVM and vhost check for "any bit except migration" (because migration is handled via the global start/stop listener callbacks). Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5299c0f2cf
commit
2d1a35bef0
7 changed files with 27 additions and 8 deletions
|
|
@ -591,11 +591,23 @@ const char *memory_region_name(const MemoryRegion *mr);
|
|||
/**
|
||||
* memory_region_is_logging: return whether a memory region is logging writes
|
||||
*
|
||||
* Returns %true if the memory region is logging writes
|
||||
* Returns %true if the memory region is logging writes for the given client
|
||||
*
|
||||
* @mr: the memory region being queried
|
||||
* @client: the client being queried
|
||||
*/
|
||||
bool memory_region_is_logging(MemoryRegion *mr, uint8_t client);
|
||||
|
||||
/**
|
||||
* memory_region_get_dirty_log_mask: return the clients for which a
|
||||
* memory region is logging writes.
|
||||
*
|
||||
* Returns a bitmap of clients, which right now will be either 0 or
|
||||
* (1 << DIRTY_MEMORY_VGA).
|
||||
*
|
||||
* @mr: the memory region being queried
|
||||
*/
|
||||
bool memory_region_is_logging(MemoryRegion *mr);
|
||||
uint8_t memory_region_get_dirty_log_mask(MemoryRegion *mr);
|
||||
|
||||
/**
|
||||
* memory_region_is_rom: check whether a memory region is ROM
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue