]> xenbits.xensource.com Git - xen.git/commitdiff
tools: ocaml: xl: propagate simplfied libxl interface to PCI BDFs to bindings.
authorIan Campbell <ian.campbell@citrix.com>
Thu, 31 Mar 2011 17:12:07 +0000 (18:12 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 31 Mar 2011 17:12:07 +0000 (18:12 +0100)
22166:251694a87f1d changed the libxl interface to remove the need for
users to understand BDF encoding but did not propagate the change to
the ocaml bindings. Do that now.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
tools/ocaml/libs/xl/xl.ml
tools/ocaml/libs/xl/xl.mli
tools/ocaml/libs/xl/xl_stubs.c

index 0e47a85927b1fb60e0355196ba7a8a9f783f0270..c856eef88b18192ae58347cf635be4f6aa2fcb5c 100644 (file)
@@ -145,7 +145,9 @@ type vfb_info =
 
 type pci_info =
 {
-       v : int; (* domain * bus * dev * func multiplexed *)
+       func : int;
+       dev : int;
+       bus : int;
        domain : int;
        vdevfn : int;
        msitranslate : bool;
index 649429638be7c5c2e5426c2358b3de547edfdffc..fcf4b2e0a91fa1e92b50b9bf119cad6f4d91fbb9 100644 (file)
@@ -145,7 +145,9 @@ type vfb_info =
 
 type pci_info =
 {
-       v : int; (* domain * bus * dev * func multiplexed *)
+       func : int;
+       dev : int;
+       bus : int;
        domain : int;
        vdevfn : int;
        msitranslate : bool;
index 6c442ad818794eb60bf1c011e011cfad3b4b83e8..ab08962bf20a204c1576969f08af0929433c9d72 100644 (file)
@@ -272,30 +272,16 @@ static int device_vfb_val(caml_gc *gc, libxl_device_vfb *c_val, value v)
 
 static int device_pci_val(caml_gc *gc, libxl_device_pci *c_val, value v)
 {
-       union {
-               unsigned int value;
-               struct {
-                       unsigned int reserved1:2;
-                       unsigned int reg:6;
-                       unsigned int func:3;
-                       unsigned int dev:5;
-                       unsigned int bus:8;
-                       unsigned int reserved2:7;
-                       unsigned int enable:1;
-               }fields;
-       }u;
        CAMLparam1(v);
 
-       /* FIXME: propagate API change to ocaml */
-       u.value = Int_val(Field(v, 0));
-       c_val->func = u.fields.func;
-       c_val->dev = u.fields.dev;
-       c_val->bus = u.fields.bus;
+       c_val->func = Int_val(Field(v, 0));
+       c_val->dev = Int_val(Field(v, 1));
+       c_val->bus = Int_val(Field(v, 2));
 
-       c_val->domain = Int_val(Field(v, 1));
-       c_val->vdevfn = Int_val(Field(v, 2));
-       c_val->msitranslate = Bool_val(Field(v, 3));
-       c_val->power_mgmt = Bool_val(Field(v, 4));
+       c_val->domain = Int_val(Field(v, 3));
+       c_val->vdevfn = Int_val(Field(v, 4));
+       c_val->msitranslate = Bool_val(Field(v, 5));
+       c_val->power_mgmt = Bool_val(Field(v, 6));
 
        CAMLreturn(0);
 }