From: Jan Beulich Date: Wed, 5 Aug 2020 08:28:40 +0000 (+0200) Subject: x86emul: AVX512F scatter insns are memory writes X-Git-Tag: 4.15.0-rc1~938 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=6156cfeaf28c9cd0ffb84c25216c43aa64d93de4;p=people%2Fjgross%2Fxen.git x86emul: AVX512F scatter insns are memory writes While the custom handling renders the "to_mem" field generally unused, x86_insn_is_mem_write() still (indirectly) consumes that information, and hence the table entries want to be correct. Fixes: 7d569b848036 ("x86emul: support AVX512F scatter insns") Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 814e87f842..c54ad589c4 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -516,7 +516,7 @@ static const struct ext0f38_table { [0x9d] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq }, [0x9e] = { .simd_size = simd_packed_fp, .d8s = d8s_vl }, [0x9f] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq }, - [0xa0 ... 0xa3] = { .simd_size = simd_other, .vsib = 1, .d8s = d8s_dq }, + [0xa0 ... 0xa3] = { .simd_size = simd_other, .to_mem = 1, .vsib = 1, .d8s = d8s_dq }, [0xa6 ... 0xa8] = { .simd_size = simd_packed_fp, .d8s = d8s_vl }, [0xa9] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq }, [0xaa] = { .simd_size = simd_packed_fp, .d8s = d8s_vl },