annotate DOCS/MTRR @ 1:3b5f5d1c5041

Initial revision
author arpi_esp
date Sat, 24 Feb 2001 20:28:24 +0000
parents
children a016e986f755
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 Setting up MTRR for X11 or mga_vid:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
2 ===================================
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 1. find the base address
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 ~~~~~~~~~~~~~~~~~~~~~~~~
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
6 You have 3 cases to find it:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
7
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
8 - from X11 startup messages, for example:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
9 (--) SVGA: PCI: Matrox MGA G400 AGP rev 4, Memory @ 0xd8000000, 0xd4000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
10 (--) SVGA: Linear framebuffer at 0xD8000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
11
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
12 - from /proc/pci (use lspci -v command):
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
13 01:00.0 VGA compatible controller: Matrox Graphics, Inc.: Unknown device 0525
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
14 Memory at d8000000 (32-bit, prefetchable)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
15
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
16 - from mga_vid kernel driver messages (use dmesg):
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
17 mga_mem_base = d8000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
18
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
19 2. find memory size
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
20 ~~~~~~~~~~~~~~~~~~~
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
21 This is much easier, just convert video ram size to hexadecimal, or
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 use this table:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23 1 MB 0x100000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
24 2 MB 0x200000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
25 4 MB 0x400000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26 8 MB 0x800000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
27 16 MB 0x1000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 32 MB 0x2000000
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 3. setting up mtrr
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 ~~~~~~~~~~~~~~~~~~
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 You know base address and memory size, let's setup mtrr registers!
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 For example, for the matrox card above (base=0xd8000000) with 32MB
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 ram (size=0x2000000) just execute:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 echo "base=0xd8000000 size=0x2000000 type=write-combining" >| /proc/mtrr
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 (older K6-2's [around 266Mhz, stepping 0] may not support MTRR.)