From: Oleksandr Andrushchenko Date: Thu, 9 Dec 2021 07:29:17 +0000 (+0200) Subject: xen/arm: account IO handler for emulated PCI host bridge X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~1213 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b88109676376217e11d158de8325eb2234327760;p=xen.git xen/arm: account IO handler for emulated PCI host bridge 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 Acked-by: Julien Grall Reviewed-by: Rahul Singh Tested-by: Rahul Singh --- diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c index ebc4c8398b..a9fc5817f9 100644 --- a/xen/arch/arm/vpci.c +++ b/xen/arch/arm/vpci.c @@ -130,7 +130,11 @@ unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d) return 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; } /*