1. 07 6月, 2012 12 次提交
  2. 25 4月, 2012 1 次提交
  3. 18 4月, 2012 1 次提交
    • L
      tracetool: Rewrite infrastructure as python modules · 650ab98d
      Lluís Vilanova 提交于
      The tracetool script is written in shell and has hit several portability
      problems due to shell quirks or external tools across host platforms.
      Additionally the amount of string processing and lack of real data
      structures makes it tough to implement code generator backends for
      tracers that are more complex.
      
      This patch replaces the shell version of tracetool with a Python
      version.  The new tracetool design is:
      
        scripts/tracetool.py - top-level script
        scripts/tracetool/backend/ - tracer backends live here (simple, ust)
        scripts/tracetool/format/  - output formats live here (.c, .h)
      
      There is common code for trace-events definition parsing so that
      backends can focus on generating code rather than parsing input.
      
      Support for all existing backends (nop, stderr, simple, ust,
      and dtrace) is added back in follow-up patches.
      
      [Commit description written by Stefan Hajnoczi]
      Signed-off-by: NLluís Vilanova <vilanova@ac.upc.edu>
      Signed-off-by: NStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
      650ab98d
  4. 02 4月, 2012 1 次提交
  5. 30 3月, 2012 1 次提交
    • A
      qtest: add test framework · c7f0f3b1
      Anthony Liguori 提交于
      The idea behind qtest is pretty simple.  Instead of executing a CPU via TCG or
      KVM, rely on an external process to send events to the device model that the CPU
      would normally generate.
      
      qtest presents itself as an accelerator.  In addition, a new option is added to
      establish a qtest server (-qtest) that takes a character device.  This is what
      allows the external process to send CPU events to the device model.
      
      qtest uses a simple line based protocol to send the events.  Documentation of
      that protocol is in qtest.c.
      
      I considered reusing the monitor for this job.  Adding interrupts would be a bit
      difficult.  In addition, logging would also be difficult.
      
      qtest has extensive logging support.  All protocol commands are logged with
      time stamps using a new command line option (-qtest-log).  Logging is important
      since ultimately, this is a feature for debugging.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      c7f0f3b1
  6. 16 3月, 2012 3 次提交
    • M
      pci: add standard bridge device · 4eb812f7
      Michael S. Tsirkin 提交于
      This adds support for a standard pci to pci bridge,
      enabling support for more than 32 PCI devices in the system.
      Device hotplug is supported by means of SHPC controller.
      For guests with an SHPC driver, this allows robust hotplug
      and even hotplug of nested bridges, up to 31 devices
      per bridge.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      4eb812f7
    • M
      slotid: add slot id capability · 762833b3
      Michael S. Tsirkin 提交于
      This capability makes it possible for the guest to
      report a unique chassis identifier to the user.
      
      The spec also recommends making chassis indentifier
      persist in eeprom.
      This isn't implemented.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      762833b3
    • M
      shpc: standard hot plug controller · 1dc324d2
      Michael S. Tsirkin 提交于
      This adds support for SHPC interface, as defined by PCI Standard
      Hot-Plug Controller and Subsystem Specification, Rev 1.0
      http://www.pcisig.com/specifications/conventional/pci_hot_plug/SHPC_10
      
      Only SHPC intergrated with a PCI-to-PCI bridge is supported,
      SHPC integrated with a host bridge would need more work.
      
      All main SHPC features are supported:
      - MRL sensor
      - Attention button
      - Attention indicator
      - Power indicator
      
      Wake on hotplug and serr generation are stubbed out but unused
      as we don't have interfaces to generate these events ATM.
      
      One issue that isn't completely resolved is that qemu currently
      expects an "eject" interface, which SHPC does not provide: it merely
      removes the power to device and it's up to the user to remove the device
      from slot. This patch works around that by ejecting the device
      when power is removed and power LED goes off.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      1dc324d2
  7. 15 3月, 2012 1 次提交
    • A
      qom: Introduce CPU class · dd83b06a
      Andreas Färber 提交于
      Reintroduce CPUState as QOM object: It's abstract and derived directly
      from TYPE_OBJECT for compatibility with the user emulators.
      The identifier CPUState avoids conflicts between CPU() and the struct.
      
      Introduce $(qom-twice-y) to build it separately for system and for user
      emulators.
      
      Prepare a virtual reset method, (re)introduce cpu_reset() as wrapper.
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      Reviewed-by: NAnthony Liguori <aliguori@us.ibm.com>
      dd83b06a
  8. 14 3月, 2012 1 次提交
  9. 13 3月, 2012 1 次提交
    • G
      usb: the big rename · f1ae32a1
      Gerd Hoffmann 提交于
      Reorganize usb source files.  Create a new hw/usb/ directory and move
      all usb source code to that place.  Also make filenames a bit more
      descriptive.  Host adapters are prefixed with "hch-" now, usb device
      emulations are prefixed with "dev-".  Fixup paths Makefile and include
      paths to make it compile.  No code changes.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      f1ae32a1
  10. 12 3月, 2012 1 次提交
  11. 07 3月, 2012 1 次提交
  12. 24 2月, 2012 6 次提交
    • 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
  13. 22 2月, 2012 1 次提交
  14. 21 2月, 2012 1 次提交
  15. 10 2月, 2012 1 次提交
  16. 04 2月, 2012 2 次提交
  17. 28 1月, 2012 1 次提交
    • A
      qom: add the base Object class (v2) · 2f28d2ff
      Anthony Liguori 提交于
      This class provides the main building block for QEMU Object Model and is
      extensively documented in the header file.  It is largely inspired by GObject.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      ---
      v1 -> v2
       - remove printf() in type registration
       - fix typo in comment (Paolo)
       - make Interface private
       - move object into a new directory and move header into include/qemu/
       - don't make object.h depend on qemu-common.h
       - remove Type and replace it with TypeImpl * (Paolo)
       - use hash table to store types (Paolo)
       - aggressively cache parent type (Paolo)
       - make a type_register and use it with interfaces (Paolo)
       - fix interface cast comment (Paolo)
       - add a few more functions required in later series
      2f28d2ff
  18. 26 1月, 2012 3 次提交
  19. 20 1月, 2012 1 次提交