[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v4 3/4] VMX: use proper instruction mnemonics if assembler supports them



On 26/08/2013 16:29, Jan Beulich wrote:
>>>> On 26.08.13 at 17:07, Andrew Cooper <andrew.cooper3@xxxxxxxxxx> wrote:
>> I was more referring to having a q in the instruction, yet an "r" in the
>> parameter list.  I would suggest
> So you perhaps mix up "q" as a constraint (meaning byte registers)
> and "q" as an operand qualifier (meaning the 64-bit register
> regardless of the operand size of the respective asm() operand)?

I clearly am.  Sorry for the confusion.

~Andrew

>
>> INV{EPT,VPID} is strictly defined to take r64 as the "type" parameter in
>> long mode.  Invalid/unsupported values found in this register can be
>> detected based on the state of EFLAGS afterwards.
>>
>> Therefore, I would suggest possibly changing "int type" to "unsigned
>> long type" if we are going to the effort of getting this correct.  It
>> shouldn't make a difference currently, as all calls use appropriate
>> INVEPT_*_CONTEXT defines.
> Yes, as already indicated. v5 is about to be on its way.
>
>> As for the flags, should we be including "cc" to the clobber list as
>> each of the VM*/INV* instructions explicitly sets the flags.  I would
>> hope that the toolchain is pessimistic enough to not trust the state of
>> the flags across some inline assembly, but I can't find any hard
>> information one way or another.
> Yes, on x86 at least it is never necessary to list cc explicitly.
> Which at times is sad, but here's it's to our benefit.
>
> Jan
>


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.