Jul*_*ant 2 paging assembly kernel cpu-registers linux-kernel
我正在阅读有关Linux内核的内容,并了解了cr0存储有关分页,保护模式等标志的控制寄存器.
cr0
我想知道,如果有可能,如果我设法改变cr0修改标志的值,会发生什么?
我不想通过禁用分页或任何东西破坏内存中的某些东西,所以我想自己尝试,但我担心会发生什么.
yal*_*lue 6
如果您正在运行内核代码,那么修改CR0肯定是可行的(并且在启动时是必需的).大多数情况下,修改它只会导致系统或多或少地立即崩溃.
我不知道这是否值得"害怕" - 取决于你关心重启机器的程度.您可以在此页面上看到CR0控件的所有内容.修改它需要修改Linux内核或编写内核模块.如果您尝试从用户空间代码访问它(例如,使用内联汇编),那么您的用户空间程序将只会遇到故障并退出,就像您尝试从无效地址读取时会发生的情况一样.
归档时间:
7 年,8 月 前
查看次数:
191 次
最近记录: