|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] Event channel request fix
Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> wrote
on 10/06/2005 04:21:02 AM:
>
> On 6 Oct 2005, at 04:05, Stefan Berger wrote:
>
> >
> > I compiled Xen for SMP and for some strange reason I could not
always
> > get the network interface connected to the backend - same for
the TPM
> > frontend and probably also block frontend. The attached patch
fixes
> > this problem for all three drivers by explicitly setting the
requested
> > port for the channel to 0. Since the structure is on the stack
(and
> > not declared static) all its members should be explicitly initialized.
> > I don't know why I did not encounter this problem on non-SMP
systems
> > before...
>
> I broke it yesterday. Previously 'cmd' was statically initialised,
and
> that caused all other fields to get filled with zero automatically.
> Oops. :-)
What about introducing functions like
inline int HV_EVTCHNOP_alloc_unbound(domid_t ldom,
domid_t
rdom,
U32
*port
)
{
int err;
evtchn_op_t op
= {
.cmd = EVTCHNOP_alloc_unbound;
.u.alloc_unbound.dom = ldom;
.u.alloc_unbound.remote_dom = rdom;
.u.alloc_unbound.port = *port;
}
err = HYPERVISOR_event_channel_op(&op);
*port = op.u.alloc_unbound.port;
return err;
}
to hide the specifics of the structure that needs
to be filled out and provide a form of parameter safety by forcing the
caller to pass all necessary paramers.
Stefan
>
> -- Keir
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|