diff options
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index e28c7a987793..4833f3a19650 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -52,6 +52,7 @@ | |||
52 | #include <asm/irqflags.h> | 52 | #include <asm/irqflags.h> |
53 | #include <asm/paravirt.h> | 53 | #include <asm/paravirt.h> |
54 | #include <asm/ftrace.h> | 54 | #include <asm/ftrace.h> |
55 | #include <asm/percpu.h> | ||
55 | 56 | ||
56 | /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ | 57 | /* Avoid __ASSEMBLER__'ifying <linux/audit.h> just for this. */ |
57 | #include <linux/elf-em.h> | 58 | #include <linux/elf-em.h> |
@@ -1072,10 +1073,10 @@ ENTRY(\sym) | |||
1072 | TRACE_IRQS_OFF | 1073 | TRACE_IRQS_OFF |
1073 | movq %rsp,%rdi /* pt_regs pointer */ | 1074 | movq %rsp,%rdi /* pt_regs pointer */ |
1074 | xorl %esi,%esi /* no error code */ | 1075 | xorl %esi,%esi /* no error code */ |
1075 | movq %gs:pda_data_offset, %rbp | 1076 | PER_CPU(init_tss, %rbp) |
1076 | subq $EXCEPTION_STKSZ, per_cpu__init_tss + TSS_ist + (\ist - 1) * 8(%rbp) | 1077 | subq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%rbp) |
1077 | call \do_sym | 1078 | call \do_sym |
1078 | addq $EXCEPTION_STKSZ, per_cpu__init_tss + TSS_ist + (\ist - 1) * 8(%rbp) | 1079 | addq $EXCEPTION_STKSZ, TSS_ist + (\ist - 1) * 8(%rbp) |
1079 | jmp paranoid_exit /* %ebx: no swapgs flag */ | 1080 | jmp paranoid_exit /* %ebx: no swapgs flag */ |
1080 | CFI_ENDPROC | 1081 | CFI_ENDPROC |
1081 | END(\sym) | 1082 | END(\sym) |