qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 3/3] s390x/helper: Added format control bit to MMU t


From: Jens Freimann
Subject: [Qemu-devel] [PATCH 3/3] s390x/helper: Added format control bit to MMU translation
Date: Thu, 24 Apr 2014 10:51:34 +0200

From: Thomas Huth <address@hidden>

With the EDAT-1 facility, the MMU translation can stop at the
segment table already, pointing to a 1 MB block.

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Jens Freimann <address@hidden>
Reviewed-by: David Hildenbrand <address@hidden>
---
 target-s390x/helper.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target-s390x/helper.c b/target-s390x/helper.c
index ddf268e..4f2279f 100644
--- a/target-s390x/helper.c
+++ b/target-s390x/helper.c
@@ -231,6 +231,10 @@ static int mmu_translate_asce(CPUS390XState *env, 
target_ulong vaddr,
         offs = (vaddr >> 17) & 0x3ff8;
         break;
     case _ASCE_TYPE_SEGMENT:
+        if (env && (env->cregs[0] & 0x800000) && (asce & 0x400)) {  /* FC? */
+            *raddr = (asce & 0xfffffffffff00000ULL) | (vaddr & 0xfffff);
+            return 0;
+        }
         offs = (vaddr >> 9) & 0x07f8;
         origin = asce & _SEGMENT_ENTRY_ORIGIN;
         break;
-- 
1.8.5.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]