Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb2c2641 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: x86 emulator: Use a register for ____emulate_2op() destination



Most x86 two operand instructions allow the destination to be a memory operand,
but IMUL (for example) requires that the destination be a register.  Change
____emulate_2op() to take a register for both source and destination so we
can invoke IMUL.

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
parent b3b3d25a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -200,7 +200,7 @@ struct group_dual {
			_PRE_EFLAGS("0", "4", "2")			\
			_op _suffix " %"_x"3,%1; "			\
			_POST_EFLAGS("0", "4", "2")			\
			: "=m" (_eflags), "=m" (*(_dsttype*)&(_dst).val),\
			: "=m" (_eflags), "+q" (*(_dsttype*)&(_dst).val),\
			  "=&r" (_tmp)					\
			: _y ((_src).val), "i" (EFLAGS_MASK));		\
	} while (0)