diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/alternative.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/i386/kernel/alternative.c b/arch/i386/kernel/alternative.c index c5d037c60950..080a59d56ea6 100644 --- a/arch/i386/kernel/alternative.c +++ b/arch/i386/kernel/alternative.c | |||
@@ -30,6 +30,16 @@ static int __init setup_noreplace_smp(char *str) | |||
30 | } | 30 | } |
31 | __setup("noreplace-smp", setup_noreplace_smp); | 31 | __setup("noreplace-smp", setup_noreplace_smp); |
32 | 32 | ||
33 | #ifdef CONFIG_PARAVIRT | ||
34 | static int noreplace_paravirt = 0; | ||
35 | |||
36 | static int __init setup_noreplace_paravirt(char *str) | ||
37 | { | ||
38 | noreplace_paravirt = 1; | ||
39 | return 1; | ||
40 | } | ||
41 | __setup("noreplace-paravirt", setup_noreplace_paravirt); | ||
42 | #endif | ||
33 | 43 | ||
34 | #define DPRINTK(fmt, args...) if (debug_alternative) \ | 44 | #define DPRINTK(fmt, args...) if (debug_alternative) \ |
35 | printk(KERN_DEBUG fmt, args) | 45 | printk(KERN_DEBUG fmt, args) |
@@ -330,6 +340,9 @@ void apply_paravirt(struct paravirt_patch_site *start, | |||
330 | { | 340 | { |
331 | struct paravirt_patch_site *p; | 341 | struct paravirt_patch_site *p; |
332 | 342 | ||
343 | if (noreplace_paravirt) | ||
344 | return; | ||
345 | |||
333 | for (p = start; p < end; p++) { | 346 | for (p = start; p < end; p++) { |
334 | unsigned int used; | 347 | unsigned int used; |
335 | 348 | ||