On Tue, Apr 10, 2012 at 8:09 AM, Mikael <mikael.tr...@gmail.com> 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.) >
most of these requirements can be done via libvirt, no? thanks, Jun