summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/system.h
diff options
context:
space:
mode:
authorBrian Gerst <brgerst@gmail.com>2009-01-19 00:38:59 +0900
committerTejun Heo <tj@kernel.org>2009-01-19 00:38:59 +0900
commit87b264065880fa696c121dad8498a60524e0f6de (patch)
tree5a40a9ca966e5feda1040f9ef2c7798ac4d1e234 /arch/x86/include/asm/system.h
parentc2558e0eba66b49993e619da66c95a50a97830a3 (diff)
downloadlinux-87b264065880fa696c121dad8498a60524e0f6de.tar.gz
linux-87b264065880fa696c121dad8498a60524e0f6de.tar.bz2
linux-87b264065880fa696c121dad8498a60524e0f6de.zip
x86-64: Use absolute displacements for per-cpu accesses.
Accessing memory through %gs should not use rip-relative addressing. Adding a P prefix for the argument tells gcc to not add (%rip) to the memory references. Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/system.h')
-rw-r--r--arch/x86/include/asm/system.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h
index 4399aac680e9..d1dc27dba36d 100644
--- a/arch/x86/include/asm/system.h
+++ b/arch/x86/include/asm/system.h
@@ -94,7 +94,7 @@ do { \
"call __switch_to\n\t" \
".globl thread_return\n" \
"thread_return:\n\t" \
- "movq "__percpu_seg_str"%P[current_task],%%rsi\n\t" \
+ "movq "__percpu_arg([current_task])",%%rsi\n\t" \
"movq %P[thread_info](%%rsi),%%r8\n\t" \
LOCK_PREFIX "btr %[tif_fork],%P[ti_flags](%%r8)\n\t" \
"movq %%rax,%%rdi\n\t" \