mbox series

[0/7] target/alpha: Fix linux-user exception for CVTTQ

Message ID 20190921043256.4575-1-richard.henderson@linaro.org
Headers show
Series target/alpha: Fix linux-user exception for CVTTQ | expand

Message

Richard Henderson Sept. 21, 2019, 4:32 a.m. UTC
Alex's new float_convs test dies with SIGFPE for alpha-linux-user.

This is fixed in patch 6, where I mask the exception similar to how
the kernel would, when passed through the software completion handler.

Patches 2 & 3 fix bugs that I noticed in the process; the rest are
simple cleanup, trying to make the code better or easier.


r~


Richard Henderson (7):
  target/alpha: Use array for FPCR_DYN conversion
  target/alpha: Fix SWCR_MAP_UMZ
  target/alpha: Fix SWCR_TRAP_ENABLE_MASK
  target/alpha: Handle SWCR_MAP_DMZ earlier
  target/alpha: Write to fpcr_flush_to_zero once
  target/alpha: Mask IOV exception with INV for user-only
  target/alpha: Tidy helper_fp_exc_raise_s

 target/alpha/fpu_helper.c | 15 +++------
 target/alpha/helper.c     | 68 +++++++++++++++++++--------------------
 2 files changed, 38 insertions(+), 45 deletions(-)

-- 
2.17.1

Comments

Alex Bennée Sept. 23, 2019, 4:44 p.m. UTC | #1
Richard Henderson <richard.henderson@linaro.org> writes:

> Alex's new float_convs test dies with SIGFPE for alpha-linux-user.

>

> This is fixed in patch 6, where I mask the exception similar to how

> the kernel would, when passed through the software completion handler.

>

> Patches 2 & 3 fix bugs that I noticed in the process; the rest are

> simple cleanup, trying to make the code better or easier.


Now Richard has eli5'd the CONVERT_BITS magic for me>

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>


the rest of the series.

>

>

> r~

>

>

> Richard Henderson (7):

>   target/alpha: Use array for FPCR_DYN conversion

>   target/alpha: Fix SWCR_MAP_UMZ

>   target/alpha: Fix SWCR_TRAP_ENABLE_MASK

>   target/alpha: Handle SWCR_MAP_DMZ earlier

>   target/alpha: Write to fpcr_flush_to_zero once

>   target/alpha: Mask IOV exception with INV for user-only

>   target/alpha: Tidy helper_fp_exc_raise_s

>

>  target/alpha/fpu_helper.c | 15 +++------

>  target/alpha/helper.c     | 68 +++++++++++++++++++--------------------

>  2 files changed, 38 insertions(+), 45 deletions(-)



--
Alex Bennée