[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.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)? > 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |