#include <palacios/vmcb.h>
#include <palacios/vmm_util.h>
-#define CPUID_FEATURE_IDS 0x80000001
-#define CPUID_FEATURE_IDS_ecx_svm_avail 0x00000004
+#define CPUID_EXT_FEATURE_IDS_ecx_svm_avail 0x00000004
#define CPUID_SVM_REV_AND_FEATURE_IDS 0x8000000a
#define CPUID_SVM_REV_AND_FEATURE_IDS_edx_svml 0x00000004
#define CPUID_SVM_REV_AND_FEATURE_IDS_edx_np 0x00000001
-
-#define EFER_MSR 0xc0000080
#define EFER_MSR_svm_enable 0x00001000
/************/
#define SVM_HANDLER_HALT 0x2
-
-void v3_init_SVM(struct v3_ctrl_ops * vmm_ops);
+void v3_init_svm_cpu(int cpu_id);
int v3_is_svm_capable();
+int v3_init_svm_vmcb(struct guest_info * info, v3_vm_class_t vm_class);
+
+int v3_svm_enter(struct guest_info * info);
+int v3_start_svm_guest(struct guest_info *info);
+
#endif