как передать сигнал между гостевой ОС, запущенной на хосте ОС с QEMU и его хостом ОС - PullRequest
0 голосов
/ 28 декабря 2011

Мой вопрос заключается в том, как передать сигнал между гостевой ОС, запущенной на хост-компьютере с QEMU, и его хост-операционной системой. Я записываю некоторые данные в общую память, созданную на хост-компьютере потоком гостевой ОС, и хочудругой поток, который на хосте os знает это и читает данные, но нет никакого опроса использования в потоке хоста os, я хочу знать, есть ли способы достичь этого?Спасибо за любые предложения от вас!

1 Ответ

1 голос
/ 20 января 2012

Qemu дает гостю абстракцию всей системы.И вы не можете использовать разделяемую память IPC на разных машинах.Я бы предложил использовать специальную инструкцию, которая может быть использована функцией разборки qemu, чтобы знать, что требуется IPC.

Шаги:

  1. использовать специальную маркерную инструкцию в гостевом приложении.Скажем «int $ 100».
  2. Создайте вспомогательную функцию в qemu, которая будет вызываться при выполнении этой инструкции.
  3. Теперь, когда вы получаете функцию обратного вызова в qemu, проверьте наличие известного виртуальногоадрес, в котором хранится указатель на ваши данные и длина данных.

done ..

...