本文标签: L.Linux 开发
进程描述符存放在大小为8k的进程栈的顶部(低地址, intel系统中栈是由高地址向低地址伸展的). 而esp寄存器存放着当前进程的栈基址. 所以将esp中的指针的低13位(8k)清零即可得到当前进程描述符的地址.
把嵌入汇编写成AT&T汇编如下:
movl $0xffffe000 %ecx
andl %esp %ecx
movl %ecx current
声明: 本文由( 鲁智森也有文化 )原创编译,转载请保留链接: Linux内核中GET_CURRENT()函数
Linux系统与内核学习群:194051772
WP建站技术学习交流群:194062106