[PATCH][HVM] fix smp guest hang after restore
Signed-off-by: Zhai Edwin <edwin.zhai@xxxxxxxxx>
update the pt irq after restore, otherwise all lapic timer intr are lost
diff -r 6b5606877bb4 xen/arch/x86/hvm/vlapic.c
--- a/xen/arch/x86/hvm/vlapic.c Fri Sep 15 17:05:38 2006 +0800
+++ b/xen/arch/x86/hvm/vlapic.c Tue Jan 30 18:03:19 2007 +0800
@@ -836,14 +836,16 @@ static int lapic_load(hvm_domain_context
tmict = vlapic_get_reg(s, APIC_TMICT);
if (tmict > 0) {
uint64_t period = APIC_BUS_CYCLE_NS * (uint32_t)tmict *
s->hw.timer_divisor;
-
+ uint32_t lvtt = vlapic_get_reg(s, APIC_LVTT);
+
+ s->pt.irq = lvtt & APIC_VECTOR_MASK;
create_periodic_time(v, &s->pt, period, s->pt.irq,
vlapic_lvtt_period(s), NULL, s);
printk("lapic_load to rearm the actimer:"
"bus cycle is %uns, "
- "saved tmict count %lu, period %"PRIu64"ns\n",
- APIC_BUS_CYCLE_NS, tmict, period);
+ "saved tmict count %lu, period %"PRIu64"ns,
irq=%"PRIu8"\n",
+ APIC_BUS_CYCLE_NS, tmict, period, s->pt.irq);
}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|