machine check handler

From: Andrea Arcangeli (andrea@suse.de)
Date: Sat Sep 16 2000 - 13:34:39 EDT

  • Next message: Byron Stanoszek: "Re: Very aggressive swapping after 2 hours rest"

    This patch fixes two little bugs in the IA32 machine check handler, it's against
    2.2.17pre7.

    The first bug is that the MC0_MISC is at address 403H, the second is that
    wmb() as implemented in IA32 doesn't serialize, a lock on the bus as
    given from mb() will serialize instead.

    --- 2.2.18pre7/arch/i386/kernel/bluesmoke.c.~1~ Thu Sep 14 19:28:06 2000
    +++ 2.2.18pre7/arch/i386/kernel/bluesmoke.c Sat Sep 16 17:59:02 2000
    @@ -37,7 +37,7 @@
                             high&=~(1<<31);
                             if(high&(1<<27))
                             {
    - rdmsr(0x402+i*4, alow, ahigh);
    + rdmsr(0x403+i*4, alow, ahigh);
                                     printk("[%08x%08x]", alow, ahigh);
                             }
                             if(high&(1<<26))
    @@ -49,7 +49,7 @@
                             /* Clear it */
                             wrmsr(0x401+i*4, 0UL, 0UL);
                             /* Serialize */
    - wmb();
    + mb();
                     }
             }
             

    Andrea
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Sat Sep 16 2000 - 13:33:18 EDT