diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-18 10:38:58 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-01-18 10:38:58 -0500 |
commit | 3d1e42a7cf945e289d6ba26159aa0e2b0645401b (patch) | |
tree | 0b020226f5fce3abecf74e6680224ecb96fd18a8 /arch/x86/kernel/entry_64.S | |
parent | 9af45651f1f7c89942e016a1a00a7ebddfa727f8 (diff) |
x86-64: Move oldrsp from PDA to per-cpu.
tj: * in asm-offsets_64.c, pda.h inclusion shouldn't be removed as pda
is still referenced in the file
* s/oldrsp/old_rsp/
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index 0dd45859a7a8..7c27da407da7 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S | |||
@@ -210,7 +210,7 @@ ENTRY(native_usergs_sysret64) | |||
210 | 210 | ||
211 | /* %rsp:at FRAMEEND */ | 211 | /* %rsp:at FRAMEEND */ |
212 | .macro FIXUP_TOP_OF_STACK tmp offset=0 | 212 | .macro FIXUP_TOP_OF_STACK tmp offset=0 |
213 | movq %gs:pda_oldrsp,\tmp | 213 | movq PER_CPU_VAR(old_rsp),\tmp |
214 | movq \tmp,RSP+\offset(%rsp) | 214 | movq \tmp,RSP+\offset(%rsp) |
215 | movq $__USER_DS,SS+\offset(%rsp) | 215 | movq $__USER_DS,SS+\offset(%rsp) |
216 | movq $__USER_CS,CS+\offset(%rsp) | 216 | movq $__USER_CS,CS+\offset(%rsp) |
@@ -221,7 +221,7 @@ ENTRY(native_usergs_sysret64) | |||
221 | 221 | ||
222 | .macro RESTORE_TOP_OF_STACK tmp offset=0 | 222 | .macro RESTORE_TOP_OF_STACK tmp offset=0 |
223 | movq RSP+\offset(%rsp),\tmp | 223 | movq RSP+\offset(%rsp),\tmp |
224 | movq \tmp,%gs:pda_oldrsp | 224 | movq \tmp,PER_CPU_VAR(old_rsp) |
225 | movq EFLAGS+\offset(%rsp),\tmp | 225 | movq EFLAGS+\offset(%rsp),\tmp |
226 | movq \tmp,R11+\offset(%rsp) | 226 | movq \tmp,R11+\offset(%rsp) |
227 | .endm | 227 | .endm |
@@ -479,7 +479,7 @@ ENTRY(system_call) | |||
479 | */ | 479 | */ |
480 | ENTRY(system_call_after_swapgs) | 480 | ENTRY(system_call_after_swapgs) |
481 | 481 | ||
482 | movq %rsp,%gs:pda_oldrsp | 482 | movq %rsp,PER_CPU_VAR(old_rsp) |
483 | movq PER_CPU_VAR(kernel_stack),%rsp | 483 | movq PER_CPU_VAR(kernel_stack),%rsp |
484 | /* | 484 | /* |
485 | * No need to follow this irqs off/on section - it's straight | 485 | * No need to follow this irqs off/on section - it's straight |
@@ -523,7 +523,7 @@ sysret_check: | |||
523 | CFI_REGISTER rip,rcx | 523 | CFI_REGISTER rip,rcx |
524 | RESTORE_ARGS 0,-ARG_SKIP,1 | 524 | RESTORE_ARGS 0,-ARG_SKIP,1 |
525 | /*CFI_REGISTER rflags,r11*/ | 525 | /*CFI_REGISTER rflags,r11*/ |
526 | movq %gs:pda_oldrsp, %rsp | 526 | movq PER_CPU_VAR(old_rsp), %rsp |
527 | USERGS_SYSRET64 | 527 | USERGS_SYSRET64 |
528 | 528 | ||
529 | CFI_RESTORE_STATE | 529 | CFI_RESTORE_STATE |
@@ -833,7 +833,7 @@ common_interrupt: | |||
833 | XCPT_FRAME | 833 | XCPT_FRAME |
834 | addq $-0x80,(%rsp) /* Adjust vector to [-256,-1] range */ | 834 | addq $-0x80,(%rsp) /* Adjust vector to [-256,-1] range */ |
835 | interrupt do_IRQ | 835 | interrupt do_IRQ |
836 | /* 0(%rsp): oldrsp-ARGOFFSET */ | 836 | /* 0(%rsp): old_rsp-ARGOFFSET */ |
837 | ret_from_intr: | 837 | ret_from_intr: |
838 | DISABLE_INTERRUPTS(CLBR_NONE) | 838 | DISABLE_INTERRUPTS(CLBR_NONE) |
839 | TRACE_IRQS_OFF | 839 | TRACE_IRQS_OFF |