diff options
Diffstat (limited to 'arch/arc/include/asm')
-rw-r--r-- | arch/arc/include/asm/entry.h | 2 | ||||
-rw-r--r-- | arch/arc/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/arc/include/asm/ptrace.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/arch/arc/include/asm/entry.h b/arch/arc/include/asm/entry.h index 5bbec8ad8123..2b274fa9c5a7 100644 --- a/arch/arc/include/asm/entry.h +++ b/arch/arc/include/asm/entry.h | |||
@@ -252,7 +252,7 @@ | |||
252 | ld \out, [\tsk, TASK_THREAD_INFO] | 252 | ld \out, [\tsk, TASK_THREAD_INFO] |
253 | 253 | ||
254 | /* Go to end of page where stack begins (grows upwards) */ | 254 | /* Go to end of page where stack begins (grows upwards) */ |
255 | add2 \out, \out, (THREAD_SIZE - 4)/4 /* one word GUTTER */ | 255 | add2 \out, \out, (THREAD_SIZE)/4 |
256 | 256 | ||
257 | .endm | 257 | .endm |
258 | 258 | ||
diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h index 5f26b2c1cba0..81efbcae3839 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h | |||
@@ -50,7 +50,7 @@ struct task_struct; | |||
50 | unsigned long thread_saved_pc(struct task_struct *t); | 50 | unsigned long thread_saved_pc(struct task_struct *t); |
51 | 51 | ||
52 | #define task_pt_regs(p) \ | 52 | #define task_pt_regs(p) \ |
53 | ((struct pt_regs *)(THREAD_SIZE - 4 + (void *)task_stack_page(p)) - 1) | 53 | ((struct pt_regs *)(THREAD_SIZE + (void *)task_stack_page(p)) - 1) |
54 | 54 | ||
55 | /* Free all resources held by a thread. */ | 55 | /* Free all resources held by a thread. */ |
56 | #define release_thread(thread) do { } while (0) | 56 | #define release_thread(thread) do { } while (0) |
diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h index 6179de7e07c2..f82a3a2201b5 100644 --- a/arch/arc/include/asm/ptrace.h +++ b/arch/arc/include/asm/ptrace.h | |||
@@ -110,7 +110,7 @@ struct callee_regs { | |||
110 | /* open-coded current_thread_info() */ \ | 110 | /* open-coded current_thread_info() */ \ |
111 | register unsigned long sp asm ("sp"); \ | 111 | register unsigned long sp asm ("sp"); \ |
112 | unsigned long pg_start = (sp & ~(THREAD_SIZE - 1)); \ | 112 | unsigned long pg_start = (sp & ~(THREAD_SIZE - 1)); \ |
113 | (struct pt_regs *)(pg_start + THREAD_SIZE - 4) - 1; \ | 113 | (struct pt_regs *)(pg_start + THREAD_SIZE) - 1; \ |
114 | }) | 114 | }) |
115 | 115 | ||
116 | static inline long regs_return_value(struct pt_regs *regs) | 116 | static inline long regs_return_value(struct pt_regs *regs) |