xref: /openbmc/linux/virt/kvm/coalesced_mmio.h (revision 5f94c174)
15f94c174SLaurent Vivier /*
25f94c174SLaurent Vivier  * KVM coalesced MMIO
35f94c174SLaurent Vivier  *
45f94c174SLaurent Vivier  * Copyright (c) 2008 Bull S.A.S.
55f94c174SLaurent Vivier  *
65f94c174SLaurent Vivier  *  Author: Laurent Vivier <Laurent.Vivier@bull.net>
75f94c174SLaurent Vivier  *
85f94c174SLaurent Vivier  */
95f94c174SLaurent Vivier 
105f94c174SLaurent Vivier #define KVM_COALESCED_MMIO_ZONE_MAX 100
115f94c174SLaurent Vivier 
125f94c174SLaurent Vivier struct kvm_coalesced_mmio_dev {
135f94c174SLaurent Vivier 	struct kvm_io_device dev;
145f94c174SLaurent Vivier 	struct kvm *kvm;
155f94c174SLaurent Vivier 	int nb_zones;
165f94c174SLaurent Vivier 	struct kvm_coalesced_mmio_zone zone[KVM_COALESCED_MMIO_ZONE_MAX];
175f94c174SLaurent Vivier };
185f94c174SLaurent Vivier 
195f94c174SLaurent Vivier int kvm_coalesced_mmio_init(struct kvm *kvm);
205f94c174SLaurent Vivier int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
215f94c174SLaurent Vivier                                        struct kvm_coalesced_mmio_zone *zone);
225f94c174SLaurent Vivier int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm,
235f94c174SLaurent Vivier                                          struct kvm_coalesced_mmio_zone *zone);
24