1. 30 3月, 2018 1 次提交
    • M
      RISC-V: Workaround for critical mstatus.FS bug · b0240336
      Michael Clark 提交于
      This change is a workaround for a bug where mstatus.FS
      is not correctly reporting dirty after operations that
      modify floating point registers. This a critical bug
      or RISC-V in QEMU as it results in floating point
      register file corruption when running SMP Linux due to
      task migration and possibly uniprocessor Linux if
      more than one process is using the FPU.
      
      This workaround will return dirty if mstatus.FS is
      switched from off to initial or clean. According to
      the specification it is legal for an implementation
      to return only off, or dirty.
      
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
      Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Alex Bennée <alex.bennee@linaro.org>
      Cc: Richard Henderson <richard.henderson@linaro.org>
      Cc: Philippe Mathieu-Daudé <f4bug@amsat.org>
      Tested-by: NRichard W.M. Jones <rjones@redhat.com>
      Signed-off-by: NMichael Clark <mjc@sifive.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      b0240336
  2. 29 3月, 2018 3 次提交
    • P
      Merge remote-tracking branch 'remotes/riscv/tags/riscv-qemu-2.12-important-fixes' into staging · 47d3b608
      Peter Maydell 提交于
      RISC-V: Important fixes for QEMU 2.12
      
      This series includes changes that are considered important.
      i.e. correct user-visible bugs that are exercised by common
      operations such as -cpu list (CPU model changes) or -d in_asm
      (fix for disassembly of addiw)
      
      # gpg: Signature made Wed 28 Mar 2018 21:34:57 BST
      # gpg:                using DSA key 6BF1D7B357EF3E4F
      # gpg: Good signature from "Michael Clark <michaeljclark@mac.com>"
      # gpg:                 aka "Michael Clark <mjc@sifive.com>"
      # gpg:                 aka "Michael Clark <michael@metaparadigm.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 7C99 930E B17C D8BA 073D  5EFA 6BF1 D7B3 57EF 3E4F
      
      * remotes/riscv/tags/riscv-qemu-2.12-important-fixes:
        RISC-V: Fix incorrect disassembly for addiw
        RISC-V: Convert cpu definition to future model
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      47d3b608
    • M
      RISC-V: Fix incorrect disassembly for addiw · 33b4f859
      Michael Clark 提交于
      This fixes a bug in the disassembler constraints used
      to lift instructions into pseudo-instructions, whereby
      addiw instructions are always lifted to sext.w instead
      of just lifting addiw with a zero immediate.
      
      An associated fix has been made to the metadata used to
      machine generate the disseasembler:
      
      https://github.com/michaeljclark/riscv-meta/
      commit/4a6b2f3898430768acfe201405224d2ea31e1477
      
      Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
      Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Signed-off-by: NMichael Clark <mjc@sifive.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      33b4f859
    • M
      RISC-V: Convert cpu definition to future model · eab15862
      Michael Clark 提交于
      - Model borrowed from target/sh4/cpu.c
      - Rewrote riscv_cpu_list to use object_class_get_list
      - Dropped 'struct RISCVCPUInfo' and used TypeInfo array
      - Replaced riscv_cpu_register_types with DEFINE_TYPES
      - Marked base class as abstract
      - Fixes -cpu list
      
      Cc: Igor Mammedov <imammedo@redhat.com>
      Cc: Sagar Karandikar <sagark@eecs.berkeley.edu>
      Cc: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
      Cc: Palmer Dabbelt <palmer@sifive.com>
      Signed-off-by: NMichael Clark <mjc@sifive.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: NIgor Mammedov <imammedo@redhat.com>
      eab15862
  3. 28 3月, 2018 6 次提交
  4. 27 3月, 2018 30 次提交