• Andreas Mohr's avatar
    [PATCH] i386: fix buggy MTRR address checks · 9b483417
    Andreas Mohr authored
    Fix checks that failed to realize that values are 4-kB-unit-sized (note the
    format strings in this same diff context which *do* realize the unit size,
    via appended "000"!).  Also fix an incorrect below-1MB area check (as
    gathered from Jan Beulich's unapplied patch at
    http://www.ussg.iu.edu/hypermail/linux/kernel/0411.1/1378.html ) Update
    mtrr_add_page() docu to make 4-kB-sized calculation more obvious.
    
    Given several further items mentioned in Jan's patch mail, all in all MTRR
    code seems surprisingly buggy, for a surprisingly long period of time (many
    years).  Further work/investigation would be useful.
    
    TBD Note that my patch is pretty much UNTESTED, since I can only verify that it
    TBD successfully boots my machine, but I cannot test against actual buggy
    TBD hardware which would require these (formerly broken) checks.  Long -mm
    TBD simmering would make sense, especially since these now-working checks might
    TBD turn out to have adverse effects on unaffected hardware.
    Signed-off-by: default avatarAndreas Mohr <andi@lisas.de>
    Signed-off-by: default avatarAndi Kleen <ak@suse.de>
    Acked-by: default avatarJan Beulich <jbeulich@novell.com>
    Cc: Andi Kleen <ak@muc.de>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    9b483417
generic.c 11.5 KB