diff options
author | Jerone Young <jyoung5@us.ibm.com> | 2007-11-19 17:06:36 -0600 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 17:53:08 +0200 |
commit | 244d57ece94b56692c61f2d507d1251b5844c550 (patch) | |
tree | 69db4777d504c4af95432a464fd82b3fb2f7f100 /include/asm-x86/kvm.h | |
parent | 3a56b20104f51bd6caf07e49fa1e3c09bee222e5 (diff) | |
download | lwn-244d57ece94b56692c61f2d507d1251b5844c550.tar.gz lwn-244d57ece94b56692c61f2d507d1251b5844c550.zip |
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.h | 36 |
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 |