On Wed, Feb 14, 2018 at 3:29 PM, David Woodhouse <d...@amazon.co.uk> 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.

Reply via email to