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

[Xen-changelog] [xen stable-4.2] tools/ocaml: libxc bindings: Fix SBDF encoding



commit 5507ddff729c7874eea393357a28179b0cd2e8ea
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Fri Feb 15 15:06:18 2013 +0000
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Fri Feb 15 15:06:18 2013 +0000

    tools/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>
    Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
    Committed-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
    
    xen-unstable changeset: 26373:56daf05bcf69
    Backport-requested-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/ocaml/libs/xc/xenctrl_stubs.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c 
b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 1c14ed6..0e26ae9 100644
--- 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_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)
--
generated by git-patchbot for /home/xen/git/xen.git#stable-4.2

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

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