1. 07 7月, 2015 1 次提交
    • D
      crypto: introduce new module for computing hash digests · ddbb0d09
      Daniel P. Berrange 提交于
      Introduce a new crypto/ directory that will (eventually) contain
      all the cryptographic related code. This initially defines a
      wrapper for initializing gnutls and for computing hashes with
      gnutls. The former ensures that gnutls is guaranteed to be
      initialized exactly once in QEMU regardless of CLI args. The
      block quorum code currently fails to initialize gnutls so it
      only works by luck, if VNC server TLS is not requested. The
      hash APIs avoids the need to litter the rest of the code with
      preprocessor checks and simplifies callers by allocating the
      correct amount of memory for the requested hash.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1435770638-25715-2-git-send-email-berrange@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      ddbb0d09
  2. 03 6月, 2015 1 次提交
  3. 06 2月, 2015 1 次提交
    • A
      QJSON: Add JSON writer · 190c882c
      Alexander Graf 提交于
      To support programmatic JSON assembly while keeping the code that generates it
      readable, this patch introduces a simple JSON writer. It emits JSON serially
      into a buffer in memory.
      
      The nice thing about this writer is its simplicity and low memory overhead.
      Unlike the QMP JSON writer, this one does not need to spawn QObjects for every
      element it wants to represent.
      
      This is a prerequisite for the migration stream format description generator.
      Signed-off-by: NAlexander Graf <agraf@suse.de>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      190c882c
  4. 16 12月, 2014 1 次提交
    • D
      Start migrating migration code into a migration directory · 60fe637b
      Dr. David Alan Gilbert 提交于
      The migration code now occupies a fair chunk of the top level .c
      files, it seems time to give it it's own directory.
      
      I've not touched:
         arch_init.c - that's mostly RAM migration but has a few random other
                       bits
         savevm.c    - because it's built target specific
      
      This is purely a code move; no code has changed.
         - it fails checkpatch because of old violations, it feels safer
           to keep this as purely a move and fix those at some mythical future
           date.
      
      The xbzrle and vmstate tests are now only run for softmmu builds
      since they require files in the migrate/ directory which is only built
      for softmmu.
      Signed-off-by: NDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: NAmit Shah <amit.shah@redhat.com>
      60fe637b
  5. 14 10月, 2014 2 次提交
  6. 04 10月, 2014 1 次提交
  7. 12 8月, 2014 1 次提交
  8. 09 8月, 2014 1 次提交
  9. 23 6月, 2014 1 次提交
  10. 10 5月, 2014 1 次提交
    • M
      libcacard: remove libcacard-specific CFLAGS and LIBS from global vars · 9d171bd9
      Michael Tokarev 提交于
      Currently all what's needed for single file libcacard/vcard_emul_nss.c
      (libnss cflags) and hw/usb/ccid-card-emulated.c (libcacard includes)
      together with the libs is added to global QEMU_CFLAGS and libs_softmmu.
      
      Use the cflags only where really used (for two mentioned files), and
      libs only where needed.
      
      While at it, rename variables to better reflect reality: libcacard_*
      is really nss_*.
      
      This needs a bit more tweaking: $(NSS_LIBS) should not contain $glib_libs
      (ditto for _cflags).  But in order to fix it, some more preparations
      should be made first.  So add a FIXME comment.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      9d171bd9
  11. 08 5月, 2014 1 次提交
  12. 13 3月, 2014 1 次提交
    • S
      iothread: add I/O thread object · be8d8537
      Stefan Hajnoczi 提交于
      This is a stand-in for Michael Roth's QContext.  I expect this to be
      replaced once QContext is completed.
      
      The IOThread object is an AioContext event loop thread.  This patch adds
      the concept of multiple event loop threads, allowing users to define
      them.
      
      When SMP guests run on SMP hosts it makes sense to instantiate multiple
      IOThreads.  This spreads event loop processing across multiple cores.
      Note that additional patches are required to actually bind a device to
      an IOThread.
      
      [Andreas Färber <afaerber@suse.de> pointed out that the embedded parent
      object instance should be called "parent_obj" and have a newline
      afterwards.  This patch has been changed to reflect this.
      -- Stefan]
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      be8d8537
  13. 04 3月, 2014 1 次提交
  14. 20 2月, 2014 2 次提交
  15. 22 1月, 2014 1 次提交
  16. 13 1月, 2014 2 次提交
  17. 10 9月, 2013 1 次提交
    • T
      qemu-ga: Add Windows VSS provider and requester as DLL · b39297ae
      Tomoki Sekiyama 提交于
      Adds VSS provider and requester as a qga-vss.dll, which is loaded by
      Windows VSS service as well as by qemu-ga.
      
      "provider.cpp" implements a basic stub of a software VSS provider.
      Currently, this module only relays a frozen event from VSS service to the
      agent, and thaw event from the agent to VSS service, to block VSS process
      to keep the system frozen while snapshots are taken at the host.
      
      To register the provider to the guest system as COM+ application, the type
      library (.tlb) for qga-vss.dll is required. To build it from COM IDL (.idl),
      VisualC++, MIDL and stdole2.tlb in Windows SDK are required. This patch also
      adds pre-compiled .tlb file in the repository in order to enable
      cross-compile qemu-ga.exe for Windows with VSS support.
      
      "requester.cpp" provides the VSS requester to kick the VSS snapshot process.
      Qemu-ga.exe works without the DLL, although fsfreeze features are disabled.
      
      These functions are only supported in Windows 2003 or later. In older
      systems, fsfreeze features are disabled.
      
      In several versions of Windows which don't support attribute
      VSS_VOLSNAP_ATTR_NO_AUTORECOVERY, DoSnapshotSet fails with error
      VSS_E_OBJECT_NOT_FOUND. In this patch, we just ignore this error.
      To solve this fundamentally, we need a framework to handle mount writable
      snapshot on guests, which is required by VSS auto-recovery feature
      (cleanup phase after a snapshot is taken).
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      b39297ae
  18. 12 8月, 2013 1 次提交
  19. 23 7月, 2013 1 次提交
  20. 06 6月, 2013 1 次提交
  21. 07 5月, 2013 1 次提交
    • E
      target-i386: Add "feature-words" property to X86CPU · 8e8aba50
      Eduardo Habkost 提交于
      This property will be useful for libvirt, as libvirt already has logic
      based on low-level feature bits (not feature names), so it will be
      really easy to convert the current libvirt logic to something using the
      "feature-words" property.
      
      The property will have two main use cases:
       - Checking host capabilities, by checking the features of the "host"
         CPU model
       - Checking which features are enabled on each CPU model
      
      Example output:
      
        $ ./QMP/qmp --path=/tmp/m \
          qom-get --path=/machine/icc-bridge/icc/child[0] \
                  --property=feature-words
        item[0].cpuid-register: EDX
        item[0].cpuid-input-eax: 2147483658
        item[0].features: 0
        item[1].cpuid-register: EAX
        item[1].cpuid-input-eax: 1073741825
        item[1].features: 0
        item[2].cpuid-register: EDX
        item[2].cpuid-input-eax: 3221225473
        item[2].features: 0
        item[3].cpuid-register: ECX
        item[3].cpuid-input-eax: 2147483649
        item[3].features: 101
        item[4].cpuid-register: EDX
        item[4].cpuid-input-eax: 2147483649
        item[4].features: 563346425
        item[5].cpuid-register: EBX
        item[5].cpuid-input-eax: 7
        item[5].features: 0
        item[5].cpuid-input-ecx: 0
        item[6].cpuid-register: ECX
        item[6].cpuid-input-eax: 1
        item[6].features: 2155880449
        item[7].cpuid-register: EDX
        item[7].cpuid-input-eax: 1
        item[7].features: 126614521
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NAndreas Färber <afaerber@suse.de>
      8e8aba50
  22. 24 4月, 2013 1 次提交
  23. 16 4月, 2013 1 次提交
    • P
      tpm: reorganize headers and split hardware part · bdee56f5
      Paolo Bonzini 提交于
      The TPM subsystem does not have a full front-end/back-end separation.
      The sole available backend, tpm_passthrough, depends on the data
      structures of the sole available frontend, tpm_tis.
      
      However, we can at least try to split the user interface (tpm.c) from the
      implementation (hw/tpm).  The patches makes tpm.c not include tpm_int.h,
      which is shared between tpm_tis.c and tpm_passthrough.c; instead it
      moves more stuff to tpm_backend.h.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      bdee56f5
  24. 08 4月, 2013 1 次提交
    • P
      configure: Don't fall back to gthread coroutine backend · 7c2acc70
      Peter Maydell 提交于
      The gthread coroutine backend is broken and does not produce a working
      QEMU; it is only useful for some very limited debugging situations.
      Clean up the backend selection logic in configure so that it now runs
      "if on windows use windows; else prefer ucontext; else sigaltstack".
      
      To do this we refactor the configure code to separate out "test
      whether we have a working ucontext", "pick a default if user didn't
      specify" and "validate that user didn't specify something invalid",
      rather than having all three of these run together. We also simplify
      the Makefile logic so it just links in the backend the configure
      script selects.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1365419487-19867-3-git-send-email-peter.maydell@linaro.org
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      7c2acc70
  25. 13 3月, 2013 1 次提交
    • S
      Support for TPM command line options · d1a0cf73
      Stefan Berger 提交于
      This patch adds support for TPM command line options.
      The command line options supported here are
      
      ./qemu-... -tpmdev passthrough,path=<path to TPM device>,id=<id>
                 -device tpm-tis,tpmdev=<id>,id=<other id>
      
      and
      
      ./qemu-... -tpmdev help
      
      where the latter works similar to -soundhw help and shows a list of
      available TPM backends (for example 'passthrough').
      
      Using the type parameter, the backend is chosen, i.e., 'passthrough' for the
      passthrough driver. The interpretation of the other parameters along
      with determining whether enough parameters were provided is pushed into
      the backend driver, which needs to implement the interface function
      'create' and return a TPMDriverOpts structure if the VM can be started or
      'NULL' if not enough or bad parameters were provided.
      
      Monitor support for 'info tpm' has been added. It for example prints the
      following:
      
      (qemu) info tpm
      TPM devices:
       tpm0: model=tpm-tis
        \ tpm0: type=passthrough,path=/dev/tpm0,cancel-path=/sys/devices/pnp0/00:09/cancel
      Signed-off-by: NStefan Berger <stefanb@linux.vnet.ibm.com>
      Reviewed-by: NCorey Bryant <coreyb@linux.vnet.ibm.com>
      Reviewed-by: NJoel Schopp <jschopp@linux.vnet.ibm.com>
      Message-id: 1361987275-26289-2-git-send-email-stefanb@linux.vnet.ibm.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      d1a0cf73
  26. 01 3月, 2013 2 次提交
  27. 18 2月, 2013 1 次提交
  28. 01 2月, 2013 1 次提交
  29. 26 1月, 2013 4 次提交
  30. 13 1月, 2013 4 次提交