| 
									
										
										
										
											2009-12-20 14:42:19 +02:00
										 |  |  | #ifndef __KVM_COALESCED_MMIO_H__
 | 
					
						
							|  |  |  | #define __KVM_COALESCED_MMIO_H__
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-05-30 16:05:54 +02:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * KVM coalesced MMIO | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (c) 2008 Bull S.A.S. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  Author: Laurent Vivier <Laurent.Vivier@bull.net> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-20 15:13:43 +02:00
										 |  |  | #ifdef CONFIG_KVM_MMIO
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-20 20:59:00 +03:00
										 |  |  | #include <linux/list.h>
 | 
					
						
							| 
									
										
										
										
											2008-05-30 16:05:54 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | struct kvm_coalesced_mmio_dev { | 
					
						
							| 
									
										
										
										
											2011-07-20 20:59:00 +03:00
										 |  |  | 	struct list_head list; | 
					
						
							| 
									
										
										
										
											2008-05-30 16:05:54 +02:00
										 |  |  | 	struct kvm_io_device dev; | 
					
						
							|  |  |  | 	struct kvm *kvm; | 
					
						
							| 
									
										
										
										
											2011-07-20 20:59:00 +03:00
										 |  |  | 	struct kvm_coalesced_mmio_zone zone; | 
					
						
							| 
									
										
										
										
											2008-05-30 16:05:54 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | int kvm_coalesced_mmio_init(struct kvm *kvm); | 
					
						
							| 
									
										
										
										
											2009-12-20 15:13:43 +02:00
										 |  |  | void kvm_coalesced_mmio_free(struct kvm *kvm); | 
					
						
							| 
									
										
										
										
											2008-05-30 16:05:54 +02:00
										 |  |  | int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm, | 
					
						
							|  |  |  |                                        struct kvm_coalesced_mmio_zone *zone); | 
					
						
							|  |  |  | int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm, | 
					
						
							|  |  |  |                                          struct kvm_coalesced_mmio_zone *zone); | 
					
						
							| 
									
										
										
										
											2009-12-20 14:42:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-12-20 15:13:43 +02: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 14:42:19 +02:00
										 |  |  | #endif
 |