X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fsvm.c;h=28ef40e6e43a036c3c2518d662acf32e024eb8bc;hb=7cb3bd8e4ed31b20163a79f2dd413ef45583dee7;hp=5e8eb778f711427f4adf06d82a1d83e9a93df492;hpb=2e05f3b8f738466246add183c55bcb17abf33ec9;p=palacios.git diff --git a/palacios/src/geekos/svm.c b/palacios/src/geekos/svm.c index 5e8eb77..28ef40e 100644 --- a/palacios/src/geekos/svm.c +++ b/palacios/src/geekos/svm.c @@ -19,7 +19,6 @@ int is_svm_capable() { uint_t vm_cr_low = 0, vm_cr_high = 0; - return 1; if ((ret & CPUID_FEATURE_IDS_ecx_svm_avail) == 0) { PrintDebug("SVM Not Available\n"); return 0; @@ -44,7 +43,7 @@ int is_svm_capable() { -void Init_SVM() { +void Init_SVM(struct vmm_ctrl_ops * vmm_ops) { reg_ex_t msr; void * host_state; @@ -68,6 +67,12 @@ void Init_SVM() { Set_MSR(SVM_VM_HSAVE_PA_MSR, msr.e_reg.high, msr.e_reg.low); + + // Setup the SVM specific vmm operations + vmm_ops->init_guest = &init_svm_guest; + vmm_ops->start_guest = &start_svm_guest; + + return; }