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

Reply via email to