X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Ficc_bus.c;h=0a74eee17f37666cdc54ef5855f3a6ddc10b918f;hb=8330d6bb32172ba7c50b4e242e0213c8a9e1424e;hp=cfe3c056e0eca463fbd2000f9bc4102694dbc3bb;hpb=5bb5bb2b3113a92410bc3b2d30bc48d0f4e0bb55;p=palacios.git diff --git a/palacios/src/devices/icc_bus.c b/palacios/src/devices/icc_bus.c index cfe3c05..0a74eee 100644 --- a/palacios/src/devices/icc_bus.c +++ b/palacios/src/devices/icc_bus.c @@ -352,26 +352,20 @@ int v3_icc_send_ipi(struct vm_device * icc_bus, uint32_t src_apic, uint64_t icr_ case 2: case 3: { // all and all-but-me - if (icr->dst_mode==0) { - // physical - int i; - for (i=0;iapics[i]); - if (dest_apic->present && (i!=src_apic || icr->dst_shorthand==2)) { - if (deliver(src_apic,dest_apic,icr,state,extirq)) { - return -1; - } - + // assuming that logical verus physical doesn't matter + // although it is odd that both are used + int i; + for (i=0;iapics[i]); + if (dest_apic->present && (i!=src_apic || icr->dst_shorthand==2)) { + if (deliver(src_apic,dest_apic,icr,state,extirq)) { + return -1; } } - } else { - // logical delivery - PrintError("icc_bus: use of logical delivery in %s is not yet supported\n", - icr->dst_shorthand==2 ? "all" : "all-but-me" ); - return -1; } - break; } + break; + default: return -1; }