2009-12-20 20:42:19 +08:00
|
|
|
#ifndef __KVM_COALESCED_MMIO_H__
|
|
|
|
#define __KVM_COALESCED_MMIO_H__
|
|
|
|
|
2008-05-30 22:05:54 +08:00
|
|
|
/*
|
|
|
|
* KVM coalesced MMIO
|
|
|
|
*
|
|
|
|
* Copyright (c) 2008 Bull S.A.S.
|
|
|
|
*
|
|
|
|
* Author: Laurent Vivier <Laurent.Vivier@bull.net>
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2009-12-20 21:13:43 +08:00
|
|
|
#ifdef CONFIG_KVM_MMIO
|
|
|
|
|
2011-07-21 01:59:00 +08:00
|
|
|
#include <linux/list.h>
|
2008-05-30 22:05:54 +08:00
|
|
|
|
|
|
|
struct kvm_coalesced_mmio_dev {
|
2011-07-21 01:59:00 +08:00
|
|
|
struct list_head list;
|
2008-05-30 22:05:54 +08:00
|
|
|
struct kvm_io_device dev;
|
|
|
|
struct kvm *kvm;
|
2011-07-21 01:59:00 +08:00
|
|
|
struct kvm_coalesced_mmio_zone zone;
|
2008-05-30 22:05:54 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
int kvm_coalesced_mmio_init(struct kvm *kvm);
|
2009-12-20 21:13:43 +08:00
|
|
|
void kvm_coalesced_mmio_free(struct kvm *kvm);
|
2008-05-30 22:05:54 +08:00
|
|
|
int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
|
2015-06-16 19:34:00 +08:00
|
|
|
struct kvm_coalesced_mmio_zone *zone);
|
2008-05-30 22:05:54 +08:00
|
|
|
int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm,
|
2015-06-16 19:34:00 +08:00
|
|
|
struct kvm_coalesced_mmio_zone *zone);
|
2009-12-20 20:42:19 +08:00
|
|
|
|
2009-12-20 21:13:43 +08:00
|
|
|
#else
|
|
|
|
|
|
|
|
static inline int kvm_coalesced_mmio_init(struct kvm *kvm) { return 0; }
|
|
|
|
static inline void kvm_coalesced_mmio_free(struct kvm *kvm) { }
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2009-12-20 20:42:19 +08:00
|
|
|
#endif
|