From 7eb2df50a6842f62e753cc168e073b42ebfd9100 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Wed, 27 Nov 2024 12:20:13 +0100 Subject: [PATCH] x86/pvh: also print hardware domain pIRQ limit for PVH MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Do not return early in the PVH/HVM case, so that the number of pIRQs is also printed. While PVH dom0 doesn't have access to the hypercalls to manage pIRQs itself, nor the knowledge to do so, pIRQs are still used by Xen to map and bind interrupts to a PVH dom0 behind its back. Hence the pIRQ limit is still relevant for a PVH dom0. Fixes: 17f6d398f765 ('cmdline: document and enforce "extra_guest_irqs" upper bounds') Signed-off-by: Roger Pau Monné Reviewed-by: Andrew Cooper master commit: 722d93bc9156a8635f42964d2009b562295c625c master date: 2024-11-25 11:33:38 +0100 --- xen/arch/x86/io_apic.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c index a1c9566d0a..1fd9559a06 100644 --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -2737,11 +2737,13 @@ unsigned int __hwdom_init arch_hwdom_irqs(const struct domain *d) /* PVH (generally: HVM) can't use PHYSDEVOP_pirq_eoi_gmfn_v{1,2}. */ if ( is_hvm_domain(d) ) - return nr_irqs; - - if ( !d->domain_id ) - n = min(n, dom0_max_vcpus()); - n = min(nr_irqs_gsi + n * NR_DYNAMIC_VECTORS, max_irqs); + n = nr_irqs; + else + { + if ( !d->domain_id ) + n = min(n, dom0_max_vcpus()); + n = min(nr_irqs_gsi + n * NR_DYNAMIC_VECTORS, max_irqs); + } printk("%pd has maximum %u PIRQs\n", d, n); -- 2.39.5