Re: [Qemu-devel] [PATCH v2 19/28] s390x/tcg: MVCLU: Fault-safe handling

2019-09-11 Thread Richard Henderson
On 9/6/19 3:57 AM, David Hildenbrand wrote:
> The last remaining bit is padding with two bytes.
> 
> Signed-off-by: David Hildenbrand 
> ---
>  target/s390x/mem_helper.c | 8 +---
>  1 file changed, 5 insertions(+), 3 deletions(-)

Reviewed-by: Richard Henderson 

r~



[Qemu-devel] [PATCH v2 19/28] s390x/tcg: MVCLU: Fault-safe handling

2019-09-06 Thread David Hildenbrand
The last remaining bit is padding with two bytes.

Signed-off-by: David Hildenbrand 
---
 target/s390x/mem_helper.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index f636f3a011..0366cbc753 100644
--- a/target/s390x/mem_helper.c
+++ b/target/s390x/mem_helper.c
@@ -900,15 +900,17 @@ static inline uint32_t do_mvcl(CPUS390XState *env,
 access_memset(env, *dest, pad, len, ra);
 *dest = wrap_address(env, *dest + len);
 } else {
+S390Access desta = access_prepare(env, *dest, len, MMU_DATA_STORE, ra);
+
 /* The remaining length selects the padding byte. */
 for (i = 0; i < len; (*destlen)--, i++) {
 if (*destlen & 1) {
-cpu_stb_data_ra(env, *dest, pad, ra);
+access_set_byte(env, , i, pad, ra);
 } else {
-cpu_stb_data_ra(env, *dest, pad >> 8, ra);
+access_set_byte(env, , i, pad >> 8, ra);
 }
-*dest = wrap_address(env, *dest + 1);
 }
+*dest = wrap_address(env, *dest + len);
 }
 
 return *destlen ? 3 : cc;
-- 
2.21.0