]> xenbits.xensource.com Git - people/aperard/xen-arm.git/commitdiff
tools/ocaml: libxc bindings: Fix SBDF encoding
authorAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 11 Jan 2013 12:22:29 +0000 (12:22 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 11 Jan 2013 12:22:29 +0000 (12:22 +0000)
Changeset 23861:ec7c81fbe0de alters the SBDF encoding expected by the
DOMCTL_{de,}assign_device hypercalls.

While it updates libxl, libxc and the python bindings, the ocaml
bindings got missed.  As a result, any attempt to use PCI Passthrough
with Xen-4.2 and later will fail.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
tools/ocaml/libs/xc/xenctrl_stubs.c

index 1c14ed64bf098ef5fd220e21d30fc17c7598e1c2..0e26ae9de77b51d9da3731a412d956cd489ca609 100644 (file)
@@ -1085,11 +1085,10 @@ CAMLprim value stub_xc_domain_irq_permission(value xch, value domid,
 
 static uint32_t pci_dev_to_bdf(int domain, int bus, int slot, int func)
 {
-       uint32_t bdf = 0;
-       bdf |= (bus & 0xff) << 16;
-       bdf |= (slot & 0x1f) << 11;
-       bdf |= (func & 0x7) << 8;
-       return bdf;
+       return  ((uint32_t)domain & 0xffff) << 16 |
+               ((uint32_t)bus    &   0xff) << 8  |
+               ((uint32_t)slot   &   0x1f) << 3  |
+               ((uint32_t)func   &    0x7);
 }
 
 CAMLprim value stub_xc_domain_test_assign_device(value xch, value domid, value desc)