lkml.org 
[lkml]   [2008]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.27 mtrr fixes do not work when X starts
On Fri, Aug 22, 2008 at 3:11 AM, Helge Hafting
<helge.hafting@aitel.hist.no> wrote:
> I also see mtrr problems. I use 2.6.27-rc4, with this in my .config:
> CONFIG_MTRR=y
> CONFIG_MTRR_SANITIZER=y
> CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
> CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
> (Have no idea what the last one is about, the docs didn't say.)
>
> Everything is fine during boot, I see this in dmesg:
> Found optimal setting for mtrr clean up
> gran_size: 1M chunk_size: 64M num_reg: 7 lose RAM: 0M
> range0: 0000000000000000 - 000000007c000000
> Setting variable MTRR 0, base: 0MB, range: 1024MB, type WB
> Setting variable MTRR 1, base: 1024MB, range: 512MB, type WB
> Setting variable MTRR 2, base: 1536MB, range: 256MB, type WB
> Setting variable MTRR 3, base: 1792MB, range: 128MB, type WB
> Setting variable MTRR 4, base: 1920MB, range: 64MB, type WB
> range: 000000007c000000 - 0000000080000000
> Setting variable MTRR 5, base: 1984MB, range: 64MB, type WB
> hole: 000000007ff00000 - 0000000080000000
> Setting variable MTRR 6, base: 2047MB, range: 1MB, type UC
> x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
> After WB checking
> MTRR MAP PFN: 0000000000000000 - 0000000000080000
> After UC checking
> MTRR MAP PFN: 0000000000000000 - 000000000007ff00
> After sorting
> MTRR MAP PFN: 0000000000000000 - 000000000007ff00
>
> X gets problems however, from my Xorg.0.log:(II) VESA(0): initializing int10
> (II) VESA(0): Primary V_BIOS segment is: 0xc000
> (II) VESA(0): VESA BIOS detected
> (II) VESA(0): VESA VBE Version 3.0
> (II) VESA(0): VESA VBE Total Mem: 14336 kB
> (II) VESA(0): VESA VBE OEM: NVIDIA
> (II) VESA(0): VESA VBE OEM Software Rev: 96.134
> (II) VESA(0): VESA VBE OEM Vendor: NVIDIA Corporation
> (II) VESA(0): VESA VBE OEM Product: G86 Board - dawson0
> (II) VESA(0): VESA VBE OEM Product Rev: Chip Rev
> (II) VESA(0): Splitting WC range: base: 0xfb000000, size: 0xe00000
> (II) VESA(0): Splitting WC range: base: 0xfb800000, size: 0x600000
> (==) VESA(0): Write-combining range (0xfbc00000,0x200000)
> (WW) VESA(0): Failed to set up write-combining range (0xfb800000,0x600000)
> (WW) VESA(0): Failed to set up write-combining range (0xfb000000,0xe00000)
> (II) VESA(0): virtual address = 0x7f17bd6dd000,
> physical address = 0xfb000000, size = 14680064
>
> And dmesg says:
> mtrr: no more MTRRs available
> mtrr: no more MTRRs available
>
> So I get one write-combining range where X wants three.
> $ cat /proc/mtrr
> reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
> reg01: base=0x40000000 (1024MB), size= 512MB: write-back, count=1
> reg02: base=0x60000000 (1536MB), size= 256MB: write-back, count=1
> reg03: base=0x70000000 (1792MB), size= 128MB: write-back, count=1
> reg04: base=0x78000000 (1920MB), size= 64MB: write-back, count=1
> reg05: base=0x7c000000 (1984MB), size= 64MB: write-back, count=1
> reg06: base=0x7ff00000 (2047MB), size= 1MB: uncachable, count=1
> reg07: base=0xfbc00000 (4028MB), size= 2MB: write-combining, count=1
>
> 2MB does obviously not cover the entire framebuffer. :-(
>
please boot with "mtrr_spare_reg_nr=3 debug"

YH


\
 
 \ /
  Last update: 2008-08-22 19:27    [W:0.104 / U:0.408 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site