From: Jan Beulich Date: Mon, 2 Dec 2024 08:50:14 +0000 (+0100) Subject: x86emul: MOVBE requires a memory operand X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=4c5d9a01f8fa81417a9c431e9624fb71361ec4f9;p=people%2Fandrewcoop%2Fxen.git x86emul: MOVBE requires a memory operand The reg-reg forms should cause #UD; they come into existence only with APX, where MOVBE also extends BSWAP (for the latter not being "eligible" to a REX2 prefix). Signed-off-by: Jan Beulich Reviewed-by: Andrew Cooper --- diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c index 0600df789c..b89d440133 100644 --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -6824,6 +6824,7 @@ x86_emulate( case X86EMUL_OPC(0x0f38, 0xf0): /* movbe m,r */ case X86EMUL_OPC(0x0f38, 0xf1): /* movbe r,m */ + generate_exception_if(ea.type != OP_MEM, X86_EXC_UD); vcpu_must_have(movbe); switch ( op_bytes ) {