]> xenbits.xensource.com Git - people/aperard/xen-arm.git/commitdiff
xen: remove nr_irqs_gsi from generic code
authorIan Campbell <ian.campbell@citrix.com>
Wed, 19 Dec 2012 16:04:49 +0000 (16:04 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 19 Dec 2012 16:04:49 +0000 (16:04 +0000)
The concept is X86 specific.

AFAICT the generic concept here is the number of static physical IRQs
which the current hardware has, so call this nr_static_irqs.

Also using "defined NR_IRQS" as a standin for x86 might have made
sense at one point but its just cleaner to push the necessary
definitions into asm/irq.h.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/dummy.S
xen/common/domain.c
xen/include/asm-arm/irq.h
xen/include/asm-x86/irq.h
xen/include/xen/irq.h
xen/xsm/flask/hooks.c

index 6416f949cff3b607cf2fc25e9caf52d66f160f40..a214fbfedfc158fd8119eae12a28253896fda5a0 100644 (file)
@@ -6,5 +6,3 @@ x:      .word 0xe7f000f0 /* Undefined instruction */
        .globl x; \
 x:     mov pc, lr
        
-/* PIRQ support */
-DUMMY(nr_irqs_gsi);
index 12c8e24e099c255011089855f23613124092ea56..2f8ef0070f35161b12c4edd12e8a64489dd05321 100644 (file)
@@ -259,9 +259,9 @@ struct domain *domain_create(
         atomic_inc(&d->pause_count);
 
         if ( domid )
-            d->nr_pirqs = nr_irqs_gsi + extra_domU_irqs;
+            d->nr_pirqs = nr_static_irqs + extra_domU_irqs;
         else
-            d->nr_pirqs = nr_irqs_gsi + extra_dom0_irqs;
+            d->nr_pirqs = nr_static_irqs + extra_dom0_irqs;
         if ( d->nr_pirqs > nr_irqs )
             d->nr_pirqs = nr_irqs;
 
index abde83951fef3d2d9b19465ee9b1f8a6ed2b9cf5..bd6b54a3b93ffe08defeb4b5e2f746d3d661e3c7 100644 (file)
@@ -21,6 +21,9 @@ struct irq_cfg {
 #define NR_IRQS                1024
 #define nr_irqs NR_IRQS
 
+#define nr_irqs NR_IRQS
+#define nr_static_irqs NR_IRQS
+
 struct irq_desc;
 
 struct irq_desc *__irq_to_desc(int irq);
index 5eefb945a5ea8d14e7271672d8e42a2549bd59fa..7f5da0600c89228ec528c3edf46f66e3f89c0ab9 100644 (file)
 #include <irq_vectors.h>
 #include <asm/percpu.h>
 
+extern unsigned int nr_irqs_gsi;
+extern unsigned int nr_irqs;
+#define nr_static_irqs nr_irqs_gsi
+
 #define IO_APIC_IRQ(irq)    (platform_legacy_irq(irq) ?    \
                             (1 << (irq)) & io_apic_irqs : \
                             (irq) < nr_irqs_gsi)
index 5973ccea1faab6e0740a74b9ef9730eeee692fbd..738635816bbfdb1c0c1f2f7dffdb85f821e0a5f8 100644 (file)
@@ -58,14 +58,6 @@ typedef const struct hw_interrupt_type hw_irq_controller;
 
 #include <asm/irq.h>
 
-#ifdef NR_IRQS
-# define nr_irqs NR_IRQS
-# define nr_irqs_gsi NR_IRQS
-#else
-extern unsigned int nr_irqs_gsi;
-extern unsigned int nr_irqs;
-#endif
-
 struct msi_desc;
 /*
  * This is the "IRQ descriptor", which contains various information
index 0ca10d05adc0c4d9d497fbdb89b5e773d9f94da9..782e28c358747e05dda223f0291d4e58067e87aa 100644 (file)
@@ -72,7 +72,7 @@ static int get_irq_sid(int irq, u32 *sid, struct avc_audit_data *ad)
     struct irq_desc *desc = irq_to_desc(irq);
     if ( irq >= nr_irqs || irq < 0 )
         return -EINVAL;
-    if ( irq < nr_irqs_gsi ) {
+    if ( irq < nr_static_irqs ) {
         if (ad) {
             AVC_AUDIT_DATA_INIT(ad, IRQ);
             ad->irq = irq;
@@ -699,7 +699,7 @@ static int flask_map_domain_pirq (struct domain *d, int irq, void *data)
     if ( rc )
         return rc;
 
-    if ( irq >= nr_irqs_gsi && msi ) {
+    if ( irq >= nr_static_irqs && msi ) {
         u32 machine_bdf = (msi->seg << 16) | (msi->bus << 8) | msi->devfn;
         AVC_AUDIT_DATA_INIT(&ad, DEV);
         ad.device = machine_bdf;