summaryrefslogtreecommitdiff
path: root/include/asm-x86/kvm.h
diff options
context:
space:
mode:
authorJerone Young <jyoung5@us.ibm.com>2007-11-20 02:06:36 +0300
committerAvi Kivity <avi@qumranet.com>2008-01-30 18:53:08 +0300
commit244d57ece94b56692c61f2d507d1251b5844c550 (patch)
tree69db4777d504c4af95432a464fd82b3fb2f7f100 /include/asm-x86/kvm.h
parent3a56b20104f51bd6caf07e49fa1e3c09bee222e5 (diff)
downloadlinux-244d57ece94b56692c61f2d507d1251b5844c550.tar.xz
KVM: Portability: Move kvm_sregs and msr structures to <asm/kvm.h>
Move structures: kvm_sregs kvm_msr_entry kvm_msrs kvm_msr_list from include/linux/kvm.h to include/asm-x86/kvm.h Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'include/asm-x86/kvm.h')
-rw-r--r--include/asm-x86/kvm.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/include/asm-x86/kvm.h b/include/asm-x86/kvm.h
index 644a325077f0..32c7dda61474 100644
--- a/include/asm-x86/kvm.h
+++ b/include/asm-x86/kvm.h
@@ -9,6 +9,9 @@
#include <asm/types.h>
#include <linux/ioctl.h>
+/* Architectural interrupt line count. */
+#define KVM_NR_INTERRUPTS 256
+
struct kvm_memory_alias {
__u32 slot; /* this has a different namespace than memory slots */
__u32 flags;
@@ -99,4 +102,37 @@ struct kvm_dtable {
};
+/* for KVM_GET_SREGS and KVM_SET_SREGS */
+struct kvm_sregs {
+ /* out (KVM_GET_SREGS) / in (KVM_SET_SREGS) */
+ struct kvm_segment cs, ds, es, fs, gs, ss;
+ struct kvm_segment tr, ldt;
+ struct kvm_dtable gdt, idt;
+ __u64 cr0, cr2, cr3, cr4, cr8;
+ __u64 efer;
+ __u64 apic_base;
+ __u64 interrupt_bitmap[(KVM_NR_INTERRUPTS + 63) / 64];
+};
+
+struct kvm_msr_entry {
+ __u32 index;
+ __u32 reserved;
+ __u64 data;
+};
+
+/* for KVM_GET_MSRS and KVM_SET_MSRS */
+struct kvm_msrs {
+ __u32 nmsrs; /* number of msrs in entries */
+ __u32 pad;
+
+ struct kvm_msr_entry entries[0];
+};
+
+/* for KVM_GET_MSR_INDEX_LIST */
+struct kvm_msr_list {
+ __u32 nmsrs; /* number of msrs in entries */
+ __u32 indices[0];
+};
+
+
#endif