#ifndef __KVM_TYPES_H__
#define __KVM_TYPES_H__
struct kvm;
struct kvm_async_pf;
struct kvm_device_ops;
struct kvm_gfn_range;
struct kvm_interrupt;
struct kvm_irq_routing_table;
struct kvm_memory_slot;
struct kvm_one_reg;
struct kvm_run;
struct kvm_userspace_memory_region;
struct kvm_vcpu;
struct kvm_vcpu_init;
struct kvm_memslots;
enum kvm_mr_change;
#include <linux/bits.h>
#include <linux/mutex.h>
#include <linux/types.h>
#include <linux/spinlock_types.h>
#include <asm/kvm_types.h>
gva_t;
gpa_t;
gfn_t;
#define INVALID_GPA …
hva_t;
hpa_t;
hfn_t;
kvm_pfn_t;
struct gfn_to_hva_cache { … };
struct gfn_to_pfn_cache { … };
#ifdef KVM_ARCH_NR_OBJS_PER_MEMORY_CACHE
struct kvm_mmu_memory_cache { … };
#endif
#define HALT_POLL_HIST_COUNT …
struct kvm_vm_stat_generic { … };
struct kvm_vcpu_stat_generic { … };
#define KVM_STATS_NAME_SIZE …
#endif