1. 19 9月, 2016 2 次提交
    • D
      crypto: use uint64_t for pbkdf iteration count parameters · 59b060be
      Daniel P. Berrange 提交于
      The qcrypto_pbkdf_count_iters method uses a 64 bit int
      but then checks its value against INT32_MAX before
      returning it. This bounds check is premature, because
      the calling code may well scale the iteration count
      by some value. It is thus better to return a 64-bit
      integer and let the caller do range checking.
      
      For consistency the qcrypto_pbkdf method is also changed
      to accept a 64bit int, though this is somewhat academic
      since nettle is limited to taking an 'int' while gcrypt
      is limited to taking a 'long int'.
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      59b060be
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 0f2fa73b
      Peter Maydell 提交于
      virtio: fixes
      
      virtio feature negotiation rework
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Fri 16 Sep 2016 19:54:54 BST
      # 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:
        MAINTAINERS: add virtio-* tests
        virtio-bus: Plug devices after features are negotiated
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      
      # Conflicts:
      #	MAINTAINERS
      0f2fa73b
  2. 17 9月, 2016 1 次提交
  3. 16 9月, 2016 23 次提交
    • P
      Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20160916' into staging · e3571ae3
      Peter Maydell 提交于
      tcg queued patches
      
      # gpg: Signature made Fri 16 Sep 2016 16:14:20 BST
      # gpg:                using RSA key 0xAD1270CC4DD0279B
      # gpg: Good signature from "Richard Henderson <rth7680@gmail.com>"
      # gpg:                 aka "Richard Henderson <rth@redhat.com>"
      # gpg:                 aka "Richard Henderson <rth@twiddle.net>"
      # Primary key fingerprint: 9CB1 8DDA F8E8 49AD 2AFC  16A4 AD12 70CC 4DD0 279B
      
      * remotes/rth/tags/pull-tcg-20160916:
        tcg: Optimize fence instructions
        target-i386: Generate fences for x86
        target-aarch64: Generate fences for aarch64
        target-arm: Generate fences in ARMv7 frontend
        target-alpha: Generate fence op
        tcg/tci: Add support for fence
        tcg/sparc: Add support for fence
        tcg/s390: Add support for fence
        tcg/ppc: Add support for fence
        tcg/mips: Add support for fence
        tcg/ia64: Add support for fence
        tcg/arm: Add support for fence
        tcg/aarch64: Add support for fence
        tcg/i386: Add support for fence
        Introduce TCGOpcode for memory barrier
        cpu-exec: Check -dfilter for -d cpu
        tcg: Merge GETPC and GETRA
        tcg: Support arbitrary size + alignment
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e3571ae3
    • P
      tcg: Optimize fence instructions · 34f93921
      Pranith Kumar 提交于
      This commit optimizes fence instructions.  Two optimizations are
      currently implemented: (1) unnecessary duplicate fence instructions,
      and (2) merging weaker fences into a stronger fence.
      
      [rth: Merge tcg_optimize_mb back into tcg_optimize, so that we only
      loop over the opcode stream once.  Merge "unrelated" weaker barriers
      into one stronger barrier.]
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160823134825.32578-1-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      34f93921
    • P
      target-i386: Generate fences for x86 · cc19e497
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-15-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      cc19e497
    • P
      target-aarch64: Generate fences for aarch64 · ce1bd93f
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-14-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      ce1bd93f
    • P
      target-arm: Generate fences in ARMv7 frontend · 61e4c432
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-12-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      61e4c432
    • P
      target-alpha: Generate fence op · ae2264d5
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-13-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      ae2264d5
    • P
      tcg/tci: Add support for fence · a1e69e2f
      Pranith Kumar 提交于
      Cc: Stefan Weil <sw@weilnetz.de>
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-11-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      a1e69e2f
    • P
      tcg/sparc: Add support for fence · f8f03b37
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-10-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      f8f03b37
    • P
      tcg/s390: Add support for fence · c9314d61
      Pranith Kumar 提交于
      Cc: Alexander Graf <agraf@suse.de>
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-9-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      c9314d61
    • P
      tcg/ppc: Add support for fence · 7b4af5ee
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-8-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      7b4af5ee
    • P
      tcg/mips: Add support for fence · 6f0b9910
      Pranith Kumar 提交于
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-7-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      6f0b9910
    • P
      tcg/ia64: Add support for fence · 5bbadbdf
      Pranith Kumar 提交于
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-6-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      5bbadbdf
    • P
      tcg/arm: Add support for fence · 40f191ab
      Pranith Kumar 提交于
      Cc: Andrzej Zaborowski <balrogg@gmail.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-5-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      40f191ab
    • P
      tcg/aarch64: Add support for fence · c7a59c2a
      Pranith Kumar 提交于
      Cc: Claudio Fontana <claudio.fontana@gmail.com>
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-4-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      c7a59c2a
    • P
      tcg/i386: Add support for fence · a7d00d4e
      Pranith Kumar 提交于
      Generate a 'lock orl $0,0(%esp)' instruction for ordering instead of
      mfence which has similar ordering semantics.
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-3-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      a7d00d4e
    • P
      Introduce TCGOpcode for memory barrier · f65e19bc
      Pranith Kumar 提交于
      This commit introduces the TCGOpcode for memory barrier instruction.
      
      This opcode takes an argument which is the type of memory barrier
      which should be generated.
      Signed-off-by: NPranith Kumar <bobby.prani@gmail.com>
      Message-Id: <20160714202026.9727-2-bobby.prani@gmail.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      f65e19bc
    • R
      cpu-exec: Check -dfilter for -d cpu · be2208e2
      Richard Henderson 提交于
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      be2208e2
    • R
      tcg: Merge GETPC and GETRA · 01ecaf43
      Richard Henderson 提交于
      The return address argument to the softmmu template helpers was
      confused.  In the legacy case, we wanted to indicate that there
      is no return address, and so passed in NULL.  However, we then
      immediately subtracted GETPC_ADJ from NULL, resulting in a non-zero
      value, indicating the presence of an (invalid) return address.
      
      Push the GETPC_ADJ subtraction down to the only point it's required:
      immediately before use within cpu_restore_state_from_tb, after all
      NULL pointer checks have been completed.
      
      This makes GETPC and GETRA identical.  Remove GETRA as the lesser
      used macro, replacing all uses with GETPC.
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      01ecaf43
    • R
      tcg: Support arbitrary size + alignment · 85aa8081
      Richard Henderson 提交于
      Previously we allowed fully unaligned operations, but not operations
      that are aligned but with less alignment than the operation size.
      
      In addition, arm32, ia64, mips, and sparc had been omitted from the
      previous overalignment patch, which would have led to that alignment
      being enforced.
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      85aa8081
    • P
      Merge remote-tracking branch 'remotes/awilliam/tags/vfio-fixes-20160915.0' into staging · ebc231d7
      Peter Maydell 提交于
      VFIO fixes 2016-09-15
      
      Fix a 2.7.0 regression affecting POWER8 systems in relation to EEH,
      possibly extending to subtle changes for other devices and archs.
      (David Gibson)
      
      # gpg: Signature made Thu 15 Sep 2016 18:31:42 BST
      # gpg:                using RSA key 0x239B9B6E3BB08B22
      # gpg: Good signature from "Alex Williamson <alex.williamson@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex@shazbot.org>"
      # gpg:                 aka "Alex Williamson <alwillia@redhat.com>"
      # gpg:                 aka "Alex Williamson <alex.l.williamson@gmail.com>"
      # Primary key fingerprint: 42F6 C04E 540B D1A9 9E7B  8A90 239B 9B6E 3BB0 8B22
      
      * remotes/awilliam/tags/vfio-fixes-20160915.0:
        vfio/pci: Fix regression in MSI routing configuration
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      ebc231d7
    • P
      Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging · 5f473241
      Peter Maydell 提交于
      * Support multiple -d trace:PATTERN arguments (Daniel)
      * SCSI cleanups/fixes for removable meia (Fam)
      * SCSI security fixes (Li Qiang, PJP)
      * qemu-char segfault fix (Lin Ma)
      * "make help" and qemu-socket cleanups (Marc-André)
      * end of the buffer_is_zero reword (Richard)
      * Fix target-i386 syscall segfault (Stanislav)
      * split irqchip fix/robustification (Wanpeng)
      * misc cleanups (me, Jiangang)
      * x86 vmstate fixes (Pavel)
      
      # gpg: Signature made Thu 15 Sep 2016 14:11:35 BST
      # gpg:                using RSA key 0xBFFBD25F78C7AE83
      # gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>"
      # gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>"
      # Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
      #      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83
      
      * remotes/bonzini/tags/for-upstream:
        pcspk: adding vmstate for save/restore
        kvmvapic: fix state change handler
        pc: apic: introduce APIC macro
        target-i386: Fixed syscall posssible segfault
        log: fix parsing of multiple trace:PATTERN log args
        qemu-char: avoid segfault if user lacks of permisson of a given logfile
        build-sys: add make 'help' target
        linux-user: complete omission of removing uses of strdup
        target-i386: fix ordering of fields in CPUX86State
        pc: apic: fix touch LAPIC when irqchip is split
        scsi: pvscsi: limit process IO loop to ring size
        memory: remove memory_region_destructor_rom_device
        Change net/socket.c to use socket_*() functions
        cutils: Rewrite x86 buffer zero checking
        scsi: mptsas: use g_new0 to allocate MPTSASRequest object
        virtio-scsi: Don't abort when media is ejected
        scsi-disk: Cleaning up around tray open state
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      5f473241
    • D
      vfio/pci: Fix regression in MSI routing configuration · 6d17a018
      David Gibson 提交于
      d1f6af6a "kvm-irqchip: simplify kvm_irqchip_add_msi_route" was a cleanup
      of kvmchip routing configuration, that was mostly intended for x86.
      However, it also contains a subtle change in behaviour which breaks EEH[1]
      error recovery on certain VFIO passthrough devices on spapr guests.  So far
      it's only been seen on a BCM5719 NIC on a POWER8 server, but there may be
      other hardware with the same problem.  It's also possible there could be
      circumstances where it causes a bug on x86 as well, though I don't know of
      any obvious candidates.
      
      Prior to d1f6af6a, both vfio_msix_vector_do_use() and
      vfio_add_kvm_msi_virq() used msg == NULL as a special flag to mark this
      as the "dummy" vector used to make the host hardware state sync with the
      guest expected hardware state in terms of MSI configuration.
      
      Specifically that flag caused vfio_add_kvm_msi_virq() to become a no-op,
      meaning the dummy irq would always be delivered via qemu. d1f6af6a changed
      vfio_add_kvm_msi_virq() so it takes a vector number instead of the msg
      parameter, and determines the correct message itself.  The test for !msg
      was removed, and not replaced with anything there or in the caller.
      
      With an spapr guest which has a VFIO device, if an EEH error occurs on the
      host hardware, then the device will be isolated then reset.  This is a
      combination of host and guest action, mediated by some EEH related
      hypercalls.  I haven't fully traced the mechanics, but somehow installing
      the kvm irqchip route for the dummy irq on the BCM5719 means that after EEH
      reset and recovery, at least some irqs are no longer delivered to the
      guest.
      
      In particular, the guest never gets the link up event, and so the NIC is
      effectively dead.
      
      [1] EEH (Enhanced Error Handling) is an IBM POWER server specific PCI-*
          error reporting and recovery mechanism.  The concept is somewhat
          similar to PCI-E AER, but the details are different.
      
      Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1373802
      
      Cc: Alex Williamson <alex.williamson@redhat.com>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Gavin Shan <gwshan@au1.ibm.com>
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Cc: qemu-stable@nongnu.org
      Fixes: d1f6af6a ("kvm-irqchip: simplify kvm_irqchip_add_msi_route")
      Signed-off-by: NAlex Williamson <alex.williamson@redhat.com>
      6d17a018
    • P
      Merge remote-tracking branch 'remotes/mjt/tags/trivial-patches-fetch' into staging · 518352b6
      Peter Maydell 提交于
      trivial patches for 2016-09-15
      
      # gpg: Signature made Thu 15 Sep 2016 13:40:55 BST
      # gpg:                using RSA key 0x701B4F6B1A693E59
      # gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>"
      # gpg:                 aka "Michael Tokarev <mjt@corpit.ru>"
      # gpg:                 aka "Michael Tokarev <mjt@debian.org>"
      # Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D  4324 457C E0A0 8044 65C5
      #      Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931  4B22 701B 4F6B 1A69 3E59
      
      * remotes/mjt/tags/trivial-patches-fetch: (21 commits)
        mptsas: change .realize function name
        linux-user/qemu.h: change malloc to g_malloc, free to g_free
        win32: don't run subprocess tests on Mingw32 platform
        sheepdog: remove useless casts
        fw_cfg: remove useless casts
        tricore: remove useless cast
        s390x: remove useless cast
        linux-user,s390x: remove useless cast
        coccinelle: add a script to remove useless casts
        curl: Operate on zero-length file
        Remove unused function declarations
        ivshmem: Delete duplicate debug message
        sh4: fix broken link to documentation
        MAINTAINERS: Fix up F: entry bit rot
        MAINTAINERS: Add include/sysemu/cpus.h
        MAINTAINERS: Add include/hw/sh4/ to SH4 section
        MAINTAINERS: Add include/hw/tricore/ to TriCore section
        MAINTAINERS: Add include/hw/unicore32/ to UniCore32 section
        ui/console: Fix non-working backspace key in monitor of gtk UI
        tcg: Remove duplicate header includes
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      518352b6
  4. 15 9月, 2016 14 次提交