s390x/tcg: Pass a size to probe_write() in do_csst()
authorDavid Hildenbrand <david@redhat.com>
Mon, 26 Aug 2019 07:51:12 +0000 (09:51 +0200)
committerRichard Henderson <richard.henderson@linaro.org>
Tue, 3 Sep 2019 15:34:18 +0000 (08:34 -0700)
... and also call it for CONFIG_USER_ONLY. This function probably will
also need some refactoring in regards to probing, however, we'll have to
come back to that later, once cleaning up the other mem helpers.

The alignment check always makes sure that the write access falls into a
single page.

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

index fdff60ce5d2e21ae3707869b619effac50ba8e15..29fcce426e35195e00a8ae199159817117e491d4 100644 (file)
@@ -1443,9 +1443,7 @@ static uint32_t do_csst(CPUS390XState *env, uint32_t r3, uint64_t a1,
     }
 
     /* Sanity check writability of the store address.  */
-#ifndef CONFIG_USER_ONLY
-    probe_write(env, a2, 0, mem_idx, ra);
-#endif
+    probe_write(env, a2, 1 << sc, mem_idx, ra);
 
     /*
      * Note that the compare-and-swap is atomic, and the store is atomic,