OSDN Git Service

s390x/tcg: MVST: Check for specification exceptions
authorDavid Hildenbrand <david@redhat.com>
Thu, 5 Sep 2019 10:05:53 +0000 (12:05 +0200)
committerDavid Hildenbrand <david@redhat.com>
Mon, 23 Sep 2019 07:28:29 +0000 (09:28 +0200)
Bit position 32-55 of general register 0 must be zero.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
target/s390x/mem_helper.c

index 41d7336..ec27be1 100644 (file)
@@ -706,6 +706,9 @@ uint64_t HELPER(mvst)(CPUS390XState *env, uint64_t c, uint64_t d, uint64_t s)
     uintptr_t ra = GETPC();
     uint32_t len;
 
+    if (c & 0xffffff00ull) {
+        s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, ra);
+    }
     c = c & 0xff;
     d = wrap_address(env, d);
     s = wrap_address(env, s);