1. 24 2月, 2012 7 次提交
    • M
      qemu-ga: add Windows service integration · bc62fa03
      Michael Roth 提交于
      This allows qemu-ga to function as a Windows service:
      
       - to install the service (will auto-start on boot):
           qemu-ga --service install
       - to start the service:
           net start qemu-ga
       - to stop the service:
           net stop qemu-ga
       - to uninstall service:
           qemu-ga --service uninstall
      
      Original patch by Gal Hammer <ghammer@redhat.com>
      bc62fa03
    • M
      qemu-ga: add initial win32 support · 7868e26e
      Michael Roth 提交于
      This adds a win32 channel implementation that makes qemu-ga functional
      on Windows using virtio-serial (unix-listen/isa-serial not currently
      implemented). Unlike with the posix implementation, we do not use
      GIOChannel for the following reasons:
      
       - glib calls stat() on an fd to check whether S_IFCHR is set, which is
         the case for virtio-serial on win32. Because of that, a one-time
         check to determine whether the channel is readable is done by making
         a call to PeekConsoleInput(), which reports the underlying handle is
         not a valid console handle, and thus we can never read from the
         channel.
      
       - if one goes as far as to "trick" glib into thinking it is a normal
         file descripter, the buffering is done in such a way that data
         written to the output stream will subsequently result in that same
         data being read back as if it were input, causing an error loop.
         furthermore, a forced flush of the channel only moves the data into a
         secondary buffer managed by glib, so there's no way to prevent output
         from getting read back as input.
      
      The implementation here ties into the glib main loop by implementing a
      custom GSource that continually submits asynchronous/overlapped I/O to
      fill an GAChannel-managed read buffer, and tells glib to poll the
      corresponding event handle for a completion whenever there is no
      data/RPC in the read buffer to notify the main application about.
      7868e26e
    • M
      qemu-ga: fixes for win32 build of qemu-ga · d8ca685a
      Michael Roth 提交于
      Various stubs and #ifdefs to compile for Windows using mingw
      cross-build. Still has 1 linker error due to a dependency on the
      forthcoming win32 versions of the GAChannel/transport class.
      d8ca685a
    • M
      c216e5ad
    • M
      qemu-ga: separate out common commands from posix-specific ones · 42074a9d
      Michael Roth 提交于
      Many of the current RPC implementations are very much POSIX-specific
      and require complete re-writes for Windows. There are however a small
      set of core guest agent commands that are common to both, and other
      commands such as guest-file-* which *may* be portable. So we introduce
      commands.c for the latter, and will rename guest-agent-commands.c to
      commands-posix.c in a future commit. Windows implementations will go in
      commands-win32.c, eventually.
      42074a9d
    • M
      qemu-ga: move channel/transport functionality into wrapper class · 125b310e
      Michael Roth 提交于
      This is mostly in preparation for the win32 port, which won't use
      GIO channels for reasons that will be made clearer later. Here the
      GAChannel class is just a loose wrapper around GIOChannel
      calls/callbacks, but we also roll in the logic/configuration for
      various channel types and managing unix socket connections, which makes
      the abstraction much more complete and further aids in the win32 port
      since isa-serial/unix-listen will not be supported initially.
      
      There's also a bit of refactoring in the main logic to consolidate the
      exit paths so we can do common cleanup for things like pid files, which
      weren't always cleaned up previously.
      125b310e
    • M
      qemu-ga: Add schema documentation for types · 54383726
      Michael Roth 提交于
      Document guest agent schema types in similar fashion to qmp schema
      types.
      54383726
  2. 23 2月, 2012 2 次提交
  3. 22 2月, 2012 24 次提交
  4. 21 2月, 2012 7 次提交