[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/28] target/alpha: Mask IOV exception with INV for user-only
From: |
Alex Bennée |
Subject: |
[PULL 06/28] target/alpha: Mask IOV exception with INV for user-only |
Date: |
Thu, 26 Sep 2019 19:35:31 +0100 |
From: Richard Henderson <address@hidden>
The kernel masks the integer overflow exception with the
software invalid exception mask. Include IOV in the set
of exception bits masked by fpcr_exc_enable.
Fixes the new float_convs test.
Signed-off-by: Richard Henderson <address@hidden>
Signed-off-by: Alex Bennée <address@hidden>
Message-Id: <address@hidden>
diff --git a/target/alpha/helper.c b/target/alpha/helper.c
index 1b3479738b..55d7274d94 100644
--- a/target/alpha/helper.c
+++ b/target/alpha/helper.c
@@ -58,6 +58,13 @@ void cpu_alpha_store_fpcr(CPUAlphaState *env, uint64_t val)
*/
uint32_t soft_fpcr = alpha_ieee_swcr_to_fpcr(env->swcr) >> 32;
fpcr |= soft_fpcr & (FPCR_STATUS_MASK | FPCR_DNZ);
+
+ /*
+ * The IOV exception is disabled by the kernel with SWCR_TRAP_ENABLE_INV,
+ * which got mapped by alpha_ieee_swcr_to_fpcr to FPCR_INVD.
+ * Add FPCR_IOV to fpcr_exc_enable so that it is handled identically.
+ */
+ t |= CONVERT_BIT(soft_fpcr, FPCR_INVD, FPCR_IOV);
#endif
t |= CONVERT_BIT(fpcr, FPCR_INED, FPCR_INE);
--
2.20.1
- [PULL 00/28] testing updates (docker,podman,tcg,alpha), Alex Bennée, 2019/09/26
- [PULL 01/28] target/alpha: Use array for FPCR_DYN conversion, Alex Bennée, 2019/09/26
- [PULL 02/28] target/alpha: Fix SWCR_MAP_UMZ, Alex Bennée, 2019/09/26
- [PULL 03/28] target/alpha: Fix SWCR_TRAP_ENABLE_MASK, Alex Bennée, 2019/09/26
- [PULL 05/28] target/alpha: Write to fpcr_flush_to_zero once, Alex Bennée, 2019/09/26
- [PULL 04/28] target/alpha: Handle SWCR_MAP_DMZ earlier, Alex Bennée, 2019/09/26
- [PULL 06/28] target/alpha: Mask IOV exception with INV for user-only,
Alex Bennée <=
- [PULL 09/28] tests/docker: add sanitizers back to clang build, Alex Bennée, 2019/09/26
- [PULL 08/28] target/ppc: fix signal delivery for ppc64abi32, Alex Bennée, 2019/09/26
- [PULL 10/28] tests/docker: fix DOCKER_PARTIAL_IMAGES, Alex Bennée, 2019/09/26
- [PULL 07/28] target/alpha: Tidy helper_fp_exc_raise_s, Alex Bennée, 2019/09/26
- [PULL 11/28] tests/docker: remove python2.7 from debian9-mxe, Alex Bennée, 2019/09/26
- [PULL 13/28] podman: fix command invocation, Alex Bennée, 2019/09/26
- [PULL 14/28] tests/tcg: clean-up some comments after the de-tangling, Alex Bennée, 2019/09/26
- [PULL 24/28] docker: remove 'deprecated' image definitions, Alex Bennée, 2019/09/26
- [PULL 12/28] tests/docker: reduce scary warnings by cleaning up clean up, Alex Bennée, 2019/09/26
- [PULL 17/28] tests/tcg: add generic version of float_convs, Alex Bennée, 2019/09/26