Just a note: the MTRR method works fine (system is 100 times slower, I did not check any details, is there a good tool to detect caches?) on both 32 and 64 bit systems.
First run:
to get a list of regions. The one or few segments that add up to the size of RAM are the correct ones to disable (on my system there were 00: 2GB, 01: 1GB and 02: 1GB).
Then run for each segment:
Code:
echo disable=00 > /proc/mtrr
(replace 00 with the segment number)