|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86: invpcid support
>>> On 02.03.18 at 17:23, <wei.liu2@xxxxxxxxxx> wrote:
> +static inline void invpcid(unsigned int pcid, unsigned long addr,
> + unsigned int type)
> +{
> + struct {
> + uint64_t pcid:12;
> + uint64_t reserved:52;
> + uint64_t addr;
> + } desc = { .pcid = pcid, .addr = addr };
> +
> + asm volatile (
> +#ifdef HAVE_AS_INVPCID
> + "invpcid %[desc], %q[type]"
> + : /* No output */
> + : [desc] "m" (desc), [type] "r" (type)
> +#else
> + INVPCID_OPCODE MODRM_ECX_01
> + : /* No output */
> + : "a" (type), "c" (&desc)
> +#endif
> + : "memory" );
I can see why you need the memory clobber in the #else case
(albeit even there it could be avoided by also properly specifying
the input), but what is this good for in the #if case?
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 |