[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qemu-discuss
Subject:    [Qemu-discuss] Qemu as a library?
From:       Mikael <mikael.trash () gmail ! com>
Date:       2012-04-10 0:09:38
Message-ID: CAH56L5q6MSn4s8v9rVUgBj6kkQSMexchiQCje=__mzexew3ZFw () mail ! gmail ! com
[Download RAW message or body]

Dear list,

I understood that earlier on there was a "libqemu" library, using which an
ordinary userspace application could allocate a qemu virtual machine and
get it in a pointer/handle representation, run it as long as it wanted to,
and intercept any activity from or to it in detail.

This is a *great* feature.

Does it exist today? In case not, are there plans to introduce it now?


I suppose that it's QEMU and not KVM that should be the entry point for an
app for this purpose, as KVM only is a submodule of QEMU, for accelerating
part of its activity, correct?


The API functionality I'd want is:
 * Open or close machine
 * Monitor RAM consumption
 * Execute machine for specified number of milliseconds, or until the
machine somehow marks it's sleeping (does Linux and other OS:es signal this
somehow?)
 * Ability to feed machine with network and block device input. Callbacks
that receive network output and block device writes/responses from the
machine. I suppose this effectively means to implement an own, custom nic
and block device driver.

Finally, if any callbacks could lead to that the machine execute procedure
returns (i.e. giving a behavior similar to Unix' select() and read() for
picking up new data on sockets), that would be incredibly good. (If having
several machines, there could be infinite recursion problems if events are
passed to a callback instead of as a return.)

Looking forward to your response!

Thanks and kind regards,
Mikael

[Attachment #3 (text/html)]

Dear list,<br><br>I understood that earlier on there was a &quot;libqemu&quot; 
library, using which an ordinary userspace application could allocate a 
qemu virtual machine and get it in a pointer/handle representation, run 
it as long as it wanted to, and intercept any activity from or to it in 
detail.<br>

<br>This is a *great* feature.<br><br>Does it exist today? In case not, are there \
plans to introduce it now?<br><br><br>I  suppose that it&#39;s QEMU and not KVM that \
should be the entry point for  an app for this purpose, as KVM only is a submodule of \
QEMU, for  accelerating part of its activity, correct?<br>

<br><br>The API functionality I&#39;d want is:<br> * Open or close machine<br> * \
Monitor RAM consumption<br> *  Execute machine for specified number of milliseconds, \
or until the  machine somehow marks it&#39;s sleeping (does Linux and other OS:es \
signal  this somehow?)<br>

 * Ability to feed machine with network and block device input. 
Callbacks that receive network output and block device writes/responses 
from the machine. I suppose this effectively means to implement an own, 
custom nic and block device driver.<br>

<br>Finally, if any callbacks could lead to that the machine execute 
procedure returns (i.e. giving a behavior similar to Unix&#39; select() and 
read() for picking up new data on sockets), that would be incredibly 
good. (If having several machines, there could be infinite recursion 
problems if events are passed to a callback instead of as a return.)<br>

<br>Looking forward to your response!<br><br>Thanks and kind regards,<br>Mikael



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic