diff options
author | Toshi Kani <toshi.kani@hpe.com> | 2016-03-23 17:42:03 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2016-03-29 06:23:27 -0400 |
commit | b6350c21cfe8aa9d65e189509a23c0ea4b8362c2 (patch) | |
tree | 91e07831c29301370942cca5833d51ce85b78a0f /Documentation/x86/pat.txt | |
parent | 88ba281108ed0c25c9d292b48bd3f272fcb90dd0 (diff) |
x86/pat: Document the PAT initialization sequence
Update PAT documentation to describe how PAT is initialized under
various configurations.
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luis R. Rodriguez <mcgrof@suse.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Toshi Kani <toshi.kani@hp.com>
Cc: elliott@hpe.com
Cc: konrad.wilk@oracle.com
Cc: paul.gortmaker@windriver.com
Cc: xen-devel@lists.xenproject.org
Link: http://lkml.kernel.org/r/1458769323-24491-8-git-send-email-toshi.kani@hpe.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'Documentation/x86/pat.txt')
-rw-r--r-- | Documentation/x86/pat.txt | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Documentation/x86/pat.txt b/Documentation/x86/pat.txt index 54944c71b819..2a4ee6302122 100644 --- a/Documentation/x86/pat.txt +++ b/Documentation/x86/pat.txt | |||
@@ -196,3 +196,35 @@ Another, more verbose way of getting PAT related debug messages is with | |||
196 | "debugpat" boot parameter. With this parameter, various debug messages are | 196 | "debugpat" boot parameter. With this parameter, various debug messages are |
197 | printed to dmesg log. | 197 | printed to dmesg log. |
198 | 198 | ||
199 | PAT Initialization | ||
200 | ------------------ | ||
201 | |||
202 | The following table describes how PAT is initialized under various | ||
203 | configurations. The PAT MSR must be updated by Linux in order to support WC | ||
204 | and WT attributes. Otherwise, the PAT MSR has the value programmed in it | ||
205 | by the firmware. Note, Xen enables WC attribute in the PAT MSR for guests. | ||
206 | |||
207 | MTRR PAT Call Sequence PAT State PAT MSR | ||
208 | ========================================================= | ||
209 | E E MTRR -> PAT init Enabled OS | ||
210 | E D MTRR -> PAT init Disabled - | ||
211 | D E MTRR -> PAT disable Disabled BIOS | ||
212 | D D MTRR -> PAT disable Disabled - | ||
213 | - np/E PAT -> PAT disable Disabled BIOS | ||
214 | - np/D PAT -> PAT disable Disabled - | ||
215 | E !P/E MTRR -> PAT init Disabled BIOS | ||
216 | D !P/E MTRR -> PAT disable Disabled BIOS | ||
217 | !M !P/E MTRR stub -> PAT disable Disabled BIOS | ||
218 | |||
219 | Legend | ||
220 | ------------------------------------------------ | ||
221 | E Feature enabled in CPU | ||
222 | D Feature disabled/unsupported in CPU | ||
223 | np "nopat" boot option specified | ||
224 | !P CONFIG_X86_PAT option unset | ||
225 | !M CONFIG_MTRR option unset | ||
226 | Enabled PAT state set to enabled | ||
227 | Disabled PAT state set to disabled | ||
228 | OS PAT initializes PAT MSR with OS setting | ||
229 | BIOS PAT keeps PAT MSR with BIOS setting | ||
230 | |||