diff --git a/proc.c b/proc.c index 73cad6d..2a878fa 100644 --- 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 index e754b28..fcd3062 100644 --- 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)); }