MTRR Eintrag NVIDIA

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
hampel
Beiträge: 60
Registriert: 18.10.2003 13:34:23

MTRR Eintrag NVIDIA

Beitrag von hampel » 18.10.2003 13:42:53

Hallo,

hier die Einträge für meine Nvidia GF 5200 (128MB) in /proc/mtrr:

reg02: base=0xf8000000 (3968MB), size= 64MB: write-combining, count=1
reg03: base=0xf0000000 (3840MB), size= 128MB: write-combining, count=1

Geben diese Einträge (automatisch erzeugt) überhaupt einen Sinn??
Normalerweise existiert immer nur 1 Eintrag, bei bestimmten Grafikkarten (/usr/src/linux/Documentation/mtrr.txt) 2 Einträge; der 2. Eintrag ist dann aber dafür da, um einen Speicherbereich (s. u. 4 kB) auszugrenzen:

reg01: base=0xfb000000 (4016MB), size= 16MB: write-combining, count=1
reg02: base=0xfb000000 (4016MB), size= 4kB: uncachable, count=1


Bei mir sieht das ganze aber "doppelt gemoppelt" aus, 2x "write-combining"!
Was könnte der Grund dafür sein?

(Die Adresse meiner Grafikkarte ist: 0xf0000000).

Grüße

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 19.10.2003 21:43:06

Soweit ich weiss kann man über MTRRs nur sehr grob einstellen, welche Adressen wie gehandhabt werden sollen. Man kann AFAIK (!) nicht 192MB als Bereichsgrösse angeben, sondern nur 32, 64, 128 usw....

Die Areas, die da bei Dir gemapped werden, liegen direkt hintereinander:
0xF0000000 + 128MB = 0xF7FFFFFF, also genau eins weniger als 0xF80000000. Somit ist die WriteCombining Area einfach 192 MB gross (128+64)...

Du könntest 'mal kontrollieren, was im BIOS als AGP Aperture Size eingetragen ist... (192MB?)

Bei meiner GraKa stehen da sogar 3 Bereiche... Die Doku beim Kernel ist manchmalk etwas hinter der Realität hinterher...

Warum kümmert Dich das überhaupt?

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

hampel
Beiträge: 60
Registriert: 18.10.2003 13:34:23

Beitrag von hampel » 20.10.2003 12:48:43

Hallo!
Soweit ich weiss kann man über MTRRs nur sehr grob einstellen, welche Adressen wie gehandhabt werden sollen. Man kann AFAIK (!) nicht 192MB als Bereichsgrösse angeben, sondern nur 32, 64, 128 usw....
Laut meiner /proc/mtrr teilt er auf (zB. 320MB RAM: 1x 256MB, 1x 64MB).
Die Areas, die da bei Dir gemapped werden, liegen direkt hintereinander:
0xF0000000 + 128MB = 0xF7FFFFFF, also genau eins weniger als 0xF80000000. Somit ist die WriteCombining Area einfach 192 MB gross (128+64)...
Aber wie kommst du auf 0xF7FFFFFF ?
0xF0000000 + 0x8000000 = 0xF8000000 denke ich..
Du könntest 'mal kontrollieren, was im BIOS als AGP Aperture Size eingetragen ist... (192MB?)
Es sind 64 MB eingestellt, so ergibts dann auch einen Sinn! :D
Bei meiner GraKa stehen da sogar 3 Bereiche... Die Doku beim Kernel ist manchmalk etwas hinter der Realität hinterher...
Könntest du diesen Teil deiner /proc/mtrr mal schreiben? Würd mich mal interessieren.
Warum kümmert Dich das überhaupt?
:wink:

Grüße

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 20.10.2003 17:58:52

hampel hat geschrieben:
Die Areas, die da bei Dir gemapped werden, liegen direkt hintereinander:
0xF0000000 + 128MB = 0xF7FFFFFF, also genau eins weniger als 0xF80000000. Somit ist die WriteCombining Area einfach 192 MB gross (128+64)...
Aber wie kommst du auf 0xF7FFFFFF ?
0xF0000000 + 0x8000000 = 0xF8000000 denke ich..
Hehe beliebter Fehler: der Computer fängt bei 0 an zu zählen, nicht bei 1. 0xF0000000 - 0xF7FFFFFF entspricht also auf das Byte genau 128*1024*1024 Bytes, weil 0xF0000000 bereits Byte Nummer 1 ist, aber die Nummer 0 hat...
Bei meiner GraKa stehen da sogar 3 Bereiche... Die Doku beim Kernel ist manchmalk etwas hinter der Realität hinterher...
Könntest du diesen Teil deiner /proc/mtrr mal schreiben? Würd mich mal interessieren.

Code: Alles auswählen

wintermute:/usr/share/doc/unrar# cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0xc0000000 (3072MB), size= 128MB: write-combining, count=1
reg02: base=0xc8000000 (3200MB), size= 128MB: write-combining, count=1
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

hampel
Beiträge: 60
Registriert: 18.10.2003 13:34:23

Beitrag von hampel » 21.10.2003 17:44:55

Hehe beliebter Fehler: der Computer fängt bei 0 an zu zählen, nicht bei 1. 0xF0000000 - 0xF7FFFFFF entspricht also auf das Byte genau 128*1024*1024 Bytes, weil 0xF0000000 bereits Byte Nummer 1 ist, aber die Nummer 0 hat...
:roll:

Code:

Code: Alles auswählen

wintermute:/usr/share/doc/unrar# cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0xc0000000 (3072MB), size= 128MB: write-combining, count=1
reg02: base=0xc8000000 (3200MB), size= 128MB: write-combining, count=1
1. Zeile: dein Arbeitsspeicher
2. Zeile: Grafikkarte
3. Zeile: GART Aperture RAM 8)

Antworten