diff options
author | Al Viro <viro@ftp.linux.org.uk> | 2006-01-12 01:06:07 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-12 09:08:58 -0800 |
commit | 40bc9c671a9f0a5189c07a2b4280aec9b40e30cd (patch) | |
tree | b44709dbe0a5f825f6fc0a0e0bfeac1028d8c443 /include/asm-mips | |
parent | 6450578f32cdca587ae5f148e2118b2fcc36bb11 (diff) | |
download | lwn-40bc9c671a9f0a5189c07a2b4280aec9b40e30cd.tar.gz lwn-40bc9c671a9f0a5189c07a2b4280aec9b40e30cd.zip |
[PATCH] mips: task_pt_regs()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-mips')
-rw-r--r-- | include/asm-mips/processor.h | 8 | ||||
-rw-r--r-- | include/asm-mips/system.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/include/asm-mips/processor.h b/include/asm-mips/processor.h index de53055a62ae..ab3123ea5658 100644 --- a/include/asm-mips/processor.h +++ b/include/asm-mips/processor.h @@ -200,11 +200,11 @@ extern void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long unsigned long get_wchan(struct task_struct *p); -#define __PT_REG(reg) ((long)&((struct pt_regs *)0)->reg - sizeof(struct pt_regs)) #define __KSTK_TOS(tsk) ((unsigned long)(tsk->thread_info) + THREAD_SIZE - 32) -#define KSTK_EIP(tsk) (*(unsigned long *)(__KSTK_TOS(tsk) + __PT_REG(cp0_epc))) -#define KSTK_ESP(tsk) (*(unsigned long *)(__KSTK_TOS(tsk) + __PT_REG(regs[29]))) -#define KSTK_STATUS(tsk) (*(unsigned long *)(__KSTK_TOS(tsk) + __PT_REG(cp0_status))) +#define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk) - 1) +#define KSTK_EIP(tsk) (task_pt_regs(tsk)->cp0_epc) +#define KSTK_ESP(tsk) (task_pt_regs(tsk)->regs[29]) +#define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) #define cpu_relax() barrier() diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 5f761ad5a8d9..e8e5d4143377 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h @@ -159,7 +159,7 @@ struct task_struct; do { \ if (cpu_has_dsp) \ __save_dsp(prev); \ - (last) = resume(prev, next, next->thread_info); \ + (last) = resume(prev, next, task_thread_info(next)); \ if (cpu_has_dsp) \ __restore_dsp(current); \ } while(0) |