[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 1 of 2] Ocaml/libxc bindings: Fix SBDF encoding



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@xxxxxxxxxx>

diff -r c4114a042410 -r 22e7cb73b4ad tools/ocaml/libs/xc/xenctrl_stubs.c
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -1085,11 +1085,10 @@ CAMLprim value stub_xc_domain_irq_permis
 
 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)

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.