[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] libxl: ocaml: guard x86-specific functions behind an ifdef
Hi Anil, Thanks for getting oxenstored on ARM working! I'm happy with a simple 'Failure not implemented' exception for the moment. I think that once we're using the libxl bindings everywhere we can probably remove these libxc bindings anyway. Acked-by: David Scott <dave.scott@xxxxxxxxxxxxx> Cheers, Dave > -----Original Message----- > From: Anil Madhavapeddy [mailto:anil@xxxxxxxxxx] > Sent: 11 January 2014 11:33 PM > To: xen-devel@xxxxxxxxxxxxx > Cc: Dave Scott > Subject: [PATCH v2] libxl: ocaml: guard x86-specific functions behind an > ifdef > > The various cpuid functions are not available on ARM, so this makes them > raise an OCaml exception. Omitting the functions completely 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. > > With this patch, oxenstored can successfully start a domain on Xen/ARM. > > 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..ff29b47 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 > + caml_failwith("xc_domain_cpuid_set: not implemented"); #endif > CAMLreturn(array); > } > > CAMLprim value stub_xc_domain_cpuid_apply_policy(value xch, value > domid) { > CAMLparam2(xch, domid); > +#if defined(__i386__) || defined(__x86_64__) > int r; > > r = xc_cpuid_apply_policy(_H(xch), _D(domid)); > if (r < 0) > failwith_xc(_H(xch)); > +#else > + caml_failwith("xc_domain_cpuid_apply_policy: not implemented"); > #endif > CAMLreturn(Val_unit); > } > > @@ -760,6 +768,7 @@ CAMLprim value stub_xc_cpuid_check(value xch, > value input, value config) { > CAMLparam3(xch, input, config); > CAMLlocal3(ret, array, tmp); > +#if defined(__i386__) || defined(__x86_64__) > int r; > unsigned int c_input[2]; > char *c_config[4], *out_config[4]; > @@ -792,6 +801,9 @@ CAMLprim value stub_xc_cpuid_check(value xch, > value input, value config) > Store_field(ret, 0, Val_bool(r)); > Store_field(ret, 1, array); > > +#else > + caml_failwith("xc_domain_cpuid_check: not implemented"); #endif > CAMLreturn(ret); > } > > -- > 1.8.1.2 > > > -- > Anil Madhavapeddy http://anil.recoil.org _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |