kvm_dirty_gfn
struct kvm_dirty_gfn *dirty_gfns;
sizeof(struct kvm_dirty_gfn));
static inline bool dirty_gfn_is_dirtied(struct kvm_dirty_gfn *gfn)
static inline void dirty_gfn_set_collected(struct kvm_dirty_gfn *gfn)
static u32 dirty_ring_collect_one(struct kvm_dirty_gfn *dirty_gfns,
struct kvm_dirty_gfn *cur;
struct kvm_dirty_gfn *dirty_gfns;
vcpu->dirty_gfns_count = size / sizeof(struct kvm_dirty_gfn);
static inline bool kvm_dirty_gfn_harvested(struct kvm_dirty_gfn *gfn)
struct kvm_dirty_gfn *entry;
struct kvm_dirty_gfn *entry;
ring->size = size / sizeof(struct kvm_dirty_gfn);
static inline void kvm_dirty_gfn_set_invalid(struct kvm_dirty_gfn *gfn)
static inline void kvm_dirty_gfn_set_dirtied(struct kvm_dirty_gfn *gfn)
return KVM_DIRTY_RING_MAX_ENTRIES * sizeof(struct kvm_dirty_gfn);
return KVM_DIRTY_RING_MAX_ENTRIES * sizeof(struct kvm_dirty_gfn);
sizeof(struct kvm_dirty_gfn) || size < PAGE_SIZE)
sizeof(struct kvm_dirty_gfn))