hypervisor/consts/
vmx_exit.rs

1/*
2Copyright (c) 2016 Saurav Sachidanand
3
4Permission is hereby granted, free of charge, to any person obtaining a copy
5of this software and associated documentation files (the "Software"), to deal
6in the Software without restriction, including without limitation the rights
7to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8copies of the Software, and to permit persons to whom the Software is
9furnished to do so, subject to the following conditions:
10
11The above copyright notice and this permission notice shall be included in
12all copies or substantial portions of the Software.
13
14THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20THE SOFTWARE.
21*/
22
23//! VMX exit reasons
24
25use libc::*;
26
27pub const VMX_REASON_EXC_NMI           : uint64_t =  0;
28pub const VMX_REASON_IRQ               : uint64_t =  1;
29pub const VMX_REASON_TRIPLE_FAULT      : uint64_t =  2;
30pub const VMX_REASON_INIT              : uint64_t =  3;
31pub const VMX_REASON_SIPI              : uint64_t =  4;
32pub const VMX_REASON_IO_SMI            : uint64_t =  5;
33pub const VMX_REASON_OTHER_SMI         : uint64_t =  6;
34pub const VMX_REASON_IRQ_WND           : uint64_t =  7;
35pub const VMX_REASON_VIRTUAL_NMI_WND   : uint64_t =  8;
36pub const VMX_REASON_TASK              : uint64_t =  9;
37pub const VMX_REASON_CPUID             : uint64_t = 10;
38pub const VMX_REASON_GETSEC            : uint64_t = 11;
39pub const VMX_REASON_HLT               : uint64_t = 12;
40pub const VMX_REASON_INVD              : uint64_t = 13;
41pub const VMX_REASON_INVLPG            : uint64_t = 14;
42pub const VMX_REASON_RDPMC             : uint64_t = 15;
43pub const VMX_REASON_RDTSC             : uint64_t = 16;
44pub const VMX_REASON_RSM               : uint64_t = 17;
45pub const VMX_REASON_VMCALL            : uint64_t = 18;
46pub const VMX_REASON_VMCLEAR           : uint64_t = 19;
47pub const VMX_REASON_VMLAUNCH          : uint64_t = 20;
48pub const VMX_REASON_VMPTRLD           : uint64_t = 21;
49pub const VMX_REASON_VMPTRST           : uint64_t = 22;
50pub const VMX_REASON_VMREAD            : uint64_t = 23;
51pub const VMX_REASON_VMRESUME          : uint64_t = 24;
52pub const VMX_REASON_VMWRITE           : uint64_t = 25;
53pub const VMX_REASON_VMOFF             : uint64_t = 26;
54pub const VMX_REASON_VMON              : uint64_t = 27;
55pub const VMX_REASON_MOV_CR            : uint64_t = 28;
56pub const VMX_REASON_MOV_DR            : uint64_t = 29;
57pub const VMX_REASON_IO                : uint64_t = 30;
58pub const VMX_REASON_RDMSR             : uint64_t = 31;
59pub const VMX_REASON_WRMSR             : uint64_t = 32;
60pub const VMX_REASON_VMENTRY_GUEST     : uint64_t = 33;
61pub const VMX_REASON_VMENTRY_MSR       : uint64_t = 34;
62pub const VMX_REASON_MWAIT             : uint64_t = 36;
63pub const VMX_REASON_MTF               : uint64_t = 37;
64pub const VMX_REASON_MONITOR           : uint64_t = 39;
65pub const VMX_REASON_PAUSE             : uint64_t = 40;
66pub const VMX_REASON_VMENTRY_MC        : uint64_t = 41;
67pub const VMX_REASON_TPR_THRESHOLD     : uint64_t = 43;
68pub const VMX_REASON_APIC_ACCESS       : uint64_t = 44;
69pub const VMX_REASON_VIRTUALIZED_EOI   : uint64_t = 45;
70pub const VMX_REASON_GDTR_IDTR         : uint64_t = 46;
71pub const VMX_REASON_LDTR_TR           : uint64_t = 47;
72pub const VMX_REASON_EPT_VIOLATION     : uint64_t = 48;
73pub const VMX_REASON_EPT_MISCONFIG     : uint64_t = 49;
74pub const VMX_REASON_EPT_INVEPT        : uint64_t = 50;
75pub const VMX_REASON_RDTSCP            : uint64_t = 51;
76pub const VMX_REASON_VMX_TIMER_EXPIRED : uint64_t = 52;
77pub const VMX_REASON_INVVPID           : uint64_t = 53;
78pub const VMX_REASON_WBINVD            : uint64_t = 54;
79pub const VMX_REASON_XSETBV            : uint64_t = 55;
80pub const VMX_REASON_APIC_WRITE        : uint64_t = 56;
81pub const VMX_REASON_RDRAND            : uint64_t = 57;
82pub const VMX_REASON_INVPCID           : uint64_t = 58;
83pub const VMX_REASON_VMFUNC            : uint64_t = 59;
84pub const VMX_REASON_RDSEED            : uint64_t = 61;
85pub const VMX_REASON_XSAVES            : uint64_t = 63;
86pub const VMX_REASON_XRSTORS           : uint64_t = 64;