linux/arch/i386/kernel/cpu/mtrr
Andreas Mohr 9b48341752 [PATCH] i386: fix buggy MTRR address checks
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: Andreas Mohr <andi@lisas.de>
Signed-off-by: Andi Kleen <ak@suse.de>
Acked-by: Jan Beulich <jbeulich@novell.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2006-12-07 02:14:00 +01:00
..
amd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
centaur.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cyrix.c [PATCH] cyrix: eliminate bad section references 2005-05-05 16:36:47 -07:00
generic.c [PATCH] i386: fix buggy MTRR address checks 2006-12-07 02:14:00 +01:00
if.c [PATCH] capable/capability.h (arch/) 2006-01-11 18:42:14 -08:00
main.c [PATCH] i386: fix buggy MTRR address checks 2006-12-07 02:14:00 +01:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mtrr.h [PATCH] MTRR suspend/resume cleanup 2005-07-07 18:23:42 -07:00
state.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00