• Home
  • Raw
  • Download

Lines Matching +full:back +full:- +full:to +full:- +full:back

1 .. SPDX-License-Identifier: GPL-2.0
7 :Authors: - Richard Gooch <rgooch@atnf.csiro.au> - 3 Jun 1999
8 - Luis R. Rodriguez <mcgrof@do-not-panic.com> - April 9, 2015
16 arch_phys_wc_add() in combination with ioremap_wc() to make MTRR effective on
17 non-PAT systems while a no-op but equally effective on PAT enabled systems.
21 firmware may still have implemented access to MTRRs which would be controlled
24 the platform code would need uncachable access to some of its fan control
26 place other than mtrr_type_lookup() to ensure any OS specific mapping requests
31 For details refer to :doc:`pat`.
35 the Memory Type Range Registers (MTRRs) may be used to control
36 processor access to memory ranges. This is most useful when you have
37 a video (VGA) card on a PCI or AGP bus. Enabling write-combining
38 allows bus write transfers to be combined into a larger transfer
43 Registers (ARRs) which provide a similar functionality to MTRRs. For
44 these, the ARRs are used to emulate the MTRRs.
46 The AMD K6-2 (stepping 8 and above) and K6-3 processors have two
50 The Centaur C6 (WinChip) has 8 MCRs, allowing write-combining. These
56 to manipulate your MTRRs. Typically the X server should use
61 There are two interfaces to /proc/mtrr: one is an ASCII interface
62 which allows you to read and write. The other is an ioctl()
73 reg00: base=0x00000000 ( 0MB), size= 128MB: write-back, count=1
74 reg01: base=0x08000000 ( 128MB), size= 64MB: write-back, count=1
76 Creating MTRRs from the C-shell::
78 # echo "base=0xf8000000 size=0x400000 type=write-combining" >! /proc/mtrr
82 # echo "base=0xf8000000 size=0x400000 type=write-combining" >| /proc/mtrr
87 reg00: base=0x00000000 ( 0MB), size= 128MB: write-back, count=1
88 reg01: base=0x08000000 ( 128MB), size= 64MB: write-back, count=1
89 reg02: base=0xf8000000 (3968MB), size= 4MB: write-combining, count=1
91 This is for video RAM at base address 0xf8000000 and size 4 megabytes. To
92 find out your base address, you need to look at the output of your X
96 (--) S3: PCI: 968 rev 0, Linear FB @ 0xf8000000
102 To find out the size of your framebuffer (what, you don't actually
105 (--) S3: videoram: 4096k
110 ioctl() interface, so users won't have to do anything. If you use a
111 commercial X server, lobby your vendor to add support for MTRRs.
118 %echo "base=0xfb000000 size=0x1000000 type=write-combining" >/proc/mtrr
124 reg00: base=0x00000000 ( 0MB), size= 64MB: write-back, count=1
125 reg01: base=0xfb000000 (4016MB), size= 16MB: write-combining, count=1
133 region that you created is type=write-combining.
136 Removing MTRRs from the C-shel
151 /* mtrr-show.c
153 Source file for mtrr-show (example program to show MTRRs using ioctl()'s)
155 Copyright (C) 1997-1998 Richard Gooch
168 along with this program; if not, write to the Free Software
177 This program will use an ioctl() on /proc/mtrr to show the current MTRR
178 settings. This is an alternative to reading /proc/mtrr.
181 Written by Richard Gooch 17-DEC-1997
183 Last updated by Richard Gooch 2-MAY-1998
204 "write-combining", /* 1 */
207 "write-through", /* 4 */
208 "write-protect", /* 5 */
209 "write-back", /* 6 */
217 if ( ( fd = open ("/proc/mtrr", O_RDONLY, 0) ) == -1 )
250 /* mtrr-add.c
252 Source file for mtrr-add (example programme to add an MTRRs using ioctl())
254 Copyright (C) 1997-1998 Richard Gooch
267 along with this program; if not, write to the Free Software
276 This programme will use an ioctl() on /proc/mtrr to add an entry. The first
277 available mtrr is used. This is an alternative to writing /proc/mtrr.
280 Written by Richard Gooch 17-DEC-1997
282 Last updated by Richard Gooch 2-MAY-1998
304 "write-combining", /* 1 */
307 "write-through", /* 4 */
308 "write-protect", /* 5 */
309 "write-back", /* 6 */
319 fprintf (stderr, "Usage:\tmtrr-add base size type\n");
333 if ( ( fd = open ("/proc/mtrr", O_WRONLY, 0) ) == -1 )
344 if (ioctl (fd, MTRRIOC_ADD_ENTRY, &sentry) == -1)