summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2006-09-01 06:05:40 +0000
committermarcel <marcel@FreeBSD.org>2006-09-01 06:05:40 +0000
commita37b95305811c766bd870843c82075c1dcd3961f (patch)
tree42ed465b9d937e2aeef856884cd1cc6e218a909a /sys
parent7313caf8321f197da17602b662fe2e143e24d5b9 (diff)
downloadFreeBSD-src-a37b95305811c766bd870843c82075c1dcd3961f.zip
FreeBSD-src-a37b95305811c766bd870843c82075c1dcd3961f.tar.gz
In cpu_set_user_tls(), properly set the thread pointer. It is 0x7000
bytes after the end of the TCB, which is itself 8 bytes.
Diffstat (limited to 'sys')
-rw-r--r--sys/powerpc/aim/vm_machdep.c2
-rw-r--r--sys/powerpc/powerpc/vm_machdep.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/powerpc/aim/vm_machdep.c b/sys/powerpc/aim/vm_machdep.c
index cf6a435..0f4ac46 100644
--- a/sys/powerpc/aim/vm_machdep.c
+++ b/sys/powerpc/aim/vm_machdep.c
@@ -358,6 +358,6 @@ int
cpu_set_user_tls(struct thread *td, void *tls_base)
{
- td->td_frame->fixreg[2] = (register_t)tls_base;
+ td->td_frame->fixreg[2] = (register_t)tls_base + 0x7008;
return (0);
}
diff --git a/sys/powerpc/powerpc/vm_machdep.c b/sys/powerpc/powerpc/vm_machdep.c
index cf6a435..0f4ac46 100644
--- a/sys/powerpc/powerpc/vm_machdep.c
+++ b/sys/powerpc/powerpc/vm_machdep.c
@@ -358,6 +358,6 @@ int
cpu_set_user_tls(struct thread *td, void *tls_base)
{
- td->td_frame->fixreg[2] = (register_t)tls_base;
+ td->td_frame->fixreg[2] = (register_t)tls_base + 0x7008;
return (0);
}
OpenPOWER on IntegriCloud