来宾系统内部的qemu-system-aarch64出口

时间:2018-07-11 09:48:56

标签: qemu arm64

我想知道是否有一种方法可以从aarch64版本的来宾系统中退出qemu。例如,x86具有用于此目的的isa-debug-exit设备。

有什么想法吗?

欢呼

1 个答案:

答案 0 :(得分:1)

这个问题的一般答案是“做任何在真实硬件上引起断电的事情”。具体细节取决于QEMU在模拟哪台计算机。对于aarch64“ virt”板,可以使用仿真的PSCI固件接口通过SYSTEM_OFF功能请求关闭电源。

PSCI API文档在这里:http://infocenter.arm.com/help/topic/com.arm.doc.den0022d/Power_State_Coordination_Interface_PDD_v1_1_DEN0022D.pdf

出于调试/测试目的,您可能还对具有SYS_EXIT功能的半主机API(https://developer.arm.com/docs/dui0003/b)感兴趣,但有一些警告:对于QEMU,仅当通过-semihosting命令行启用半主机时,才可以使用半主机。参数,并且只能在来宾中的内核模式下使用,并且只有在您完全信任来宾代码时,才必须使用该参数,因为它提供对允许来宾读取和写入任何主机文件的函数的访问。但是对于明确受信任的小型测试程序,这是进行轻松调试打印并以给定退出状态退出的一种好方法。