hi,
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,
                             1,
                             &p2);
     printf("%d ports %d %d\n", r,p1,p2);
     r = xc_evtchn_bind_interdomain(xc_handle,
             DOMID_SELF,1,
             &p1,&p2);
     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);
         ERROR_EXIT(-EINVAL);
     }
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?
thanks,
Jacob
-------------------------------------------------------
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.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xen-devel