1

其实之前也有同样的问题,

进程结束后如何自动关闭`qemu`的执行?

但我再次问这个问题,因为还没有人回答。

在此处输入图像描述

我正在尝试在 qemu 上模拟 pintos。当我调用命令“pintos run alarm-multiple”时,会出现一个新的 QEMU 窗口,如上所示,并且它在断电后不会自行关闭。但是,我想当我尝试“make check”时这会导致问题,因为每个测试都不会自动结束。所以“-T 60”选项最终会终止测试,就像下面一样。

在此处输入图像描述

如何让 QEMU 在结束进程时自动退出?

4

3 回答 3

1

默认 Pintos 代码将字符串“Shutdown”输出到端口 0x8900。这是 Bochs 和 Qemu 的断电序列。但这最近从 Qemu 中删除了。试试这个

于 2018-02-09T13:16:03.203 回答
0

尝试从命令行参数中删除“-T 60”,我记得使用 -T 来解决同样的问题。

于 2017-07-12T00:41:03.360 回答
0

QEMU 将(默认情况下,除非通过 -no-shutdown 选项)在客户操作系统执行任何“关机”操作时自动退出正在模拟的硬件。(例如,对于 Linux 来宾,这通常发生在来宾执行“shutdown -h now”时。)

如果这没有发生,那么问题很可能是以下问题之一:

  1. 您正在运行 QEMU 模拟不实现断电功能的板模型(例如一些嵌入式 ARM 板模型)
  2. 您的客户操作系统不知道如何关闭硬件电源
  3. 您的测试代码/线束没有告诉客户操作系统在完成后关闭硬件电源
于 2017-07-17T11:13:40.217 回答