diff options
| -rw-r--r-- | arch/i386/kernel/setup.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 7306353c520e..af4de58cab54 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
| @@ -1414,7 +1414,7 @@ static struct nop { | |||
| 1414 | This runs before SMP is initialized to avoid SMP problems with | 1414 | This runs before SMP is initialized to avoid SMP problems with |
| 1415 | self modifying code. This implies that assymetric systems where | 1415 | self modifying code. This implies that assymetric systems where |
| 1416 | APs have less capabilities than the boot processor are not handled. | 1416 | APs have less capabilities than the boot processor are not handled. |
| 1417 | In this case boot with "noreplacement". */ | 1417 | Tough. Make sure you disable such features by hand. */ |
| 1418 | void apply_alternatives(void *start, void *end) | 1418 | void apply_alternatives(void *start, void *end) |
| 1419 | { | 1419 | { |
| 1420 | struct alt_instr *a; | 1420 | struct alt_instr *a; |
| @@ -1442,24 +1442,12 @@ void apply_alternatives(void *start, void *end) | |||
| 1442 | } | 1442 | } |
| 1443 | } | 1443 | } |
| 1444 | 1444 | ||
| 1445 | static int no_replacement __initdata = 0; | ||
| 1446 | |||
| 1447 | void __init alternative_instructions(void) | 1445 | void __init alternative_instructions(void) |
| 1448 | { | 1446 | { |
| 1449 | extern struct alt_instr __alt_instructions[], __alt_instructions_end[]; | 1447 | extern struct alt_instr __alt_instructions[], __alt_instructions_end[]; |
| 1450 | if (no_replacement) | ||
| 1451 | return; | ||
| 1452 | apply_alternatives(__alt_instructions, __alt_instructions_end); | 1448 | apply_alternatives(__alt_instructions, __alt_instructions_end); |
| 1453 | } | 1449 | } |
| 1454 | 1450 | ||
| 1455 | static int __init noreplacement_setup(char *s) | ||
| 1456 | { | ||
| 1457 | no_replacement = 1; | ||
| 1458 | return 0; | ||
| 1459 | } | ||
| 1460 | |||
| 1461 | __setup("noreplacement", noreplacement_setup); | ||
| 1462 | |||
| 1463 | static char * __init machine_specific_memory_setup(void); | 1451 | static char * __init machine_specific_memory_setup(void); |
| 1464 | 1452 | ||
| 1465 | #ifdef CONFIG_MCA | 1453 | #ifdef CONFIG_MCA |
