[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] cmdline: "extra_guest_irqs" is inapplicable to PVH



commit fb76e08a8f7a61dfbc07d0f335f1623bca650d7f
Author:     Jan Beulich <jbeulich@xxxxxxxx>
AuthorDate: Wed Jul 3 14:04:15 2024 +0200
Commit:     Jan Beulich <jbeulich@xxxxxxxx>
CommitDate: Wed Jul 3 14:04:15 2024 +0200

    cmdline: "extra_guest_irqs" is inapplicable to PVH
    
    PVH in particular has no (externally visible) notion of pIRQ-s. Mention
    that in the description of the respective command line option and have
    arch_hwdom_irqs() also reflect this (thus suppressing the log message
    there as well, as being pretty meaningless in this case anyway).
    
    Suggested-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
    Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
    Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 docs/misc/xen-command-line.pandoc | 3 ++-
 xen/arch/x86/io_apic.c            | 4 ++++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc 
b/docs/misc/xen-command-line.pandoc
index cd9a7164f4..98a4521155 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1178,7 +1178,8 @@ versa.  For example to change dom0 without changing domU, 
use
 hardware domain is architecture dependent.  The upper limit for both values on
 x86 is such that the resulting total number of IRQs can't be higher than 32768.
 Note that specifying zero as domU value means zero, while for dom0 it means
-to use the default.
+to use the default.  Note further that the Dom0 setting has no useful meaning
+for the PVH case; use of the option may have an adverse effect there, though.
 
 ### ext_regions (Arm)
 > `= <boolean>`
diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index d2b29143d1..d2a313c4ac 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2670,6 +2670,10 @@ unsigned int __hwdom_init arch_hwdom_irqs(const struct 
domain *d)
     if ( is_system_domain(d) )
         return max_irqs;
 
+    /* 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);
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.