Message ID | 20210903083347.131786-7-andr2000@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | PCI devices passthrough on Arm, part 2 | expand |
On Fri, 3 Sep 2021, Oleksandr Andrushchenko wrote: > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com> > > This is the very same what we do for DT devices. What is more > that x86 already calls pci_release_devices(). Rewording suggestion: 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> > --- > 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 d99c653626e4..4e40c4098280 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 d99c653626e4..4e40c4098280 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);