Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
include/hw/xen/xen_common: return error from xen_create_ioreq_server
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>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Paul Durrant <paul@xen.org>
  • Loading branch information
Stefano Stabellini committed May 3, 2023
1 parent 6c32395 commit 57fb6e1
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions include/hw/xen/xen_native.h
Expand Up @@ -433,9 +433,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,
Expand Down Expand Up @@ -566,21 +567,23 @@ 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,
ioservid);

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,
Expand Down

0 comments on commit 57fb6e1

Please sign in to comment.