1. 13 1月, 2017 5 次提交
    • A
      cputlb: drop flush_global flag from tlb_flush · d10eb08f
      Alex Bennée 提交于
      We have never has the concept of global TLB entries which would avoid
      the flush so we never actually use this flag. Drop it and make clear
      that tlb_flush is the sledge-hammer it has always been.
      Signed-off-by: NAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      [DG: ppc portions]
      Acked-by: NDavid Gibson <david@gibson.dropbear.id.au>
      d10eb08f
    • A
      cpu_common_reset: wrap TCG specific code in tcg_enabled() · ba7d3d18
      Alex Bennée 提交于
      Both the cpu->tb_jmp_cache and SoftMMU TLB structures are only used
      when running TCG code so we might as well skip them for anything else.
      Signed-off-by: NAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
      ba7d3d18
    • A
      qom/cpu: move tlb_flush to cpu_common_reset · 1f5c00cf
      Alex Bennée 提交于
      It is a common thing amongst the various cpu reset functions want to
      flush the SoftMMU's TLB entries. This is done either by calling
      tlb_flush directly or by way of a general memset of the CPU
      structure (sometimes both).
      
      This moves the tlb_flush call to the common reset function and
      additionally ensures it is only done for the CONFIG_SOFTMMU case and
      when tcg is enabled.
      
      In some target cases we add an empty end_of_reset_fields structure to the
      target vCPU structure so have a clear end point for any memset which
      is resetting value in the structure before CPU_COMMON (where the TLB
      structures are).
      
      While this is a nice clean-up in general it is also a precursor for
      changes coming to cputlb for MTTCG where the clearing of entries
      can't be done arbitrarily across vCPUs. Currently the cpu_reset
      function is usually called from the context of another vCPU as the
      architectural power up sequence is run. By using the cputlb API
      functions we can ensure the right behaviour in the future.
      Signed-off-by: NAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: NRichard Henderson <rth@twiddle.net>
      Reviewed-by: NDavid Gibson <david@gibson.dropbear.id.au>
      1f5c00cf
    • P
      Merge remote-tracking branch 'remotes/bkoppelmann/tags/pull-tricore-2017-01-11-2' into staging · b6c08970
      Peter Maydell 提交于
      TriCore FPU patches
      
      # gpg: Signature made Wed 11 Jan 2017 13:40:11 GMT
      # gpg:                using RSA key 0x0AD2C6396B69CA14
      # gpg: Good signature from "Bastian Koppelmann <kbastian@mail.uni-paderborn.de>"
      # Primary key fingerprint: 6E63 6A7E 83F2 DD0C FA6E  6E37 0AD2 C639 6B69 CA14
      
      * remotes/bkoppelmann/tags/pull-tricore-2017-01-11-2:
        target-tricore: Add updfl instruction
        target-tricore: Added new JNE instruction variant
        target-tricore: Added new MOV instruction variant
        target-tricore: Added MADD.F and MSUB.F instructions
        target-tricore: Added FTOUZ instruction
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b6c08970
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-vga-20170111-1' into staging · 80fbc689
      Peter Maydell 提交于
      vga: fixes for virtio-gpu and cirrus.
      
      # gpg: Signature made Wed 11 Jan 2017 10:24:24 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-vga-20170111-1:
        virtio-gpu: tag as not hotpluggable
        virtio-gpu: Fix memory leak in virtio_gpu_load()
        virtio-gpu: Recalculate VirtIOGPU::hostmem on VM load
        display: cirrus: ignore source pitch value as needed in blit_is_unsafe
        virtio-gpu: fix information leak in capset get dispatch
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      80fbc689
  2. 12 1月, 2017 3 次提交
    • P
      Merge remote-tracking branch 'remotes/kraxel/tags/pull-audio-20170111-1' into staging · 4201e616
      Peter Maydell 提交于
      audio: qomify drivers, hotplug fixes.
      
      # gpg: Signature made Wed 11 Jan 2017 09:32:09 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-audio-20170111-1:
        es1370: wire up reset via DeviceClass
        audio: ac97: add exit function
        audio: es1370: add exit function
        hw/audio: QOM'ify pl041.c
        hw/audio: QOM'ify marvell_88w8618.c
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4201e616
    • P
      Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20170110' into staging · 0f2d17c1
      Peter Maydell 提交于
      TCG opcodes for extract, clz, ctz, ctpop
      
      # gpg: Signature made Wed 11 Jan 2017 02:12:41 GMT
      # 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-20170110: (65 commits)
        tcg/i386: Handle ctpop opcode
        tcg/ppc: Handle ctpop opcode
        tcg: Use ctpop to generate ctz if needed
        tests: New test-bitcnt
        qemu/host-utils.h: Reduce the operation count in the fallback ctpop
        target-i386: Use ctpop helper
        target-tilegx: Use ctpop helper
        target-sparc: Use ctpop helper
        target-s390x: Avoid a loop for popcnt
        target-ppc: Use ctpop helper
        target-alpha: Use ctpop helper
        tcg: Add opcode for ctpop
        target-xtensa: Use clrsb helper
        target-tricore: Use clrsb helper
        target-arm: Use clrsb helper
        tcg: Add helpers for clrsb
        tcg/i386: Rely on undefined/undocumented behaviour of BSF/BSR
        tcg/i386: Handle ctz and clz opcodes
        tcg/i386: Allow bmi2 shiftx to have non-matching operands
        tcg/i386: Hoist common arguments in tcg_out_op
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      0f2d17c1
    • G
      libqtest: handle zero length memwrite/memread · 204febd1
      Greg Kurz 提交于
      Some recently added tests pass a zero length to qtest_memwrite().
      Unfortunately, the qtest protocol doesn't implement an on-the-wire
      syntax for zero-length writes and the current code happily sends
      garbage to QEMU. This causes intermittent failures.
      
      It isn't worth the pain to enhance the protocol, so this patch
      simply fixes the issue by "just return, doing nothing". The same
      fix is applied to qtest_memread() since the issue also exists in
      the QEMU part of the "memread" command.
      Suggested-by: NPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NJohn Snow <jsnow@redhat.com>
      Message-id: 148412457273.22750.983275587432075569.stgit@bahia
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      204febd1
  3. 11 1月, 2017 32 次提交