On 10/07/2024 10:52, Ilias Stamatis wrote:
Add 2 new ioctls, KVM_REGISTER_COALESCED_MMIO2 and KVM_UNREGISTER_COALESCED_MMIO2. These do the same thing as their v1 equivalents except an fd returned by KVM_CREATE_COALESCED_MMIO_BUFFER needs to be passed as an argument to them. The fd representing a ring buffer is associated with an MMIO region registered for coalescing and all writes to that region are accumulated there. This is in contrast to the v1 API where all regions have to share the same buffer. Nevertheless, userspace code can still use the same ring buffer for multiple zones if it wishes to do so. Userspace can check for the availability of the new API by checking if the KVM_CAP_COALESCED_MMIO2 capability is supported. Signed-off-by: Ilias Stamatis <ilstam@xxxxxxxxxx> --- include/uapi/linux/kvm.h | 16 ++++++++++++++++ virt/kvm/coalesced_mmio.c | 36 ++++++++++++++++++++++++++++++------ virt/kvm/coalesced_mmio.h | 7 ++++--- virt/kvm/kvm_main.c | 36 +++++++++++++++++++++++++++++++++++- 4 files changed, 85 insertions(+), 10 deletions(-)
Reviewed-by: Paul Durrant <paul@xxxxxxx>