Message ID | 20211209072918.460902-4-andr2000@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | PCI devices passthrough on Arm, part 2 | expand |
Hi Oleksandr, > On 9 Dec 2021, at 7:29 am, Oleksandr Andrushchenko <andr2000@gmail.com> wrote: > > From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> > > At the moment, we always allocate an extra 16 slots for IO handlers > (see MAX_IO_HANDLER). So while adding an IO trap handler for the emulated > PCI host bridge we are not breaking anything, but we have a latent bug > as the maximum number of IOs may be exceeded. > Fix this by explicitly telling that we have an additional IO handler, so it is > accounted. > > Fixes: d59168dc05a5 ("xen/arm: Enable the existing x86 virtual PCI support for ARM") > > Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com> > Acked-by: Julien Grall <jgrall@amazon.com> Reviewed-by: Rahul Singh <rahul.singh@arm.com> Tested-by: Rahul Singh <rahul.singh@arm.com> Regards, Rahul
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c index 1564448c6c8d..84aaaaebd69d 100644 --- a/xen/arch/arm/vpci.c +++ b/xen/arch/arm/vpci.c @@ -124,7 +124,11 @@ unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d) return ret < 0 ? 0 : ret; } - return 0; + /* + * For guests each host bridge requires one region to cover the + * configuration space. At the moment, we only expose a single host bridge. + */ + return 1; } /*