From: Wei Yongjun <yj...@cn.fujitsu.com>

Introduce DstImmUByte for dst operand decode, which
will be used for out instruction.

Signed-off-by: Wei Yongjun <yj...@cn.fujitsu.com>
Signed-off-by: Avi Kivity <a...@redhat.com>

diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 42725df..dd2e398 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -54,6 +54,7 @@
 #define DstAcc      (4<<1)     /* Destination Accumulator */
 #define DstDI       (5<<1)     /* Destination is in ES:(E)DI */
 #define DstMem64    (6<<1)     /* 64bit memory operand */
+#define DstImmUByte (7<<1)     /* 8-bit unsigned immediate operand */
 #define DstMask     (7<<1)
 /* Source operand type. */
 #define SrcNone     (0<<4)     /* No source operand. */
@@ -2694,6 +2695,12 @@ done_prefixes:
                decode_register_operand(&c->dst, c,
                         c->twobyte && (c->b == 0xb6 || c->b == 0xb7));
                break;
+       case DstImmUByte:
+               c->dst.type = OP_IMM;
+               c->dst.addr.mem = c->eip;
+               c->dst.bytes = 1;
+               c->dst.val = insn_fetch(u8, 1, c->eip);
+               break;
        case DstMem:
        case DstMem64:
                c->dst = memop;
--
To unsubscribe from this list: send the line "unsubscribe kvm-commits" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to