All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Borislav Petkov <bp@alien8.de>
Cc: arjan@linux.intel.com, tglx@linutronix.de, karahmed@amazon.de,
	x86@kernel.org,  linux-kernel@vger.kernel.org,
	tim.c.chen@linux.intel.com, peterz@infradead.org,
	 pbonzini@redhat.com, ak@linux.intel.com,
	torvalds@linux-foundation.org,  gregkh@linux-foundation.org,
	dave.hansen@intel.com, gnomes@lxorguk.ukuu.org.uk,
	 ashok.raj@intel.com, mingo@kernel.org
Subject: Re: [PATCH v4 7/7] x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support
Date: Thu, 25 Jan 2018 11:58:20 +0000	[thread overview]
Message-ID: <1516881500.30244.83.camel@infradead.org> (raw)
In-Reply-To: <20180125115016.ov72ajqb6z7scdrc@pd.tnic>

[-- Attachment #1: Type: text/plain, Size: 1194 bytes --]

On Thu, 2018-01-25 at 12:50 +0100, Borislav Petkov wrote:
> On Thu, Jan 25, 2018 at 11:47:35AM +0000, David Woodhouse wrote:
> > I did already do the explicit clobbers now you reminded me how to do
> > them, but I elected not to use ASM_NO_INPUT_CLOBBER() because on
> > balance, losing the MSR_IA32_PRED_CMD / PRED_CMD_IBPB definitions and
> > having to hard-code the numbers was not so much of a win.
> 
> and I'm thinking exactly the opposite: if an alternative can lose a
> bunch of inputs which don't change, then that's a good thing.

They're immediates, not registers. So it's like the first example in...

void foo(void)
{
	asm volatile ("alternative me away; my numbers are %0 and %1\n"
		      :: "i" (3456), "i" (1234));

	asm volatile ("alternative me away; GCC already loaded regs %0 and %1\n"
		      :: "c" (3456), "a" (1234));
}

... which gives you...

foo:
.LFB0:
	.cfi_startproc
#APP
# 4 "foo.c" 1
	alternative me away; my numbers are $3456 and $1234

# 0 "" 2
#NO_APP
	movl	$1234, %eax
	movl	$3456, %ecx
#APP
# 7 "foo.c" 1
	alternative me away; GCC already loaded regs %ecx and %eax

# 0 "" 2
#NO_APP
	ret
	.cfi_endproc

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 5213 bytes --]

  reply	other threads:[~2018-01-25 11:58 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25  9:23 [PATCH v4 0/7] Basic Speculation Control feature support David Woodhouse
2018-01-25  9:23 ` [PATCH v4 1/7] x86/cpufeatures: Add CPUID_7_EDX CPUID leaf David Woodhouse
2018-01-25  9:23 ` [PATCH v4 2/7] x86/cpufeatures: Add Intel feature bits for Speculation Control David Woodhouse
2018-01-25  9:23 ` [PATCH v4 3/7] x86/cpufeatures: Add AMD " David Woodhouse
2018-01-25  9:23 ` [PATCH v4 4/7] x86/msr: Add definitions for new speculation control MSRs David Woodhouse
2018-01-25  9:23 ` [PATCH v4 5/7] x86/pti: Do not enable PTI on processors which are not vulnerable to Meltdown David Woodhouse
2018-01-25  9:42   ` Peter Zijlstra
2018-01-25  9:56     ` David Woodhouse
2018-01-25 10:01       ` Thomas Gleixner
2018-01-25 15:12   ` Alan Cox
2018-01-25  9:23 ` [PATCH v4 6/7] x86/cpufeature: Blacklist SPEC_CTRL on early Spectre v2 microcodes David Woodhouse
2018-01-25 10:43   ` David Woodhouse
2018-01-25 10:54     ` Thomas Gleixner
2018-01-25 11:20       ` David Woodhouse
2018-01-25 11:34         ` Thomas Gleixner
2018-01-25 13:41           ` David Woodhouse
2018-01-25 14:58             ` Thomas Gleixner
2018-01-25 16:16             ` Alan Cox
2018-01-25 16:24               ` Thomas Gleixner
2018-01-25 16:35                 ` David Woodhouse
2018-01-26  9:40             ` Ingo Molnar
2018-01-25  9:23 ` [PATCH v4 7/7] x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support David Woodhouse
2018-01-25 11:41   ` Borislav Petkov
2018-01-25 11:47     ` David Woodhouse
2018-01-25 11:50       ` Borislav Petkov
2018-01-25 11:58         ` David Woodhouse [this message]
2018-01-25 12:03           ` Borislav Petkov
2018-01-25 12:11             ` David Woodhouse

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516881500.30244.83.camel@infradead.org \
    --to=dwmw2@infradead.org \
    --cc=ak@linux.intel.com \
    --cc=arjan@linux.intel.com \
    --cc=ashok.raj@intel.com \
    --cc=bp@alien8.de \
    --cc=dave.hansen@intel.com \
    --cc=gnomes@lxorguk.ukuu.org.uk \
    --cc=gregkh@linux-foundation.org \
    --cc=karahmed@amazon.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=tim.c.chen@linux.intel.com \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.