lkml.org 
[lkml]   [2005]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] add and handle NMI_VECTOR
    (Note: Patch also attached because the inline version is certain to get
    line wrapped.)

    Declare NMI_VECTOR and handle it in the IPI sending code.

    Signed-off-by: Jan Beulich <jbeulich@novell.com>

    diff -Npru 2.6.13/include/asm-x86_64/hw_irq.h
    2.6.13-x86_64-nmi-ipi/include/asm-x86_64/hw_irq.h
    --- 2.6.13/include/asm-x86_64/hw_irq.h 2005-08-29 01:41:01.000000000
    +0200
    +++ 2.6.13-x86_64-nmi-ipi/include/asm-x86_64/hw_irq.h 2005-03-16
    12:24:42.000000000 +0100
    @@ -26,6 +26,7 @@
    struct hw_interrupt_type;
    #endif

    +#define NMI_VECTOR 0x02
    /*
    * IDT vectors usable for external interrupt sources start
    * at 0x20:
    diff -Npru 2.6.13/include/asm-x86_64/ipi.h
    2.6.13-x86_64-nmi-ipi/include/asm-x86_64/ipi.h
    --- 2.6.13/include/asm-x86_64/ipi.h 2005-08-29 01:41:01.000000000
    +0200
    +++ 2.6.13-x86_64-nmi-ipi/include/asm-x86_64/ipi.h 2005-09-01
    11:32:12.000000000 +0200
    @@ -31,9 +31,20 @@

    static inline unsigned int __prepare_ICR (unsigned int shortcut, int
    vector, unsigned int dest)
    {
    - unsigned int icr = APIC_DM_FIXED | shortcut | vector | dest;
    - if (vector == KDB_VECTOR)
    - icr = (icr & (~APIC_VECTOR_MASK)) | APIC_DM_NMI;
    + unsigned int icr = shortcut | dest;
    +
    + switch (vector) {
    + default:
    + icr |= APIC_DM_FIXED | vector;
    + break;
    + case NMI_VECTOR:
    + /*
    + * Setup KDB IPI to be delivered as an NMI
    + */
    + case KDB_VECTOR:
    + icr |= APIC_DM_NMI;
    + break;
    + }
    return icr;
    }

    [unhandled content-type:application/octet-stream]
    \
     
     \ /
      Last update: 2005-09-08 18:09    [W:0.023 / U:95.160 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site