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

[Xen-devel] Question about event channels and masking event channels

  • To: xen-devel@xxxxxxxxxxxxxxxxxxxxx
  • From: Rick <judicator3@xxxxxxxxx>
  • Date: Mon, 14 Feb 2005 02:51:18 -0500
  • Delivery-date: Mon, 14 Feb 2005 07:52:41 +0000
  • Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=DGIrQG0g9QhzQWKWssd8OLEMeQT/Ri7B6N1Bg0qCfEMz5d4q7vJYT5OWmYYYjvBTz4a+QUH1yr7/grZGeaSRCotuylcYOwvOlEFV1Op8sgP2E9sRbsp8wmBUEVHhpbD5FckcQg5sC7YwJU+9YMsOl4GAJXbKnCFVcCqiEDWGEFM=
  • List-id: List for Xen developers <xen-devel.lists.sourceforge.net>


There is something I do not undestand about the event handling
mechanism in xenolinux.
XenoLinux can listen for 1024 events (0 to 1023). The shared_info_t
structure records the pending and the masking of events using the
following bit vectors:
u32 evtchn_pending[32]; 
u32 evtchn_pending_sel; 
u32 evtchn_mask[32]; 

Next, I am looking at the function mask_evtchn() in the file evtchn.h
static inline void mask_evtchn(int port)
    shared_info_t *s = HYPERVISOR_shared_info;
    synch_set_bit(port, &s->evtchn_mask[0]);

Why do we only focus on evtchn_mask[0] ?
I thought that Port would be a number between 0 to 1023 and masking
the correct bit would be done with something like that:
synch_set_bit(port%32, &s->evtchn_mask[port/32]);

Is it the case that one can only mask out the first 8 bits in evtchn_mask[0] ?


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®.