[PATCH] mips: clean up 32/64-bit configuration
Start cleaning 32-bit vs. 64-bit configuration. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
63fb6fd1c8
commit
875d43e72b
@@ -70,7 +70,7 @@ void start_thread(struct pt_regs * regs, unsigned long pc, unsigned long sp)
|
||||
|
||||
/* New thread loses kernel privileges. */
|
||||
status = regs->cp0_status & ~(ST0_CU0|ST0_CU1|KU_MASK);
|
||||
#ifdef CONFIG_MIPS64
|
||||
#ifdef CONFIG_64BIT
|
||||
status &= ~ST0_FR;
|
||||
status |= (current->thread.mflags & MF_32BIT_REGS) ? 0 : ST0_FR;
|
||||
#endif
|
||||
@@ -236,10 +236,10 @@ static int __init get_frame_info(struct mips_frame_info *info, void *func)
|
||||
break;
|
||||
|
||||
if (
|
||||
#ifdef CONFIG_MIPS32
|
||||
#ifdef CONFIG_32BIT
|
||||
ip->i_format.opcode == sw_op &&
|
||||
#endif
|
||||
#ifdef CONFIG_MIPS64
|
||||
#ifdef CONFIG_64BIT
|
||||
ip->i_format.opcode == sd_op &&
|
||||
#endif
|
||||
ip->i_format.rs == 29)
|
||||
@@ -353,7 +353,7 @@ schedule_timeout_caller:
|
||||
|
||||
out:
|
||||
|
||||
#ifdef CONFIG_MIPS64
|
||||
#ifdef CONFIG_64BIT
|
||||
if (current->thread.mflags & MF_32BIT_REGS) /* Kludge for 32-bit ps */
|
||||
pc &= 0xffffffffUL;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user