These apply on top of Anthony's glib tree, commit
03d5927deb5e6baebaade1b4c8ff2428a85e125c currently, and can also be obtained
from:
git://repo.or.cz/qemu/mdroth.git qga_v1
The QGA-specific patches are in pretty rough shape, and there are some
outstanding issues that I'll note below. I just wanted to put the general
approach out there for consideration. Patch-level comments/review are still
much-appreciated though.
However, patches 1-5 are general json/QAPI-related fixes. Anthony, please
consider pulling these into your glib tree. The json fix-ups may need further
evaluation, but I'm confident they're at least an improvement. The QAPI ones
are trivial fix-ups.
ISSUES/TODOS:
- QMP's async callbacks expect the command results to be de-marshalled beforehand. This
is completely infeasible to attempt outside of the code generator, so this is a big area
that needs to be addressed. So for now, only the 'guest-ping' command works, since it has
no return value. The dummy "guest-view-file" command will cause an error to be
reported to the client.
- qemu-ga guest daemon is currently not working over virtio-serial or isa-serial. This is probably
an issue with how I'm using glib's io channel interfaces, still investigating. This means the only
way to currently test is by invocing qemu-ga with "-c unix-listen -p<sockpath>", then
doing something like `socat /dev/ttyS0,raw,echo=0 unix-connect:<sockpath>`.
- guest-view-file is a stub, and will be broken out into an open/read/close
set of RPCs, possibly with a high-level interface built around those.