X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvm_guest.c;h=9c37b6f7856aa6fab0f19bfdec007ba761978272;hb=fe719150440abe776a01faed02a2e40bed8029f9;hp=95b109ff11d1e133067a8e182be78ff4b28b0b35;hpb=29b7ff8811c82ab543f5c969e44ff217637a09c7;p=palacios.git diff --git a/palacios/src/palacios/vm_guest.c b/palacios/src/palacios/vm_guest.c index 95b109f..9c37b6f 100644 --- a/palacios/src/palacios/vm_guest.c +++ b/palacios/src/palacios/vm_guest.c @@ -30,6 +30,7 @@ #include #include #include +#include v3_cpu_mode_t v3_get_vm_cpu_mode(struct guest_info * info) { @@ -491,6 +492,8 @@ int v3_init_vm(struct v3_vm_info * vm) { } + v3_init_time_vm(vm); + #ifdef CONFIG_SYMBIOTIC v3_init_symbiotic_vm(vm); @@ -526,6 +529,14 @@ int v3_init_vm(struct v3_vm_info * vm) { return 0; } + +int v3_free_vm_internal(struct v3_vm_info * vm) { + + + return 0; +} + + int v3_init_core(struct guest_info * core) { v3_cpu_arch_t cpu_type = v3_get_cpu_type(V3_Get_CPU()); struct v3_vm_info * vm = core->vm_info; @@ -541,7 +552,7 @@ int v3_init_core(struct guest_info * core) { v3_init_shdw_pg_state(core); } - v3_init_time(core); + v3_init_time_core(core); v3_init_intr_controllers(core); v3_init_exception_state(core); @@ -587,6 +598,22 @@ int v3_init_core(struct guest_info * core) { int v3_free_core(struct guest_info * core) { v3_cpu_arch_t cpu_type = v3_get_cpu_type(V3_Get_CPU()); + +#ifdef CONFIG_SYMBIOTIC + //v3_deinit_symbiotic_core(core); +#endif + + v3_deinit_decoder(core); + + v3_deinit_intr_controllers(core); + v3_deinit_time_core(core); + + if (core->shdw_pg_mode == SHADOW_PAGING) { + v3_deinit_shdw_pg_state(core); + } + + v3_free_passthrough_pts(core); + switch (cpu_type) { #ifdef CONFIG_SVM case V3_SVM_CPU: @@ -616,8 +643,3 @@ int v3_free_core(struct guest_info * core) { -int v3_free_vm_internal(struct v3_vm_info * vm) { - - - return 0; -}