X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fgeekos%2Fvmm.c;h=e0818161f6e1690a7d56062e807496fa038ebd24;hb=2e05f3b8f738466246add183c55bcb17abf33ec9;hp=a162af95618498ae75ebf36edf4233e921ff5c83;hpb=ff58148c2cfbbc82405dc9ec25056cc93c773083;p=palacios.git diff --git a/palacios/src/geekos/vmm.c b/palacios/src/geekos/vmm.c index a162af9..e081816 100644 --- a/palacios/src/geekos/vmm.c +++ b/palacios/src/geekos/vmm.c @@ -11,7 +11,10 @@ uint_t vmm_cpu_type; struct vmm_os_hooks * os_hooks = NULL; -void Init_VMM(struct vmm_os_hooks * hooks) { + + + +void Init_VMM(struct vmm_os_hooks * hooks, struct vmm_ctrl_ops * vmm_ops) { vmm_cpu_type = VMM_INVALID_CPU; os_hooks = hooks; @@ -21,7 +24,12 @@ void Init_VMM(struct vmm_os_hooks * hooks) { if (is_svm_capable()) { vmm_cpu_type = VMM_SVM_CPU; PrintDebug("Machine is SVM Capable\n"); + Init_SVM(); + + vmm_ops->init_guest = &init_svm_guest; + vmm_ops->start_guest = &start_svm_guest; + } else if (is_vmx_capable()) { vmm_cpu_type = VMM_VMX_CPU; PrintDebug("Machine is VMX Capable\n"); @@ -30,3 +38,6 @@ void Init_VMM(struct vmm_os_hooks * hooks) { PrintDebug("CPU has no virtualization Extensions\n"); } } + + +