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

[Xen-devel] error binding to event channel

  • To: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxxx>
  • From: Jacob Gorm Hansen <jacobg@xxxxxxx>
  • Date: Mon, 21 Feb 2005 00:26:32 -0800
  • Delivery-date: Mon, 21 Feb 2005 08:27:14 +0000
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>

I am trying to bind an event channel to my domain using the following code:

#include "xc.h"

int main()
    int xc_handle = xc_interface_open();
    int p1=0;
    int p2=0;
    int r;

    r = xc_evtchn_alloc_unbound(xc_handle,
    printf("%d ports %d %d\n", r,p1,p2);

    r = xc_evtchn_bind_interdomain(xc_handle,

    printf("%d ports %d %d\n", r,p1,p2);
    r = xc_evtchn_send(xc_handle, p1);
    printf("send %d\n", r);

    return 0;

On a freshly booted Xen with one domU that works, printing:

0 ports 0 14
0 ports 15 14
send 0

however, the next time I run it I get:

0 ports 0 16
-1 ports 0 16
send -1

The bind_interdomain hypercall fails in Xen in common/evtchn.c, in the test:

    else if ( port2 >= d2->max_event_channel )
printk("port2 %d max_event_channel %d\n", port2,d2->max_event_channel);

The printk I have added prints:

(XEN) port2 16 max_event_channel 16

-- In general, max_event_channel seems to stop being increased after the first bind call. What am I doing wrong here?


SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.