[patch] fixed mtrr support for intel P6

Matan Ziv-Av (matan@svgalib.org)
Fri, 8 Oct 1999 19:44:18 +0200 (IST)


Hi,

I attach a patch that adds the ability to set (and read) the fixed
mtrrs on an intel P6 cpu (PPro, PII, PII). The fixed mtrrs are the ones
controling the accesses to memory in the low 1MB of physical memory.
The patch is against 2.3.19, and it only changes the file
arch/i386/kernel/mtrr.c.

The patch, also changes the implementation of the file /proc/mtrr, so
that it is recalculated every time it is read, rather than stored in
memory. This means a bit more work every time the file is read (which
should not be very often), but saves some unswappable kernel memory.

I tested the patch on three systems with a Celeron CPU, where it works,
and 2 with older cpus, where it has no affect (as it should). I did not
test it on a non intel cpu that has mtrrs. I also not tested it on an
SMP system.

begin 644 mtrr.patch.gz
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
BWQ7Y6EWWM2%]+7X5^]A0DMW&:]S*Q%:X]7^^#09!,B8`````
`
end

-- 
Matan Ziv-Av.                         matan@svgalib.org

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