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

Re: [Xen-devel] Clock Interrupt not occurring. hypervisor_callback not b

To: "Dave Winchell" <dwinchell@xxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Clock Interrupt not occurring. hypervisor_callback not being called.
From: "Ivan Kelly" <ivanbkelly@xxxxxxxxx>
Date: Tue, 28 Feb 2006 23:48:42 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 28 Feb 2006 23:49:10 +0000
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=hHboUqP8MtKVVmI8bG2mBke1rbWo54Q8CIH0Kcq6OBN/Fy8wFmy708OCx+fUz69YEk+h4JO2vG2rv9Uaq5jXQqBc3Qp1+4UU/MDlrJQWypNoEv7Ii1C65vvCJk5s56ipF79Zd3Stq/d3j5M6BITM5j2jAd46VoGA5i+yMoXb+jw=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4404D14F.1060200@xxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <eec2a0080602281237v5b86adb1rcfcfe98b29059b1e@xxxxxxxxxxxxxx> <4404D14F.1060200@xxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
On 2/28/06, Dave Winchell <dwinchell@xxxxxxxxxxxxxxx> wrote:
> Have you tried making evtchn_pending and evtchn_mask volatile in
> shared_info_t?
I tried that. It's still showing the same behaviour.  The function is
as below. When the kprintf("l1 ... bit is uncommented, the clock
events seem to get fired fine, and the the main loop also continues to
run. When removed, it doesn't get called at all. It never gets as far
as do_event. kprintf is a function that calls hypervisor_console_io.
This is 2.0.7 btw.
Regards
Ivan

<SNIP>
PUBLIC void
do_hypervisor_callback(struct stackframe_s *regs)
{
        unsigned long  l1, l2;
        unsigned int   l1i, l2i, port;
        int            irq;
        shared_info_t *s = hypervisor_shared_info;

        s->vcpu_data[0].evtchn_upcall_pending = 0;

        l1 = x86_atomic_xchg(&s->evtchn_pending_sel, 0);

        while ( l1 != 0 )
        {
/*              kprintf("l1: %x\n");*/
                l1i = x86_scan_forward(l1);
                l1 &= ~(1 << l1i);

                l2 = s->evtchn_pending[l1i] & ~s->evtchn_mask[l1i];
                while ( l2 != 0 )
                {
                        kprintf("l2: %x\n", l2);
                        l2i = x86_scan_forward(l2);
                        l2 &= ~(1 << l2i);

                        port = (l1i << 5) + l2i;

                        if ( (irq = event_to_action[port]) != -1 ) {
                                do_event(irq, regs);
                        }
                }
        }
}
<ENDSNIP>

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

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