1. 15 10月, 2018 1 次提交
  2. 12 10月, 2018 24 次提交
  3. 11 10月, 2018 1 次提交
    • P
      Merge remote-tracking branch 'remotes/armbru/tags/pull-misc-2018-10-10' into staging · 75e50c80
      Peter Maydell 提交于
      Miscellaneous patches for 2018-10-10
      
      # gpg: Signature made Wed 10 Oct 2018 07:03:10 BST
      # gpg:                using RSA key 3870B400EB918653
      # 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-misc-2018-10-10:
        ivshmem: Fix unplug of device "ivshmem-plain"
        libqtest: Inline g_assert_no_errno()
        tests: Restore check-qdict unit test
        qapi/misc.json: Remove superfluous words in CpuModelExpansionType
        tests/check-qjson: fix a leak
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      75e50c80
  4. 10 10月, 2018 3 次提交
  5. 09 10月, 2018 3 次提交
  6. 08 10月, 2018 8 次提交
    • P
      Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20181008' into staging · 7c69b7c8
      Peter Maydell 提交于
      target-arm queue:
       * target/arm: fix error in a code comment
       * virt: Suppress external aborts on virt-2.10 and earlier
       * target/arm: Correct condition for v8M callee stack push
       * target/arm: Don't read r4 from v8M exception stackframe twice
       * target/arm: Support SVE in system emulation mode
       * target/arm: Implement v8M hardware stack limit checking
       * hw/display/bcm2835_fb: Silence Coverity warning about multiply overflow
      
      # gpg: Signature made Mon 08 Oct 2018 14:58:53 BST
      # gpg:                using RSA key 3C2525ED14360CDE
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>"
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>"
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>"
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * remotes/pmaydell/tags/pull-target-arm-20181008: (33 commits)
        hw/display/bcm2835_fb: Silence Coverity warning about multiply overflow
        target/arm: Add v8M stack checks for MSR to SP_NS
        target/arm: Add v8M stack checks for VLDM/VSTM
        target/arm: Add v8M stack checks for Thumb push/pop
        target/arm: Add v8M stack checks for T32 load/store single
        target/arm: Add v8M stack checks for Thumb2 LDM/STM
        target/arm: Add v8M stack checks for LDRD/STRD (imm)
        target/arm: Add v8M stack limit checks on NS function calls
        target/arm: Add v8M stack checks on exception entry
        target/arm: Add some comments in Thumb decode
        target/arm: Add v8M stack checks on ADD/SUB/MOV of SP
        target/arm: Move v7m_using_psp() to internals.h
        target/arm: Define new EXCP type for v8M stack overflows
        target/arm: Define new TBFLAG for v8M stack checking
        target/arm: Pass TCGMemOpIdx to sve memory helpers
        target/arm: Rewrite vector gather first-fault loads
        target/arm: Rewrite vector gather stores
        target/arm: Rewrite vector gather loads
        target/arm: Split contiguous stores for endianness
        target/arm: Split contiguous loads for endianness
        ...
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      7c69b7c8
    • P
      hw/display/bcm2835_fb: Silence Coverity warning about multiply overflow · 74e2e59b
      Peter Maydell 提交于
      Coverity complains (CID 1395628) that the multiply in the calculation
      of the framebuffer base is performed as 32x32 but then used in a
      context that takes a 64-bit hwaddr. This can't actually ever
      overflow the 32-bit result, because of the constraints placed on
      the s->config values in bcm2835_fb_validate_config(). But we
      can placate Coverity anyway, by explicitly casting one of the
      inputs to a hwaddr, so the whole expression is calculated with
      64-bit arithmetic.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 20181005133012.26490-1-peter.maydell@linaro.org
      74e2e59b
    • P
      target/arm: Add v8M stack checks for MSR to SP_NS · 167765f0
      Peter Maydell 提交于
      Updating the NS stack pointer via MSR to SP_NS should include
      a check whether the new SP value is below the stack limit.
      No other kinds of update to the various stack pointer and
      limit registers via MSR should perform a check.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20181002163556.10279-14-peter.maydell@linaro.org
      167765f0
    • P
      target/arm: Add v8M stack checks for VLDM/VSTM · 8a954faf
      Peter Maydell 提交于
      Add the v8M stack checks for the VLDM/VSTM
      (aka VPUSH/VPOP) instructions. This code is currently
      unreachable because we haven't yet implemented M profile
      floating point support, but since the change is simple,
      we add it now because otherwise we're likely to forget to
      do it later.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20181002163556.10279-13-peter.maydell@linaro.org
      8a954faf
    • P
      target/arm: Add v8M stack checks for Thumb push/pop · aa369e5c
      Peter Maydell 提交于
      Add v8M stack checks for the 16-bit Thumb push/pop
      encodings: STMDB, STMFD, LDM, LDMIA, LDMFD.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20181002163556.10279-12-peter.maydell@linaro.org
      aa369e5c
    • P
      target/arm: Add v8M stack checks for T32 load/store single · 0bc003ba
      Peter Maydell 提交于
      Add v8M stack checks for the instructions in the T32
      "load/store single" encoding class: these are the
      "immediate pre-indexed" and "immediate, post-indexed"
      LDR and STR instructions.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20181002163556.10279-11-peter.maydell@linaro.org
      0bc003ba
    • P
      target/arm: Add v8M stack checks for Thumb2 LDM/STM · 7c0ed88e
      Peter Maydell 提交于
      Add the v8M stack checks for:
       * LDM (T2 encoding)
       * STM (T2 encoding)
      
      This includes the 32-bit encodings of the instructions listed
      in v8M ARM ARM rule R_YVWT as
       * LDM, LDMIA, LDMFD
       * LDMDB, LDMEA
       * POP (multiple registers)
       * PUSH (muliple registers)
       * STM, STMIA, STMEA
       * STMDB, STMFD
      
      We perform the stack limit before doing any other part
      of the load or store.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20181002163556.10279-10-peter.maydell@linaro.org
      7c0ed88e
    • P
      target/arm: Add v8M stack checks for LDRD/STRD (imm) · 910d7692
      Peter Maydell 提交于
      Add the v8M stack checks for:
       * LDRD (immediate)
       * STRD (immediate)
      
      Loads and stores are more complicated than ADD/SUB/MOV, because we
      must ensure that memory accesses below the stack limit are not
      performed, so we can't simply do the check when we actually update
      SP.
      
      For these instructions, if the stack limit check triggers
      we must not:
       * perform any memory access below the SP limit
       * update PC, SP or the load/store base register
      but it is IMPDEF whether we:
       * perform any accesses above or equal to the SP limit
       * update destination registers for loads
      
      For QEMU we choose to always check the limit before doing any other
      part of the load or store, so we won't update any registers or
      perform any memory accesses.
      
      It is UNKNOWN whether the limit check triggers for a load or store
      where the initial SP value is below the limit and one of the stores
      would be below the limit, but the writeback moves SP to above the
      limit.  For QEMU we choose to trigger the check in this situation.
      
      Note that limit checks happen only for loads and stores which update
      SP via writeback; they do not happen for loads and stores which
      simply use SP as a base register.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20181002163556.10279-9-peter.maydell@linaro.org
      910d7692