1. 18 12月, 2018 1 次提交
  2. 14 12月, 2018 6 次提交
  3. 12 12月, 2018 2 次提交
    • P
      monitor: Suspend monitor instead dropping commands · 9ab84470
      Peter Xu 提交于
      When a QMP client sends in-band commands more quickly that we can
      process them, we can either queue them without limit (QUEUE), drop
      commands when the queue is full (DROP), or suspend receiving commands
      when the queue is full (SUSPEND).  None of them is ideal:
      
      * QUEUE lets a misbehaving client make QEMU eat memory without bounds.
      Not such a hot idea.
      
      * With DROP, the client has to cope with dropped in-band commands.  To
      inform the client, we send a COMMAND_DROPPED event then.  The event is
      flawed by design in two ways: it's ambiguous (see commit d621cfe0),
      and it brings back the "eat memory without bounds" problem.
      
      * With SUSPEND, the client has to manage the flow of in-band commands to
      keep the monitor available for out-of-band commands.
      
      We currently DROP.  Switch to SUSPEND.
      
      Managing the flow of in-band commands to keep the monitor available for
      out-of-band commands isn't really hard: just count the number of
      "outstanding" in-band commands (commands sent minus replies received),
      and if it exceeds the limit, hold back additional ones until it drops
      below the limit again.
      
      Note that we need to be careful pairing the suspend with a resume, or
      else the monitor will hang, possibly forever.  And here since we need to
      make sure both:
      
           (1) popping request from the req queue, and
           (2) reading length of the req queue
      
      will be in the same critical section, we let the pop function take the
      corresponding queue lock when there is a request, then we release the
      lock from the caller.
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <20181009062718.1914-2-peterx@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9ab84470
    • K
      docs: Document vCPU hotplug procedure · ade7e258
      Kashyap Chamarthy 提交于
      Signed-off-by: NKashyap Chamarthy <kchamart@redhat.com>
      Message-Id: <20181030123526.26415-4-kchamart@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      ade7e258
  4. 19 11月, 2018 1 次提交
    • E
      qcow2: Document some maximum size constraints · d3e1a7eb
      Eric Blake 提交于
      Although off_t permits up to 63 bits (8EB) of file offsets, in
      practice, we're going to hit other limits first.  Document some
      of those limits in the qcow2 spec (some are inherent, others are
      implementation choices of qemu), and how choice of cluster size
      can influence some of the limits.
      
      While we cannot map any uncompressed virtual cluster to any
      address higher than 64 PB (56 bits) (due to the current L1/L2
      field encoding stopping at bit 55), qemu's cap of 8M for the
      refcount table can still access larger host addresses for some
      combinations of large clusters and small refcount_order.  For
      comparison, ext4 with 4k blocks caps files at 16PB.
      
      Another interesting limit: for compressed clusters, the L2 layout
      requires an ever-smaller maximum host offset as cluster size gets
      larger, down to a 512 TB maximum with 2M clusters.  In particular,
      note that with a cluster size of 8k or smaller, the L2 entry for
      a compressed cluster could technically point beyond the 64PB mark,
      but when you consider that with 8k clusters and refcount_order = 0,
      you cannot access beyond 512T without exceeding qemu's limit of an
      8M cap on the refcount table, it is unlikely that any image in the
      wild has attempted to do so.  To be safe, let's document that bits
      beyond 55 in a compressed cluster must be 0.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      d3e1a7eb
  5. 07 11月, 2018 1 次提交
    • M
      memory: learn about non-volatile memory region · c26763f8
      Marc-André Lureau 提交于
      Add a new flag to mark memory region that are used as non-volatile, by
      NVDIMM for example. That bit is propagated down to the flat view, and
      reflected in HMP info mtree with a "nv-" prefix on the memory type.
      
      This way, guest_phys_blocks_region_add() can skip the NV memory
      regions for dumps and TCG memory clear in a following patch.
      
      Cc: dgilbert@redhat.com
      Cc: imammedo@redhat.com
      Cc: pbonzini@redhat.com
      Cc: guangrong.xiao@linux.intel.com
      Cc: mst@redhat.com
      Cc: xiaoguangrong.eric@gmail.com
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-Id: <20181003114454.5662-2-marcandre.lureau@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      c26763f8
  6. 06 11月, 2018 1 次提交
  7. 31 10月, 2018 3 次提交
  8. 29 10月, 2018 1 次提交
  9. 26 10月, 2018 1 次提交
    • C
      docs/devel/testing.rst: add missing newlines after code block · 92970812
      Cleber Rosa 提交于
      The line immediate following a ".. code::" block is considered
      to contains arguments to the "code directive".  The lack of a
      new line gives me during at parse time:
      
         testing.rst:63: (ERROR/3) Error in "code" directive:
         maximum 1 argument(s) allowed, 3 supplied.
      
         .. code::
           make check-unit V=1
      
         testing.rst:120: (ERROR/3) Error in "code" directive:
         maximum 1 argument(s) allowed, 3 supplied.
      
         .. code::
           make check-qtest V=1
      
      Let's add the missing newlines, both for consistency and to
      avoid the parsing errors.
      Signed-off-by: NCleber Rosa <crosa@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Message-Id: <20181004161852.11673-6-crosa@redhat.com>
      Signed-off-by: NLaurent Vivier <laurent@vivier.eu>
      92970812
  10. 19 10月, 2018 1 次提交
  11. 17 10月, 2018 1 次提交
  12. 12 10月, 2018 1 次提交
  13. 03 10月, 2018 2 次提交
  14. 02 10月, 2018 1 次提交
  15. 01 10月, 2018 4 次提交
  16. 27 9月, 2018 1 次提交
    • G
      display/stdvga: add edid support. · d46b40fc
      Gerd Hoffmann 提交于
      This patch adds edid support to the qemu stdvga.  It is turned off by
      default and can be enabled with the new edid property.  The patch also
      adds xres and yres properties to specify the video mode you want the
      guest use.  Works only with edid enabled and updated guest driver.
      
      The mmio bar of the stdvga has some unused address space at the start.
      It was reserved just in case it'll be needed for virtio, but it turned
      out to not be needed for that.  So let's use that region to place the
      EDID data block there.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 20180925075646.25114-6-kraxel@redhat.com
      d46b40fc
  17. 25 9月, 2018 1 次提交
  18. 31 8月, 2018 2 次提交
  19. 29 8月, 2018 3 次提交
    • E
      qapi: Add comments to aid debugging generated introspection · 8c643361
      Eric Blake 提交于
      We consciously chose in commit 1a9a507b to hide QAPI type names
      from the introspection output on the wire, but added a command
      line option -u to unmask the type name when doing a debug build.
      The unmask option still remains useful to some other forms of
      automated analysis, so it will not be removed; however, when it
      is not in use, the generated .c file can be hard to read.  At
      the time when we first introduced masking, the generated file
      consisted only of a monolithic C string, so there was no clean
      way to inject any comments.
      
      Later, in commit 7d0f982b, we switched the generation to output
      a QLit object, in part to make it easier for future addition of
      conditional compilation.  In fact, commit d626b6c1 took advantage
      of this by passing a tuple instead of a bare object for encoding
      the output of conditionals.  By extending that tuple, we can now
      interject strategic comments.
      
      For now, type name debug aid comments are only output once per
      meta-type, rather than at all uses of the number used to encode
      the type within the introspection data.  But this is still a lot
      more convenient than having to regenerate the file with the
      unmask operation temporarily turned on - merely search the
      generated file for '"NNN" =' to learn the corresponding source
      name and associated definition of type NNN.
      
      The generated qapi-introspect.c changes only with the addition
      of comments, such as:
      
      | @@ -14755,6 +15240,7 @@
      |          { "name", QLIT_QSTR("[485]"), },
      |          {}
      |      })),
      | +    /* "485" = QCryptoBlockInfoLUKSSlot */
      |      QLIT_QDICT(((QLitDictEntry[]) {
      |          { "members", QLIT_QLIST(((QLitObject[]) {
      |              QLIT_QDICT(((QLitDictEntry[]) {
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180827213943.33524-3-eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      [Rebased, update to qapi-code-gen.txt corrected]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      8c643361
    • M
      qapi: Update docs for generator changes since commit 9ee86b85 · 913b5e28
      Markus Armbruster 提交于
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20180828120736.32323-3-armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      913b5e28
    • P
      qapi: Drop qapi_event_send_FOO()'s Error ** argument · 3ab72385
      Peter Xu 提交于
      The generated qapi_event_send_FOO() take an Error ** argument.  They
      can't actually fail, because all they do with the argument is passing it
      to functions that can't fail: the QObject output visitor, and the
      @qmp_emit callback, which is either monitor_qapi_event_queue() or
      event_test_emit().
      
      Drop the argument, and pass &error_abort to the QObject output visitor
      and @qmp_emit instead.
      Suggested-by: NEric Blake <eblake@redhat.com>
      Suggested-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NPeter Xu <peterx@redhat.com>
      Message-Id: <20180815133747.25032-4-peterx@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      [Commit message rewritten, update to qapi-code-gen.txt corrected]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      3ab72385
  20. 25 8月, 2018 1 次提交
    • M
      docs/interop/qmp-spec: How to force known good parser state · 72e9e569
      Markus Armbruster 提交于
      Section "QGA Synchronization" specifies that sending "a raw 0xFF
      sentinel byte" makes the server "reset its state and discard all
      pending data prior to the sentinel."  What actually happens there is a
      lexical error, which will produce one or more error responses.
      Moreover, it's not specific to QGA.
      
      Create new section "Forcing the JSON parser into known-good state" to
      document the technique properly.  Rewrite section "QGA
      Synchronization" to document just the other direction, i.e. command
      guest-sync-delimited.
      
      Section "Protocol Specification" mentions "synchronization bytes
      (documented below)".  Delete that.
      
      While there, fix it not to claim '"Server" is QEMU itself', but
      '"Server" is either QEMU or the QEMU Guest Agent'.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180823164025.12553-2-armbru@redhat.com>
      72e9e569
  21. 22 8月, 2018 1 次提交
  22. 21 8月, 2018 1 次提交
  23. 20 8月, 2018 1 次提交
  24. 17 8月, 2018 1 次提交
    • D
      docs: add guidance on configuring CPU models for x86 · 2544e9e4
      Daniel P. Berrangé 提交于
      With the recent set of CPU hardware vulnerabilities on x86, it is
      increasingly difficult to understand which CPU configurations are
      good to use and what flaws they might be vulnerable to.
      
      This doc attempts to help management applications and administrators in
      picking sensible CPU configuration on x86 hosts. It outlines which of
      the named CPU models are good choices, and describes which extra CPU
      flags should be enabled to allow the guest to mitigate hardware flaws.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20180627160103.13634-1-berrange@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      2544e9e4
  25. 15 8月, 2018 1 次提交