WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[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

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [IA64] VTI: Fix two bugs, Xen patchbot -unstable <=