X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fio_apic.c;h=35187af42b8706ce83aa02d51436ac1c3626d4d7;hb=30434aee50c56ff4a23400191562c5c9ffaff830;hp=c725e86a7433d28084a1c49aac4e763e0903de9b;hpb=f40945e5a406b48b7b5ee678a3d8d8f0b56f7d74;p=palacios.git diff --git a/palacios/src/devices/io_apic.c b/palacios/src/devices/io_apic.c index c725e86..35187af 100644 --- a/palacios/src/devices/io_apic.c +++ b/palacios/src/devices/io_apic.c @@ -245,7 +245,7 @@ static int ioapic_write(struct guest_info * core, addr_t guest_addr, void * src, return -1; } if (hi_val) { - PrintDebug("ioapic %u: Writing to hi of pin %d\n", ioapic->ioapic_id.val, redir_index); + PrintDebug("ioapic %u: Writing to hi of pin %d\n", ioapic->ioapic_id.id, redir_index); ioapic->redir_tbl[redir_index].hi = op_val; } else { PrintDebug("ioapic %u: Writing to lo of pin %d\n", ioapic->ioapic_id.id, redir_index); @@ -284,11 +284,14 @@ static int ioapic_raise_irq(struct v3_vm_info * vm, void * private_data, int irq ipi.mode = irq_entry->del_mode; ipi.logical = irq_entry->dst_mode; ipi.trigger_mode = irq_entry->trig_mode; - ipi->dst = irq_entry->dst_field; - ipi->dst_shorthand = 0; + ipi.dst = irq_entry->dst_field; + ipi.dst_shorthand = 0; // Need to add destination argument here... - v3_apic_send_ipi(vm, ioapic->apic_dev, &ipi); + if (v3_apic_send_ipi(vm, ioapic->apic_dev, &ipi) == -1) { + PrintError("Error sending IPI to apic %d\n", ipi.dst); + return -1; + } } return 0;