lkml.org 
[lkml]   [2008]   [Nov]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] x86: make NR_IRQS on 32bit is same to 64bit


    Impact: so NR_IRQS is bigger enough for system with lots of apic/pins

    Now: if IO_APIC is there, will have big NR_IRQS

    otherwise still use 224

    Signed-off-by: Yinghai <yinghai@kernel.org>

    ---
    arch/x86/include/asm/irq_vectors.h | 20 ++++++--------------
    1 file changed, 6 insertions(+), 14 deletions(-)

    Index: linux-2.6/arch/x86/include/asm/irq_vectors.h
    ===================================================================
    --- linux-2.6.orig/arch/x86/include/asm/irq_vectors.h
    +++ linux-2.6/arch/x86/include/asm/irq_vectors.h
    @@ -101,30 +101,22 @@
    #define LAST_VM86_IRQ 15
    #define invalid_vm86_irq(irq) ((irq) < 3 || (irq) > 15)

    -#ifdef CONFIG_X86_64
    +#if defined(CONFIG_X86_IO_APIC) && !defined(CONFIG_PARAVIRT) && !defined(CONFIG_X86_VISWS) && !defined(CONFIG_X86_VOYAGER)
    # if NR_CPUS < MAX_IO_APICS
    # define NR_IRQS (NR_VECTORS + (32 * NR_CPUS))
    # else
    # define NR_IRQS (NR_VECTORS + (32 * MAX_IO_APICS))
    # endif

    -#elif !defined(CONFIG_X86_VOYAGER)
    +#elif defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS) || defined(CONFIG_X86_VOYAGER)

    -# if defined(CONFIG_X86_IO_APIC) || defined(CONFIG_PARAVIRT) || defined(CONFIG_X86_VISWS)
    -
    -# define NR_IRQS 224
    -
    -# else /* IO_APIC || PARAVIRT */
    -
    -# define NR_IRQS 16
    -
    -# endif
    +# define NR_IRQS 224

    -#else /* !VISWS && !VOYAGER */
    +#else /* IO_APIC || PARAVIRT */

    -# define NR_IRQS 224
    +# define NR_IRQS 16

    -#endif /* VISWS */
    +#endif

    /* Voyager specific defines */
    /* These define the CPIs we use in linux */

    \
     
     \ /
      Last update: 2008-11-04 23:15    [W:0.042 / U:0.940 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site