summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuss Cox <rsc@x40.(none)>2009-09-02 07:41:08 -0700
committerRuss Cox <rsc@x40.(none)>2009-09-02 07:41:08 -0700
commit57ae146362df2350737e5194ca81d925b9466124 (patch)
tree708f774100e6835cd69522dbf048ceb1693df661
parent45a978263651815caf7d0741201175c8969c2cc3 (diff)
downloadxv6-labs-57ae146362df2350737e5194ca81d925b9466124.tar.gz
xv6-labs-57ae146362df2350737e5194ca81d925b9466124.tar.bz2
xv6-labs-57ae146362df2350737e5194ca81d925b9466124.zip
Fix TLS for PIC systems
-rw-r--r--proc.c1
-rw-r--r--proc.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/proc.c b/proc.c
index 6829b46..91a5801 100644
--- a/proc.c
+++ b/proc.c
@@ -75,6 +75,7 @@ ksegment(void)
loadfsgs(SEG_KCPU << 3);
// Initialize cpu-local variables.
+ c->tlsstruct = &c->tlsstruct;
cpu = c;
proc = 0;
}
diff --git a/proc.h b/proc.h
index c099dbf..10760f8 100644
--- a/proc.h
+++ b/proc.h
@@ -59,6 +59,7 @@ struct cpu {
int ncli; // Depth of pushcli nesting.
int intena; // Were interrupts enabled before pushcli?
void *tls[2];
+ void *tlsstruct;
};
extern struct cpu cpus[NCPU];