From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 1 of 2] Ocaml/libxc bindings: Fix SBDF encoding Date: Wed, 9 Jan 2013 13:42:23 +0000 Message-ID: <50ED73BF.2000204@citrix.com> References: <22e7cb73b4ad0b0f916e.1357253397@andrewcoop.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <22e7cb73b4ad0b0f916e.1357253397@andrewcoop.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: "xen-devel@lists.xen.org" Cc: Ian Jackson , Ian Campbell , Jan Beulich List-Id: xen-devel@lists.xenproject.org Ping? On 03/01/13 22:49, Andrew Cooper wrote: > 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 > > 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@lists.xen.org > http://lists.xen.org/xen-devel