[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: nptl 0.30
- From: Paul Mackerras <paulus samba org>
- To: "Steve Munroe" <sjmunroe us ibm com>
- Cc: NPT library mailing list <phil-list redhat com>
- Subject: Re: nptl 0.30
- Date: Wed, 19 Mar 2003 17:10:18 +1100
Steve Munroe writes:
> Do you have a PPC64 nptl kernel working?
I'm running a ppc64 kernel on an RS/6000 B80 at the moment, and I just
tried my ppc32 NPTL build, and it passed all the tests. The kernel is
stock 2.5.65 plus the patch below (which adds CLONE_SETTLS support)
plus a couple of other unrelated patches. I haven't tried building a
ppc64 NPTL yet.
Paul.
diff -urN linux-2.5/arch/ppc64/kernel/process.c ppc64/arch/ppc64/kernel/process.c
--- linux-2.5/arch/ppc64/kernel/process.c 2003-02-23 21:45:50.000000000 +1100
+++ ppc64/arch/ppc64/kernel/process.c 2003-03-19 16:37:25.000000000 +1100
@@ -208,6 +208,12 @@
} else {
childregs->gpr[1] = usp;
p->thread.regs = childregs;
+ if (clone_flags & CLONE_SETTLS) {
+ if (test_thread_flag(TIF_32BIT))
+ childregs->gpr[2] = childregs->gpr[6];
+ else
+ childregs->gpr[13] = childregs->gpr[6];
+ }
}
childregs->gpr[3] = 0; /* Result from fork() */
sp -= STACK_FRAME_OVERHEAD;
@@ -304,7 +310,7 @@
if (clone_flags & (CLONE_PARENT_SETTID | CLONE_CHILD_SETTID |
CLONE_CHILD_CLEARTID)) {
parent_tidptr = p3;
- child_tidptr = p4;
+ child_tidptr = p5;
if (test_thread_flag(TIF_32BIT)) {
parent_tidptr &= 0xffffffff;
child_tidptr &= 0xffffffff;
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]