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