X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_mem.c;h=390de616db8317747748076d328930281ca948b4;hb=357764d1d3bc432b149e8864c183c3a39ee4d474;hp=3753a932c479e4336bf5216d3a8b745ff9661570;hpb=3040cb0b3c89d04aab4a6e229dcf4d2223a45295;p=palacios.releases.git diff --git a/palacios/src/palacios/vmm_mem.c b/palacios/src/palacios/vmm_mem.c index 3753a93..390de61 100644 --- a/palacios/src/palacios/vmm_mem.c +++ b/palacios/src/palacios/vmm_mem.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -72,6 +73,11 @@ int v3_init_mem_map(struct v3_vm_info * vm) { map->base_region.host_addr = (addr_t)V3_AllocPages(mem_pages); #endif + if ((void*)map->base_region.host_addr == NULL) { + PrintError("Could not allocate guest memory\n"); + return -1; + } + // Clear the memory... memset(V3_VAddr((void *)map->base_region.host_addr), 0, mem_pages * PAGE_SIZE_4KB); @@ -84,13 +90,6 @@ int v3_init_mem_map(struct v3_vm_info * vm) { map->base_region.unhandled = unhandled_err; - if ((void *)map->base_region.host_addr == NULL) { - PrintError("Could not allocate Guest memory\n"); - return -1; - } - - //memset(V3_VAddr((void *)map->base_region.host_addr), 0xffffffff, map->base_region.guest_end); - v3_register_hypercall(vm, MEM_OFFSET_HCALL, mem_offset_hypercall, NULL); return 0; @@ -125,6 +124,12 @@ struct v3_mem_region * v3_create_mem_region(struct v3_vm_info * vm, uint16_t cor } entry = (struct v3_mem_region *)V3_Malloc(sizeof(struct v3_mem_region)); + + if (!entry) { + PrintError("Cannot allocate in creating a memory region\n"); + return NULL; + } + memset(entry, 0, sizeof(struct v3_mem_region)); entry->guest_start = guest_addr_start;