8.1. Az MTRR beállítása
Előző | 8. fejezet - Videó kimeneti eszközök | Következő

## 8.1. Az MTRR beállítása

NAGYON javasoljuk, hogy ellenőrizd le, hogy az MTRR regiszterek megfelelően be vannak-e állítva, mert hatalmas teljesítményjavulást hozhatnak.

Írd be: cat /proc/mtrr:

    --($:~)-- cat /proc/mtrr
    reg00: base=0xe4000000 (3648MB), size=  16MB: write-combining, count=9
    reg01: base=0xd8000000 (3456MB), size= 128MB: write-combining, count=1

Ez jó, mutatja a 16 MB memóriával rendelkező Matrox G400-as kártyámat. Ezt XFree 4.x.x-ből csináltam, ami automatikusan beállítja az MTRR regisztereket.

Ha semmi sem működik, kézzel kell beállítanod. Először meg kell találnod a bázis címet. 3 módszer van a megtalálására:

1. az X11 indulási üzeneteiből, például:

       (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
       (--) SVGA: Linear framebuffer at 0xD8000000

2. a `/proc/pci` fájlból (használd az lspci -v parancsot):

       01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
       Memory at d8000000 (32-bit, prefetchable)

3. az mga_vid kernel vezérlő üzeneteiből (használd a dmesg-et):

       mga_mem_base = d8000000

Ezután keresd meg a memória méretét. Ez nagyon egyszerű, csak számold át a videó RAM méretét hexadecimálisra, vagy használd ezt a táblázatot:

1 MB | 0x100000
2 MB | 0x200000
4 MB | 0x400000
8 MB | 0x800000
16 MB | 0x1000000
32 MB | 0x2000000

Már tudjuk a bázis címet és a memória méretét, hát állítsuk be az MTRR regisztereket! Például a fenti Matrox kártyánál (`base=0xd8000000`) 32MB RAM-mal (`size=0x2000000`) csak futtasd ezt:

    echo "base=0xd8000000 size=0x2000000 type=write-combining" > /proc/mtrr

Nem minden CPU-ban van MTRR. Például a régebbi K6-2 (266MHz körül, stepping 0) CPU-kban nincs MTRR, de a stepping 12-ben van (futtasd le a cat /proc/cpuinfo parancsot az ellenőrzéshez).

Előző | Fel | Következő
8. fejezet - Videó kimeneti eszközök | Tartalom | 8.2. Xv