[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1801101204250.1919@nanos>
Date: Wed, 10 Jan 2018 12:06:06 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Ingo Molnar <mingo@...nel.org>
cc: LKML <linux-kernel@...r.kernel.org>,
Linus Torvalds <torvalds@...uxfoundation.org>, x86@...nel.org,
Peter Zijlstra <peterz@...radead.org>,
Borislav Petkov <bp@...en8.de>,
David Woodhouse <dwmw@...zon.co.uk>,
Tim Chen <tim.c.chen@...ux.intel.com>,
Andrea Arcangeli <aarcange@...hat.com>,
Andi Kleen <ak@...ux.intel.com>,
Greg KH <gregkh@...uxfoundation.org>,
Dave Hansen <dave.hansen@...el.com>,
Andy Lutomirski <luto@...nel.org>,
Arjan Van De Ven <arjan.van.de.ven@...el.com>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [patch RFC 4/5] x86/cpufeatures: Detect Speculation control
feature
On Wed, 10 Jan 2018, Ingo Molnar wrote:
> > If CPUID(7).RDX[26] is set then MSR_IA32_SPEC_CTRL (0x48) is available and
> > bit 0 of that MSR controls whether Indirect Branch Speculation is
> > restricted or not. The control bit is named IBRS (Indirect Branch
> > Restricted Speculation). The IBSR bit can be unconditionally set to 1
> > without clearing it before.
>
> Argh for inverted logic: why was the control bit defined for a _negated_ value,
> i.e. why does '0' mean "don't don't speculate"?
>
> And yes, I know what's behind it: this way 'IBRS' can be called a 'mitigation
> feature' that can be 'enabled', instead of calling it a 'broken CPU feature
> feature' that has to be disabled ...
>
> That's nonsense that causes confusion to no end:
Yes, it's horrible and on my todo list to clean that up at least on any
layer which is above the pure MSR definition level, which we can't change.
The steam blasting of that mess is not even halfways done.
Thanks,
tglx
Powered by blists - more mailing lists