linux/arch/x86/kernel/cpu/mtrr
Yinghai Lu 4624065731 x86: mtrr_cleanup try gran_size to less than 1M
one have gran < 1M

reg00: base=0xd8000000 (3456MB), size= 128MB: uncachable, count=1
reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1
reg02: base=0x00000000 (   0MB), size=4096MB: write-back, count=1
reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1
reg04: base=0x120000000 (4608MB), size= 128MB: write-back, count=1
reg05: base=0xd7f80000 (3455MB), size= 512KB: uncachable, count=1

will get

Found optimal setting for mtrr clean up
gran_size: 512K         chunk_size: 2M  num_reg: 7      lose RAM: 0G
range0: 0000000000000000 - 00000000d8000000
Setting variable MTRR 0, base: 0GB, range: 2GB, type WB
Setting variable MTRR 1, base: 2GB, range: 1GB, type WB
Setting variable MTRR 2, base: 3GB, range: 256MB, type WB
Setting variable MTRR 3, base: 3328MB, range: 128MB, type WB
hole: 00000000d7f00000 - 00000000d7f80000
Setting variable MTRR 4, base: 3455MB, range: 512KB, type UC
rangeX: 0000000100000000 - 0000000128000000
Setting variable MTRR 5, base: 4GB, range: 512MB, type WB
Setting variable MTRR 6, base: 4608MB, range: 128MB, type WB

so start from 64k instead of 1M

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2008-09-29 20:50:11 -07:00
..
amd.c x86: mtrr use type bool [RESEND AGAIN] 2008-01-30 13:30:31 +01:00
centaur.c i386: move kernel/cpu/mtrr 2007-10-11 11:16:28 +02:00
cyrix.c x86: remove long dead cyrix mtrr code 2008-02-04 16:48:01 +01:00
generic.c x86: work around MTRR mask setting, v2 2008-08-22 14:12:31 +02:00
if.c proc: remove proc_root from drivers 2008-04-29 08:06:18 -07:00
main.c x86: mtrr_cleanup try gran_size to less than 1M 2008-09-29 20:50:11 -07:00
Makefile i386: move kernel/cpu/mtrr 2007-10-11 11:16:28 +02:00
mtrr.h x86: mtrr cleanup for converting continuous to discrete layout, v8 2008-05-25 10:55:09 +02:00
state.c x86: coding style fixes to arch/x86/kernel/cpu/mtrr/state.c 2008-04-17 17:40:49 +02:00