[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1458175619-32206-5-git-send-email-toshi.kani@hpe.com>
Date: Wed, 16 Mar 2016 18:46:59 -0600
From: Toshi Kani <toshi.kani@....com>
To: mingo@...nel.org, bp@...e.de, hpa@...or.com, tglx@...utronix.de
Cc: mcgrof@...e.com, jgross@...e.com, paul.gortmaker@...driver.com,
konrad.wilk@...cle.com, elliott@....com, x86@...nel.org,
xen-devel@...ts.xenproject.org, linux-kernel@...r.kernel.org,
Toshi Kani <toshi.kani@....com>
Subject: [PATCH v2 6/6] x86/pat: Document PAT initializations
Update PAT documentation to describe how PAT is initialized under
various configurations.
Signed-off-by: Toshi Kani <toshi.kani@....com>
Cc: Borislav Petkov <bp@...e.de>
Cc: Luis R. Rodriguez <mcgrof@...e.com>
Cc: Juergen Gross <jgross@...e.com>
Cc: Ingo Molnar <mingo@...nel.org>
Cc: H. Peter Anvin <hpa@...or.com>
Cc: Thomas Gleixner <tglx@...utronix.de>
---
Documentation/x86/pat.txt | 32 ++++++++++++++++++++++++++++++++
1 file changed, 32 insertions(+)
diff --git a/Documentation/x86/pat.txt b/Documentation/x86/pat.txt
index 54944c7..f619e1d 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
"debugpat" boot parameter. With this parameter, various debug messages are
printed to dmesg log.
+PAT Initialization
+------------------
+
+The following table describes how PAT is initialized under various
+configurations. PAT must be set to enable to initialize PAT MSR in order
+to support WC and WT attributes. Otherwise, PAT keeps PAT MSR value set
+by BIOS. Note, Xen enables WC attribute in BIOS setup for guests.
+
+ MTRR PAT Call Sequence PAT State PAT MSR
+ =========================================================
+ E E MTRR -> pat_init() Enable OS
+ E D MTRR -> pat_init() Disable -
+ D E MTRR -> pat_disable() Disable BIOS
+ D D MTRR -> pat_disable() Disable -
+ - np/E nopat() -> pat_disable() Disable BIOS
+ - np/D nopat() -> pat_disable() Disable -
+ E !P/E MTRR -> pat_init() Disable BIOS
+ D !P/E MTRR -> pat_disable() Disable BIOS
+ !M !P/E MTRR stub -> pat_disable() Disable BIOS
+
+ Legend
+ ------------------------------------------------
+ E Feature enabled in CPU
+ D Feature disabled/unsupported in CPU
+ np "nopat" boot option specified
+ !P CONFIG_X86_PAT option unset
+ !M CONFIG_MTRR option unset
+ Enable PAT state set to enable
+ Disable PAT state set to disable
+ OS PAT initializes PAT MSR with OS setup
+ BIOS PAT keeps PAT MSR with BIOS setup
+
Powered by blists - more mailing lists