aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/kvm.h21
-rw-r--r--include/linux/kvm.h4
2 files changed, 25 insertions, 0 deletions
diff --git a/include/asm-x86/kvm.h b/include/asm-x86/kvm.h
index 4837d759bec0..17afa81d6d66 100644
--- a/include/asm-x86/kvm.h
+++ b/include/asm-x86/kvm.h
@@ -151,5 +151,26 @@ struct kvm_cpuid {
151 struct kvm_cpuid_entry entries[0]; 151 struct kvm_cpuid_entry entries[0];
152}; 152};
153 153
154struct kvm_cpuid_entry2 {
155 __u32 function;
156 __u32 index;
157 __u32 flags;
158 __u32 eax;
159 __u32 ebx;
160 __u32 ecx;
161 __u32 edx;
162 __u32 padding[3];
163};
164
165#define KVM_CPUID_FLAG_SIGNIFCANT_INDEX 1
166#define KVM_CPUID_FLAG_STATEFUL_FUNC 2
167#define KVM_CPUID_FLAG_STATE_READ_NEXT 4
168
169/* for KVM_SET_CPUID2 */
170struct kvm_cpuid2 {
171 __u32 nent;
172 __u32 padding;
173 struct kvm_cpuid_entry2 entries[0];
174};
154 175
155#endif 176#endif
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index fd4f900fcce3..b751552f2e30 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -224,6 +224,7 @@ struct kvm_signal_mask {
224#define KVM_CAP_MMU_SHADOW_CACHE_CONTROL 2 224#define KVM_CAP_MMU_SHADOW_CACHE_CONTROL 2
225#define KVM_CAP_USER_MEMORY 3 225#define KVM_CAP_USER_MEMORY 3
226#define KVM_CAP_SET_TSS_ADDR 4 226#define KVM_CAP_SET_TSS_ADDR 4
227#define KVM_CAP_EXT_CPUID 5
227 228
228/* 229/*
229 * ioctls for VM fds 230 * ioctls for VM fds
@@ -241,6 +242,7 @@ struct kvm_signal_mask {
241#define KVM_CREATE_VCPU _IO(KVMIO, 0x41) 242#define KVM_CREATE_VCPU _IO(KVMIO, 0x41)
242#define KVM_GET_DIRTY_LOG _IOW(KVMIO, 0x42, struct kvm_dirty_log) 243#define KVM_GET_DIRTY_LOG _IOW(KVMIO, 0x42, struct kvm_dirty_log)
243#define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias) 244#define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias)
245#define KVM_GET_SUPPORTED_CPUID _IOWR(KVMIO, 0x48, struct kvm_cpuid2)
244/* Device model IOC */ 246/* Device model IOC */
245#define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60) 247#define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60)
246#define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level) 248#define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level)
@@ -266,5 +268,7 @@ struct kvm_signal_mask {
266#define KVM_SET_FPU _IOW(KVMIO, 0x8d, struct kvm_fpu) 268#define KVM_SET_FPU _IOW(KVMIO, 0x8d, struct kvm_fpu)
267#define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state) 269#define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_state)
268#define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state) 270#define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_state)
271#define KVM_SET_CPUID2 _IOW(KVMIO, 0x90, struct kvm_cpuid2)
272#define KVM_GET_CPUID2 _IOWR(KVMIO, 0x91, struct kvm_cpuid2)
269 273
270#endif 274#endif