// Intel VMX Specific MSRs
#define VMX_FEATURE_CONTROL_MSR 0x0000003a
-#define VMX_BASIC_MSR 0x00000480
+#define VMX_BASIC_MSR 0x00000480
#define VMX_PINBASED_CTLS_MSR 0x00000481
#define VMX_PROCBASED_CTLS_MSR 0x00000482
#define VMX_EXIT_CTLS_MSR 0x00000483
} __attribute__((packed));
typedef enum {
- VMXASSIST_STARTUP,
- VMXASSIST_V8086_BIOS,
- VMXASSIST_V8086,
- NORMAL
+ VMXASSIST_DISABLED,
+ VMXASSIST_ENABLED
} vmx_state_t;
struct tss_descriptor {
uint32_t sec_procbased_ctrls;
uint32_t exit_ctrls;
uint32_t entry_ctrls;
- uint32_t excp_bitmap;
};
int v3_is_vmx_capable();
void v3_init_vmx(struct v3_ctrl_ops* vm_ops);
+int v3_update_vmcs_guest_state(struct guest_info * info);
+int v3_update_vmcs_ctrl_fields(struct guest_info * info);
+int v3_update_vmcs_host_state(struct guest_info * info);