aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arc/include/asm/entry.h2
-rw-r--r--arch/arc/include/asm/processor.h2
-rw-r--r--arch/arc/include/asm/ptrace.h2
-rw-r--r--arch/arc/kernel/process.c2
4 files changed, 3 insertions, 5 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;
50unsigned long thread_saved_pc(struct task_struct *t); 50unsigned 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
116static inline long regs_return_value(struct pt_regs *regs) 116static inline long regs_return_value(struct pt_regs *regs)
diff --git a/arch/arc/kernel/process.c b/arch/arc/kernel/process.c
index cad66851e0c4..949bfd5d62a0 100644
--- a/arch/arc/kernel/process.c
+++ b/arch/arc/kernel/process.c
@@ -75,8 +75,6 @@ asmlinkage void ret_from_fork(void);
75 * ~ ~ 75 * ~ ~
76 * | --to-- | (scratch Regs of user mode) 76 * | --to-- | (scratch Regs of user mode)
77 * | r0 | 77 * | r0 |
78 * ------------------
79 * | UNUSED 1 word|
80 * ------------------ <===== END of PAGE 78 * ------------------ <===== END of PAGE
81 */ 79 */
82int copy_thread(unsigned long clone_flags, 80int copy_thread(unsigned long clone_flags,