#ifndef _ASM_X86_KVM_PARA_H #define _ASM_X86_KVM_PARA_H #include <linux/types.h> #include <asm/hyperv.h> /* This CPUID returns the signature 'KVMKVMKVM' in ebx, ecx, and edx. It * should be used to determine that a VM is running under KVM. */ #define KVM_CPUID_SIGNATURE 0x40000000 /* This CPUID returns a feature bitmap in eax. Before enabling a particular * paravirtualization, the appropriate feature bit should be checked. */ #define KVM_CPUID_FEATURES 0x40000001 #define KVM_FEATURE_CLOCKSOURCE 0 #define KVM_FEATURE_NOP_IO_DELAY 1 #define KVM_FEATURE_MMU_OP 2 /* This indicates that the new set of kvmclock msrs * are available. The use of 0x11 and 0x12 is deprecated */ #define KVM_FEATURE_CLOCKSOURCE2 3 #define KVM_FEATURE_ASYNC_PF 4 #define KVM_FEATURE_STEAL_TIME 5 #define KVM_FEATURE_PV_EOI 6 #define KVM_FEATURE_PV_UNHALT 7 #define KVM_FEATURE_POLL_CONTROL 12 /* The last 8 bits are used to indicate how to interpret the flags field * in pvclock structure. If no bits are set, all flags are ignored. */ #define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 24 #define MSR_KVM_WALL_CLOCK 0x11 #define MSR_KVM_SYSTEM_TIME 0x12 #define KVM_MSR_ENABLED 1 /* Custom MSRs falls in the range 0x4b564d00-0x4b564dff */ #define MSR_KVM_WALL_CLOCK_NEW 0x4b564d00 #define MSR_KVM_SYSTEM_TIME_NEW 0x4b564d01 #define MSR_KVM_ASYNC_PF_EN 0x4b564d02 #define MSR_KVM_STEAL_TIME 0x4b564d03 #define MSR_KVM_PV_EOI_EN 0x4b564d04 #define MSR_KVM_POLL_CONTROL 0x4b564d05 struct kvm_steal_time { __u64 steal; __u32 version; __u32 flags; __u32 pad[12]; }; #define KVM_CLOCK_PAIRING_WALLCLOCK 0 struct kvm_clock_pairing { __s64 sec; __s64 nsec; __u64 tsc; __u32 flags; __u32 pad[9]; }; #define KVM_STEAL_ALIGNMENT_BITS 5 #define KVM_STEAL_VALID_BITS ((-1ULL << (KVM_STEAL_ALIGNMENT_BITS + 1))) #define KVM_STEAL_RESERVED_MASK (((1 << KVM_STEAL_ALIGNMENT_BITS) - 1 ) << 1) #define KVM_MAX_MMU_OP_BATCH 32 #define KVM_ASYNC_PF_ENABLED (1 << 0) #define KVM_ASYNC_PF_SEND_ALWAYS (1 << 1) /* Operations for KVM_HC_MMU_OP */ #define KVM_MMU_OP_WRITE_PTE 1 #define KVM_MMU_OP_FLUSH_TLB 2 #define KVM_MMU_OP_RELEASE_PT 3 /* Payload for KVM_HC_MMU_OP */ struct kvm_mmu_op_header { __u32 op; __u32 pad; }; struct kvm_mmu_op_write_pte { struct kvm_mmu_op_header header; __u64 pte_phys; __u64 pte_val; }; struct kvm_mmu_op_flush_tlb { struct kvm_mmu_op_header header; }; struct kvm_mmu_op_release_pt { struct kvm_mmu_op_header header; __u64 pt_phys; }; #define KVM_PV_REASON_PAGE_NOT_PRESENT 1 #define KVM_PV_REASON_PAGE_READY 2 struct kvm_vcpu_pv_apf_data { __u32 reason; __u8 pad[60]; __u32 enabled; }; #define KVM_PV_EOI_BIT 0 #define KVM_PV_EOI_MASK (0x1 << KVM_PV_EOI_BIT) #define KVM_PV_EOI_ENABLED KVM_PV_EOI_MASK #define KVM_PV_EOI_DISABLED 0x0 #endif /* _ASM_X86_KVM_PARA_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
a.out.h | File | 693 B | 0644 |
|
auxvec.h | File | 483 B | 0644 |
|
bitsperlong.h | File | 229 B | 0644 |
|
boot.h | File | 260 B | 0644 |
|
bootparam.h | File | 4.39 KB | 0644 |
|
bpf_perf_event.h | File | 40 B | 0644 |
|
byteorder.h | File | 137 B | 0644 |
|
debugreg.h | File | 3.15 KB | 0644 |
|
e820.h | File | 2.63 KB | 0644 |
|
errno.h | File | 31 B | 0644 |
|
fcntl.h | File | 31 B | 0644 |
|
hw_breakpoint.h | File | 6 B | 0644 |
|
hyperv.h | File | 12.98 KB | 0644 |
|
ioctl.h | File | 31 B | 0644 |
|
ioctls.h | File | 32 B | 0644 |
|
ipcbuf.h | File | 32 B | 0644 |
|
ist.h | File | 790 B | 0644 |
|
kvm.h | File | 6.81 KB | 0644 |
|
kvm_para.h | File | 2.8 KB | 0644 |
|
kvm_perf.h | File | 325 B | 0644 |
|
ldt.h | File | 963 B | 0644 |
|
mce.h | File | 1.22 KB | 0644 |
|
mman.h | File | 1.01 KB | 0644 |
|
msgbuf.h | File | 32 B | 0644 |
|
msr-index.h | File | 29.04 KB | 0644 |
|
msr.h | File | 283 B | 0644 |
|
mtrr.h | File | 4.06 KB | 0644 |
|
param.h | File | 31 B | 0644 |
|
perf_regs.h | File | 1.24 KB | 0644 |
|
poll.h | File | 30 B | 0644 |
|
posix_types.h | File | 161 B | 0644 |
|
posix_types_32.h | File | 702 B | 0644 |
|
posix_types_64.h | File | 546 B | 0644 |
|
posix_types_x32.h | File | 518 B | 0644 |
|
prctl.h | File | 190 B | 0644 |
|
processor-flags.h | File | 6.32 KB | 0644 |
|
ptrace-abi.h | File | 1.76 KB | 0644 |
|
ptrace.h | File | 1.17 KB | 0644 |
|
resource.h | File | 34 B | 0644 |
|
sembuf.h | File | 699 B | 0644 |
|
setup.h | File | 6 B | 0644 |
|
shmbuf.h | File | 32 B | 0644 |
|
sigcontext.h | File | 5.11 KB | 0644 |
|
sigcontext32.h | File | 1.64 KB | 0644 |
|
siginfo.h | File | 431 B | 0644 |
|
signal.h | File | 2.77 KB | 0644 |
|
socket.h | File | 32 B | 0644 |
|
sockios.h | File | 33 B | 0644 |
|
stat.h | File | 2.89 KB | 0644 |
|
statfs.h | File | 353 B | 0644 |
|
svm.h | File | 5.09 KB | 0644 |
|
swab.h | File | 661 B | 0644 |
|
termbits.h | File | 34 B | 0644 |
|
termios.h | File | 33 B | 0644 |
|
types.h | File | 113 B | 0644 |
|
ucontext.h | File | 339 B | 0644 |
|
unistd.h | File | 296 B | 0644 |
|
unistd_32.h | File | 9.37 KB | 0644 |
|
unistd_64.h | File | 8.59 KB | 0644 |
|
unistd_x32.h | File | 15.12 KB | 0644 |
|
vm86.h | File | 2.98 KB | 0644 |
|
vmx.h | File | 6.53 KB | 0644 |
|
vsyscall.h | File | 375 B | 0644 |
|