aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/x86_emulate
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2008-10-14 19:19:48 +0100
committerKeir Fraser <keir.fraser@citrix.com>2008-10-14 19:19:48 +0100
commite654972ca73df2b07bccb104fb57c64a90acea46 (patch)
treeafbfdc2b64b3ce2260bf4393031281cf86478698 /xen/arch/x86/x86_emulate
parentfdbb1df816509d9be27b3b8a05457bfc1fbe6e90 (diff)
downloadxen-e654972ca73df2b07bccb104fb57c64a90acea46.tar.gz
xen-e654972ca73df2b07bccb104fb57c64a90acea46.tar.bz2
xen-e654972ca73df2b07bccb104fb57c64a90acea46.zip
x86_emulate: Fix after decode changes. Valid opcode decode values must
be non-zero. Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/x86_emulate')
-rw-r--r--xen/arch/x86/x86_emulate/x86_emulate.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index a7de706506..8a6202b934 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -31,13 +31,14 @@
#define DstMem (3<<1) /* Memory operand. */
#define DstMask (3<<1)
/* Source operand type. */
-#define SrcNone (0<<3) /* No source operand. */
-#define SrcImplicit (0<<3) /* Source operand is implicit in the opcode. */
-#define SrcReg (1<<3) /* Register operand. */
-#define SrcMem (2<<3) /* Memory operand. */
-#define SrcMem16 (3<<3) /* Memory operand (16-bit). */
-#define SrcImm (4<<3) /* Immediate operand. */
-#define SrcImmByte (5<<3) /* 8-bit sign-extended immediate operand. */
+#define SrcInvalid (0<<3) /* Unimplemented opcode. */
+#define SrcNone (1<<3) /* No source operand. */
+#define SrcImplicit (1<<3) /* Source operand is implicit in the opcode. */
+#define SrcReg (2<<3) /* Register operand. */
+#define SrcMem (3<<3) /* Memory operand. */
+#define SrcMem16 (4<<3) /* Memory operand (16-bit). */
+#define SrcImm (5<<3) /* Immediate operand. */
+#define SrcImmByte (6<<3) /* 8-bit sign-extended immediate operand. */
#define SrcMask (7<<3)
/* Generic ModRM decode. */
#define ModRM (1<<6)