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

Re: [Xen-devel] [PATCH] libxl: ocaml: guard x86-specific functions behind an ifdef



On Thu, Jan 09, 2014 at 04:43:14PM +0000, Andrew Cooper wrote:
> On 09/01/14 16:36, Anil Madhavapeddy wrote:
> > The various cpuid functions are not available on ARM, so this
> > makes them raise an OCaml exception.  Omitting the functions
> > completely them results in a link failure in oxenstored due to
> > the missing symbols, so this is preferable to the much bigger
> > patch that would result from adding conditional compilation into
> > the OCaml interfaces.
> >
> > Signed-off-by: Anil Madhavapeddy <anil@xxxxxxxxxx>
> >
> > ---
> >  tools/ocaml/libs/xc/xenctrl_stubs.c | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c 
> > b/tools/ocaml/libs/xc/xenctrl_stubs.c
> > index f5cf0ed..76864cc 100644
> > --- a/tools/ocaml/libs/xc/xenctrl_stubs.c
> > +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
> > @@ -714,6 +714,7 @@ CAMLprim value stub_xc_domain_cpuid_set(value xch, 
> > value domid,
> >  {
> >     CAMLparam4(xch, domid, input, config);
> >     CAMLlocal2(array, tmp);
> > +#if defined(__i386__) || defined(__x86_64__)
> >     int r;
> >     unsigned int c_input[2];
> >     char *c_config[4], *out_config[4];
> > @@ -742,17 +743,24 @@ CAMLprim value stub_xc_domain_cpuid_set(value xch, 
> > value domid,
> >                      c_input, (const char **)c_config, out_config);
> >     if (r < 0)
> >             failwith_xc(_H(xch));
> > +#else
> > +   failwith_xc(_H(xch));
> 
> You probably want to set xc's last error so failwith_xc() gives an
> exception with a relevant error message.

After discussion with Dave Scott, we thought it best to just raise a
normal Failure exception rather than the libxc ones.  The functions aren't
used by any of the libraries in-tree at the moment and oxenstored works
for a simple VM start for me with v2 of the patch as well.

-anil

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