X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm.c;h=e16e2fa60f580e7b36f00f8e3fe1f66b393b7d4d;hb=6fa605075d1944da0a88a389122ea24bbc583329;hp=ac918732609f27d7b839107703fdadda9e42cc15;hpb=10446dafcbc15a8aa1639c52b5996f814ed37f27;p=palacios.git diff --git a/palacios/src/palacios/vmm.c b/palacios/src/palacios/vmm.c index ac91873..e16e2fa 100644 --- a/palacios/src/palacios/vmm.c +++ b/palacios/src/palacios/vmm.c @@ -31,6 +31,7 @@ #include #include #include +#include #ifdef V3_CONFIG_SVM #include @@ -162,6 +163,10 @@ void Init_V3(struct v3_os_hooks * hooks, char * cpu_mask, int num_cpus, char *op // Register all shadow paging handlers V3_init_shdw_paging(); +#ifdef V3_CONFIG_SWAPPING + v3_init_swapping(); +#endif + // Initialize the cpu_mapper framework (must be before extensions) V3_init_cpu_mapper(); @@ -239,6 +244,10 @@ void Shutdown_V3() { V3_deinit_scheduling(); V3_deinit_cpu_mapper(); + +#ifdef V3_CONFIG_SWAPPING + v3_deinit_swapping(); +#endif V3_deinit_shdw_paging(); @@ -853,6 +862,14 @@ int v3_get_state_vm(struct v3_vm_info *vm, for (i=0;imem_map.num_base_regions;i++) { mem->region[i].host_paddr = (void*)(vm->mem_map.base_regions[i].host_addr); mem->region[i].size = v3_mem_block_size; +#ifdef V3_CONFIG_SWAPPING + mem->region[i].swapped = vm->mem_map.base_regions[i].flags.swapped; + mem->region[i].pinned = vm->mem_map.base_regions[i].flags.pinned; +#else + mem->region[i].swapped = 0; + mem->region[i].pinned = 0; +#endif + } mem->num_regions=numregions;