[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen staging] tools/ocaml: Build fix following libxl API changes
commit e17381916ef06c8199f079026d2ee6715c228320 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> AuthorDate: Fri Sep 20 17:19:02 2019 +0100 Commit: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> CommitDate: Mon Sep 23 11:14:41 2019 +0100 tools/ocaml: Build fix following libxl API changes The following libxl API became asynchronous and gained an additional `ao_how' parameter: libxl_domain_pause() libxl_domain_unpause() libxl_send_trigger() Adapt the ocaml binding. Build tested only. Fixes: edaa631ddcee665cdfae1cf6bc7492c791e01ef4 Fixes: 95627b87c3159928458ee586e8c5c593bdd248d8 Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> --- tools/ocaml/libs/xl/xenlight.ml.in | 6 +++--- tools/ocaml/libs/xl/xenlight.mli.in | 6 +++--- tools/ocaml/libs/xl/xenlight_stubs.c | 27 ++++++++++++++++++--------- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/tools/ocaml/libs/xl/xenlight.ml.in b/tools/ocaml/libs/xl/xenlight.ml.in index 80e620a9be..954e56fc74 100644 --- a/tools/ocaml/libs/xl/xenlight.ml.in +++ b/tools/ocaml/libs/xl/xenlight.ml.in @@ -41,10 +41,10 @@ module Domain = struct external reboot : ctx -> domid -> unit = "stub_libxl_domain_reboot" external destroy : ctx -> domid -> ?async:'a -> unit -> unit = "stub_libxl_domain_destroy" external suspend : ctx -> domid -> Unix.file_descr -> ?async:'a -> unit -> unit = "stub_libxl_domain_suspend" - external pause : ctx -> domid -> unit = "stub_libxl_domain_pause" - external unpause : ctx -> domid -> unit = "stub_libxl_domain_unpause" + external pause : ctx -> domid -> ?async:'a -> unit = "stub_libxl_domain_pause" + external unpause : ctx -> domid -> ?async:'a -> unit = "stub_libxl_domain_unpause" - external send_trigger : ctx -> domid -> trigger -> int -> unit = "stub_xl_send_trigger" + external send_trigger : ctx -> domid -> trigger -> int -> ?async:'a -> unit = "stub_xl_send_trigger" external send_sysrq : ctx -> domid -> char -> unit = "stub_xl_send_sysrq" end diff --git a/tools/ocaml/libs/xl/xenlight.mli.in b/tools/ocaml/libs/xl/xenlight.mli.in index b2c06b5eed..c08304ae8b 100644 --- a/tools/ocaml/libs/xl/xenlight.mli.in +++ b/tools/ocaml/libs/xl/xenlight.mli.in @@ -43,10 +43,10 @@ module Domain : sig external reboot : ctx -> domid -> unit = "stub_libxl_domain_reboot" external destroy : ctx -> domid -> ?async:'a -> unit -> unit = "stub_libxl_domain_destroy" external suspend : ctx -> domid -> Unix.file_descr -> ?async:'a -> unit -> unit = "stub_libxl_domain_suspend" - external pause : ctx -> domid -> unit = "stub_libxl_domain_pause" - external unpause : ctx -> domid -> unit = "stub_libxl_domain_unpause" + external pause : ctx -> domid -> ?async:'a -> unit = "stub_libxl_domain_pause" + external unpause : ctx -> domid -> ?async:'a -> unit = "stub_libxl_domain_unpause" - external send_trigger : ctx -> domid -> trigger -> int -> unit = "stub_xl_send_trigger" + external send_trigger : ctx -> domid -> trigger -> int -> ?async:'a -> unit = "stub_xl_send_trigger" external send_sysrq : ctx -> domid -> char -> unit = "stub_xl_send_sysrq" end diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c index 0140780a34..37b046df63 100644 --- a/tools/ocaml/libs/xl/xenlight_stubs.c +++ b/tools/ocaml/libs/xl/xenlight_stubs.c @@ -622,32 +622,38 @@ value stub_libxl_domain_suspend(value ctx, value domid, value fd, value async, v CAMLreturn(Val_unit); } -value stub_libxl_domain_pause(value ctx, value domid) +value stub_libxl_domain_pause(value ctx, value domid, value async) { - CAMLparam2(ctx, domid); + CAMLparam3(ctx, domid, async); int ret; uint32_t c_domid = Int_val(domid); + libxl_asyncop_how *ao_how = aohow_val(async); caml_enter_blocking_section(); - ret = libxl_domain_pause(CTX, c_domid); + ret = libxl_domain_pause(CTX, c_domid, ao_how); caml_leave_blocking_section(); + free(ao_how); + if (ret != 0) failwith_xl(ret, "domain_pause"); CAMLreturn(Val_unit); } -value stub_libxl_domain_unpause(value ctx, value domid) +value stub_libxl_domain_unpause(value ctx, value domid, value async) { - CAMLparam2(ctx, domid); + CAMLparam3(ctx, domid, async); int ret; uint32_t c_domid = Int_val(domid); + libxl_asyncop_how *ao_how = aohow_val(async); caml_enter_blocking_section(); - ret = libxl_domain_unpause(CTX, c_domid); + ret = libxl_domain_unpause(CTX, c_domid, ao_how); caml_leave_blocking_section(); + free(ao_how); + if (ret != 0) failwith_xl(ret, "domain_unpause"); @@ -1031,20 +1037,23 @@ value stub_xl_domain_sched_params_set(value ctx, value domid, value scinfo) CAMLreturn(Val_unit); } -value stub_xl_send_trigger(value ctx, value domid, value trigger, value vcpuid) +value stub_xl_send_trigger(value ctx, value domid, value trigger, value vcpuid, value async) { - CAMLparam4(ctx, domid, trigger, vcpuid); + CAMLparam5(ctx, domid, trigger, vcpuid, async); int ret; uint32_t c_domid = Int_val(domid); libxl_trigger c_trigger = LIBXL_TRIGGER_UNKNOWN; int c_vcpuid = Int_val(vcpuid); + libxl_asyncop_how *ao_how = aohow_val(async); trigger_val(CTX, &c_trigger, trigger); caml_enter_blocking_section(); - ret = libxl_send_trigger(CTX, c_domid, c_trigger, c_vcpuid); + ret = libxl_send_trigger(CTX, c_domid, c_trigger, c_vcpuid, ao_how); caml_leave_blocking_section(); + free(ao_how); + if (ret != 0) failwith_xl(ret, "send_trigger"); -- generated by git-patchbot for /home/xen/git/xen.git#staging _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |