kmemcheck: move 64-bit ifdef out of kmemcheck_opcode_decode()
authorPekka Enberg <penberg@cs.helsinki.fi>
Thu, 26 Feb 2009 09:23:52 +0000 (11:23 +0200)
committerVegard Nossum <vegard.nossum@gmail.com>
Mon, 15 Jun 2009 10:39:59 +0000 (12:39 +0200)
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>
arch/x86/mm/kmemcheck/opcode.c

index a4100b6..63c19e2 100644 (file)
@@ -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)
 
@@ -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;
@@ -72,7 +78,6 @@ void kmemcheck_opcode_decode(const uint8_t *op, unsigned int *size)
                        return;
                }
        }
-#endif
 
        /* escape opcode */
        if (*op == 0x0f) {