From: Jack Lange Date: Wed, 27 Oct 2010 16:10:21 +0000 (-0500) Subject: more multicore fixes X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=a02f23087d0ea3df6dbd494de90754b3302ee9a5;p=palacios.git more multicore fixes --- diff --git a/palacios/src/devices/io_apic.c b/palacios/src/devices/io_apic.c index 8fa49ee..506b7af 100644 --- a/palacios/src/devices/io_apic.c +++ b/palacios/src/devices/io_apic.c @@ -285,8 +285,8 @@ static int ioapic_raise_irq(struct v3_vm_info * vm, void * private_data, int irq PrintDebug("io apic: raising irq %u\n", irq); - - v3_apic_raise_intr(vm, ioapic->apic_dev, irq, irq_entry->val); + // Need to add destination argument here... + v3_apic_raise_intr(vm, ioapic->apic_dev, irq, irq_entry->vec); } diff --git a/palacios/src/palacios/vmm_config.c b/palacios/src/palacios/vmm_config.c index 8cdc907..ecbb996 100644 --- a/palacios/src/palacios/vmm_config.c +++ b/palacios/src/palacios/vmm_config.c @@ -390,12 +390,6 @@ static int post_config_vm(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { return -1; } - if (v3_inject_mptable(vm) == -1) { - PrintError("Failed to inject mptable during configuration\n"); - return -1; - } - - return 0; } diff --git a/palacios/src/palacios/vmm_config_class.h b/palacios/src/palacios/vmm_config_class.h index 8f74a44..9fcf197 100644 --- a/palacios/src/palacios/vmm_config_class.h +++ b/palacios/src/palacios/vmm_config_class.h @@ -76,6 +76,14 @@ static int post_config_pc(struct v3_vm_info * vm, v3_cfg_tree_t * cfg) { memcpy(rombios_dst, v3_rombios_start, v3_rombios_end - v3_rombios_start); } + + if (vm->num_cores > 1) { + if (v3_inject_mptable(vm) == -1) { + PrintError("Failed to inject mptable during configuration\n"); + return -1; + } + } + return 0; }