Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1362854 > unrolled thread
| Started by | Borislav Petkov <bp@suse.de> |
|---|---|
| First post | 2016-03-22 18:10 +0100 |
| Last post | 2016-03-22 22:30 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH v2 6/6] x86/pat: Document PAT initializations Borislav Petkov <bp@suse.de> - 2016-03-22 18:10 +0100
Re: [PATCH v2 6/6] x86/pat: Document PAT initializations Toshi Kani <toshi.kani@hpe.com> - 2016-03-22 22:30 +0100
| From | Borislav Petkov <bp@suse.de> |
|---|---|
| Date | 2016-03-22 18:10 +0100 |
| Subject | Re: [PATCH v2 6/6] x86/pat: Document PAT initializations |
| Message-ID | <rfxYC-7FK-3@gated-at.bofh.it> |
On Wed, Mar 16, 2016 at 06:46:59PM -0600, Toshi Kani wrote:
> Update PAT documentation to describe how PAT is initialized under
> various configurations.
>
> Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
> Cc: Borislav Petkov <bp@suse.de>
> Cc: Luis R. Rodriguez <mcgrof@suse.com>
> Cc: Juergen Gross <jgross@suse.com>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Thomas Gleixner <tglx@linutronix.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
Err "PAT MSR must be updated by Linux in order to support WC and WT" ... or so?
> +to support WC and WT attributes. Otherwise, PAT keeps PAT MSR value set
> +by BIOS.
"Otherwise, the PAT MSR has the value programmed in it by the firmware."
> 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
s/Enable/Enabled/
MTRR->pat_init() - either use function names for both or do pseudo like
so:
MTRR init -> PAT init
> + E D MTRR -> pat_init() Disable -
s/Disable/Disabled/. Ditto for the rest.
> + 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
> +
--
Regards/Gruss,
Boris.
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg)
--
[toc] | [next] | [standalone]
| From | Toshi Kani <toshi.kani@hpe.com> |
|---|---|
| Date | 2016-03-22 22:30 +0100 |
| Message-ID | <rfC2d-1V8-7@gated-at.bofh.it> |
| In reply to | #1362854 |
On Tue, 2016-03-22 at 18:02 +0100, Borislav Petkov wrote: > On Wed, Mar 16, 2016 at 06:46:59PM -0600, Toshi Kani wrote: > > Update PAT documentation to describe how PAT is initialized under > > various configurations. > > : > > > > +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 > > Err "PAT MSR must be updated by Linux in order to support WC and WT" ... > or so? Right. Will do. > > +to support WC and WT attributes. Otherwise, PAT keeps PAT MSR value > > set > > +by BIOS. > > "Otherwise, the PAT MSR has the value programmed in it by the firmware." Will do. > > 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 > > s/Enable/Enabled/ Will do. > MTRR->pat_init() - either use function names for both or do pseudo like > so: > > MTRR init -> PAT init OK, I will change all to pseudo. MTRR has multiple caller functions, and we do not have enough space to write them all. > > + E D MTRR -> pat_init() Disable - > > s/Disable/Disabled/. Ditto for the rest. Will do. > > + 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 > > + Thanks, -Toshi
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web