/*
* We don't actually need to load the full TSS,
* basically just the stack pointer and the eip.
*/
asm volatile("lldt %%ax": :"a" (p->ldt));
asm volatile("ltr %%ax": :"a" (p->tr));
asm volatile(
"movl %0,%%esp\n\t"
"jmp *%1"
:
:"r" (p->esp),"r" (p->eip));
}
And I was wondering why p->ldt is forced into register a before
loading. Isn't
asm volatile("lldt %w0": :"g" (p->ldt));
asm volatile("ltr %w0": :"g" (p->tr));
good enough? Is there something wrong with doing the
memory acess in one instruction?
-- -Colin- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu