lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160322170222.GG5656@pd.tnic>
Date:	Tue, 22 Mar 2016 18:02:22 +0100
From:	Borislav Petkov <bp@...e.de>
To:	Toshi Kani <toshi.kani@....com>
Cc:	mingo@...nel.org, hpa@...or.com, tglx@...utronix.de,
	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
Subject: Re: [PATCH v2 6/6] x86/pat: Document PAT initializations

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@....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

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)
-- 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ