From: Keir Fraser Date: Tue, 14 Oct 2008 18:19:48 +0000 (+0100) Subject: x86_emulate: Fix after decode changes. Valid opcode decode values must X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14074 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e654972ca73df2b07bccb104fb57c64a90acea46;p=xen.git x86_emulate: Fix after decode changes. Valid opcode decode values must be non-zero. Signed-off-by: Keir Fraser --- 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)