X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_mem.c;h=238fdc578a8457e7616abae482a03b12a6b5c21b;hb=3e937e5468169b8183a22a90f6d07ff370abde0c;hp=9cf6ea1f342d5ea9b6912025f32178a0df05823f;hpb=b58fe2254858e3ecc94be5d86f2a93f2cfe0a0d5;p=palacios.git diff --git a/palacios/src/palacios/vmm_mem.c b/palacios/src/palacios/vmm_mem.c index 9cf6ea1..238fdc5 100644 --- a/palacios/src/palacios/vmm_mem.c +++ b/palacios/src/palacios/vmm_mem.c @@ -217,11 +217,12 @@ int v3_init_mem_map(struct v3_vm_info * vm) { #ifdef V3_CONFIG_SWAPPING // nothing to do - memset will have done it. #endif - + region->host_addr = (addr_t)V3_AllocPagesExtended(block_pages, PAGE_SIZE_4KB, node_id, - 0, 0); // no constraints + vm->resource_control.pg_filter_func, + vm->resource_control.pg_filter_state); if ((void *)region->host_addr == NULL) { PrintError(vm, VCORE_NONE, "Could not allocate guest memory\n"); @@ -523,7 +524,7 @@ static struct v3_mem_region * get_next_mem_region( struct v3_vm_info * vm, uint1 } - if (parent->guest_start > guest_addr) { + if (!parent || parent->guest_start > guest_addr) { return parent; } else if (parent->guest_end < guest_addr) { struct rb_node * node = &(parent->tree_node);