From: "Zhai, Edwin" Date: Tue, 30 Jan 2007 11:56:25 +0000 (+0000) Subject: [PATCH][HVM] fix smp guest hang after restore X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15368^2~36 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fa5664be225723ba024d69352407f2bf309fef2d;p=xen.git [PATCH][HVM] fix smp guest hang after restore [PATCH][HVM] fix smp guest hang after restore Signed-off-by: Zhai Edwin update the pt irq after restore, otherwise all lapic timer intr are lost --- diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c index e3456f391a..1951dbb2e6 100644 --- a/xen/arch/x86/hvm/vlapic.c +++ b/xen/arch/x86/hvm/vlapic.c @@ -836,14 +836,16 @@ static int lapic_load(hvm_domain_context_t *h, void *opaque, int version_id) 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); }