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

Re: [Xen-devel] Designing the N-level event channel registration interface



>>> On 11.01.13 at 13:34, Wei Liu <Wei.Liu2@xxxxxxxxxx> wrote:
> There are 3 XEN_GUEST_HANDLEs in evtchn_register_3level.
> evtchn_pending / evtchn_mask points to an array which is used to stored
> pending / mask mfns. l2sel points to an array storing per-vcpu variable
> for 2nd level selectors. This interface is still very primitive and
> padding is not accounted for.
> 
> One way to achieve compat is to write compat/event_channel.c. As other
> interfaces in event_channel.c don't need compat handling, re-compiling
> event_channel.c is probably not a good idea. Jan is worried about this.

Indeed. In this case I think either open coding the compat case
or having a helper function that gets compiled twice is the best
route.

> Ian suggested I use XEN_GUEST_HANDLE_64 to get 64-bit clean version and
> avoid compat layer.

So far these exist only in tools interfaces, and the way x86's
set_xen_guest_handle() works currently you wouldn't even be
permitted to use those (as the upper halves would remain
uninitialized, hence expected to fail the validity checks within
the hypervisor).

Also, they're inefficient in terms of kernel side use (albeit in the
case here we're talking about only one time setup code).

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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