|
@@ -210,7 +210,7 @@ ENTRY(native_usergs_sysret64)
|
|
|
|
|
|
/* %rsp:at FRAMEEND */
|
|
|
.macro FIXUP_TOP_OF_STACK tmp offset=0
|
|
|
- movq %gs:pda_oldrsp,\tmp
|
|
|
+ movq PER_CPU_VAR(old_rsp),\tmp
|
|
|
movq \tmp,RSP+\offset(%rsp)
|
|
|
movq $__USER_DS,SS+\offset(%rsp)
|
|
|
movq $__USER_CS,CS+\offset(%rsp)
|
|
@@ -221,7 +221,7 @@ ENTRY(native_usergs_sysret64)
|
|
|
|
|
|
.macro RESTORE_TOP_OF_STACK tmp offset=0
|
|
|
movq RSP+\offset(%rsp),\tmp
|
|
|
- movq \tmp,%gs:pda_oldrsp
|
|
|
+ movq \tmp,PER_CPU_VAR(old_rsp)
|
|
|
movq EFLAGS+\offset(%rsp),\tmp
|
|
|
movq \tmp,R11+\offset(%rsp)
|
|
|
.endm
|
|
@@ -479,7 +479,7 @@ ENTRY(system_call)
|
|
|
*/
|
|
|
ENTRY(system_call_after_swapgs)
|
|
|
|
|
|
- movq %rsp,%gs:pda_oldrsp
|
|
|
+ movq %rsp,PER_CPU_VAR(old_rsp)
|
|
|
movq PER_CPU_VAR(kernel_stack),%rsp
|
|
|
/*
|
|
|
* No need to follow this irqs off/on section - it's straight
|
|
@@ -523,7 +523,7 @@ sysret_check:
|
|
|
CFI_REGISTER rip,rcx
|
|
|
RESTORE_ARGS 0,-ARG_SKIP,1
|
|
|
/*CFI_REGISTER rflags,r11*/
|
|
|
- movq %gs:pda_oldrsp, %rsp
|
|
|
+ movq PER_CPU_VAR(old_rsp), %rsp
|
|
|
USERGS_SYSRET64
|
|
|
|
|
|
CFI_RESTORE_STATE
|
|
@@ -833,7 +833,7 @@ common_interrupt:
|
|
|
XCPT_FRAME
|
|
|
addq $-0x80,(%rsp) /* Adjust vector to [-256,-1] range */
|
|
|
interrupt do_IRQ
|
|
|
- /* 0(%rsp): oldrsp-ARGOFFSET */
|
|
|
+ /* 0(%rsp): old_rsp-ARGOFFSET */
|
|
|
ret_from_intr:
|
|
|
DISABLE_INTERRUPTS(CLBR_NONE)
|
|
|
TRACE_IRQS_OFF
|