From: Peter Dinda Date: Tue, 26 Apr 2011 16:01:37 +0000 (-0500) Subject: Insert mptable even on single core guest if an apic exists X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=37755f8881e798fec5f4c4f9773a0b6aa6007930;p=palacios.git Insert mptable even on single core guest if an apic exists Do not allow multicore guests without an apic Warn strenously if an apic exists but no ioapic exists --- diff --git a/palacios/src/palacios/vmm_config_class.h b/palacios/src/palacios/vmm_config_class.h index 9fcf197..0c7ef4c 100644 --- a/palacios/src/palacios/vmm_config_class.h +++ b/palacios/src/palacios/vmm_config_class.h @@ -77,13 +77,21 @@ static int post_config_pc(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { } - if (vm->num_cores > 1) { + if (vm->num_cores>1 && !v3_find_dev(vm,"apic")) { + PrintError("palacios: VM has more than one core, but no device named \"apic\"!\n"); + return -1; + } + + if (v3_find_dev(vm,"apic")) { + if (!v3_find_dev(vm,"ioapic")) { + PrintError("palacios: VM cores have apics, but there is no device named \"ioapic\"!\n"); + } if (v3_inject_mptable(vm) == -1) { PrintError("Failed to inject mptable during configuration\n"); return -1; } } - + return 0; }