2011-12-28 127 views
0

我的问题是如何在使用QEMU和其主机操作系统的主机操作系统的guest操作系统中运行之间传输信号,我写一些DATAS到在主机操作系统上由来宾操作系统的线程创建的共享内存,并希望主机操作系统上的其他线程知道并读取数据,但不在主机操作系统的线程中使用轮询,我希望知道是否有任何方法来实现这一目标? 感谢您的任何建议!如何将guest操作系统中运行之间的主机操作系统与QEMU和主机操作系统传输信号

+0

我会相信QEMU只能模仿一个中断(因为它是模拟一台机器,而不是OS)。为什么不能在QEMU的Linux下的应用程序中使用SIGIO?我不明白你的问题。 – 2011-12-28 13:05:11

回答

1

Qemu为客人提供了一个完整系统的抽象。而且你不能跨机器使用共享内存IPC。我会建议使用特殊的指令,可以使用qemu反汇编功能知道IPC是必需的。

步骤:

  1. 使用在客户应用特殊的标记指令。可以说“100美元”。
  2. 在qemu中创建一个辅助函数,该指令在发生时将被调用。
  3. 现在,当你在QEMU收到一个回调函数,检查存储指针您的数据和数据的长度已知的虚拟地址。

做过..