aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86_64/kernel/head.S8
-rw-r--r--arch/x86_64/kernel/vmlinux.lds.S2
2 files changed, 8 insertions, 2 deletions
diff --git a/arch/x86_64/kernel/head.S b/arch/x86_64/kernel/head.S
index 941c84baecc8..e89abcdbdde8 100644
--- a/arch/x86_64/kernel/head.S
+++ b/arch/x86_64/kernel/head.S
@@ -25,7 +25,7 @@
25 */ 25 */
26 26
27 .text 27 .text
28 .section .bootstrap.text 28 .section .text.head
29 .code64 29 .code64
30 .globl startup_64 30 .globl startup_64
31startup_64: 31startup_64:
@@ -243,10 +243,16 @@ ENTRY(secondary_startup_64)
243 lretq 243 lretq
244 244
245 /* SMP bootup changes these two */ 245 /* SMP bootup changes these two */
246#ifndef CONFIG_HOTPLUG_CPU
247 .pushsection .init.data
248#endif
246 .align 8 249 .align 8
247 .globl initial_code 250 .globl initial_code
248initial_code: 251initial_code:
249 .quad x86_64_start_kernel 252 .quad x86_64_start_kernel
253#ifndef CONFIG_HOTPLUG_CPU
254 .popsection
255#endif
250 .globl init_rsp 256 .globl init_rsp
251init_rsp: 257init_rsp:
252 .quad init_thread_union+THREAD_SIZE-8 258 .quad init_thread_union+THREAD_SIZE-8
diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S
index e7a5eb6cd785..ba8ea97abd21 100644
--- a/arch/x86_64/kernel/vmlinux.lds.S
+++ b/arch/x86_64/kernel/vmlinux.lds.S
@@ -28,7 +28,7 @@ SECTIONS
28 _text = .; /* Text and read-only data */ 28 _text = .; /* Text and read-only data */
29 .text : AT(ADDR(.text) - LOAD_OFFSET) { 29 .text : AT(ADDR(.text) - LOAD_OFFSET) {
30 /* First the code that has to be first for bootstrapping */ 30 /* First the code that has to be first for bootstrapping */
31 *(.bootstrap.text) 31 *(.text.head)
32 _stext = .; 32 _stext = .;
33 /* Then the rest */ 33 /* Then the rest */
34 TEXT_TEXT 34 TEXT_TEXT