On Tue, Apr 10, 2012 at 8:09 AM, Mikael <
address@hidden> wrote:
> 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.)
>