X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=palacios%2Fsrc%2Fdevices%2Fapic.c;fp=palacios%2Fsrc%2Fdevices%2Fapic.c;h=5963e59152c61dd2ab322ea949dbd99d7538af37;hp=6e036a5833517197fd16f22196df1ed94eaa120b;hb=e071b22dc5eefe103aff4c29a981bb57334bb355;hpb=a6225e5c3b1d99f331f123de87e5f677f402e413 diff --git a/palacios/src/devices/apic.c b/palacios/src/devices/apic.c index 6e036a5..5963e59 100644 --- a/palacios/src/devices/apic.c +++ b/palacios/src/devices/apic.c @@ -293,6 +293,12 @@ static int apic_do_eoi(struct apic_state * apic) { *svc_major &= ~flag; #ifdef CRAY_XT + + if ((((i * 8) + j) == 238) || + (((i * 8) + j) == 239)) { + PrintError("Acking IRQ %d\n"); + } + if (((i * 8) + j) == 238) { V3_ACK_IRQ(238); } @@ -918,7 +924,7 @@ static void apic_update_time(ullong_t cpu_cycles, ullong_t cpu_freq, void * priv } tmr_ticks = cpu_cycles >> shift_num; - // PrintDebug("Timer Ticks: %p\n", (void *)tmr_ticks); + PrintDebug("Timer Ticks: %p\n", (void *)tmr_ticks); if (tmr_ticks < apic->tmr_cur_cnt) { apic->tmr_cur_cnt -= tmr_ticks; @@ -929,6 +935,7 @@ static void apic_update_time(ullong_t cpu_cycles, ullong_t cpu_freq, void * priv // raise irq PrintDebug("Raising APIC Timer interrupt (periodic=%d) (icnt=%d) (div=%d)\n", apic->tmr_vec_tbl.tmr_mode, apic->tmr_init_cnt, shift_num); + if (activate_internal_irq(apic, APIC_TMR_INT) == -1) { PrintError("Could not raise Timer interrupt\n"); }