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

Re: [Xen-devel] [PATCH for-4.12] libs/gnttab: add missing FreeBSD functions



On 2/19/19 5:26 PM, Roger Pau Monne wrote:
> 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 <module>
>      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é <roger.pau@xxxxxxxxxx>
Indeed, my bad
Reviewed-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx>
> ---
> Cc: Oleksandr Andrushchenko <oleksandr_andrushchenko@xxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Wei Liu <wei.liu2@xxxxxxxxxx>
> ---
>   tools/libs/gnttab/freebsd.c | 29 +++++++++++++++++++++++++++++
>   1 file changed, 29 insertions(+)
>
> 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
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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