]> xenbits.xensource.com Git - xen.git/commitdiff
tools/ocaml: Drop domain_create_flag_table[]
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 16 Mar 2018 13:32:04 +0000 (13:32 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 4 Jul 2018 15:25:01 +0000 (16:25 +0100)
This is a logarithm in disguise.  Update the logic to match how
x86_arch_emulation_flags works in c/s 9d683b5e37 and b38d96f596.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
tools/ocaml/libs/xc/xenctrl_stubs.c

index d4309ad97e68a26e977788369076ed24cd82299e..534c7a43200b68f1d87cf6b807cee5ebad3a300d 100644 (file)
@@ -97,11 +97,6 @@ CAMLprim value stub_xc_interface_close(value xch)
        CAMLreturn(Val_unit);
 }
 
-static int domain_create_flag_table[] = {
-       XEN_DOMCTL_CDF_hvm_guest,
-       XEN_DOMCTL_CDF_hap,
-};
-
 CAMLprim value stub_xc_domain_create(value xch, value ssidref,
                                      value flags, value handle,
                                      value domconfig)
@@ -124,10 +119,8 @@ CAMLprim value stub_xc_domain_create(value xch, value ssidref,
                h[i] = Int_val(Field(handle, i)) & 0xff;
        }
 
-       for (l = flags; l != Val_none; l = Field(l, 1)) {
-               int v = Int_val(Field(l, 0));
-               c_flags |= domain_create_flag_table[v];
-       }
+       for (l = flags; l != Val_none; l = Field(l, 1))
+               c_flags |= 1u << Int_val(Field(l, 0));
 
        switch(Tag_val(domconfig)) {
        case 0: /* ARM - nothing to do */