diff options
Diffstat (limited to 'arch/x86/include/asm/vmx.h')
| -rw-r--r-- | arch/x86/include/asm/vmx.h | 92 |
1 files changed, 4 insertions, 88 deletions
diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index 36ec21c36d68..235b49fa554b 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h | |||
| @@ -1,6 +1,3 @@ | |||
| 1 | #ifndef VMX_H | ||
| 2 | #define VMX_H | ||
| 3 | |||
| 4 | /* | 1 | /* |
| 5 | * vmx.h: VMX Architecture related definitions | 2 | * vmx.h: VMX Architecture related definitions |
| 6 | * Copyright (c) 2004, Intel Corporation. | 3 | * Copyright (c) 2004, Intel Corporation. |
| @@ -24,90 +21,12 @@ | |||
| 24 | * Yaniv Kamay <yaniv@qumranet.com> | 21 | * Yaniv Kamay <yaniv@qumranet.com> |
| 25 | * | 22 | * |
| 26 | */ | 23 | */ |
| 24 | #ifndef VMX_H | ||
| 25 | #define VMX_H | ||
| 27 | 26 | ||
| 28 | #define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000 | ||
| 29 | |||
| 30 | #define EXIT_REASON_EXCEPTION_NMI 0 | ||
| 31 | #define EXIT_REASON_EXTERNAL_INTERRUPT 1 | ||
| 32 | #define EXIT_REASON_TRIPLE_FAULT 2 | ||
| 33 | |||
| 34 | #define EXIT_REASON_PENDING_INTERRUPT 7 | ||
| 35 | #define EXIT_REASON_NMI_WINDOW 8 | ||
| 36 | #define EXIT_REASON_TASK_SWITCH 9 | ||
| 37 | #define EXIT_REASON_CPUID 10 | ||
| 38 | #define EXIT_REASON_HLT 12 | ||
| 39 | #define EXIT_REASON_INVD 13 | ||
| 40 | #define EXIT_REASON_INVLPG 14 | ||
| 41 | #define EXIT_REASON_RDPMC 15 | ||
| 42 | #define EXIT_REASON_RDTSC 16 | ||
| 43 | #define EXIT_REASON_VMCALL 18 | ||
| 44 | #define EXIT_REASON_VMCLEAR 19 | ||
| 45 | #define EXIT_REASON_VMLAUNCH 20 | ||
| 46 | #define EXIT_REASON_VMPTRLD 21 | ||
| 47 | #define EXIT_REASON_VMPTRST 22 | ||
| 48 | #define EXIT_REASON_VMREAD 23 | ||
| 49 | #define EXIT_REASON_VMRESUME 24 | ||
| 50 | #define EXIT_REASON_VMWRITE 25 | ||
| 51 | #define EXIT_REASON_VMOFF 26 | ||
| 52 | #define EXIT_REASON_VMON 27 | ||
| 53 | #define EXIT_REASON_CR_ACCESS 28 | ||
| 54 | #define EXIT_REASON_DR_ACCESS 29 | ||
| 55 | #define EXIT_REASON_IO_INSTRUCTION 30 | ||
| 56 | #define EXIT_REASON_MSR_READ 31 | ||
| 57 | #define EXIT_REASON_MSR_WRITE 32 | ||
| 58 | #define EXIT_REASON_INVALID_STATE 33 | ||
| 59 | #define EXIT_REASON_MWAIT_INSTRUCTION 36 | ||
| 60 | #define EXIT_REASON_MONITOR_INSTRUCTION 39 | ||
| 61 | #define EXIT_REASON_PAUSE_INSTRUCTION 40 | ||
| 62 | #define EXIT_REASON_MCE_DURING_VMENTRY 41 | ||
| 63 | #define EXIT_REASON_TPR_BELOW_THRESHOLD 43 | ||
| 64 | #define EXIT_REASON_APIC_ACCESS 44 | ||
| 65 | #define EXIT_REASON_EPT_VIOLATION 48 | ||
| 66 | #define EXIT_REASON_EPT_MISCONFIG 49 | ||
| 67 | #define EXIT_REASON_WBINVD 54 | ||
| 68 | #define EXIT_REASON_XSETBV 55 | ||
| 69 | #define EXIT_REASON_INVPCID 58 | ||
| 70 | |||
| 71 | #define VMX_EXIT_REASONS \ | ||
| 72 | { EXIT_REASON_EXCEPTION_NMI, "EXCEPTION_NMI" }, \ | ||
| 73 | { EXIT_REASON_EXTERNAL_INTERRUPT, "EXTERNAL_INTERRUPT" }, \ | ||
| 74 | { EXIT_REASON_TRIPLE_FAULT, "TRIPLE_FAULT" }, \ | ||
| 75 | { EXIT_REASON_PENDING_INTERRUPT, "PENDING_INTERRUPT" }, \ | ||
| 76 | { EXIT_REASON_NMI_WINDOW, "NMI_WINDOW" }, \ | ||
| 77 | { EXIT_REASON_TASK_SWITCH, "TASK_SWITCH" }, \ | ||
| 78 | { EXIT_REASON_CPUID, "CPUID" }, \ | ||
| 79 | { EXIT_REASON_HLT, "HLT" }, \ | ||
| 80 | { EXIT_REASON_INVLPG, "INVLPG" }, \ | ||
| 81 | { EXIT_REASON_RDPMC, "RDPMC" }, \ | ||
| 82 | { EXIT_REASON_RDTSC, "RDTSC" }, \ | ||
| 83 | { EXIT_REASON_VMCALL, "VMCALL" }, \ | ||
| 84 | { EXIT_REASON_VMCLEAR, "VMCLEAR" }, \ | ||
| 85 | { EXIT_REASON_VMLAUNCH, "VMLAUNCH" }, \ | ||
| 86 | { EXIT_REASON_VMPTRLD, "VMPTRLD" }, \ | ||
| 87 | { EXIT_REASON_VMPTRST, "VMPTRST" }, \ | ||
| 88 | { EXIT_REASON_VMREAD, "VMREAD" }, \ | ||
| 89 | { EXIT_REASON_VMRESUME, "VMRESUME" }, \ | ||
| 90 | { EXIT_REASON_VMWRITE, "VMWRITE" }, \ | ||
| 91 | { EXIT_REASON_VMOFF, "VMOFF" }, \ | ||
| 92 | { EXIT_REASON_VMON, "VMON" }, \ | ||
| 93 | { EXIT_REASON_CR_ACCESS, "CR_ACCESS" }, \ | ||
| 94 | { EXIT_REASON_DR_ACCESS, "DR_ACCESS" }, \ | ||
| 95 | { EXIT_REASON_IO_INSTRUCTION, "IO_INSTRUCTION" }, \ | ||
| 96 | { EXIT_REASON_MSR_READ, "MSR_READ" }, \ | ||
| 97 | { EXIT_REASON_MSR_WRITE, "MSR_WRITE" }, \ | ||
| 98 | { EXIT_REASON_MWAIT_INSTRUCTION, "MWAIT_INSTRUCTION" }, \ | ||
| 99 | { EXIT_REASON_MONITOR_INSTRUCTION, "MONITOR_INSTRUCTION" }, \ | ||
| 100 | { EXIT_REASON_PAUSE_INSTRUCTION, "PAUSE_INSTRUCTION" }, \ | ||
| 101 | { EXIT_REASON_MCE_DURING_VMENTRY, "MCE_DURING_VMENTRY" }, \ | ||
| 102 | { EXIT_REASON_TPR_BELOW_THRESHOLD, "TPR_BELOW_THRESHOLD" }, \ | ||
| 103 | { EXIT_REASON_APIC_ACCESS, "APIC_ACCESS" }, \ | ||
| 104 | { EXIT_REASON_EPT_VIOLATION, "EPT_VIOLATION" }, \ | ||
| 105 | { EXIT_REASON_EPT_MISCONFIG, "EPT_MISCONFIG" }, \ | ||
| 106 | { EXIT_REASON_WBINVD, "WBINVD" } | ||
| 107 | |||
| 108 | #ifdef __KERNEL__ | ||
| 109 | 27 | ||
| 110 | #include <linux/types.h> | 28 | #include <linux/types.h> |
| 29 | #include <uapi/asm/vmx.h> | ||
| 111 | 30 | ||
| 112 | /* | 31 | /* |
| 113 | * Definitions of Primary Processor-Based VM-Execution Controls. | 32 | * Definitions of Primary Processor-Based VM-Execution Controls. |
| @@ -445,8 +364,7 @@ enum vmcs_field { | |||
| 445 | #define VMX_EPTP_WB_BIT (1ull << 14) | 364 | #define VMX_EPTP_WB_BIT (1ull << 14) |
| 446 | #define VMX_EPT_2MB_PAGE_BIT (1ull << 16) | 365 | #define VMX_EPT_2MB_PAGE_BIT (1ull << 16) |
| 447 | #define VMX_EPT_1GB_PAGE_BIT (1ull << 17) | 366 | #define VMX_EPT_1GB_PAGE_BIT (1ull << 17) |
| 448 | #define VMX_EPT_AD_BIT (1ull << 21) | 367 | #define VMX_EPT_AD_BIT (1ull << 21) |
| 449 | #define VMX_EPT_EXTENT_INDIVIDUAL_BIT (1ull << 24) | ||
| 450 | #define VMX_EPT_EXTENT_CONTEXT_BIT (1ull << 25) | 368 | #define VMX_EPT_EXTENT_CONTEXT_BIT (1ull << 25) |
| 451 | #define VMX_EPT_EXTENT_GLOBAL_BIT (1ull << 26) | 369 | #define VMX_EPT_EXTENT_GLOBAL_BIT (1ull << 26) |
| 452 | 370 | ||
| @@ -527,5 +445,3 @@ enum vm_instruction_error_number { | |||
| 527 | }; | 445 | }; |
| 528 | 446 | ||
| 529 | #endif | 447 | #endif |
| 530 | |||
| 531 | #endif | ||
