Skip to content

Commit

Permalink
kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode()
Browse files Browse the repository at this point in the history
This patch moves the CONFIG_X86_64 ifdef out of kmemcheck_opcode_decode() by
introducing a version of the function that always returns false for
CONFIG_X86_32.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Vegard Nossum <vegard.nossum@gmail.com>
  • Loading branch information
Pekka Enberg authored and Vegard Nossum committed Jun 15, 2009
1 parent 0c33cac commit 6d9609c
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions arch/x86/mm/kmemcheck/opcode.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,17 @@ static bool opcode_is_prefix(uint8_t b)
|| b == 0x67;
}

#ifdef CONFIG_X86_64
static bool opcode_is_rex_prefix(uint8_t b)
{
return (b & 0xf0) == 0x40;
}
#else
static bool opcode_is_rex_prefix(uint8_t b)
{
return false;
}
#endif

#define REX_W (1 << 3)

Expand All @@ -40,7 +47,6 @@ void kmemcheck_opcode_decode(const uint8_t *op, unsigned int *size)
operand_size_override = 2;
}

#ifdef CONFIG_X86_64
/* REX prefix */
if (opcode_is_rex_prefix(*op)) {
uint8_t rex = *op;
Expand Down Expand Up @@ -72,7 +78,6 @@ void kmemcheck_opcode_decode(const uint8_t *op, unsigned int *size)
return;
}
}
#endif

/* escape opcode */
if (*op == 0x0f) {
Expand Down

0 comments on commit 6d9609c

Please sign in to comment.