Re: 2.6.27 mtrr fixes do not work

From: Yinghai Lu
Date: Fri Aug 29 2008 - 17:40:16 EST


On Fri, Aug 29, 2008 at 12:10 PM, Alexander Huemer
<alexander.huemer@xxxxxxxxx> wrote:
> http://xx.vu/~ahuemer/dmesg_5.txt
> http://xx.vu/~ahuemer/lspci_vvxxx.txt
> http://xx.vu/~ahuemer/lspci_tv.txt
>

pci 0000:00:1e.0: IO window: 0x3000-0x3fff
pci 0000:00:1e.0: MEM window: 0xdc300000-0xdc3fffff
pci 0000:00:1e.0: PREFETCH window: 0x000000d8000000-0x000000dbffffff

00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d9)
(prog-if 01 [Subtractive decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Bus: primary=00, secondary=20, subordinate=20, sec-latency=32
I/O behind bridge: 00003000-00003fff
Memory behind bridge: dc300000-dc3fffff
Prefetchable memory behind bridge: 00000000d8000000-00000000dbffffff
Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort+ <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [50] Subsystem: Tyan Computer Device 5397
00: 86 80 4e 24 07 00 10 00 d9 01 04 06 00 00 01 00
10: 00 00 00 00 00 00 00 00 00 20 20 20 30 30 80 22
20: 30 dc 30 dc 01 d8 f1 db 00 00 00 00 00 00 00 00
30: 00 00 00 00 50 00 00 00 00 00 00 00 ff 00 0c 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 0d 00 00 00 f1 10 97 53 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 80 0f 01 00 00 00 00 00

20:05.0 VGA compatible controller: XGI Technology Inc. (eXtreme
Graphics Innovation) Volari Z7 (prog-if 00 [VGA controller])
Subsystem: XGI Technology Inc. (eXtreme Graphics Innovation) Volari Z7
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
BIST result: 00
Region 0: Memory at d8000000 (32-bit, prefetchable) [size=64M]
Region 1: Memory at dc300000 (32-bit, non-prefetchable) [size=256K]
Region 2: I/O ports at 3000 [size=128]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
00: ca 18 20 00 03 00 30 02 00 00 00 03 00 00 00 80
10: 08 00 00 d8 00 00 30 dc 01 30 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 ca 18 20 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00
40: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

mtrr: 0xd8000000,0x2000000 overlaps existing 0xd8000000,0x800000

so it seems your card HW said it need 64M,

someone (BIOS or vgabios?) set 8M for it at first. and with write-back...

# cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1
reg01: base=0x80000000 (2048MB), size=1024MB: write-back, count=1
reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1
reg03: base=0xd8000000 (3456MB), size= 8MB: write-back, count=1

before loading X drivers, need to remove that entry at first.

echo "disable=3" > /proc/mtrr

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/