2018-11-20 03:30:10

by Jiaxun Yang

[permalink] [raw]
Subject: [PATCH v2] x86/cpu/AMD: Fix CPB bit for more processors

CPUID Fn8000_0007_EDX[CPB] is wrongly 0 on some newer F17h
procssors but their revision guide has not been released.

For example,Tesed on AMD "Ryzen 7 2700U with Radeon Vega Mobile Gfx"
and "AMD Ryzen 5 2500U with Radeon Vega Mobile Gfx",
their CPUID Fn0000_0001_EAX is 0x00810f10 and should have
CPB feature according AMD product specifications, however
their Fn8000_0007_EDX is 0x00006599, indicating they don't
support CPB feature.

Since whole F17h should support CPB, we set the cap for all of
them.

Cc: [email protected]
Signed-off-by: Jiaxun Yang <[email protected]>
---
arch/x86/kernel/cpu/amd.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index eeea634bee0a..37989fa9e620 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -818,12 +818,13 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
static void init_amd_zn(struct cpuinfo_x86 *c)
{
set_cpu_cap(c, X86_FEATURE_ZEN);
+
/*
* Fix erratum 1076: CPB feature bit not being set in CPUID. It affects
- * all up to and including B1.
+ * a lot of Family 17h processors and some models are undocumented, since
+ * whole F17h should support CPB, we set the cap for all of them.
*/
- if (c->x86_model <= 1 && c->x86_stepping <= 1)
- set_cpu_cap(c, X86_FEATURE_CPB);
+ set_cpu_cap(c, X86_FEATURE_CPB);
}

static void init_amd(struct cpuinfo_x86 *c)
--
2.19.1



Subject: [tip:x86/cpu] x86/CPU/AMD: Set the CPB bit unconditionally on F17h

Commit-ID: 0237199186e7a4aa5310741f0a6498a20c820fd7
Gitweb: https://git.kernel.org/tip/0237199186e7a4aa5310741f0a6498a20c820fd7
Author: Jiaxun Yang <[email protected]>
AuthorDate: Tue, 20 Nov 2018 11:00:18 +0800
Committer: Borislav Petkov <[email protected]>
CommitDate: Fri, 18 Jan 2019 16:44:03 +0100

x86/CPU/AMD: Set the CPB bit unconditionally on F17h

Some F17h models do not have CPB set in CPUID even though the CPU
supports it. Set the feature bit unconditionally on all F17h.

[ bp: Rewrite commit message and patch. ]

Signed-off-by: Jiaxun Yang <[email protected]>
Signed-off-by: Borislav Petkov <[email protected]>
Acked-by: Tom Lendacky <[email protected]>
Cc: "H. Peter Anvin" <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Sherry Hurwitz <[email protected]>
Cc: Suravee Suthikulpanit <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: x86-ml <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
---
arch/x86/kernel/cpu/amd.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 69f6bbb41be0..01004bfb1a1b 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -819,11 +819,9 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
static void init_amd_zn(struct cpuinfo_x86 *c)
{
set_cpu_cap(c, X86_FEATURE_ZEN);
- /*
- * Fix erratum 1076: CPB feature bit not being set in CPUID. It affects
- * all up to and including B1.
- */
- if (c->x86_model <= 1 && c->x86_stepping <= 1)
+
+ /* Fix erratum 1076: CPB feature bit not being set in CPUID. */
+ if (!cpu_has(c, X86_FEATURE_CPB))
set_cpu_cap(c, X86_FEATURE_CPB);
}


2019-02-20 08:55:55

by Borislav Petkov

[permalink] [raw]
Subject: Re: [tip:x86/cpu] x86/CPU/AMD: Set the CPB bit unconditionally on F17h

On Fri, Jan 18, 2019 at 07:48:59AM -0800, tip-bot for Jiaxun Yang wrote:
> Commit-ID: 0237199186e7a4aa5310741f0a6498a20c820fd7
> Gitweb: https://git.kernel.org/tip/0237199186e7a4aa5310741f0a6498a20c820fd7
> Author: Jiaxun Yang <[email protected]>
> AuthorDate: Tue, 20 Nov 2018 11:00:18 +0800
> Committer: Borislav Petkov <[email protected]>
> CommitDate: Fri, 18 Jan 2019 16:44:03 +0100
>
> x86/CPU/AMD: Set the CPB bit unconditionally on F17h
>
> Some F17h models do not have CPB set in CPUID even though the CPU
> supports it. Set the feature bit unconditionally on all F17h.
>
> [ bp: Rewrite commit message and patch. ]
>
> Signed-off-by: Jiaxun Yang <[email protected]>
> Signed-off-by: Borislav Petkov <[email protected]>
> Acked-by: Tom Lendacky <[email protected]>
> Cc: "H. Peter Anvin" <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Sherry Hurwitz <[email protected]>
> Cc: Suravee Suthikulpanit <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: x86-ml <[email protected]>
> Link: https://lkml.kernel.org/r/[email protected]
> ---
> arch/x86/kernel/cpu/amd.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> index 69f6bbb41be0..01004bfb1a1b 100644
> --- a/arch/x86/kernel/cpu/amd.c
> +++ b/arch/x86/kernel/cpu/amd.c
> @@ -819,11 +819,9 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
> static void init_amd_zn(struct cpuinfo_x86 *c)
> {
> set_cpu_cap(c, X86_FEATURE_ZEN);
> - /*
> - * Fix erratum 1076: CPB feature bit not being set in CPUID. It affects
> - * all up to and including B1.
> - */
> - if (c->x86_model <= 1 && c->x86_stepping <= 1)
> +
> + /* Fix erratum 1076: CPB feature bit not being set in CPUID. */
> + if (!cpu_has(c, X86_FEATURE_CPB))
> set_cpu_cap(c, X86_FEATURE_CPB);

Stable folks, please take this one above into those stable trees which
have backported

f7f3dc00f612 ("x86/cpu/AMD: Fix erratum 1076 (CPB bit)")

Thx.

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-02-21 11:53:52

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [tip:x86/cpu] x86/CPU/AMD: Set the CPB bit unconditionally on F17h

On Wed, Feb 20, 2019 at 09:53:34AM +0100, Borislav Petkov wrote:
> On Fri, Jan 18, 2019 at 07:48:59AM -0800, tip-bot for Jiaxun Yang wrote:
> > Commit-ID: 0237199186e7a4aa5310741f0a6498a20c820fd7
> > Gitweb: https://git.kernel.org/tip/0237199186e7a4aa5310741f0a6498a20c820fd7
> > Author: Jiaxun Yang <[email protected]>
> > AuthorDate: Tue, 20 Nov 2018 11:00:18 +0800
> > Committer: Borislav Petkov <[email protected]>
> > CommitDate: Fri, 18 Jan 2019 16:44:03 +0100
> >
> > x86/CPU/AMD: Set the CPB bit unconditionally on F17h
> >
> > Some F17h models do not have CPB set in CPUID even though the CPU
> > supports it. Set the feature bit unconditionally on all F17h.
> >
> > [ bp: Rewrite commit message and patch. ]
> >
> > Signed-off-by: Jiaxun Yang <[email protected]>
> > Signed-off-by: Borislav Petkov <[email protected]>
> > Acked-by: Tom Lendacky <[email protected]>
> > Cc: "H. Peter Anvin" <[email protected]>
> > Cc: Ingo Molnar <[email protected]>
> > Cc: Sherry Hurwitz <[email protected]>
> > Cc: Suravee Suthikulpanit <[email protected]>
> > Cc: Thomas Gleixner <[email protected]>
> > Cc: x86-ml <[email protected]>
> > Link: https://lkml.kernel.org/r/[email protected]
> > ---
> > arch/x86/kernel/cpu/amd.c | 8 +++-----
> > 1 file changed, 3 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
> > index 69f6bbb41be0..01004bfb1a1b 100644
> > --- a/arch/x86/kernel/cpu/amd.c
> > +++ b/arch/x86/kernel/cpu/amd.c
> > @@ -819,11 +819,9 @@ static void init_amd_bd(struct cpuinfo_x86 *c)
> > static void init_amd_zn(struct cpuinfo_x86 *c)
> > {
> > set_cpu_cap(c, X86_FEATURE_ZEN);
> > - /*
> > - * Fix erratum 1076: CPB feature bit not being set in CPUID. It affects
> > - * all up to and including B1.
> > - */
> > - if (c->x86_model <= 1 && c->x86_stepping <= 1)
> > +
> > + /* Fix erratum 1076: CPB feature bit not being set in CPUID. */
> > + if (!cpu_has(c, X86_FEATURE_CPB))
> > set_cpu_cap(c, X86_FEATURE_CPB);
>
> Stable folks, please take this one above into those stable trees which
> have backported
>
> f7f3dc00f612 ("x86/cpu/AMD: Fix erratum 1076 (CPB bit)")

I would, but I do not see this patch in Linus's tree yet :)

thanks,

greg k-h

2019-02-21 12:26:10

by Borislav Petkov

[permalink] [raw]
Subject: Re: [tip:x86/cpu] x86/CPU/AMD: Set the CPB bit unconditionally on F17h

On Thu, Feb 21, 2019 at 12:52:30PM +0100, Greg KH wrote:
> I would, but I do not see this patch in Linus's tree yet :)

You will soon :)

--
Regards/Gruss,
Boris.

Good mailing practices for 400: avoid top-posting and trim the reply.

2019-03-08 10:27:30

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [tip:x86/cpu] x86/CPU/AMD: Set the CPB bit unconditionally on F17h

On Thu, Feb 21, 2019 at 01:25:23PM +0100, Borislav Petkov wrote:
> On Thu, Feb 21, 2019 at 12:52:30PM +0100, Greg KH wrote:
> > I would, but I do not see this patch in Linus's tree yet :)
>
> You will soon :)

I see it now, so it's now queued up, thanks.

greg k-h

2019-03-11 16:35:33

by Erwan Velu

[permalink] [raw]
Subject: Re: [tip:x86/cpu] x86/CPU/AMD: Set the CPB bit unconditionally on F17h


Le 08/03/2019 à 11:26, Greg KH a écrit :
> On Thu, Feb 21, 2019 at 01:25:23PM +0100, Borislav Petkov wrote:
>> On Thu, Feb 21, 2019 at 12:52:30PM +0100, Greg KH wrote:
>>> I would, but I do not see this patch in Linus's tree yet :)
>> You will soon :)
> I see it now, so it's now queued up, thanks.
>
> greg k-h
Thanks greg !