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

[Xen-changelog] [IA64] VTI: Fix two bugs



# HG changeset patch
# User awilliam@xxxxxxxxxxx
# Node ID c18c63f87b7d511eb526a1ddd910b3ff6d069f4a
# Parent  67ea7868089b2e351973fdab60d6eba2fdabc260
[IA64] VTI: Fix two bugs

1. Vmx_check_pending_irq should not be called in vmx_vcpu_set_eoi,
because vmx_vcpu_increment_iip is called after vmx_vcpu_set_eoi. That
is, the first instruction of guest interrupt handler will be skipped.
2. Remove code segment which was used to send events to VTIdomain, when
dom0 was VTIdomain. This is not needed any more, and will cause
VTIdomain on SMP-HOST complain "Unexpected interrupt ..." .

Signed-off-by: Anthony Xu <anthony.xu@xxxxxxxxx>

diff -r 67ea7868089b -r c18c63f87b7d xen/arch/ia64/vmx/vlsapic.c
--- a/xen/arch/ia64/vmx/vlsapic.c       Fri Feb 24 20:30:39 2006
+++ b/xen/arch/ia64/vmx/vlsapic.c       Fri Feb 24 20:38:26 2006
@@ -575,7 +575,8 @@
     VLSAPIC_INSVC(vcpu,vec>>6) &= ~(1UL <<(vec&63));
     local_irq_restore(spsr);
     VCPU(vcpu, eoi)=0;    // overwrite the data
-    vmx_check_pending_irq(vcpu);
+    vcpu->arch.irq_new_pending=1;
+//    vmx_check_pending_irq(vcpu);
 }
 
 uint64_t guest_read_vivr(VCPU *vcpu)
diff -r 67ea7868089b -r c18c63f87b7d xen/arch/ia64/vmx/vmx_process.c
--- a/xen/arch/ia64/vmx/vmx_process.c   Fri Feb 24 20:30:39 2006
+++ b/xen/arch/ia64/vmx/vmx_process.c   Fri Feb 24 20:38:26 2006
@@ -262,10 +262,10 @@
                 *
                 * Now hardcode the vector as 0x10 temporarily
                 */
-               if (event_pending(v)&&(!(VLSAPIC_INSVC(v,0)&(1UL<<0x10)))) {
-                       VCPU(v, irr[0]) |= 1UL << 0x10;
-                       v->arch.irq_new_pending = 1;
-               }
+//             if (event_pending(v)&&(!(VLSAPIC_INSVC(v,0)&(1UL<<0x10)))) {
+//                     VCPU(v, irr[0]) |= 1UL << 0x10;
+//                     v->arch.irq_new_pending = 1;
+//             }
 
                if ( v->arch.irq_new_pending ) {
                        v->arch.irq_new_pending = 0;

_______________________________________________
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®.