On Wed, 25 Jan 2023, Vikram Garhwal wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
>
> This is done to prepare for enabling xenpv support for ARM architecture.
> On ARM it is possible to have a functioning xenpv machine with only the
> PV backends and no IOREQ server. If the IOREQ server creation fails,
> continue to the PV backends initialization.
>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
I know I am co-author of the patch but just for record-keeping to
remember that I also reviewed this patch:
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> include/hw/xen/xen_common.h | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 9a13a756ae..9ec69582b3 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -467,9 +467,10 @@ static inline void xen_unmap_pcidev(domid_t dom,
> {
> }
>
> -static inline void xen_create_ioreq_server(domid_t dom,
> - ioservid_t *ioservid)
> +static inline int xen_create_ioreq_server(domid_t dom,
> + ioservid_t *ioservid)
> {
> + return 0;
> }
>
> static inline void xen_destroy_ioreq_server(domid_t dom,
> @@ -600,8 +601,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
> PCI_FUNC(pci_dev->devfn));
> }
>
> -static inline void xen_create_ioreq_server(domid_t dom,
> - ioservid_t *ioservid)
> +static inline int xen_create_ioreq_server(domid_t dom,
> + ioservid_t *ioservid)
> {
> int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
> HVM_IOREQSRV_BUFIOREQ_ATOMIC,
> @@ -609,12 +610,14 @@ static inline void xen_create_ioreq_server(domid_t dom,
>
> if (rc == 0) {
> trace_xen_ioreq_server_create(*ioservid);
> - return;
> + return rc;
> }
>
> *ioservid = 0;
> use_default_ioreq_server = true;
> trace_xen_default_ioreq_server();
> +
> + return rc;
> }
>
> static inline void xen_destroy_ioreq_server(domid_t dom,
> --
> 2.17.0
>
>