2007-12-03 21:30:23 +00:00
|
|
|
/*
|
|
|
|
* This program is free software; you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU General Public License as published by
|
|
|
|
* the Free Software Foundation; either version 2 of the License.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software
|
|
|
|
* Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __KVM_TYPES_H__
|
|
|
|
#define __KVM_TYPES_H__
|
|
|
|
|
2014-08-29 12:01:17 +00:00
|
|
|
struct kvm;
|
|
|
|
struct kvm_async_pf;
|
|
|
|
struct kvm_device_ops;
|
|
|
|
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;
|
2015-05-17 19:26:08 +00:00
|
|
|
struct kvm_memslots;
|
2014-08-29 12:01:17 +00:00
|
|
|
|
|
|
|
enum kvm_mr_change;
|
|
|
|
|
2007-12-03 21:30:23 +00:00
|
|
|
#include <asm/types.h>
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Address types:
|
|
|
|
*
|
|
|
|
* gva - guest virtual address
|
|
|
|
* gpa - guest physical address
|
|
|
|
* gfn - guest frame number
|
|
|
|
* hva - host virtual address
|
|
|
|
* hpa - host physical address
|
|
|
|
* hfn - host frame number
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef unsigned long gva_t;
|
|
|
|
typedef u64 gpa_t;
|
2010-07-01 14:00:12 +00:00
|
|
|
typedef u64 gfn_t;
|
2007-12-03 21:30:23 +00:00
|
|
|
|
|
|
|
typedef unsigned long hva_t;
|
|
|
|
typedef u64 hpa_t;
|
2010-07-01 14:00:12 +00:00
|
|
|
typedef u64 hfn_t;
|
2007-12-03 21:30:23 +00:00
|
|
|
|
2008-04-02 19:46:56 +00:00
|
|
|
typedef hfn_t pfn_t;
|
|
|
|
|
2010-10-18 13:22:23 +00:00
|
|
|
struct gfn_to_hva_cache {
|
|
|
|
u64 generation;
|
|
|
|
gpa_t gpa;
|
|
|
|
unsigned long hva;
|
2013-03-29 16:35:21 +00:00
|
|
|
unsigned long len;
|
2010-10-18 13:22:23 +00:00
|
|
|
struct kvm_memory_slot *memslot;
|
|
|
|
};
|
|
|
|
|
2007-12-03 21:30:23 +00:00
|
|
|
#endif /* __KVM_TYPES_H__ */
|