Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/include/vmm.h
Show First 20 Lines • Show All 479 Lines • ▼ Show 20 Lines | enum vm_cap_type { | ||||
VM_CAP_HALT_EXIT, | VM_CAP_HALT_EXIT, | ||||
VM_CAP_MTRAP_EXIT, | VM_CAP_MTRAP_EXIT, | ||||
VM_CAP_PAUSE_EXIT, | VM_CAP_PAUSE_EXIT, | ||||
VM_CAP_UNRESTRICTED_GUEST, | VM_CAP_UNRESTRICTED_GUEST, | ||||
VM_CAP_ENABLE_INVPCID, | VM_CAP_ENABLE_INVPCID, | ||||
VM_CAP_BPT_EXIT, | VM_CAP_BPT_EXIT, | ||||
VM_CAP_RDPID, | VM_CAP_RDPID, | ||||
VM_CAP_RDTSCP, | VM_CAP_RDTSCP, | ||||
VM_CAP_DB_EXIT, | |||||
VM_CAP_RFLAGS_SSTEP, | |||||
VM_CAP_DR_MOV_EXIT, | |||||
VM_CAP_MAX | VM_CAP_MAX | ||||
}; | }; | ||||
enum vm_intr_trigger { | enum vm_intr_trigger { | ||||
EDGE_TRIGGER, | EDGE_TRIGGER, | ||||
LEVEL_TRIGGER | LEVEL_TRIGGER | ||||
}; | }; | ||||
▲ Show 20 Lines • Show All 131 Lines • ▼ Show 20 Lines | enum vm_exitcode { | ||||
VM_EXITCODE_TASK_SWITCH, | VM_EXITCODE_TASK_SWITCH, | ||||
VM_EXITCODE_MONITOR, | VM_EXITCODE_MONITOR, | ||||
VM_EXITCODE_MWAIT, | VM_EXITCODE_MWAIT, | ||||
VM_EXITCODE_SVM, | VM_EXITCODE_SVM, | ||||
VM_EXITCODE_REQIDLE, | VM_EXITCODE_REQIDLE, | ||||
VM_EXITCODE_DEBUG, | VM_EXITCODE_DEBUG, | ||||
VM_EXITCODE_VMINSN, | VM_EXITCODE_VMINSN, | ||||
VM_EXITCODE_BPT, | VM_EXITCODE_BPT, | ||||
VM_EXITCODE_DB, | |||||
VM_EXITCODE_MAX | VM_EXITCODE_MAX | ||||
}; | }; | ||||
struct vm_inout { | struct vm_inout { | ||||
uint16_t bytes:3; /* 1 or 2 or 4 */ | uint16_t bytes:3; /* 1 or 2 or 4 */ | ||||
uint16_t in:1; | uint16_t in:1; | ||||
uint16_t string:1; | uint16_t string:1; | ||||
uint16_t rep:1; | uint16_t rep:1; | ||||
▲ Show 20 Lines • Show All 73 Lines • ▼ Show 20 Lines | union { | ||||
struct { | struct { | ||||
uint64_t exitcode; | uint64_t exitcode; | ||||
uint64_t exitinfo1; | uint64_t exitinfo1; | ||||
uint64_t exitinfo2; | uint64_t exitinfo2; | ||||
} svm; | } svm; | ||||
struct { | struct { | ||||
int inst_length; | int inst_length; | ||||
} bpt; | } bpt; | ||||
struct { | |||||
int trace_trap; | |||||
int drx_access; | |||||
int gpr; | |||||
int watchpoints; /* bitmask */ | |||||
int pushf_intercept; | |||||
int tf_shadow_val; | |||||
struct vm_guest_paging paging; | |||||
} dbg; | |||||
struct { | struct { | ||||
uint32_t code; /* ecx value */ | uint32_t code; /* ecx value */ | ||||
uint64_t wval; | uint64_t wval; | ||||
} msr; | } msr; | ||||
struct { | struct { | ||||
int vcpu; | int vcpu; | ||||
uint64_t rip; | uint64_t rip; | ||||
} spinup_ap; | } spinup_ap; | ||||
▲ Show 20 Lines • Show All 47 Lines • Show Last 20 Lines |