pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/emulators/qemu Replace aarch64 FPU exception trap hand...
details: https://anonhg.NetBSD.org/pkgsrc/rev/87edc9ddcc3a
branches: trunk
changeset: 391134:87edc9ddcc3a
user: martin <martin%pkgsrc.org@localhost>
date: Thu Jan 31 13:39:10 2019 +0000
description:
Replace aarch64 FPU exception trap handling fix with newer version
from upstream.
diffstat:
emulators/qemu/Makefile | 4 ++--
emulators/qemu/distinfo | 5 +++--
emulators/qemu/patches/patch-target_arm_cpu.h | 22 +++++++++++++---------
emulators/qemu/patches/patch-target_arm_helper.c | 20 ++++++++++++++++++++
4 files changed, 38 insertions(+), 13 deletions(-)
diffs (87 lines):
diff -r c5c5ac111da1 -r 87edc9ddcc3a emulators/qemu/Makefile
--- a/emulators/qemu/Makefile Thu Jan 31 13:38:49 2019 +0000
+++ b/emulators/qemu/Makefile Thu Jan 31 13:39:10 2019 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.199 2019/01/29 16:01:29 martin Exp $
+# $NetBSD: Makefile,v 1.200 2019/01/31 13:39:10 martin Exp $
DISTNAME= qemu-3.1.0
-PKGREVISION= 3
+PKGREVISION= 4
CATEGORIES= emulators
MASTER_SITES= https://download.qemu.org/
EXTRACT_SUFX= .tar.xz
diff -r c5c5ac111da1 -r 87edc9ddcc3a emulators/qemu/distinfo
--- a/emulators/qemu/distinfo Thu Jan 31 13:38:49 2019 +0000
+++ b/emulators/qemu/distinfo Thu Jan 31 13:39:10 2019 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.140 2019/01/29 16:01:29 martin Exp $
+$NetBSD: distinfo,v 1.141 2019/01/31 13:39:10 martin Exp $
SHA1 (qemu-3.1.0.tar.xz) = 3ed63c0c05abc8c8ec075dac2688c229f139a5da
RMD160 (qemu-3.1.0.tar.xz) = 7650d76b8578ee2c31cef048c7929b30c607b83d
@@ -16,5 +16,6 @@
SHA1 (patch-hw_net_etraxfs__eth.c) = e5dd1661d60dbcd27b332403e0843500ba9544bc
SHA1 (patch-hw_net_xilinx__axienet.c) = ebcd2676d64ce6f31e4a8c976d4fdf530ad5e8b7
SHA1 (patch-hw_usb_dev-mtp.c) = 66543b5559d92f8e2fa9a6eb85e5dfe7c1ad3339
-SHA1 (patch-target_arm_cpu.h) = 74b8b52c0d6fd34b5755ef60a459d6d07630dc3b
+SHA1 (patch-target_arm_cpu.h) = 0f70a35900c7cc3124dc11969643e0eef6ad6af5
+SHA1 (patch-target_arm_helper.c) = 08f9425422080442a2c90bb252423bab38651ae4
SHA1 (patch-tests_Makefile.include) = 42345d697cb2e324dccf1d68bd8d61e8001c6162
diff -r c5c5ac111da1 -r 87edc9ddcc3a emulators/qemu/patches/patch-target_arm_cpu.h
--- a/emulators/qemu/patches/patch-target_arm_cpu.h Thu Jan 31 13:38:49 2019 +0000
+++ b/emulators/qemu/patches/patch-target_arm_cpu.h Thu Jan 31 13:39:10 2019 +0000
@@ -1,16 +1,20 @@
-$NetBSD: patch-target_arm_cpu.h,v 1.1 2019/01/29 16:01:29 martin Exp $
+$NetBSD: patch-target_arm_cpu.h,v 1.2 2019/01/31 13:39:10 martin Exp $
-Patch from upstream maintain (Peter Maydell) to fix NetBSD ATF tests
-non-trapping FP exception detection.
+Upstream fix for arm/aarch64 FPU exception handling
+test failures in the NetBSD ATF test suit.
--- target/arm/cpu.h.orig 2018-12-11 18:44:34.000000000 +0100
-+++ target/arm/cpu.h 2019-01-29 15:44:39.081529725 +0100
-@@ -1297,7 +1297,7 @@ void vfp_set_fpscr(CPUARMState *env, uin
- * we store the underlying state in fpscr and just mask on read/write.
- */
++++ target/arm/cpu.h 2019-01-31 14:29:37.037792781 +0100
+@@ -1299,6 +1299,12 @@ void vfp_set_fpscr(CPUARMState *env, uin
#define FPSR_MASK 0xf800009f
--#define FPCR_MASK 0x07ff9f00
-+#define FPCR_MASK 0x07ff0000
+ #define FPCR_MASK 0x07ff9f00
++#define FPCR_IOE (1 << 8) /* Invalid Operation exception trap enable */
++#define FPCR_DZE (1 << 9) /* Divide by Zero exception trap enable */
++#define FPCR_OFE (1 << 10) /* Overflow exception trap enable */
++#define FPCR_UFE (1 << 11) /* Underflow exception trap enable */
++#define FPCR_IXE (1 << 12) /* Inexact exception trap enable */
++#define FPCR_IDE (1 << 15) /* Input Denormal exception trap enable */
#define FPCR_FZ16 (1 << 19) /* ARMv8.2+, FP16 flush-to-zero */
#define FPCR_FZ (1 << 24) /* Flush-to-zero enable bit */
+ #define FPCR_DN (1 << 25) /* Default NaN enable bit */
diff -r c5c5ac111da1 -r 87edc9ddcc3a emulators/qemu/patches/patch-target_arm_helper.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emulators/qemu/patches/patch-target_arm_helper.c Thu Jan 31 13:39:10 2019 +0000
@@ -0,0 +1,20 @@
+$NetBSD: patch-target_arm_helper.c,v 1.1 2019/01/31 13:39:10 martin Exp $
+
+Upstream fix for arm/aarch64 FPU exception handling
+test failures in the NetBSD ATF test suit.
+
+--- target/arm/helper.c.orig 2018-12-11 18:44:34.000000000 +0100
++++ target/arm/helper.c 2019-01-31 14:29:37.050410598 +0100
+@@ -11747,6 +11747,12 @@
+ val &= ~FPCR_FZ16;
+ }
+
++ /*
++ * We don't implement trapped exception handling, so the
++ * trap enable bits are all RAZ/WI (not RES0!)
++ */
++ val &= ~(FPCR_IDE | FPCR_IXE | FPCR_UFE | FPCR_OFE | FPCR_DZE | FPCR_IOE);
++
+ changed = env->vfp.xregs[ARM_VFP_FPSCR];
+ env->vfp.xregs[ARM_VFP_FPSCR] = (val & 0xffc8ffff);
+ env->vfp.vec_len = (val >> 16) & 7;
Home |
Main Index |
Thread Index |
Old Index