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-ia64-devel

RE: [Xen-ia64-devel] RE: Latest status about multiple domains on XEN/IPF

To: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Subject: RE: [Xen-ia64-devel] RE: Latest status about multiple domains on XEN/IPF
From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
Date: Mon, 19 Sep 2005 11:59:50 -0700
Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 19 Sep 2005 19:02:26 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcW4ZfOzzchRRTCPTFuQnRhZtvFcDwADcXEgAAKwUYAACZFncAAB1poAABrDDSAABg+TcAAau19QAAO834AAEcfo8AAMivGQAA1I17AAsvIwEAAJ/qEA
Thread-topic: [Xen-ia64-devel] RE: Latest status about multiple domains on XEN/IPF
> diff -r 55bc6698c889 xen/arch/ia64/xen/vcpu.c
> @@ -631,6 +632,16 @@
>  {
>       UINT64 *p, *q, *r, bits, bitnum, mask, i, vector;
>  
> +     /* Always check pending event, since guest may just ack the
> +      * event injection without handle. Later guest may throw out
> +      * the event itself.
> +      */
> +     if (event_pending(vcpu) && 
> +             !test_bit(vcpu->vcpu_info->arch.evtchn_vector,
> +                     &PSCBX(vcpu, insvc[0])))
> +             test_and_set_bit(vcpu->vcpu_info->arch.evtchn_vector,
> +                     &PSCBX(vcpu, irr[0]));
> +
>       p = &PSCBX(vcpu,irr[3]);
>       /* q = &PSCB(vcpu,delivery_mask[3]); */
>       r = &PSCBX(vcpu,insvc[3]);

Why is the line that sets the irr bit calling
test_and_set_bit() rather than just set_bit()?
Even better, why not call vcpu_pend_interrupt()
which also sets the pending_interruption flag?

Also, why does the irr bit get set only if insvc is
not set?  Isn't it possible to pend one interrupt
while another is in-service?

Thanks,
Dan

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

<Prev in Thread] Current Thread [Next in Thread>