[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [PATCH][HVM] fix smp guest hang after restore



# HG changeset patch
# User "Zhai, Edwin" <edwin.zhai@xxxxxxxxx>
# Date 1170158185 0
# Node ID 0a28ad8cedf247f956cc311b18ea9473da2a5aed
# Parent  bca858b72bf8038b14dbbd7bb1431897c95b2fc2
[PATCH][HVM] fix smp guest hang after restore
[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
---
 xen/arch/x86/hvm/vlapic.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff -r bca858b72bf8 -r 0a28ad8cedf2 xen/arch/x86/hvm/vlapic.c
--- a/xen/arch/x86/hvm/vlapic.c Tue Jan 30 11:37:18 2007 +0000
+++ b/xen/arch/x86/hvm/vlapic.c Tue Jan 30 11:56:25 2007 +0000
@@ -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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.