[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 15/15] s390x: Add floating-point extension facili
From: |
David Hildenbrand |
Subject: |
[Qemu-devel] [PATCH v2 15/15] s390x: Add floating-point extension facility to "qemu" cpu model |
Date: |
Wed, 13 Feb 2019 15:33:22 +0100 |
The floating-point extension facility implemented certain changes to
BFP, HFP and DFP instructions.
As we don't implement HFP/DFP, we can ignore those completely. Related
to BFP, the changes include
- SET BFP ROUNDING MODE (SRNMB) instruction
- BFP-rounding-mode field in the FPC register is changed to 3 bits
- CONVERT FROM LOGICAL instructions
- CONVERT TO LOGICAL instructions
- Changes (rounding mode + XxC) added to
-- CONVERT TO FIXED
-- CONVERT FROM FIXED
-- LOAD FP INTEGER
-- LOAD ROUNDED
-- DIVIDE TO INTEGER
For TCG, we don't implement DIVIDE TO INTEGER, and it is harder to
implement, so skip that. Also, as we don't implement PFPO, we can skip
changes to that as well. The other parts are now implemented, we can
indicate the facility.
z14 PoP mentiones that "The floating-point extension facility is installed
in the z/Architecture architectural mode. When bit 37 is one, bit 42 is
also one.", meaning that the DFP (decimal-floating-point) facility also
has to be inidicated. We can ignore that for now.
Signed-off-by: David Hildenbrand <address@hidden>
---
target/s390x/gen-features.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 44eca45474..e4739a6b9f 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -601,6 +601,11 @@ static uint16_t qemu_V3_1[] = {
};
static uint16_t qemu_LATEST[] = {
+ /*
+ * Only BFP bits are implemented (HFP, DFP, PFPO and DIVIDE TO INTEGER not
+ * implemented yet).
+ */
+ S390_FEAT_FLOATING_POINT_EXT,
S390_FEAT_ZPCI,
};
--
2.17.2
- [Qemu-devel] [PATCH v2 01/15] s390x/tcg: Fix TEST DATA CLASS instructions, (continued)
- [Qemu-devel] [PATCH v2 01/15] s390x/tcg: Fix TEST DATA CLASS instructions, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 02/15] s390x/tcg: Fix rounding from float128 to uint64_t/uin32_t, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 05/15] s390x/tcg: Hide IEEE underflows in some scenarios, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 04/15] s390x/tcg: Fix parts of IEEE exception handling, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 06/15] s390x/tcg: Refactor SET FPC AND SIGNAL handling, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 07/15] s390x/tcg: Fix simulated-IEEE exceptions, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 08/15] s390x/tcg: Handle SET FPC AND LOAD FPC 3-bit BFP rounding modes, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 09/15] s390x/tcg: Check for exceptions in SET BFP ROUNDING MODE, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 10/15] s390x/tcg: Refactor saving/restoring the bfp rounding mode, David Hildenbrand, 2019/02/13
- [Qemu-devel] [PATCH v2 15/15] s390x: Add floating-point extension facility to "qemu" cpu model,
David Hildenbrand <=
- [Qemu-devel] [PATCH v2 12/15] s390x/tcg: Implement XxC and checks for most FP instructions, David Hildenbrand, 2019/02/13
[Qemu-devel] [PATCH v2 11/15] s390x/tcg: Prepare for IEEE-inexact-exception control (XxC), David Hildenbrand, 2019/02/13
[Qemu-devel] [PATCH v2 13/15] s390x/tcg: Implement rounding mode and XxC for LOAD ROUNDED, David Hildenbrand, 2019/02/13
[Qemu-devel] [PATCH v2 14/15] s390x/tcg: Handle all rounding modes overwritten by BFP instructions, David Hildenbrand, 2019/02/13