]> xenbits.xensource.com Git - xen.git/commitdiff
x86/irq: use NR_ISA_IRQS instead of open-coded value
authorDenis Mukhin <dmukhin@ford.com>
Sat, 15 Mar 2025 01:00:51 +0000 (01:00 +0000)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 17 Mar 2025 16:08:26 +0000 (16:08 +0000)
Replace the open-coded value 16 with the NR_ISA_IRQS symbol to enhance
readability.

No functional changes.

Signed-off-by: Denis Mukhin <dmukhin@ford.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/hvm/dm.c
xen/arch/x86/hvm/irq.c
xen/arch/x86/hvm/vpic.c
xen/arch/x86/include/asm/irq.h
xen/arch/x86/io_apic.c
xen/arch/x86/irq.c

index a1f7a4d30a0f09a28255ca25506023fd8791f0ad..3b53471af0d9ec72d3331dbccc6599b1f29969bd 100644 (file)
@@ -90,7 +90,7 @@ static int set_pci_intx_level(struct domain *d, uint16_t domain,
 static int set_isa_irq_level(struct domain *d, uint8_t isa_irq,
                              uint8_t level)
 {
-    if ( isa_irq > 15 )
+    if ( isa_irq >= NR_ISA_IRQS )
         return -EINVAL;
 
     switch ( level )
index 1eab44defca4c82ec35769617c66c380cc07d1b6..5f643611130fc728a789329f7b791096c86db42e 100644 (file)
@@ -209,7 +209,7 @@ int hvm_isa_irq_assert(struct domain *d, unsigned int isa_irq,
     unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq);
     int vector = -1;
 
-    ASSERT(isa_irq <= 15);
+    ASSERT(isa_irq < NR_ISA_IRQS);
 
     spin_lock(&d->arch.hvm.irq_lock);
 
@@ -231,7 +231,7 @@ void hvm_isa_irq_deassert(
     struct hvm_irq *hvm_irq = hvm_domain_irq(d);
     unsigned int gsi = hvm_isa_irq_to_gsi(isa_irq);
 
-    ASSERT(isa_irq <= 15);
+    ASSERT(isa_irq < NR_ISA_IRQS);
 
     spin_lock(&d->arch.hvm.irq_lock);
 
@@ -266,12 +266,12 @@ static void hvm_set_callback_irq_level(struct vcpu *v)
         if ( asserted && (hvm_irq->gsi_assert_count[gsi]++ == 0) )
         {
             vioapic_irq_positive_edge(d, gsi);
-            if ( gsi <= 15 )
+            if ( gsi < NR_ISA_IRQS )
                 vpic_irq_positive_edge(d, gsi);
         }
         else if ( !asserted && (--hvm_irq->gsi_assert_count[gsi] == 0) )
         {
-            if ( gsi <= 15 )
+            if ( gsi < NR_ISA_IRQS )
                 vpic_irq_negative_edge(d, gsi);
         }
         break;
@@ -328,7 +328,7 @@ int hvm_set_pci_link_route(struct domain *d, u8 link, u8 isa_irq)
     u8 old_isa_irq;
     int i;
 
-    if ( (link > 3) || (isa_irq > 15) )
+    if ( (link > 3) || (isa_irq >= NR_ISA_IRQS) )
         return -EINVAL;
 
     spin_lock(&d->arch.hvm.irq_lock);
@@ -440,7 +440,8 @@ void hvm_set_callback_via(struct domain *d, uint64_t via)
         {
         case HVMIRQ_callback_gsi:
             gsi = hvm_irq->callback_via.gsi;
-            if ( (--hvm_irq->gsi_assert_count[gsi] == 0) && (gsi <= 15) )
+            if ( (--hvm_irq->gsi_assert_count[gsi] == 0) &&
+                 (gsi < NR_ISA_IRQS) )
                 vpic_irq_negative_edge(d, gsi);
             break;
         case HVMIRQ_callback_pci_intx:
@@ -464,7 +465,7 @@ void hvm_set_callback_via(struct domain *d, uint64_t via)
                   (hvm_irq->gsi_assert_count[gsi]++ == 0) )
         {
             vioapic_irq_positive_edge(d, gsi);
-            if ( gsi <= 15 )
+            if ( gsi < NR_ISA_IRQS )
                 vpic_irq_positive_edge(d, gsi);
         }
         break;
@@ -764,7 +765,7 @@ static int cf_check irq_check_link(const struct domain *d,
             return -EINVAL;
 
     for ( link = 0; link < ARRAY_SIZE(pci_link->route); link++ )
-        if ( pci_link->route[link] > 15 )
+        if ( pci_link->route[link] >= NR_ISA_IRQS )
         {
             printk(XENLOG_G_ERR
                    "HVM restore: PCI-ISA link %u out of range (%u)\n",
index 6427b080862adb072e138e440a5b58d29a9bd3dd..22020322fbbab5e7e089ffc099128f650db78b78 100644 (file)
@@ -523,7 +523,7 @@ void vpic_irq_positive_edge(struct domain *d, int irq)
     uint8_t mask = 1 << (irq & 7);
 
     ASSERT(has_vpic(d));
-    ASSERT(irq <= 15);
+    ASSERT(irq < NR_ISA_IRQS);
     ASSERT(vpic_is_locked(vpic));
 
     TRACE_TIME(TRC_HVM_EMUL_PIC_POSEDGE, irq);
@@ -541,7 +541,7 @@ void vpic_irq_negative_edge(struct domain *d, int irq)
     uint8_t mask = 1 << (irq & 7);
 
     ASSERT(has_vpic(d));
-    ASSERT(irq <= 15);
+    ASSERT(irq < NR_ISA_IRQS);
     ASSERT(vpic_is_locked(vpic));
 
     TRACE_TIME(TRC_HVM_EMUL_PIC_NEGEDGE, irq);
index f9ed5dc86cb33c6bdc4b9169e535f03594f4f970..3c73073b71b358635d213453f4ee452eeea4bbf8 100644 (file)
@@ -108,7 +108,7 @@ extern bool opt_noirqbalance;
 
 extern int opt_irq_vector_map;
 
-#define platform_legacy_irq(irq)       ((irq) < 16)
+#define platform_legacy_irq(irq)       ((irq) < NR_ISA_IRQS)
 
 void cf_check event_check_interrupt(void);
 void cf_check invalidate_interrupt(void);
index c6cf944811296777547d3dec1684f8f3343e9a39..84bd87a5e4d6512c5dcaf5ff471cdd16946b9d83 100644 (file)
@@ -2715,15 +2715,15 @@ void __init ioapic_init(void)
                               " than \"nr_irqs=\"\n");
         max_gsi_irqs = nr_irqs;
     }
-    if ( max_gsi_irqs < 16 )
-        max_gsi_irqs = 16;
+    if ( max_gsi_irqs < NR_ISA_IRQS )
+        max_gsi_irqs = NR_ISA_IRQS;
 
     /* for PHYSDEVOP_pirq_eoi_gmfn guest assumptions */
     if ( max_gsi_irqs > PAGE_SIZE * 8 )
         max_gsi_irqs = PAGE_SIZE * 8;
 
-    if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < 16 )
-        nr_irqs_gsi = 16;
+    if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < NR_ISA_IRQS )
+        nr_irqs_gsi = NR_ISA_IRQS;
     else if ( nr_irqs_gsi > max_gsi_irqs )
     {
         printk(XENLOG_WARNING "Limiting to %u GSI IRQs (found %u)\n",
@@ -2736,8 +2736,8 @@ void __init ioapic_init(void)
                   max(0U + num_present_cpus() * NR_DYNAMIC_VECTORS,
                       8 * nr_irqs_gsi) :
                   nr_irqs_gsi;
-    else if ( nr_irqs < 16 )
-        nr_irqs = 16;
+    else if ( nr_irqs < NR_ISA_IRQS )
+        nr_irqs = NR_ISA_IRQS;
     printk(XENLOG_INFO "IRQ limits: %u GSI, %u MSI/MSI-X\n",
            nr_irqs_gsi, nr_irqs - nr_irqs_gsi);
 }
index f35894577bb07995af379f9535bc930b39a594d1..dd8d921f18f6422dbdde3c32c364506a3b7d6bc4 100644 (file)
@@ -36,7 +36,7 @@
 bool __read_mostly opt_noirqbalance;
 boolean_param("noirqbalance", opt_noirqbalance);
 
-unsigned int __read_mostly nr_irqs_gsi = 16;
+unsigned int __read_mostly nr_irqs_gsi = NR_ISA_IRQS;
 unsigned int __read_mostly nr_irqs;
 integer_param("nr_irqs", nr_irqs);
 
@@ -1525,7 +1525,7 @@ void desc_guest_eoi(struct irq_desc *desc, struct pirq *pirq)
 int pirq_guest_unmask(struct domain *d)
 {
     unsigned int pirq = 0, n, i;
-    struct pirq *pirqs[16];
+    struct pirq *pirqs[NR_ISA_IRQS];
 
     do {
         n = radix_tree_gang_lookup(&d->pirq_tree, (void **)pirqs, pirq,
@@ -2113,7 +2113,7 @@ int get_free_pirq(struct domain *d, int type)
 
     if ( type == MAP_PIRQ_TYPE_GSI )
     {
-        for ( i = 16; i < nr_irqs_gsi; i++ )
+        for ( i = NR_ISA_IRQS; i < nr_irqs_gsi; i++ )
             if ( is_free_pirq(d, pirq_info(d, i)) )
             {
                 pirq_get_info(d, i);