Re: [Qemu-devel] [PATCH v9 00/10] IEEE 754-2008 support for Mips
On Thu, Jun 23, 2016 at 04:46:14PM +0100, Peter Maydell wrote: > On 10 June 2016 at 10:57, Aleksandar Markovic > wrote: > > From: Aleksandar Markovic > > > > This patch series provides number of IEEE 754-2008-related features to > > Mips platform. It addresses the most sensitive changes that require > > modification of SoftFloat library, also used by most other platforms. > > > > In order to make develpoment, testing, and integration easier, the patch > > is split into two distinct parts: > > > >1. Part 1 (patches 1/10, 2/10, 3/10, 4/10, 5/10) that does not change any > > calculation or behavior on any platform (and, for that matter, even on > > Mips platform). Its sole purpose is to address platform independant > > issues in a non-invasive manner, and to make Part 2 possible. > > > >2. Part 2 (patches 6/10, 7/10, 8/10, 9/10, 10/10) that sets some Mips > > processors to use provisions from Part 1, and additionally implements > > number of IEEE 754-2008-related features for Mips, while, at the same > > time, mainly dealing with files located in directory target-mips only. > > Hi. I've reviewed the patches in Part 1, and I'm happy with them > apart from a few trivial things. I'm not going to look at Part 2 > since it's pretty MIPS specific. > > I'm assuming that Leon will take these via the MIPS tree. Leon, > it's up to you whether you're happy to fix up the minor things I > raised when you put the patches into your tree or if you'd > prefer to have Aleksandar respin and resend the patchset. No need to respin; I'll fix these issues while applying to target-mips queue. > Either way, it would be good to get these into a pull request > by Monday since softfreeze deadline is nearly here... Sure, I'll send the pullreq by then. Thanks, Leon
Re: [Qemu-devel] [PATCH v9 00/10] IEEE 754-2008 support for Mips
On 10 June 2016 at 10:57, Aleksandar Markovic wrote: > From: Aleksandar Markovic > > This patch series provides number of IEEE 754-2008-related features to > Mips platform. It addresses the most sensitive changes that require > modification of SoftFloat library, also used by most other platforms. > > In order to make develpoment, testing, and integration easier, the patch > is split into two distinct parts: > >1. Part 1 (patches 1/10, 2/10, 3/10, 4/10, 5/10) that does not change any > calculation or behavior on any platform (and, for that matter, even on > Mips platform). Its sole purpose is to address platform independant > issues in a non-invasive manner, and to make Part 2 possible. > >2. Part 2 (patches 6/10, 7/10, 8/10, 9/10, 10/10) that sets some Mips > processors to use provisions from Part 1, and additionally implements > number of IEEE 754-2008-related features for Mips, while, at the same > time, mainly dealing with files located in directory target-mips only. Hi. I've reviewed the patches in Part 1, and I'm happy with them apart from a few trivial things. I'm not going to look at Part 2 since it's pretty MIPS specific. I'm assuming that Leon will take these via the MIPS tree. Leon, it's up to you whether you're happy to fix up the minor things I raised when you put the patches into your tree or if you'd prefer to have Aleksandar respin and resend the patchset. Either way, it would be good to get these into a pull request by Monday since softfreeze deadline is nearly here... thanks -- PMM
Re: [Qemu-devel] [PATCH v9 00/10] IEEE 754-2008 support for Mips
ping From: Aleksandar Markovic [aleksandar.marko...@rt-rk.com] Sent: Friday, June 10, 2016 2:57 AM To: qemu-devel@nongnu.org; qemu-...@nongnu.org; qemu-...@nongnu.org; Maciej Rozycki; pro...@gmail.com; kbast...@mail.uni-paderborn.de; mark.cave-ayl...@ilande.co.uk; ag...@suse.de; blauwir...@gmail.com; jcmvb...@gmail.com; pbonz...@redhat.com; edgar.igles...@gmail.com; g...@mprc.pku.edu.cn; r...@twiddle.net; peter.mayd...@linaro.org; aurel...@aurel32.net; Leon Alrae; Petar Jovanovic; Miodrag Dinic; Aleksandar Markovic Subject: [PATCH v9 00/10] IEEE 754-2008 support for Mips From: Aleksandar Markovic v8 -> v9: - patches 1 and 2 slightly reorganized to separate real changes from cleanup changes more clearly - unnecessary changes removed from patches 5 and 9 - changes related to FS bit moved to a separate patch (patch 10) - mail recipients for individual patches slightly adjusted v7 -> v8: - fixed mail recipients (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg00896.html) v6 -> v7: - preprocesor constants for FCR31 bits removed - cleanup items in CFC1 and CTC1 handling removed - initialization of snan_bit_is_one for main FP unit moved from patch 6 to patch 9 - an instance of "!" corrected to "~" (logical vs. bitwise negation) (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg00886.html) v5 -> v6: - code for hanlding MSA FCLASS instructions slightly simplified - handling of .. corrected for nan2008 case - R/W bitmask for FCR31 introduced, and related functionalities implemented - cleanup items for SoftFloat library are now in a separate patch - minor errors corrected (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg02513.html) v4 -> v5: - platform initialization code revisited one more time; - handling of CLASS. and their MSA counterparts revisited; - better orgranization of patches (squashing, splitting); - corrected handling of ..; - code cleanup item in genfarith() - order of cases; - scripts/checkpatch.pl executed and errors addressed. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg02774.html) v3 -> v4: - Added code cleanup items: a. Capitalization of hex constants in softfloat-specialize.h; b. White spaces in softfloat-specialize.h; c. Order of Mips helpers for CVT... (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg01962.html) v2 -> v3: - Patch series reorganized into 6 patches instead of 2. - Commit messages improved. - Except commit messages, net result of applying v3 and v2 is the same. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg01870.html) v1 -> v2: - Relevant CPU initialization code changes revisited for all platforms. - In connection with .. and . Mips instructions handling, decision on whether pre-nan2008/pre-abs2008 or nan2008/abs2008 handling will apply moved from run-time to translate-time. - For Mips only, in nan2008 cases only, default NaN values fixed. - For Mips only, in nan2008 cases only, order in pickNaNMulAdd() fixed. - Code cleanup issues: a. Constants _default_nan_ removed; b. Suffix _ replaced with __ for some Mips helpers; c. In vicinity of changes, fixed not-beautiful code formatting. - Commit messages improved. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg01232.html) v1 - Initial version (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg06082.html) Mips platform represents the most complex case among QEMU-supported platforms in reference to certain aspects of floating-point arithmetics. This is mostly a consequence of the fact that Mips platform, for many reasons, evolved considerably over time related to floating-point arithmetics standards (significantly more than other platforms). It has been difficult for emulators like QEMU to support such variety of configurations. This patch series provides number of IEEE 754-2008-related features to Mips platform. It addresses the most sensitive changes that require modification of SoftFloat library, also used by most other platforms. In order to make develpoment, testing, and integration easier, the patch is split into two distinct parts: 1. Part 1 (patches 1/10, 2/10, 3/10, 4/10, 5/10) that does not change any calculation or behavior on any platform (and, for that matter, even on Mips platform). Its sole purpose is to address platform independant issues in a non-invasive manner, and to make Part 2 possible. 2. Part 2 (patches 6/10, 7/10, 8/10, 9/10, 10/10) that sets some Mips processors to use provisions from Part 1, and additionally implements number of IEEE 754-2008-related features for Mips, while, at the same time, mainly dealing with files located in directory target-mips only. This patch series is based on the ori
[Qemu-devel] [PATCH v9 00/10] IEEE 754-2008 support for Mips
From: Aleksandar Markovic v8 -> v9: - patches 1 and 2 slightly reorganized to separate real changes from cleanup changes more clearly - unnecessary changes removed from patches 5 and 9 - changes related to FS bit moved to a separate patch (patch 10) - mail recipients for individual patches slightly adjusted v7 -> v8: - fixed mail recipients (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg00896.html) v6 -> v7: - preprocesor constants for FCR31 bits removed - cleanup items in CFC1 and CTC1 handling removed - initialization of snan_bit_is_one for main FP unit moved from patch 6 to patch 9 - an instance of "!" corrected to "~" (logical vs. bitwise negation) (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg00886.html) v5 -> v6: - code for hanlding MSA FCLASS instructions slightly simplified - handling of .. corrected for nan2008 case - R/W bitmask for FCR31 introduced, and related functionalities implemented - cleanup items for SoftFloat library are now in a separate patch - minor errors corrected (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-05/msg02513.html) v4 -> v5: - platform initialization code revisited one more time; - handling of CLASS. and their MSA counterparts revisited; - better orgranization of patches (squashing, splitting); - corrected handling of ..; - code cleanup item in genfarith() - order of cases; - scripts/checkpatch.pl executed and errors addressed. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg02774.html) v3 -> v4: - Added code cleanup items: a. Capitalization of hex constants in softfloat-specialize.h; b. White spaces in softfloat-specialize.h; c. Order of Mips helpers for CVT... (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg01962.html) v2 -> v3: - Patch series reorganized into 6 patches instead of 2. - Commit messages improved. - Except commit messages, net result of applying v3 and v2 is the same. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg01870.html) v1 -> v2: - Relevant CPU initialization code changes revisited for all platforms. - In connection with .. and . Mips instructions handling, decision on whether pre-nan2008/pre-abs2008 or nan2008/abs2008 handling will apply moved from run-time to translate-time. - For Mips only, in nan2008 cases only, default NaN values fixed. - For Mips only, in nan2008 cases only, order in pickNaNMulAdd() fixed. - Code cleanup issues: a. Constants _default_nan_ removed; b. Suffix _ replaced with __ for some Mips helpers; c. In vicinity of changes, fixed not-beautiful code formatting. - Commit messages improved. (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-04/msg01232.html) v1 - Initial version (link: https://lists.nongnu.org/archive/html/qemu-devel/2016-03/msg06082.html) Mips platform represents the most complex case among QEMU-supported platforms in reference to certain aspects of floating-point arithmetics. This is mostly a consequence of the fact that Mips platform, for many reasons, evolved considerably over time related to floating-point arithmetics standards (significantly more than other platforms). It has been difficult for emulators like QEMU to support such variety of configurations. This patch series provides number of IEEE 754-2008-related features to Mips platform. It addresses the most sensitive changes that require modification of SoftFloat library, also used by most other platforms. In order to make develpoment, testing, and integration easier, the patch is split into two distinct parts: 1. Part 1 (patches 1/10, 2/10, 3/10, 4/10, 5/10) that does not change any calculation or behavior on any platform (and, for that matter, even on Mips platform). Its sole purpose is to address platform independant issues in a non-invasive manner, and to make Part 2 possible. 2. Part 2 (patches 6/10, 7/10, 8/10, 9/10, 10/10) that sets some Mips processors to use provisions from Part 1, and additionally implements number of IEEE 754-2008-related features for Mips, while, at the same time, mainly dealing with files located in directory target-mips only. This patch series is based on the original set of patches proposed by Maciej W. Rozycki: http://lists.nongnu.org/archive/html/qemu-devel/2014-12/msg00968.html Aleksandar Markovic (10): softfloat: Implement run-time-configurable meaning of signaling NaN bit softfloat: Clean code format in fpu/softfloat-specialize.h softfloat: For Mips only, correct default NaN values softfloat: For Mips only, correct order in pickNaNMulAdd() linux-user: Update preprocessor constants for Mips-specific e_flags bits target-mips: Activate IEEE 754-2008 signaling NaN bit meaning for MSA target-mips: Add abs2008 flavor of . target-mips: Add nan2008 flavor of ..