cli

来自「linux内核学习笔记 希望想看的人可以很快下载到」· 代码 · 共 15 行

TXT
15
字号
any problems,send mails to sindybear@163.com


相关文件
	/include/asm/system.h


linux的关中断使用cli和sti来进行中断的恢复。一般关中断的使用场合式在临界区,保证临界区的完整性。
另外,在有的中断处理函数中,也需要关中断,从而保证处理的原子性。

关中断cli的操作比较简单,就是将eflages寄存器中的IF位清除,这样就可以将中断关闭。但是实际的使用中
我们从不单独这样使用,因为由于中断可以嵌套,所以单独使用cli和sti并不能保证正确性。

正确的使用方法是先将eflags存储起来,在关中断,最后将eflags恢复,因为中断标志位IF仅仅是eflags中的
一位,所以恢复eflags的时候就可以将原来的IF的状态恢复过去。

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?