如何在不丢失原始堆栈指针的情况下从线程的用户模式堆栈切换到内核堆栈?

时间:2014-08-13 00:30:21

标签: linux-kernel kernel context-switch

在阅读this关于如何发生上下文切换的问题之后,我仍然对如何从线程的用户模式堆栈到其内核堆栈的切换进行确切的混淆。我认为这意味着将堆栈指针的值更改为指向内核模式堆栈,但如果要将线程的原始堆栈指针保存在内核堆栈上,它如何将堆栈指针更改为指向首先到内核堆栈然后保存堆栈指针的旧值?

1 个答案:

答案 0 :(得分:1)

  1. 将堆栈指针复制到另一个寄存器;
  2. 加载新堆栈指针;
  3. 将寄存器推入新堆栈。