x86emul: correct VEX.L handling for VCVT{,T}S{S,D}2SI

Recent changes to the SDM (and XED) have made clear that older hardware
raising #UD when the bit is set was really an erratum. Generalize the
so far AMD-only override.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Jan Beulich committed 2017-09-05 17:32:05 +02:00
1 parent 9c2babd05a
commit a6488965ca
1 file changed
+2 -3
+2 -3
View File
@@ -5609,9 +5609,8 @@ x86_emulate(
}
else
{
if ( ctxt->vendor == X86_VENDOR_AMD )
vex.l = 0;
generate_exception_if(vex.l || vex.reg != 0xf, EXC_UD);
generate_exception_if(vex.reg != 0xf, EXC_UD);
vex.l = 0;
host_and_vcpu_must_have(avx);
get_fpu(X86EMUL_FPU_ymm, &fic);
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.