Re: [Xen-devel] [PATCH] x86emul: VEX.B is ignored in compatibility mode
On 13/01/17 13:20, Jan Beulich wrote: > >>> @@ -2235,7 +2241,7 @@ x86_decode( >>> break; >>> } >>> } >>> -if ( mode_64bit() && !vex.r ) >>> +if ( !vex.r ) >>> rex_prefix |= REX_R; >>> >>> ext = vex.opcx; >>> >> What is the purpose of this change? I doesn't appear to be related to >> the rest of the patch. > It is related - see the first half of the first sentence of the description > (still visible above). Ah ok, in which case it is simply an optimisation rather than a functional change. With that at least mentioned in the commit message, Reviewed-by: Andrew Cooper___ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH] x86emul: VEX.B is ignored in compatibility mode
>>> On 12.01.17 at 18:29,wrote: > On 12/01/17 16:37, Jan Beulich wrote: >> While VEX.R and VEX.X are guaranteed to be 1 in compatibility mode, >> VEX.B can be encoded as zero, but would be ignored by the processor. > > Really? That is unfortunate. > > It would have been far more helpful for this to raise #UD, like the > other prohibited VEX encodings. It's spelled out that way in the doc, and to be sure I've just again verified this to be the case in practice. >> @@ -2235,7 +2241,7 @@ x86_decode( >> break; >> } >> } >> -if ( mode_64bit() && !vex.r ) >> +if ( !vex.r ) >> rex_prefix |= REX_R; >> >> ext = vex.opcx; >> > > What is the purpose of this change? I doesn't appear to be related to > the rest of the patch. It is related - see the first half of the first sentence of the description (still visible above). Jan ___ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel
Re: [Xen-devel] [PATCH] x86emul: VEX.B is ignored in compatibility mode
On 12/01/17 16:37, Jan Beulich wrote: > While VEX.R and VEX.X are guaranteed to be 1 in compatibility mode, > VEX.B can be encoded as zero, but would be ignored by the processor. Really? That is unfortunate. It would have been far more helpful for this to raise #UD, like the other prohibited VEX encodings. > @@ -2235,7 +2241,7 @@ x86_decode( > break; > } > } > -if ( mode_64bit() && !vex.r ) > +if ( !vex.r ) > rex_prefix |= REX_R; > > ext = vex.opcx; > What is the purpose of this change? I doesn't appear to be related to the rest of the patch. ~Andrew ___ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel