Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935429AbcCPXzL (ORCPT ); Wed, 16 Mar 2016 19:55:11 -0400 Received: from g9t5008.houston.hp.com ([15.240.92.66]:43848 "EHLO g9t5008.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935398AbcCPXyw (ORCPT ); Wed, 16 Mar 2016 19:54:52 -0400 From: Toshi Kani To: mingo@kernel.org, bp@suse.de, hpa@zytor.com, tglx@linutronix.de Cc: mcgrof@suse.com, jgross@suse.com, paul.gortmaker@windriver.com, konrad.wilk@oracle.com, elliott@hpe.com, x86@kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, Toshi Kani Subject: [PATCH v2 6/6] x86/pat: Document PAT initializations Date: Wed, 16 Mar 2016 18:46:59 -0600 Message-Id: <1458175619-32206-5-git-send-email-toshi.kani@hpe.com> X-Mailer: git-send-email 2.5.0 In-Reply-To: <1458175619-32206-1-git-send-email-toshi.kani@hpe.com> References: <1458175619-32206-1-git-send-email-toshi.kani@hpe.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2176 Lines: 54 Update PAT documentation to describe how PAT is initialized under various configurations. Signed-off-by: Toshi Kani Cc: Borislav Petkov Cc: Luis R. Rodriguez Cc: Juergen Gross Cc: Ingo Molnar Cc: H. Peter Anvin Cc: Thomas Gleixner --- 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 +