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] Question about event channels and masking event channels

To: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] Question about event channels and masking event channels
From: Scott Mohekey <smohekey@xxxxxxxxxxxxxxxx>
Date: Mon, 14 Feb 2005 21:29:29 +1300
Delivery-date: Mon, 14 Feb 2005 08:30:19 +0000
Envelope-to: xen+James.Bulpin@xxxxxxxxxxxx
In-reply-to: <a146ff9b05021323516de7ba4a@xxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
References: <a146ff9b05021323516de7ba4a@xxxxxxxxxxxxxx>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0 (X11/20050114)
I'm guessing that sync_set_bit requires a bit number, and a pointer to a
bit array of some type.

The &s->evtchn_mask[0] is effectively the same as s->evtchn_mask,
however it results in a different pointer type (only really important
for the compiler).

So synch_set_bit is passed a pointer to the array, so that it an perform
the appropriate operation (I'm guessing again) synchronised.

Scott.

Rick wrote:

Hello,

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] ?

Thanks
Rick


-------------------------------------------------------
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@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel





-------------------------------------------------------
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@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel

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