kvm.h (90de4a1875180f8347c075319af2cce586c96ab6) | kvm.h (f077825a8758d79838a757dafb79adcdd047ef3a) |
---|---|
1#ifndef _ASM_X86_KVM_H 2#define _ASM_X86_KVM_H 3 4/* 5 * KVM x86 specific structures and definitions 6 * 7 */ 8 --- 92 unchanged lines hidden (view full) --- 101 } redirtbl[KVM_IOAPIC_NUM_PINS]; 102}; 103 104#define KVM_IRQCHIP_PIC_MASTER 0 105#define KVM_IRQCHIP_PIC_SLAVE 1 106#define KVM_IRQCHIP_IOAPIC 2 107#define KVM_NR_IRQCHIPS 3 108 | 1#ifndef _ASM_X86_KVM_H 2#define _ASM_X86_KVM_H 3 4/* 5 * KVM x86 specific structures and definitions 6 * 7 */ 8 --- 92 unchanged lines hidden (view full) --- 101 } redirtbl[KVM_IOAPIC_NUM_PINS]; 102}; 103 104#define KVM_IRQCHIP_PIC_MASTER 0 105#define KVM_IRQCHIP_PIC_SLAVE 1 106#define KVM_IRQCHIP_IOAPIC 2 107#define KVM_NR_IRQCHIPS 3 108 |
109#define KVM_RUN_X86_SMM (1 << 0) 110 |
|
109/* for KVM_GET_REGS and KVM_SET_REGS */ 110struct kvm_regs { 111 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */ 112 __u64 rax, rbx, rcx, rdx; 113 __u64 rsi, rdi, rsp, rbp; 114 __u64 r8, r9, r10, r11; 115 __u64 r12, r13, r14, r15; 116 __u64 rip, rflags; --- 159 unchanged lines hidden (view full) --- 276 __u8 pit_reinject; 277 __u8 reserved[31]; 278}; 279 280/* When set in flags, include corresponding fields on KVM_SET_VCPU_EVENTS */ 281#define KVM_VCPUEVENT_VALID_NMI_PENDING 0x00000001 282#define KVM_VCPUEVENT_VALID_SIPI_VECTOR 0x00000002 283#define KVM_VCPUEVENT_VALID_SHADOW 0x00000004 | 111/* for KVM_GET_REGS and KVM_SET_REGS */ 112struct kvm_regs { 113 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */ 114 __u64 rax, rbx, rcx, rdx; 115 __u64 rsi, rdi, rsp, rbp; 116 __u64 r8, r9, r10, r11; 117 __u64 r12, r13, r14, r15; 118 __u64 rip, rflags; --- 159 unchanged lines hidden (view full) --- 278 __u8 pit_reinject; 279 __u8 reserved[31]; 280}; 281 282/* When set in flags, include corresponding fields on KVM_SET_VCPU_EVENTS */ 283#define KVM_VCPUEVENT_VALID_NMI_PENDING 0x00000001 284#define KVM_VCPUEVENT_VALID_SIPI_VECTOR 0x00000002 285#define KVM_VCPUEVENT_VALID_SHADOW 0x00000004 |
286#define KVM_VCPUEVENT_VALID_SMM 0x00000008 |
|
284 285/* Interrupt shadow states */ 286#define KVM_X86_SHADOW_INT_MOV_SS 0x01 287#define KVM_X86_SHADOW_INT_STI 0x02 288 289/* for KVM_GET/SET_VCPU_EVENTS */ 290struct kvm_vcpu_events { 291 struct { --- 12 unchanged lines hidden (view full) --- 304 struct { 305 __u8 injected; 306 __u8 pending; 307 __u8 masked; 308 __u8 pad; 309 } nmi; 310 __u32 sipi_vector; 311 __u32 flags; | 287 288/* Interrupt shadow states */ 289#define KVM_X86_SHADOW_INT_MOV_SS 0x01 290#define KVM_X86_SHADOW_INT_STI 0x02 291 292/* for KVM_GET/SET_VCPU_EVENTS */ 293struct kvm_vcpu_events { 294 struct { --- 12 unchanged lines hidden (view full) --- 307 struct { 308 __u8 injected; 309 __u8 pending; 310 __u8 masked; 311 __u8 pad; 312 } nmi; 313 __u32 sipi_vector; 314 __u32 flags; |
312 __u32 reserved[10]; | 315 struct { 316 __u8 smm; 317 __u8 pending; 318 __u8 smm_inside_nmi; 319 __u8 latched_init; 320 } smi; 321 __u32 reserved[9]; |
313}; 314 315/* for KVM_GET/SET_DEBUGREGS */ 316struct kvm_debugregs { 317 __u64 db[4]; 318 __u64 dr6; 319 __u64 dr7; 320 __u64 flags; --- 31 unchanged lines hidden --- | 322}; 323 324/* for KVM_GET/SET_DEBUGREGS */ 325struct kvm_debugregs { 326 __u64 db[4]; 327 __u64 dr6; 328 __u64 dr7; 329 __u64 flags; --- 31 unchanged lines hidden --- |