2007-12-03 14:30:23 -07: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__
|
|
|
|
|
|
|
|
#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 08:00:12 -06:00
|
|
|
typedef u64 gfn_t;
|
2007-12-03 14:30:23 -07:00
|
|
|
|
|
|
|
typedef unsigned long hva_t;
|
|
|
|
typedef u64 hpa_t;
|
2010-07-01 08:00:12 -06:00
|
|
|
typedef u64 hfn_t;
|
2007-12-03 14:30:23 -07:00
|
|
|
|
2008-04-02 13:46:56 -06:00
|
|
|
typedef hfn_t pfn_t;
|
|
|
|
|
2009-02-11 01:03:36 -07:00
|
|
|
union kvm_ioapic_redirect_entry {
|
|
|
|
u64 bits;
|
|
|
|
struct {
|
|
|
|
u8 vector;
|
|
|
|
u8 delivery_mode:3;
|
|
|
|
u8 dest_mode:1;
|
|
|
|
u8 delivery_status:1;
|
|
|
|
u8 polarity:1;
|
|
|
|
u8 remote_irr:1;
|
|
|
|
u8 trig_mode:1;
|
|
|
|
u8 mask:1;
|
|
|
|
u8 reserve:7;
|
|
|
|
u8 reserved[4];
|
|
|
|
u8 dest_id;
|
|
|
|
} fields;
|
|
|
|
};
|
|
|
|
|
2009-03-05 07:35:04 -07:00
|
|
|
struct kvm_lapic_irq {
|
|
|
|
u32 vector;
|
|
|
|
u32 delivery_mode;
|
|
|
|
u32 dest_mode;
|
|
|
|
u32 level;
|
|
|
|
u32 trig_mode;
|
|
|
|
u32 shorthand;
|
|
|
|
u32 dest_id;
|
|
|
|
};
|
|
|
|
|
2010-10-18 07:22:23 -06:00
|
|
|
struct gfn_to_hva_cache {
|
|
|
|
u64 generation;
|
|
|
|
gpa_t gpa;
|
|
|
|
unsigned long hva;
|
|
|
|
struct kvm_memory_slot *memslot;
|
|
|
|
};
|
|
|
|
|
2007-12-03 14:30:23 -07:00
|
|
|
#endif /* __KVM_TYPES_H__ */
|