1. 20 Mar, 2017 7 commits
  2. 18 Mar, 2017 2 commits
    • Marek Vasut's avatar
      nios2: iic: Convert CPU prop to qom link · ebedf0f9
      Marek Vasut authored
      Add a const qom link between the CPU and the IIC instead
      of passing the CPU link through a qom property.
      Signed-off-by: 's avatarMarek Vasut <marex@denx.de>
      Reviewed-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Message-id: 20170317210627.23532-1-marex@denx.de
      Cc: Alexander Graf <agraf@suse.de>
      Cc: Chris Wulff <crwulff@gmail.com>
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Jeff Da Silva <jdasilva@altera.com>
      Cc: Ley Foon Tan <lftan@altera.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Sandra Loosemore <sandra@codesourcery.com>
      Cc: Yves Vandervennet <yvanderv@altera.com>
      Reviewed-by: 's avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      ebedf0f9
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/xtensa/tags/20170317-xtensa' into staging · 96dd9c89
      Peter Maydell authored
      target/xtensa fixes for 2.9:
      
      - fix build failure when FDT support is not enabled;
      - correctly pass command line arguments to semihosting guests.
      
      # gpg: Signature made Fri 17 Mar 2017 18:14:01 GMT
      # gpg:                using RSA key 0x51F9CC91F83FA044
      # gpg: Good signature from "Max Filippov <filippov@cadence.com>"
      # gpg:                 aka "Max Filippov <max.filippov@cogentembedded.com>"
      # gpg:                 aka "Max Filippov <jcmvbkbc@gmail.com>"
      # Primary key fingerprint: 2B67 854B 98E5 327D CDEB  17D8 51F9 CC91 F83F A044
      
      * remotes/xtensa/tags/20170317-xtensa:
        target/xtensa: fix semihosting argc/argv implementation
        target/xtensa: xtfpga: load DTB only when FDT support is enabled
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      96dd9c89
  3. 17 Mar, 2017 14 commits
  4. 16 Mar, 2017 17 commits
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-cirrus-20170316-1' into staging · 272d7dee
      Peter Maydell authored
      cirrus: blitter fixes.
      
      # gpg: Signature made Thu 16 Mar 2017 09:05:22 GMT
      # gpg:                using RSA key 0x4CB6D8EED3E87138
      # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>"
      # gpg:                 aka "Gerd Hoffmann <gerd@kraxel.org>"
      # gpg:                 aka "Gerd Hoffmann (private) <kraxel@gmail.com>"
      # Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138
      
      * remotes/kraxel/tags/pull-cirrus-20170316-1:
        cirrus: stop passing around src pointers in the blitter
        cirrus: stop passing around dst pointers in the blitter
        cirrus: fix cirrus_invalidate_region
        cirrus: add option to disable blitter
        cirrus: switch to 4 MB video memory by default
        cirrus/vnc: zap bitblit support from console code.
        fix :cirrus_vga fix OOB read case qemu Segmentation fault
      
      # Conflicts:
      #	include/hw/compat.h
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      272d7dee
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170316' into staging · c5e737e5
      Peter Maydell authored
      migration/next for 20170316
      
      # gpg: Signature made Thu 16 Mar 2017 08:21:51 GMT
      # gpg:                using RSA key 0xF487EF185872D723
      # gpg: Good signature from "Juan Quintela <quintela@redhat.com>"
      # gpg:                 aka "Juan Quintela <quintela@trasno.org>"
      # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723
      
      * remotes/juanquintela/tags/migration/20170316:
        postcopy: Check for shared memory
        RAMBlocks: qemu_ram_is_shared
        vmstate: fix failed iotests case 68 and 91
        migration/block: Avoid invoking blk_drain too frequently
        migration: use "" as the default for tls-creds/hostname
        Change the method to calculate dirty-pages-rate
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      c5e737e5
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging · 094a9a7c
      Peter Maydell authored
      Pull request
      
      Tracing makefile fixes for QEMU 2.9.
      
      # gpg: Signature made Thu 16 Mar 2017 06:56:10 GMT
      # gpg:                using RSA key 0x9CA4ABB381AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      # Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8
      
      * remotes/stefanha/tags/tracing-pull-request:
        trace: ensure $(tracetool-y) is defined in top level makefile
        makefile: generate trace-events-all upfront
        makefile: merge GENERATED_HEADERS & GENERATED_SOURCES variables
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      094a9a7c
    • Peter Maydell's avatar
      dtc: Revert unintentional submodule downgrade from commit c2cabb34 · 699f6c6f
      Peter Maydell authored
      Commit c2cabb34 inadvertently downgraded the 'dtc' submodule,
      undoing the increments added in earlier commits. Revert this,
      returning the submodule state to where we should be.
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      699f6c6f
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2017-03-16' into staging · 3c2758c2
      Peter Maydell authored
      QAPI patches for 2017-03-16
      
      # gpg: Signature made Thu 16 Mar 2017 06:18:38 GMT
      # gpg:                using RSA key 0x3870B400EB918653
      # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>"
      # gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>"
      # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653
      
      * remotes/armbru/tags/pull-qapi-2017-03-16: (49 commits)
        qapi: Fix a misleading parser error message
        qapi: Make pylint a bit happier
        qapi: Drop unused .check_clash() parameter schema
        qapi: union_types is a list used like a dict, make it one
        qapi: struct_types is a list used like a dict, make it one
        qapi: enum_types is a list used like a dict, make it one
        qapi: Factor add_name() calls out of the meta conditional
        qapi: Simplify what gets stored in enum_types
        qapi: Drop unused variable events
        qapi: Eliminate check_docs() and drop QAPIDoc.expr
        qapi: Fix detection of bogus member documentation
        tests/qapi-schema: Improve coverage of bogus member docs
        tests/qapi-schema: Rename doc-bad-args to doc-bad-command-arg
        qapi: Move empty doc section checking to doc parser
        qapi: Improve error message on @NAME: in free-form doc
        qapi: Move detection of doc / expression name mismatch
        qapi: Fix detection of doc / expression mismatch
        tests/qapi-schema: Improve doc / expression mismatch coverage
        qapi2texi: Use category "Object" for all object types
        qapi2texi: Generate descriptions for simple union tags
        ...
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      3c2758c2
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 3716fba3
      Peter Maydell authored
      virtio, pci: fixes
      
      More fixes missed in the previous pull request.
      Signed-off-by: 's avatarMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Thu 16 Mar 2017 02:29:49 GMT
      # gpg:                using RSA key 0x281F0DB8D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17  0970 C350 3912 AFBE 8E67
      #      Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA  8A0D 281F 0DB8 D28D 5469
      
      * remotes/mst/tags/for_upstream:
        virtio-serial-bus: Delete timer from list before free it
        hw/virtio: fix Power Management Control Register for PCI Express virtio devices
        hw/virtio: fix Link Control Register for PCI Express virtio devices
        hw/virtio: fix error enabling flags in Device Control register
        hw/pcie: fix Extended Configuration Space for devices with no Extended Capabilities
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      3716fba3
    • Peter Maydell's avatar
      Merge remote-tracking branch 'remotes/jnsnow/tags/ide-pull-request' into staging · 7c756380
      Peter Maydell authored
      # gpg: Signature made Thu 16 Mar 2017 00:52:41 GMT
      # gpg:                using RSA key 0x7DEF8106AAFC390E
      # gpg: Good signature from "John Snow (John Huston) <jsnow@redhat.com>"
      # Primary key fingerprint: FAEB 9711 A12C F475 812F  18F2 88A9 064D 1835 61EB
      #      Subkey fingerprint: F9B7 ABDB BCAC DF95 BE76  CBD0 7DEF 8106 AAFC 390E
      
      * remotes/jnsnow/tags/ide-pull-request:
        ide: ahci: call cleanup function in ahci unit
        ide: core: add cleanup function
        ide: qdev: register ide bus unrealize function
      Signed-off-by: 's avatarPeter Maydell <peter.maydell@linaro.org>
      7c756380
    • Dr. David Alan Gilbert's avatar
      postcopy: Check for shared memory · 8679638b
      Dr. David Alan Gilbert authored
      Postcopy doesn't support migration of RAM shared with another process
      yet (we've got a bunch of things to understand).
      Check for the case and don't allow postcopy to be enabled.
      Signed-off-by: 's avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: 's avatarJuan Quintela <quintela@redhat.com>
      Signed-off-by: 's avatarJuan Quintela <quintela@redhat.com>
      8679638b
    • Dr. David Alan Gilbert's avatar
      RAMBlocks: qemu_ram_is_shared · 463a4ac2
      Dr. David Alan Gilbert authored
      Provide a helper to say whether a RAMBlock was created as a
      shared mapping.
      Signed-off-by: 's avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Reviewed-by: 's avatarJuan Quintela <quintela@redhat.com>
      Signed-off-by: 's avatarJuan Quintela <quintela@redhat.com>
      463a4ac2
    • QingFeng Hao's avatar
      vmstate: fix failed iotests case 68 and 91 · e1e686c1
      QingFeng Hao authored
      This problem affects s390x only if we are running without KVM.
      Basically, S390CPU.irqstate is unused if we do not use KVM,
      and thus no buffer is allocated.
      This causes size=0, first_elem=NULL and n_elems=1 in
      vmstate_load_state and vmstate_save_state. And the assert fails.
      With this fix we can go back to the old behavior and support
      VMS_VBUFFER with size 0 and nullptr.
      Signed-off-by: 's avatarQingFeng Hao <haoqf@linux.vnet.ibm.com>
      Signed-off-by: 's avatarHalil Pasic <pasic@linux.vnet.ibm.com>
      Reviewed-by: 's avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: 's avatarJuan Quintela <quintela@redhat.com>
      e1e686c1
    • Lidong Chen's avatar
      migration/block: Avoid invoking blk_drain too frequently · 1cf6aa74
      Lidong Chen authored
      Increase bmds->cur_dirty after submit io, so reduce the frequency
      involve into blk_drain, and improve the performance obviously
      when block migration.
      
      The performance test result of this patch:
      
      During the block dirty save phase, this patch improve guest os IOPS
      from 4.0K to 9.5K. and improve the migration speed from
      505856 rsec/s to 855756 rsec/s.
      Signed-off-by: 's avatarLidong Chen <jemmy858585@gmail.com>
      Reviewed-by: 's avatarFam Zheng <famz@redhat.com>
      Signed-off-by: 's avatarJuan Quintela <quintela@redhat.com>
      1cf6aa74
    • Gerd Hoffmann's avatar
      cirrus: stop passing around src pointers in the blitter · ffaf8577
      Gerd Hoffmann authored
      Does basically the same as "cirrus: stop passing around dst pointers in
      the blitter", just for the src pointer instead of the dst pointer.
      
      For the src we have to care about cputovideo blits though and fetch the
      data from s->cirrus_bltbuf instead of vga memory.  The cirrus_src*()
      helper functions handle that.
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1489584487-3489-1-git-send-email-kraxel@redhat.com
      ffaf8577
    • Gerd Hoffmann's avatar
      cirrus: stop passing around dst pointers in the blitter · 026aeffc
      Gerd Hoffmann authored
      Instead pass around the address (aka offset into vga memory).  Calculate
      the pointer in the rop_* functions, after applying the mask to the
      address, to make sure the address stays within the valid range.
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1489574872-8679-1-git-send-email-kraxel@redhat.com
      026aeffc
    • Gerd Hoffmann's avatar
      cirrus: fix cirrus_invalidate_region · e048dac6
      Gerd Hoffmann authored
      off_cur_end is exclusive, so off_cur_end == cirrus_addr_mask is valid.
      Fix calculation to make sure to allow that, otherwise the assert added
      by commit f153b563 can trigger for valid
      blits.
      
      Test case: boot windows nt 4.0
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1489579606-26020-1-git-send-email-kraxel@redhat.com
      e048dac6
    • Gerd Hoffmann's avatar
      cirrus: add option to disable blitter · 827bd517
      Gerd Hoffmann authored
      Ok, we have this beast in the cirrus code which is not used at all by
      modern guests, except when you try to find security holes in qemu.  So,
      add an option to disable blitter altogether.  Guests released within
      the last ten years should not show any rendering issues if you turn off
      blitter support.
      
      There are no known bugs in the cirrus blitter code.  But in the past we
      hoped a few times already that we've finally nailed the last issue.  So
      having some easy way to mitigate in case yet another blitter issue shows
      up certainly makes me sleep a bit better at night.
      
      For completeness:  The by far better way to mitigate is to switch away
      from cirrus and use stdvga instead.  Or something more modern like
      virtio-vga in case your guest has support for it.
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1489494540-15745-1-git-send-email-kraxel@redhat.com
      827bd517
    • Gerd Hoffmann's avatar
      cirrus: switch to 4 MB video memory by default · 73c14813
      Gerd Hoffmann authored
      Quoting cirrus source code:
         Follow real hardware, cirrus card emulated has 4 MB video memory.
         Also accept 8 MB/16 MB for backward compatibility.
      
      So just use 4MB by default.  We decided to leave that at 8MB by default
      a while ago, for live migration compatibility reasons.  But we have
      compat properties to handle that, so that isn't a compeling reason.
      
      This also removes some sanity check inconsistencies in the cirrus code.
      Some places check against the allocated video memory, some places check
      against the 4MB physical hardware has.  Guest code can trigger asserts
      because of that.
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1489494514-15606-1-git-send-email-kraxel@redhat.com
      73c14813
    • Gerd Hoffmann's avatar
      cirrus/vnc: zap bitblit support from console code. · 50628d34
      Gerd Hoffmann authored
      There is a special code path (dpy_gfx_copy) to allow graphic emulation
      notify user interface code about bitblit operations carryed out by
      guests.  It is supported by cirrus and vnc server.  The intended purpose
      is to optimize display scrolls and just send over the scroll op instead
      of a full display update.
      
      This is rarely used these days though because modern guests simply don't
      use the cirrus blitter any more.  Any linux guest using the cirrus drm
      driver doesn't.  Any windows guest newer than winxp doesn't ship with a
      cirrus driver any more and thus uses the cirrus as simple framebuffer.
      
      So this code tends to bitrot and bugs can go unnoticed for a long time.
      See for example commit "3e10c3ec vnc: fix qemu crash because of SIGSEGV"
      which fixes a bug lingering in the code for almost a year, added by
      commit "c7628bff vnc: only alloc server surface with clients connected".
      
      Also the vnc server will throttle the frame rate in case it figures the
      network can't keep up (send buffers are full).  This doesn't work with
      dpy_gfx_copy, for any copy operation sent to the vnc client we have to
      send all outstanding updates beforehand, otherwise the vnc client might
      run the client side blit on outdated data and thereby corrupt the
      display.  So this dpy_gfx_copy "optimization" might even make things
      worse on slow network links.
      
      Lets kill it once for all.
      
      Oh, and one more reason: Turns out (after writing the patch) we have a
      security bug in that code path ...
      
      Fixes: CVE-2016-9603
      Signed-off-by: 's avatarGerd Hoffmann <kraxel@redhat.com>
      Message-id: 1489494419-14340-1-git-send-email-kraxel@redhat.com
      50628d34