X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Finclude%2Fpalacios%2Fsvm.h;h=ed227fa298ed0aa21365f62da433f9671a6bbd98;hb=b1128b2a9d269fefc786c60c26878b372d5e39c1;hp=0be1c9a19e6c83ed63964511ce09ac273bd792aa;hpb=de3fce7c94e36342005ae5f79fcf22937acde586;p=palacios.git diff --git a/palacios/include/palacios/svm.h b/palacios/include/palacios/svm.h index 0be1c9a..ed227fa 100644 --- a/palacios/include/palacios/svm.h +++ b/palacios/include/palacios/svm.h @@ -31,8 +31,7 @@ #include #include -#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 @@ -77,10 +76,23 @@ #define SVM_HANDLER_ERROR 0x1 #define SVM_HANDLER_HALT 0x2 +int v3_is_svm_capable(); +void v3_init_svm_cpu(int cpu_id); +void v3_deinit_svm_cpu(int cpu_id); + + + +int v3_init_svm_vmcb(struct guest_info * core, v3_vm_class_t vm_class); +int v3_deinit_svm_vmcb(struct guest_info * core); + +int v3_svm_enter(struct guest_info * info); +int v3_start_svm_guest(struct guest_info *info); +int v3_reset_svm_vm_core(struct guest_info * core, addr_t rip); + +int v3_svm_load_core(struct guest_info * core, void * ctx); +int v3_svm_save_core(struct guest_info * core, void * ctx); -void v3_init_SVM(struct v3_ctrl_ops * vmm_ops); -int v3_is_svm_capable(); #endif