commit d26025d12463a902133bdc5b60d377d473294a8d
parent 7e0cc8e36ea91d0299f375f3b3476ab58ab71dde
Author: Russ Cox <rsc@x40.(none)>
Date: Wed, 2 Sep 2009 10:09:34 -0700
can set just %gs now.
Diffstat:
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/proc.c b/proc.c
@@ -72,10 +72,9 @@ ksegment(void)
c->gdt[SEG_KDATA] = SEG(STA_W, 0, 0xffffffff, 0);
c->gdt[SEG_KCPU] = SEG(STA_W, &c->cpu, 8, 0);
lgdt(c->gdt, sizeof(c->gdt));
- loadfsgs(SEG_KCPU << 3);
+ loadgs(SEG_KCPU << 3);
// Initialize cpu-local storage.
- asm volatile(""); // Do not let gcc reorder across this line.
cpu = c;
proc = 0;
}
diff --git a/x86.h b/x86.h
@@ -104,9 +104,8 @@ xchg(volatile uint *addr, uint newval)
}
static inline void
-loadfsgs(ushort v)
+loadgs(ushort v)
{
- asm volatile("movw %0, %%fs" : : "r" (v));
asm volatile("movw %0, %%gs" : : "r" (v));
}