问题标签 [assembly-trap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
x86 - 返回内核模式时屏蔽中断
我正在研究MIT 的 JOS(6.828 操作系统类的实验室)。
在这个简单的操作系统中,中断在内核模式下被禁用(cli
是内核运行的第一条指令)。一旦我们通过相应地设置 eflags 寄存器启动用户进程,中断就会重新启用,并且在返回内核模式时应该以某种方式再次被屏蔽。
我的问题是,在发生陷阱并且我回到内核模式之后,IF 仍然设置在 eflags 中。我很想将其cli
用作陷阱处理程序的第一条指令来清除它,但以下注释 (trap.c) 明确表示不要这样做:
我很困惑......还有其他方法吗?
gdb - gdb 可以修复 ARM 对齐陷阱并继续下一个陷阱吗?
我们正在跟踪我们的 ARM 项目中的一些对齐陷阱——gdb 在捕捉第一个陷阱方面非常有帮助——有没有办法继续通过对齐陷阱(让内核修复它),以便我们可以收集更多陷阱的信息?现在我们一次修复一个,这有点乏味(我们越来越善于识别导致陷阱的原因)