Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #ifndef __KVM_COALESCED_MMIO_H__
0003 #define __KVM_COALESCED_MMIO_H__
0004 
0005 /*
0006  * KVM coalesced MMIO
0007  *
0008  * Copyright (c) 2008 Bull S.A.S.
0009  *
0010  *  Author: Laurent Vivier <Laurent.Vivier@bull.net>
0011  *
0012  */
0013 
0014 #ifdef CONFIG_KVM_MMIO
0015 
0016 #include <linux/list.h>
0017 
0018 struct kvm_coalesced_mmio_dev {
0019     struct list_head list;
0020     struct kvm_io_device dev;
0021     struct kvm *kvm;
0022     struct kvm_coalesced_mmio_zone zone;
0023 };
0024 
0025 int kvm_coalesced_mmio_init(struct kvm *kvm);
0026 void kvm_coalesced_mmio_free(struct kvm *kvm);
0027 int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
0028                     struct kvm_coalesced_mmio_zone *zone);
0029 int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm,
0030                     struct kvm_coalesced_mmio_zone *zone);
0031 
0032 #else
0033 
0034 static inline int kvm_coalesced_mmio_init(struct kvm *kvm) { return 0; }
0035 static inline void kvm_coalesced_mmio_free(struct kvm *kvm) { }
0036 
0037 #endif
0038 
0039 #endif