|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xen/x86: Implement enable_nmis() in C
>>> On 15.03.18 at 17:43, <andrew.cooper3@xxxxxxxxxx> wrote:
> +static inline void enable_nmis(void)
> +{
> + unsigned long tmp;
> +
> + asm volatile ( "mov %%rsp, %[sp] \n\t"
> + "push %[ss] \n\t"
> + "push %[sp] \n\t"
> + "pushf \n\t"
> + "push %[cs] \n\t"
> + "lea 1f(%%rip), %[ip] \n\t"
> + "push %[ip] \n\t"
> + "iretq; 1: \n\t"
> + : [sp] "=r" (tmp), [ip] "=r" (tmp)
Strictly speaking this needs to be "=&r" in both cases. That'll
guarantee the compiler to pick two distinct registers (not sure
how that ends up being with the code you have), which is
more than we need want. How about having just a single
[tmp] output?
With at least the missing & added
Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |