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

Re: [PATCH v5 19/23] libxl: modify libxl_device_pci_assignable_add/remove/list/list_free()...



On Thu, Dec 03, 2020 at 02:25:30PM +0000, Paul Durrant wrote:
> From: Paul Durrant <pdurrant@xxxxxxxxxx>
> 
> ... to use 'libxl_pci_bdf' rather than 'libxl_device_pci'.
> 
> This patch modifies the API and callers accordingly. It also modifies
> several internal functions in libxl_pci.c that support the API to also use
> 'libxl_pci_bdf'.
> 
> NOTE: The OCaml bindings are adjusted to contain the interface change. It
>       should therefore not affect compatibility with OCaml-based utilities.
> 
> Signed-off-by: Paul Durrant <pdurrant@xxxxxxxxxx>
> Acked-by: Christian Lindig <christian.lindig@xxxxxxxxxx>

> ---
> Cc: Ian Jackson <iwj@xxxxxxxxxxxxxx>
> Cc: Wei Liu <wl@xxxxxxx>
> Cc: David Scott <dave@xxxxxxxxxx>
> Cc: Anthony PERARD <anthony.perard@xxxxxxxxxx>
> ---
>  tools/include/libxl.h                |  15 +-
>  tools/libs/light/libxl_pci.c         | 213 +++++++++++++++------------
>  tools/ocaml/libs/xl/xenlight_stubs.c |  15 +-
>  tools/xl/xl_pci.c                    |  32 ++--
>  4 files changed, 156 insertions(+), 119 deletions(-)
> 
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index 5edacccbd1da..5703fdf367c5 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -469,6 +469,13 @@
>   */
>  #define LIBXL_HAVE_PCI_BDF 1
>  
> +/*
> + * LIBXL_HAVE_PCI_ASSIGNABLE_BDF indicates that the
> + * libxl_device_pci_assignable_add/remove/list/list_free() functions all
> + * use the 'libxl_pci_bdf' type rather than 'libxl_device_pci' type.
> + */
> +#define LIBXL_HAVE_PCI_ASSIGNABLE_BDF 1
> +
>  /*
>   * libxl ABI compatibility
>   *
> @@ -2378,10 +2385,10 @@ int libxl_device_events_handler(libxl_ctx *ctx,
>   * added or is not bound, the functions will emit a warning but return
>   * SUCCESS.
>   */
> -int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_device_pci *pci, 
> int rebind);
> -int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_device_pci 
> *pci, int rebind);
> -libxl_device_pci *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
> -void libxl_device_pci_assignable_list_free(libxl_device_pci *list, int num);
> +int libxl_device_pci_assignable_add(libxl_ctx *ctx, libxl_pci_bdf *pcibdf, 
> int rebind);
> +int libxl_device_pci_assignable_remove(libxl_ctx *ctx, libxl_pci_bdf 
> *pcibdf, int rebind);
> +libxl_pci_bdf *libxl_device_pci_assignable_list(libxl_ctx *ctx, int *num);
> +void libxl_device_pci_assignable_list_free(libxl_pci_bdf *list, int num);

Given these APIs are visible to external callers, you will need to
provide fallbacks for the old APIs.

Wei.



 


Rackspace

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