X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmm_config.c;h=8d348e6c7f421ce7e820256711f85440bb893b28;hb=5f957c3aeebed4a07a0862cb5fbf595aa4436e81;hp=6f5da69ee4956a3e7c445c481c59f42c9a52199c;hpb=fcc9962fe5d3b877f8f25de8745d0d4d1eaf394e;p=palacios.releases.git diff --git a/palacios/src/palacios/vmm_config.c b/palacios/src/palacios/vmm_config.c index 6f5da69..8d348e6 100644 --- a/palacios/src/palacios/vmm_config.c +++ b/palacios/src/palacios/vmm_config.c @@ -30,7 +30,6 @@ #include #include #include -#include #include @@ -202,7 +201,7 @@ static inline uint32_t get_alignment(char * align_str) { } } -#ifndef CONFIG_ALIGNED_PG_ALLOC +#ifndef V3_CONFIG_ALIGNED_PG_ALLOC if (alignment != PAGE_SIZE_4KB) { PrintError("Aligned page allocations are not supported in this host (requested alignment=%d)\n", alignment); PrintError("Ignoring alignment request\n"); @@ -247,7 +246,7 @@ static int pre_config_vm(struct v3_vm_info * vm, v3_cfg_tree_t * vm_cfg) { return -1; } -#ifdef CONFIG_TELEMETRY +#ifdef V3_CONFIG_TELEMETRY { char * telemetry = v3_cfg_val(vm_cfg, "telemetry"); @@ -286,7 +285,6 @@ static int determine_paging_mode(struct guest_info * info, v3_cfg_tree_t * core_ v3_cfg_tree_t * vm_tree = info->vm_info->cfg_data->cfg; v3_cfg_tree_t * pg_tree = v3_cfg_subtree(vm_tree, "paging"); char * pg_mode = v3_cfg_val(pg_tree, "mode"); - char * page_size = v3_cfg_val(pg_tree, "page_size"); PrintDebug("Paging mode specified as %s\n", pg_mode); @@ -313,24 +311,6 @@ static int determine_paging_mode(struct guest_info * info, v3_cfg_tree_t * core_ } - if (info->shdw_pg_mode == NESTED_PAGING) { - PrintDebug("Guest Paging Mode: NESTED_PAGING\n"); - if (strcasecmp(page_size, "4kb") == 0) { /* TODO: this may not be an ideal place for this */ - info->vm_info->paging_size = PAGING_4KB; - } else if (strcasecmp(page_size, "2mb") == 0) { - info->vm_info->paging_size = PAGING_2MB; - } else { - PrintError("Invalid VM paging size: '%s'\n", page_size); - return -1; - } - PrintDebug("VM page size=%s\n", page_size); - } else if (info->shdw_pg_mode == SHADOW_PAGING) { - PrintDebug("Guest Paging Mode: SHADOW_PAGING\n"); - } else { - PrintError("Guest paging mode incorrectly set.\n"); - return -1; - } - if (v3_cfg_val(pg_tree, "large_pages") != NULL) { if (strcasecmp(v3_cfg_val(pg_tree, "large_pages"), "true") == 0) { info->use_large_pages = 1; @@ -372,14 +352,18 @@ static int post_config_vm(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { return -1; } - /* - * Initialize configured extensions - */ - if (setup_extensions(vm, cfg) == -1) { - PrintError("Failed to setup extensions\n"); + + if (vm->vm_class == V3_PC_VM) { + if (post_config_pc(vm, cfg) == -1) { + PrintError("PC Post configuration failure\n"); + return -1; + } + } else { + PrintError("Invalid VM Class\n"); return -1; } + /* * Initialize configured devices */ @@ -393,16 +377,17 @@ static int post_config_vm(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { v3_print_msr_map(vm); - if (vm->vm_class == V3_PC_VM) { - if (post_config_pc(vm, cfg) == -1) { - PrintError("PC Post configuration failure\n"); - return -1; - } - } else { - PrintError("Invalid VM Class\n"); + + + /* + * Initialize configured extensions + */ + if (setup_extensions(vm, cfg) == -1) { + PrintError("Failed to setup extensions\n"); return -1; } + return 0; } @@ -507,7 +492,7 @@ struct v3_vm_info * v3_config_guest(void * cfg_blob, void * priv_data) { for (i = 0; i < vm->num_cores; i++) { struct guest_info * info = &(vm->cores[i]); - info->cpu_id = i; + info->vcpu_id = i; info->vm_info = vm; info->core_cfg_data = per_core_cfg;