内核设置栈段选择符到SS寄存器

内核设置栈段选择符到SS寄存器

Content #

Linux内核设置栈段选择符到SS寄存器的操作如下:

lss _stack_start,%esp

在kernel/sched.c中,

stack_start = { & user_stack [PAGE_SIZE>>2] , 0x10 }

这行代码将栈顶指针指向user_stack数据结构的最末位置。这个数据结构是在 kernel/sched.c中定义的,如下所示:

long user_stack [ PAGE_SIZE>>2 ]

我们测算出其起始位置为0x1E25C。

From #

Linux内核设计的艺术