]> xenbits.xensource.com Git - xen.git/commitdiff
x86emul: set (fake) operand size for AVX512CD broadcast insns
authorJan Beulich <jbeulich@suse.com>
Tue, 24 Sep 2024 12:55:48 +0000 (14:55 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 24 Sep 2024 12:55:48 +0000 (14:55 +0200)
Back at the time I failed to pay attention to op_bytes still being zero
when reaching the respective case block: With the ext0f38_table[]
entries having simd_packed_int, the defaulting at the bottom of
x86emul_decode() won't set the field to non-zero for F3-prefixed insns.

Fixes: 37ccca740c26 ("x86emul: support AVX512CD insns")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
master commit: 6fa6b7feaafd622db3a2f3436750cf07782f4c12
master date: 2024-08-23 09:12:24 +0200

xen/arch/x86/x86_emulate/x86_emulate.c

index 941941ef15a27fc0a899ee13a7b1f68687b0ffef..9d70de1eb4e71a2dcb62df7c2fd3183164be2152 100644 (file)
@@ -5928,6 +5928,7 @@ x86_emulate(
                                evex.w == ((b >> 4) & 1)),
                               X86_EXC_UD);
         d |= TwoOp;
+        op_bytes = 1; /* fake */
         /* fall through */
     case X86EMUL_OPC_EVEX_66(0x0f38, 0xc4): /* vpconflict{d,q} [xyz]mm/mem,[xyz]mm{k} */
         fault_suppression = false;