[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging] tools/ocaml/libs/xc: Backward compatible domid control at domain creation time
commit 4522321ced5ddbda5e74e20c52b0b88f96914fb5 Author: Edwin Török <edvin.torok@xxxxxxxxxx> AuthorDate: Fri Jan 8 11:57:37 2021 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Fri Jan 22 18:01:34 2021 +0000 tools/ocaml/libs/xc: Backward compatible domid control at domain creation time One can specify the domid to use when creating the domain, but this was hardcoded to 0. Keep the existing `domain_create` function, and make domid an optional argument. When not specified, default to 0. Controlling the domid can be useful during testing or migration. Signed-off-by: Edwin Török <edvin.torok@xxxxxxxxxx> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- tools/ocaml/libs/xc/xenctrl.ml | 5 ++++- tools/ocaml/libs/xc/xenctrl.mli | 4 ++-- tools/ocaml/libs/xc/xenctrl_stubs.c | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml index e878699b0a..e0a47c4769 100644 --- a/tools/ocaml/libs/xc/xenctrl.ml +++ b/tools/ocaml/libs/xc/xenctrl.ml @@ -179,9 +179,12 @@ let with_intf f = handle := Some h; f h -external domain_create: handle -> domctl_create_config -> domid +external domain_create_stub: handle -> domid -> domctl_create_config -> domid = "stub_xc_domain_create" +let domain_create handle ?(domid=0) config = + domain_create_stub handle domid config + external domain_sethandle: handle -> domid -> string -> unit = "stub_xc_domain_sethandle" diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli index e64907df8e..84311fa33d 100644 --- a/tools/ocaml/libs/xc/xenctrl.mli +++ b/tools/ocaml/libs/xc/xenctrl.mli @@ -143,8 +143,8 @@ val get_handle: unit -> handle option * would invalidate the handle that with_intf passes to its argument. *) val close_handle: unit -> unit -external domain_create : handle -> domctl_create_config -> domid - = "stub_xc_domain_create" +val domain_create: handle -> ?domid:int -> domctl_create_config -> domid + external domain_sethandle : handle -> domid -> string -> unit = "stub_xc_domain_sethandle" external domain_max_vcpus : handle -> domid -> int -> unit = "stub_xc_domain_max_vcpus" diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c index 94aba38a42..9a8dbe5579 100644 --- a/tools/ocaml/libs/xc/xenctrl_stubs.c +++ b/tools/ocaml/libs/xc/xenctrl_stubs.c @@ -175,9 +175,9 @@ static unsigned int ocaml_list_to_c_bitmap(value l) return val; } -CAMLprim value stub_xc_domain_create(value xch, value config) +CAMLprim value stub_xc_domain_create(value xch, value wanted_domid, value config) { - CAMLparam2(xch, config); + CAMLparam3(xch, wanted_domid, config); CAMLlocal2(l, arch_domconfig); /* Mnemonics for the named fields inside domctl_create_config */ @@ -191,7 +191,7 @@ CAMLprim value stub_xc_domain_create(value xch, value config) #define VAL_MAX_MAPTRACK_FRAMES Field(config, 7) #define VAL_ARCH Field(config, 8) - uint32_t domid = 0; + uint32_t domid = Int_val(wanted_domid); int result; struct xen_domctl_createdomain cfg = { .ssidref = Int32_val(VAL_SSIDREF), -- generated by git-patchbot for /home/xen/git/xen.git#staging
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |