xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1 of 2] Ocaml/libxc bindings: Fix SBDF encoding
@ 2013-01-03 22:49 Andrew Cooper
  2013-01-03 22:49 ` [PATCH 2 of 2] Ocaml/libxc bindings: Correct PCI terminology Andrew Cooper
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andrew Cooper @ 2013-01-03 22:49 UTC (permalink / raw)
  To: xen-devel; +Cc: Ian Jackson, Ian Campbell, Jan Beulich

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>

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)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2013-01-11 12:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-03 22:49 [PATCH 1 of 2] Ocaml/libxc bindings: Fix SBDF encoding Andrew Cooper
2013-01-03 22:49 ` [PATCH 2 of 2] Ocaml/libxc bindings: Correct PCI terminology Andrew Cooper
2013-01-09 13:42 ` [PATCH 1 of 2] Ocaml/libxc bindings: Fix SBDF encoding Andrew Cooper
2013-01-11 12:25 ` Ian Campbell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).