1. 24 10月, 2016 1 次提交
  2. 14 10月, 2016 1 次提交
  3. 23 9月, 2016 2 次提交
  4. 09 9月, 2016 1 次提交
  5. 19 5月, 2016 1 次提交
  6. 23 3月, 2016 1 次提交
    • M
      include/qemu/osdep.h: Don't include qapi/error.h · da34e65c
      Markus Armbruster 提交于
      Commit 57cb38b3 included qapi/error.h into qemu/osdep.h to get the
      Error typedef.  Since then, we've moved to include qemu/osdep.h
      everywhere.  Its file comment explains: "To avoid getting into
      possible circular include dependencies, this file should not include
      any other QEMU headers, with the exceptions of config-host.h,
      compiler.h, os-posix.h and os-win32.h, all of which are doing a
      similar job to this file and are under similar constraints."
      qapi/error.h doesn't do a similar job, and it doesn't adhere to
      similar constraints: it includes qapi-types.h.  That's in excess of
      100KiB of crap most .c files don't actually need.
      
      Add the typedef to qemu/typedefs.h, and include that instead of
      qapi/error.h.  Include qapi/error.h in .c files that need it and don't
      get it now.  Include qapi-types.h in qom/object.h for uint16List.
      
      Update scripts/clean-includes accordingly.  Update it further to match
      reality: replace config.h by config-target.h, add sysemu/os-posix.h,
      sysemu/os-win32.h.  Update the list of includes in the qemu/osdep.h
      comment quoted above similarly.
      
      This reduces the number of objects depending on qapi/error.h from "all
      of them" to less than a third.  Unfortunately, the number depending on
      qapi-types.h shrinks only a little.  More work is needed for that one.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      [Fix compilation without the spice devel packages. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      da34e65c
  7. 05 2月, 2016 1 次提交
    • P
      all: Clean up includes · d38ea87a
      Peter Maydell 提交于
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1454089805-5470-16-git-send-email-peter.maydell@linaro.org
      d38ea87a
  8. 10 11月, 2015 1 次提交
  9. 29 9月, 2015 1 次提交
  10. 23 5月, 2015 4 次提交
    • J
      qtest: pre-buffer hex nibs · 5560b85a
      John Snow 提交于
      Instead of converting each byte one-at-a-time and then sending each byte
      over the wire, use sprintf() to pre-compute all of the hex nibs into a
      single buffer, then send the entire buffer all at once.
      
      This gives a moderate speed boost to memread() and memwrite() functions.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-id: 1431021095-7558-2-git-send-email-jsnow@redhat.com
      5560b85a
    • J
      qtest: add memset to qtest protocol · 4d007963
      John Snow 提交于
      Previously, memset was just a frontend to write() and only
      stupidly sent the pattern many times across the wire.
      
      Let's not discuss who stupidly wrote it like that in the first place.
      (Hint: It was me.)
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Message-id: 1430864578-22072-4-git-send-email-jsnow@redhat.com
      4d007963
    • J
      qtest: Add base64 encoded read/write · 7a6a740d
      John Snow 提交于
      For larger pieces of data that won't need to be debugged and
      viewing the hex nibbles is unlikely to be useful, we can encode
      data using base64 instead of encoding each byte as %02x, which
      leads to some space savings and faster reads/writes.
      
      For now, the default is left as hex nibbles in memwrite() and memread().
      For the purposes of making qtest io easier to read and debug, some
      callers may want to specify using the old encoding format for small
      patches of data where the savings from base64 wouldn't be that profound.
      
      memwrite/memread use a data encoding that takes 2x the size of the original
      buffer, but base64 uses "only" (4/3)x, so for larger buffers we can save a
      decent amount of time and space.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Message-id: 1430864578-22072-3-git-send-email-jsnow@redhat.com
      7a6a740d
    • J
      qtest: allow arbitrarily long sends · 332cc7e9
      John Snow 提交于
      qtest currently has a static buffer of size 1024 that if we
      overflow, ignores the additional data silently which leads
      to hangs or stream failures.
      
      Use glib's string facilities to allow arbitrarily long data,
      but split this off into a new function, qtest_sendf.
      
      Static data can still be sent using qtest_send, which avoids
      the malloc/copy overhead.
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-id: 1430864578-22072-2-git-send-email-jsnow@redhat.com
      332cc7e9
  11. 26 2月, 2015 1 次提交
  12. 23 10月, 2014 2 次提交
  13. 09 10月, 2014 1 次提交
  14. 04 10月, 2014 2 次提交
    • E
      accel: Rename 'init' method to 'init_machine' · 0d15da8e
      Eduardo Habkost 提交于
      Today, all accelerator init functions affect some global state:
      * tcg_init() calls tcg_exec_init() and affects globals such as tcg_tcx,
        page size globals, and possibly others;
      * kvm_init() changes the kvm_state global, cpu_interrupt_handler, and possibly
        others;
      * xen_init() changes the xen_xc global, and registers a change state handler.
      
      With the new accelerator QOM classes, initialization may now be split in two
      steps:
      * instance_init() will do basic initialization that doesn't affect any global
        state and don't need MachineState or MachineClass data. This will allow
        probing code to safely create multiple accelerator objects on the fly just
        for reporting host/accelerator capabilities, for example.
      * accel_init_machine()/init_machine() will save the accelerator object in
        MachineState, and do initialization steps which still affect global state,
        machine state, or that need data from MachineClass or MachineState.
      
      To clarify the difference between those two steps, rename init() to
      init_machine().
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      0d15da8e
    • E
      accel: Move qtest accel registration to qtest.c · 3a6ce514
      Eduardo Habkost 提交于
      As qtest_availble() returns 1 only when CONFIG_POSIX is set, keep
      setting AccelClass.available to keep current behavior (this is different
      from what we did for KVM and Xen).
      
      This also allows us to make qtest_init_accel() static.
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      3a6ce514
  15. 06 8月, 2014 1 次提交
  16. 10 6月, 2014 1 次提交
  17. 28 5月, 2014 1 次提交
  18. 06 5月, 2014 1 次提交
  19. 05 3月, 2014 1 次提交
  20. 15 2月, 2014 1 次提交
  21. 14 2月, 2014 1 次提交
  22. 05 2月, 2014 1 次提交
  23. 10 12月, 2013 1 次提交
    • P
      qtest: split configuration of qtest accelerator and chardev · d4fce24f
      Paolo Bonzini 提交于
      qtest uses the icount infrastructure to implement a test-driven vm_clock.  This
      however is not necessary when using -qtest as a "probe" together with a normal
      TCG-, KVM- or Xen-based virtual machine.  Hence, split out the call to
      configure_icount into a new function that is called only for "-machine
      accel=qtest"; and disable those commands when running with an accelerator
      other than qtest.
      
      This also fixes an assertion failure with "qemu-system-x86_64 -machine
      accel=qtest" but no -qtest option.  This is a valid case, albeit somewhat
      weird; nothing will happen in the VM but you'll still be able to
      interact with the monitor or the GUI.
      
      Now that qtest_init is not limited to an int(void) function, change
      global variables that are not used outside qtest_init to arguments.
      
      And finally, cleanup useless parts of include/sysemu/qtest.h.  The file
      is not used at all for user-only emulation, and qtest is not available
      on Win32 due to its usage of sigwait.
      Reported-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Tested-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      d4fce24f
  24. 03 9月, 2013 1 次提交
  25. 23 8月, 2013 3 次提交
  26. 19 7月, 2013 1 次提交
  27. 22 4月, 2013 1 次提交
  28. 16 4月, 2013 1 次提交
  29. 26 3月, 2013 1 次提交
  30. 18 2月, 2013 1 次提交
  31. 12 2月, 2013 1 次提交
  32. 02 2月, 2013 1 次提交