aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2005-10-12 09:23:44 -0400
committerStephen Rothwell <sfr@canb.auug.org.au>2005-10-12 19:49:56 -0400
commit0f17d0742f27b7a69b0e2dfb21190f06ea3a9087 (patch)
tree5194d14f40c01465e0d7ef7955e38192be668725 /arch
parent7062018687da3d5d4966f58d6f0a58528b1e331b (diff)
powerpc: make 64 bit binaries work
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kernel/process.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
index f09908a0beea..92bc75f61ca6 100644
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
@@ -620,7 +620,7 @@ void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp)
620 regs->nip = start; 620 regs->nip = start;
621 regs->msr = MSR_USER; 621 regs->msr = MSR_USER;
622#else 622#else
623 if (test_thread_flag(TIF_32BIT)) { 623 {
624 unsigned long entry, toc, load_addr = regs->gpr[2]; 624 unsigned long entry, toc, load_addr = regs->gpr[2];
625 625
626 /* start is a relocated pointer to the function descriptor for 626 /* start is a relocated pointer to the function descriptor for
@@ -641,10 +641,6 @@ void start_thread(struct pt_regs *regs, unsigned long start, unsigned long sp)
641 regs->nip = entry; 641 regs->nip = entry;
642 regs->gpr[2] = toc; 642 regs->gpr[2] = toc;
643 regs->msr = MSR_USER64; 643 regs->msr = MSR_USER64;
644 } else {
645 regs->nip = start;
646 regs->gpr[2] = 0;
647 regs->msr = MSR_USER32;
648 } 644 }
649#endif 645#endif
650 646