Re: strange MTRR on 2.6.29-git
From: Yinghai Lu
Date: Wed Apr 01 2009 - 14:43:54 EST
On Wed, Apr 1, 2009 at 7:13 AM, Meelis Roos <mroos@xxxxxxxx> wrote:
> Found this on todays 2.6.29 + git. The same address range has both WB
> and UC MTRR-s.
>
> reg00: base=0x000000000 ( 0MB), size= 512MB, count=1: write-back
> reg01: base=0x020000000 ( 512MB), size= 1MB, count=1: write-back
> reg02: base=0x020000000 ( 512MB), size= 1MB, count=1: uncachable
> reg03: base=0x0f2000000 ( 3872MB), size= 32MB, count=2: write-combining
> reg04: base=0x0f8000000 ( 3968MB), size= 64MB, count=1: write-combining
>
> [ 0.000000] Linux version 2.6.29-06608-g15f7176-dirty (mroos@rhn) (gcc version 4.3.3 (Debian 4.3.3-5) ) #195 PREEMPT Tue Mar 31 13:57:57 EEST 2009
> [ 0.000000] KERNEL supported cpus:
> [ 0.000000] Intel GenuineIntel
> [ 0.000000] AMD AuthenticAMD
> [ 0.000000] NSC Geode by NSC
> [ 0.000000] Cyrix CyrixInstead
> [ 0.000000] Centaur CentaurHauls
> [ 0.000000] Transmeta GenuineTMx86
> [ 0.000000] Transmeta TransmetaCPU
> [ 0.000000] UMC UMC UMC UMC
> [ 0.000000] BIOS-provided physical RAM map:
> [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
> [ 0.000000] BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
> [ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
> [ 0.000000] BIOS-e820: 0000000000100000 - 000000001ffc0000 (usable)
> [ 0.000000] BIOS-e820: 000000001ffc0000 - 000000001fff8000 (ACPI data)
> [ 0.000000] BIOS-e820: 000000001fff8000 - 0000000020000000 (ACPI NVS)
> [ 0.000000] BIOS-e820: 00000000ffb80000 - 00000000ffc00000 (reserved)
> [ 0.000000] BIOS-e820: 00000000fff00000 - 0000000100000000 (reserved)
> [ 0.000000] DMI 2.3 present.
> [ 0.000000] last_pfn = 0x1ffc0 max_arch_pfn = 0x100000
> [ 0.000000] MTRR default type: uncachable
> [ 0.000000] MTRR fixed ranges enabled:
> [ 0.000000] 00000-9FFFF write-back
> [ 0.000000] A0000-BFFFF uncachable
> [ 0.000000] C0000-CFFFF write-protect
> [ 0.000000] D0000-DFFFF uncachable
> [ 0.000000] E0000-FFFFF write-protect
> [ 0.000000] MTRR variable ranges enabled:
> [ 0.000000] 0 base 000000000 mask FE0000000 write-back
> [ 0.000000] 1 base 020000000 mask FFFF00000 write-back
> [ 0.000000] 2 base 020000000 mask FFFF00000 uncachable
> [ 0.000000] 3 disabled
> [ 0.000000] 4 disabled
> [ 0.000000] 5 disabled
> [ 0.000000] 6 disabled
> [ 0.000000] 7 disabled
> [ 0.000000] get_mtrr: cpu0 reg00 base=0000000000 size=0000020000 write-back
> [ 0.000000] get_mtrr: cpu0 reg01 base=0000020000 size=0000000100 write-back
> [ 0.000000] get_mtrr: cpu0 reg02 base=0000020000 size=0000000100 uncachable
that is original setting by BIOS.
it should be ok.
if you like, could try to enable
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
it could do the clean up for you.
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/