From: Roger Pau Monne Date: Tue, 19 Feb 2019 15:26:08 +0000 (+0100) Subject: libs/gnttab: add missing FreeBSD functions X-Git-Tag: 4.12.0-rc4~24 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1e12872d29cc36c61894e347dd3409d7d206699d;p=people%2Fdwmw2%2Fxen.git libs/gnttab: add missing FreeBSD functions The FreeBSD implementation is missing the following functions: osdep_gnttab_dmabuf_exp_from_refs osdep_gnttab_dmabuf_exp_wait_released osdep_gnttab_dmabuf_imp_to_refs osdep_gnttab_dmabuf_imp_release Which all deal with dmabufs, that only exists on Linux. Implement them using abort, since such functions should never be called on FreeBSD. FTR, I realized those functions where missing when attempting to use pygrub: Traceback (most recent call last): File "/usr/local/lib/xen/bin/pygrub", line 19, in import xen.lowlevel.xc ImportError: /usr/local/lib/libxengnttab.so.1: Undefined symbol "osdep_gnttab_dmabuf_exp_from_refs" Fixes: ee8105 ("libgnttab: Add support for Linux dma-buf") Signed-off-by: Roger Pau Monné Acked-by: Wei Liu Release-acked-by: Juergen Gross Reviewed-by: Oleksandr Andrushchenko --- diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c index 5c12fe9b0b..886b588303 100644 --- a/tools/libs/gnttab/freebsd.c +++ b/tools/libs/gnttab/freebsd.c @@ -307,6 +307,35 @@ int osdep_gntshr_unshare(xengntshr_handle *xgs, return munmap(start_address, count * PAGE_SIZE); } +/* + * The functions below are Linux-isms that will likely never be implemented + * on FreeBSD unless FreeBSD also implements something akin to Linux dmabuf. + */ +int osdep_gnttab_dmabuf_exp_from_refs(xengnttab_handle *xgt, uint32_t domid, + uint32_t flags, uint32_t count, + const uint32_t *refs, + uint32_t *dmabuf_fd) +{ + abort(); +} + +int osdep_gnttab_dmabuf_exp_wait_released(xengnttab_handle *xgt, + uint32_t fd, uint32_t wait_to_ms) +{ + abort(); +} + +int osdep_gnttab_dmabuf_imp_to_refs(xengnttab_handle *xgt, uint32_t domid, + uint32_t fd, uint32_t count, uint32_t *refs) +{ + abort(); +} + +int osdep_gnttab_dmabuf_imp_release(xengnttab_handle *xgt, uint32_t fd) +{ + abort(); +} + /* * Local variables: * mode: C