diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2008-10-14 19:19:48 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2008-10-14 19:19:48 +0100 |
commit | e654972ca73df2b07bccb104fb57c64a90acea46 (patch) | |
tree | afbfdc2b64b3ce2260bf4393031281cf86478698 /xen/arch/x86/x86_emulate | |
parent | fdbb1df816509d9be27b3b8a05457bfc1fbe6e90 (diff) | |
download | xen-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.c | 15 |
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) |