Re: [PATCH v2 1/4] x86/speculation: Use IBRS if available before calling into firmware

From: Jim Mattson
Date: Wed Feb 14 2018 - 19:46:53 EST


On Wed, Feb 14, 2018 at 3:29 PM, David Woodhouse <dwmw@xxxxxxxxxxxx> wrote:

> +#define alternative_msr_write(_msr, _val, _feature) \
> + asm volatile(ALTERNATIVE("", \
> + "movl %[msr], %%ecx\n\t" \
> + "movl %[val], %%eax\n\t" \
> + "movl $0, %%edx\n\t" \
> + "wrmsr", \
> + _feature) \
> + : : [msr] "i" (_msr), [val] "i" (_val) \
> + : "eax", "ecx", "edx", "memory")
> +

It's not needed now, but this would be more generally useful if the
high 32 bits of the MSR value could also be specified.