Re: [Xen-devel] [PATCH v2 6/6] x86/pat: Document PAT initializations

2016-03-22 Thread Toshi Kani
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
> > + =
> > + EE 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.

> > + ED MTRR -> pat_init()  Disable-
> 
> s/Disable/Disabled/. Ditto for the rest.

Will do.

> > + DE MTRR -> pat_disable()   DisableBIOS
> > + DD MTRR -> pat_disable()   Disable-
> > + -np/E  nopat() -> pat_disable()DisableBIOS
> > + -np/D  nopat() -> pat_disable()Disable-
> > + E!P/E  MTRR -> pat_init()  DisableBIOS
> > + D!P/E  MTRR -> pat_disable()   DisableBIOS
> > + !M   !P/E  MTRR stub -> pat_disable()  DisableBIOS
> > +
> > + Legend
> > + 
> > + EFeature 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

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


Re: [Xen-devel] [PATCH v2 6/6] x86/pat: Document PAT initializations

2016-03-22 Thread Borislav Petkov
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 
> 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

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
> + =
> + EE 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

> + ED MTRR -> pat_init()  Disable-

s/Disable/Disabled/. Ditto for the rest.

> + DE MTRR -> pat_disable()   DisableBIOS
> + DD MTRR -> pat_disable()   Disable-
> + -np/E  nopat() -> pat_disable()DisableBIOS
> + -np/D  nopat() -> pat_disable()Disable-
> + E!P/E  MTRR -> pat_init()  DisableBIOS
> + D!P/E  MTRR -> pat_disable()   DisableBIOS
> + !M   !P/E  MTRR stub -> pat_disable()  DisableBIOS
> +
> + Legend
> + 
> + EFeature enabled in CPU
> + D Feature disabled/unsupported in CPU
> + np"nopat" boot option specified
> + !PCONFIG_X86_PAT option unset
> + !MCONFIG_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)
-- 

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel


[Xen-devel] [PATCH v2 6/6] x86/pat: Document PAT initializations

2016-03-18 Thread Toshi Kani
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
+ =
+ EE MTRR -> pat_init()  Enable OS
+ ED MTRR -> pat_init()  Disable-
+ DE MTRR -> pat_disable()   DisableBIOS
+ DD MTRR -> pat_disable()   Disable-
+ -np/E  nopat() -> pat_disable()DisableBIOS
+ -np/D  nopat() -> pat_disable()Disable-
+ E!P/E  MTRR -> pat_init()  DisableBIOS
+ D!P/E  MTRR -> pat_disable()   DisableBIOS
+ !M   !P/E  MTRR stub -> pat_disable()  DisableBIOS
+
+ Legend
+ 
+ EFeature 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
+

___
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel