[IA64] Bug fix new_tlbflush_clock_period()
authorawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>
Sun, 4 Feb 2007 18:28:54 +0000 (11:28 -0700)
committerawilliam@xenbuild2.aw <awilliam@xenbuild2.aw>
Sun, 4 Feb 2007 18:28:54 +0000 (11:28 -0700)
__vhpt_flush() might be called from new_tlbflush_clock_period()
even if the vcpu doesn't have the per-vcpu-vhpt.
It erases 64KB memory content that starts from machine address 0.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
xen/arch/ia64/xen/flushtlb.c

index 0c77c1b6df92dd2c6444ca73c0856da11fc52446..c7008db3ff1eece54e1e8ed802fa505fc2fc782c 100644 (file)
@@ -88,6 +88,8 @@ new_tlbflush_clock_period(void)
     smp_mb();
     for_each_domain(d) {
         for_each_vcpu(d, v) {
+            if (!test_bit(_VCPUF_initialised, &v->vcpu_flags) || VMX_DOMAIN(v))
+                continue;
             if (HAS_PERVCPU_VHPT(v->domain))
                 vcpu_vhpt_flush(v);
         }