我在QEMU上运行Linux,模拟x86_64 CPU,尝试Kexec到elf32格式的内核,但是在执行内核之后,系统重新启动,我不知道如何找出原因。我连接了GDB,并确认新内核已经正确加载并开始执行。我在新内核设置了一个新IDT之后设置了一个HW断点,并在所有向量上设置了断点,以尝试捕获任何可能引发的异常(三重故障重置),但似乎没有任何异常发生。除了故意重启技术(FAR JMP 0xFFFF:0000 ...等)之外,是否还有其他可能导致CPU重置的技术,而我却忽略了?谢谢。
zujrkrfu1#
完成此操作的主要方法是在QEMU调用中使用以下标志
-d int
-no-reboot
-no-shutdown
另外,QEMU重新启动的原因可能是分段错误。
1条答案
按热度按时间zujrkrfu1#
完成此操作的主要方法是在QEMU调用中使用以下标志
-d int
导致QEMU显示错误中断-no-reboot
将使您的计算机不会重新启动-no-shutdown
与-no-reboot
相同另外,QEMU重新启动的原因可能是分段错误。