mirror of https://gitee.com/openkylin/linux.git
x86: fix cpu hotplug on 32bit
commit 3e9704739d
("x86: boot secondary
cpus through initial_code") causes the kernel to crash when a CPU is
brought online after the read only sections have been write
protected. The write to initial_code in do_boot_cpu() fails.
Move inital_code to .cpuinit.data section.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
8be1a6d6c7
commit
583323b9d2
|
@ -456,9 +456,6 @@ is386: movl $2,%ecx # set MP
|
|||
1:
|
||||
#endif /* CONFIG_SMP */
|
||||
jmp *(initial_code)
|
||||
.align 4
|
||||
ENTRY(initial_code)
|
||||
.long i386_start_kernel
|
||||
|
||||
/*
|
||||
* We depend on ET to be correct. This checks for 287/387.
|
||||
|
@ -601,6 +598,11 @@ ignore_int:
|
|||
#endif
|
||||
iret
|
||||
|
||||
.section .cpuinit.data,"wa"
|
||||
.align 4
|
||||
ENTRY(initial_code)
|
||||
.long i386_start_kernel
|
||||
|
||||
.section .text
|
||||
/*
|
||||
* Real beginning of normal "text" segment
|
||||
|
|
Loading…
Reference in New Issue