-
-
/*
* This file is part of the Palacios Virtual Machine Monitor developed
* by the V3VEE Project with funding from the United States National
typedef enum {
VMXASSIST_DISABLED,
VMXASSIST_ENABLED
+} vmxassist_state_t;
+
+typedef enum {
+ VMX_UNLAUNCHED,
+ VMX_LAUNCHED
} vmx_state_t;
struct tss_descriptor {
struct vmx_data {
vmx_state_t state;
+ vmxassist_state_t assist_state;
struct vmcs_host_state host_state;
addr_t vmcs_ptr_phys;
};
int v3_is_vmx_capable();
+
void v3_init_vmx_cpu(int cpu_id);
+void v3_deinit_vmx_cpu(int cpu_id);
+
int v3_start_vmx_guest(struct guest_info* info);
+int v3_vmx_enter(struct guest_info * info);
int v3_init_vmx_vmcs(struct guest_info * info, v3_vm_class_t vm_class);
+int v3_deinit_vmx_vmcs(struct guest_info * core);
#endif // ! __V3VEE__