1. 19 9月, 2016 9 次提交
  2. 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
  3. 15 9月, 2016 8 次提交