If I am not missing something important here, we can heavily simplify
the kvm_slot code. Flatview will make sure that we don't have to deal
with overlapping slots. E.g. when a memory section is resized, we are
first notified about the removal and then about the new memory section.
So basically, we can directly always map one memory section to one
kvm slot (if the fixed up size is > 0).
Only very briefly tested. Will do some more testing if we agree that this
is the right thing to do.
David Hildenbrand (6):
kvm: require JOIN_MEMORY_REGIONS_WORKS
kvm: factor out alignment of memory section
kvm: use start + size for memory ranges
kvm: we never have overlapping slots in kvm_set_phys_mem()
kvm: kvm_log_start/stop are only called with known sections
kvm: kvm_log_sync() is only called with known memory sections
accel/kvm/kvm-all.c | 276 +++++++++++++++++-----------------------------------
1 file changed, 89 insertions(+), 187 deletions(-)