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