Revision 3b46e624 hw/apic.c
b/hw/apic.c | ||
---|---|---|
222 | 222 |
foreach_apic(apic_iter, deliver_bitmask, |
223 | 223 |
apic_init_ipi(apic_iter) ); |
224 | 224 |
return; |
225 |
|
|
225 |
|
|
226 | 226 |
case APIC_DM_EXTINT: |
227 | 227 |
/* handled in I/O APIC code */ |
228 | 228 |
break; |
... | ... | |
471 | 471 |
return -1; |
472 | 472 |
if (!(s->spurious_vec & APIC_SV_ENABLE)) |
473 | 473 |
return -1; |
474 |
|
|
474 |
|
|
475 | 475 |
/* XXX: spurious IRQ handling */ |
476 | 476 |
intno = get_highest_priority_int(s->irr); |
477 | 477 |
if (intno < 0) |
... | ... | |
505 | 505 |
static void apic_timer_update(APICState *s, int64_t current_time) |
506 | 506 |
{ |
507 | 507 |
int64_t next_time, d; |
508 |
|
|
508 |
|
|
509 | 509 |
if (!(s->lvt[APIC_LVT_TIMER] & APIC_LVT_MASKED)) { |
510 | 510 |
d = (current_time - s->initial_count_load_time) >> |
511 | 511 |
s->count_shift; |
... | ... | |
834 | 834 |
|
835 | 835 |
register_savevm("apic", s->id, 2, apic_save, apic_load, s); |
836 | 836 |
qemu_register_reset(apic_reset, s); |
837 |
|
|
837 |
|
|
838 | 838 |
local_apics[s->id] = s; |
839 | 839 |
return 0; |
840 | 840 |
} |
... | ... | |
868 | 868 |
vector = pic_read_irq(isa_pic); |
869 | 869 |
else |
870 | 870 |
vector = entry & 0xff; |
871 |
|
|
871 |
|
|
872 | 872 |
apic_get_delivery_bitmask(deliver_bitmask, dest, dest_mode); |
873 | 873 |
apic_bus_deliver(deliver_bitmask, delivery_mode, |
874 | 874 |
vector, polarity, trig_mode); |
... | ... | |
1042 | 1042 |
|
1043 | 1043 |
register_savevm("ioapic", 0, 1, ioapic_save, ioapic_load, s); |
1044 | 1044 |
qemu_register_reset(ioapic_reset, s); |
1045 |
|
|
1045 |
|
|
1046 | 1046 |
return s; |
1047 | 1047 |
} |
Also available in: Unified diff