KVM: x86 emulator: add a new "implied 1" Src decode type
authorGuillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Thu, 4 Dec 2008 13:27:38 +0000 (14:27 +0100)
committerAvi Kivity <avi@redhat.com>
Wed, 31 Dec 2008 14:55:42 +0000 (16:55 +0200)
Add SrcOne operand type when we need to decode an implied '1' like with
regular shift instruction

Signed-off-by: Guillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86_emulate.c

index 7f5cd62362c59de8a55310c259f7a7438c009152..0c75306e7a07ee44987d4600cce18032821f580b 100644 (file)
@@ -58,6 +58,7 @@
 #define SrcMem32    (4<<4)     /* Memory operand (32-bit). */
 #define SrcImm      (5<<4)     /* Immediate operand. */
 #define SrcImmByte  (6<<4)     /* 8-bit sign-extended immediate operand. */
+#define SrcOne      (7<<4)     /* Implied '1' */
 #define SrcMask     (7<<4)
 /* Generic ModRM decode. */
 #define ModRM       (1<<7)
@@ -1004,6 +1005,10 @@ done_prefixes:
                c->src.bytes = 1;
                c->src.val = insn_fetch(s8, 1, c->eip);
                break;
+       case SrcOne:
+               c->src.bytes = 1;
+               c->src.val = 1;
+               break;
        }
 
        /*