[PATCH] i386: PARAVIRT: Remove CONFIG_DEBUG_PARAVIRT
authorJeremy Fitzhardinge <jeremy@goop.org>
Wed, 2 May 2007 17:27:13 +0000 (19:27 +0200)
committerAndi Kleen <andi@basil.nowhere.org>
Wed, 2 May 2007 17:27:13 +0000 (19:27 +0200)
Remove CONFIG_DEBUG_PARAVIRT.  When inlining code, this option
attempts to trash registers in the patch-site's "clobber" field, on
the grounds that this should find bugs with incorrect clobbers.
Unfortunately, the clobber field really means "registers modified by
this patch site", which includes return values.

Because of this, this option has outlived its usefulness, so remove
it.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Rusty Russell <rusty@rustcorp.com.au>
arch/i386/Kconfig.debug
arch/i386/kernel/alternative.c

index 458bc1611933b815f16856f9b608ef217a5a0a74..b31c0802e1ccf53f1e5a677e802c5e34166ebc54 100644 (file)
@@ -85,14 +85,4 @@ config DOUBLEFAULT
           option saves about 4k and might cause you much additional grey
           hair.
 
-config DEBUG_PARAVIRT
-       bool "Enable some paravirtualization debugging"
-       default n
-       depends on PARAVIRT && DEBUG_KERNEL
-       help
-         Currently deliberately clobbers regs which are allowed to be
-         clobbered in inlined paravirt hooks, even in native mode.
-         If turning this off solves a problem, then DISABLE_INTERRUPTS() or
-         ENABLE_INTERRUPTS() is lying about what registers can be clobbered.
-
 endmenu
index 9b8e85a8edece037bf5d29dc53b7dcf0710876d0..915b6c4d9baf52608b0b4ef28e7460be7e6daaca 100644 (file)
@@ -334,19 +334,7 @@ void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end)
 
                used = paravirt_ops.patch(p->instrtype, p->clobbers, p->instr,
                                          p->len);
-#ifdef CONFIG_DEBUG_PARAVIRT
-               {
-               int i;
-               /* Deliberately clobber regs using "not %reg" to find bugs. */
-               for (i = 0; i < 3; i++) {
-                       if (p->len - used >= 2 && (p->clobbers & (1 << i))) {
-                               memcpy(p->instr + used, "\xf7\xd0", 2);
-                               p->instr[used+1] |= i;
-                               used += 2;
-                       }
-               }
-               }
-#endif
+
                /* Pad the rest with nops */
                nop_out(p->instr + used, p->len - used);
        }