coalesced_mmio.h 884 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __KVM_COALESCED_MMIO_H__
  3. #define __KVM_COALESCED_MMIO_H__
  4. /*
  5. * KVM coalesced MMIO
  6. *
  7. * Copyright (c) 2008 Bull S.A.S.
  8. *
  9. * Author: Laurent Vivier <Laurent.Vivier@bull.net>
  10. *
  11. */
  12. #ifdef CONFIG_KVM_MMIO
  13. #include <linux/list.h>
  14. struct kvm_coalesced_mmio_dev {
  15. struct list_head list;
  16. struct kvm_io_device dev;
  17. struct kvm *kvm;
  18. struct kvm_coalesced_mmio_zone zone;
  19. };
  20. int kvm_coalesced_mmio_init(struct kvm *kvm);
  21. void kvm_coalesced_mmio_free(struct kvm *kvm);
  22. int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
  23. struct kvm_coalesced_mmio_zone *zone);
  24. int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm,
  25. struct kvm_coalesced_mmio_zone *zone);
  26. #else
  27. static inline int kvm_coalesced_mmio_init(struct kvm *kvm) { return 0; }
  28. static inline void kvm_coalesced_mmio_free(struct kvm *kvm) { }
  29. #endif
  30. #endif