ia64/xen-unstable

view patches/linux-2.6.12/cpu-hotplug-init.patch @ 7606:0b8f92adc679

Fix CPU hotplug -- cpu initialisation functions must be declared
__cpuinit or later hotplug references freed code and data.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Tue Nov 01 16:28:20 2005 +0100 (2005-11-01)
parents
children
line source
1 diff -ur linux-2.6.12.orig/include/linux/init.h linux-2.6.12/include/linux/init.h
2 --- linux-2.6.12.orig/include/linux/init.h 2005-11-01 14:52:28.656025573 +0000
3 +++ linux-2.6.12/include/linux/init.h 2005-11-01 14:53:28.015791549 +0000
4 @@ -229,6 +229,18 @@
5 #define __devexitdata __exitdata
6 #endif
8 +#ifdef CONFIG_HOTPLUG_CPU
9 +#define __cpuinit
10 +#define __cpuinitdata
11 +#define __cpuexit
12 +#define __cpuexitdata
13 +#else
14 +#define __cpuinit __init
15 +#define __cpuinitdata __initdata
16 +#define __cpuexit __exit
17 +#define __cpuexitdata __exitdata
18 +#endif
19 +
20 /* Functions marked as __devexit may be discarded at kernel link time, depending
21 on config options. Newer versions of binutils detect references from
22 retained sections to discarded sections and flag an error. Pointers to
23 diff -ur linux-2.6.12.orig/arch/x86_64/kernel/i387.c linux-2.6.12/arch/x86_64/kernel/i387.c
24 --- linux-2.6.12.orig/arch/x86_64/kernel/i387.c 2005-11-01 15:01:58.932991232 +0000
25 +++ linux-2.6.12/arch/x86_64/kernel/i387.c 2005-11-01 15:02:09.729312416 +0000
26 @@ -42,7 +42,7 @@
27 * Called at bootup to set up the initial FPU state that is later cloned
28 * into all processes.
29 */
30 -void __init fpu_init(void)
31 +void __cpuinit fpu_init(void)
32 {
33 unsigned long oldcr0 = read_cr0();
34 extern void __bad_fxsave_alignment(void);