Message ID | 20211004141151.132231-7-andr2000@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | PCI devices passthrough on Arm, part 2 | expand |
Hi Oleksandr, > On 4 Oct 2021, at 3:11 pm, Oleksandr Andrushchenko <andr2000@gmail.com> wrote: > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > > This is the very same that we already do for DT devices. Moreover, x86 > already calls pci_release_devices(). > > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> Reviewed-by: Rahul Singh <rahul.singh@arm.com> Tested-by: Rahul Singh <rahul.singh@arm.com> Regards, Rahul > --- > Since v1: > - re-wording in the commit message > --- > xen/arch/arm/domain.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c > index fbb52f78f1a6..79012bf77757 100644 > --- a/xen/arch/arm/domain.c > +++ b/xen/arch/arm/domain.c > @@ -985,7 +985,8 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list) > * function which may return -ERESTART. > */ > enum { > - PROG_tee = 1, > + PROG_pci = 1, > + PROG_tee, > PROG_xen, > PROG_page, > PROG_mapping, > @@ -1022,6 +1023,12 @@ int domain_relinquish_resources(struct domain *d) > #ifdef CONFIG_IOREQ_SERVER > ioreq_server_destroy_all(d); > #endif > +#ifdef CONFIG_HAS_PCI > + PROGRESS(pci): > + ret = pci_release_devices(d); > + if ( ret ) > + return ret; > +#endif > > PROGRESS(tee): > ret = tee_relinquish_resources(d); > -- > 2.25.1 >
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c index fbb52f78f1a6..79012bf77757 100644 --- a/xen/arch/arm/domain.c +++ b/xen/arch/arm/domain.c @@ -985,7 +985,8 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list) * function which may return -ERESTART. */ enum { - PROG_tee = 1, + PROG_pci = 1, + PROG_tee, PROG_xen, PROG_page, PROG_mapping, @@ -1022,6 +1023,12 @@ int domain_relinquish_resources(struct domain *d) #ifdef CONFIG_IOREQ_SERVER ioreq_server_destroy_all(d); #endif +#ifdef CONFIG_HAS_PCI + PROGRESS(pci): + ret = pci_release_devices(d); + if ( ret ) + return ret; +#endif PROGRESS(tee): ret = tee_relinquish_resources(d);