Introduce memory_region_has_gmem_fd() to query if the MemoryRegion has KVM gmem fd allocated. Signed-off-by: Xiaoyao Li <xiaoyao.li@xxxxxxxxx> --- include/exec/memory.h | 10 ++++++++++ softmmu/memory.c | 5 +++++ 2 files changed, 15 insertions(+) diff --git a/include/exec/memory.h b/include/exec/memory.h index 227cb2578e95..4b8486ca3632 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -1674,6 +1674,16 @@ static inline bool memory_region_is_romd(MemoryRegion *mr) */ bool memory_region_is_protected(MemoryRegion *mr); +/** + * memory_region_has_gmem_fd: check whether a memory region has KVM gmem fd + * associated + * + * Returns %true if a memory region's ram_block has valid gmem fd assigned. + * + * @mr: the memory region being queried + */ +bool memory_region_has_gmem_fd(MemoryRegion *mr); + /** * memory_region_get_iommu: check whether a memory region is an iommu * diff --git a/softmmu/memory.c b/softmmu/memory.c index 7d9494ce7028..e69a5f96d5d1 100644 --- a/softmmu/memory.c +++ b/softmmu/memory.c @@ -1846,6 +1846,11 @@ bool memory_region_is_protected(MemoryRegion *mr) return mr->ram && (mr->ram_block->flags & RAM_PROTECTED); } +bool memory_region_has_gmem_fd(MemoryRegion *mr) +{ + return mr->ram_block && mr->ram_block->gmem_fd >= 0; +} + uint8_t memory_region_get_dirty_log_mask(MemoryRegion *mr) { uint8_t mask = mr->dirty_log_mask; -- 2.34.1