qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b02403: RISC-V: Workaround for critical mstat


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] b02403: RISC-V: Workaround for critical mstatus.FS bug
Date: Sat, 31 Mar 2018 02:33:59 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: b02403363f1056421d120c8e974fdf9c76a84f95
      
https://github.com/qemu/qemu/commit/b02403363f1056421d120c8e974fdf9c76a84f95
  Author: Michael Clark <address@hidden>
  Date:   2018-03-29 (Thu, 29 Mar 2018)

  Changed paths:
    M target/riscv/op_helper.c

  Log Message:
  -----------
  RISC-V: Workaround for critical mstatus.FS bug

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 <address@hidden>
Cc: Sagar Karandikar <address@hidden>
Cc: Bastian Koppelmann <address@hidden>
Cc: Peter Maydell <address@hidden>
Cc: Alex Bennée <address@hidden>
Cc: Richard Henderson <address@hidden>
Cc: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Richard W.M. Jones <address@hidden>
Signed-off-by: Michael Clark <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>


  Commit: f184de7553272223d6af731d7d623a7cebf710b5
      
https://github.com/qemu/qemu/commit/f184de7553272223d6af731d7d623a7cebf710b5
  Author: Peter Maydell <address@hidden>
  Date:   2018-03-31 (Sat, 31 Mar 2018)

  Changed paths:
    M target/riscv/op_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/riscv/tags/riscv-qemu-2.12-critical-fixes' into staging

RISC-V: Critical fixes for QEMU 2.12

This series includes changes that are considered release critical,
such as floating point register file corruption under SMP Linux
due to incorrect handling of mstatus.FS.

This workaround will be replaced with a more comprehensive fix
for mstatus.FS handling in QEMU 2.13.

# gpg: Signature made Thu 29 Mar 2018 18:22:42 BST
# gpg:                using DSA key 6BF1D7B357EF3E4F
# gpg: Good signature from "Michael Clark <address@hidden>"
# gpg:                 aka "Michael Clark <address@hidden>"
# gpg:                 aka "Michael Clark <address@hidden>"
# 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-critical-fixes:
  RISC-V: Workaround for critical mstatus.FS bug

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/b60d667d3d0a...f184de755327

reply via email to

[Prev in Thread] Current Thread [Next in Thread]