Commit b7809f36 authored by David Hildenbrand's avatar David Hildenbrand
Browse files

s390x/tcg: MVC: Fault-safe handling on destructive overlaps



The last remaining bit for MVC is handling destructive overlaps in a
fault-safe way.

Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
Signed-off-by: default avatarDavid Hildenbrand <david@redhat.com>
parent efb1a76e
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -438,8 +438,9 @@ static uint32_t do_helper_mvc(CPUS390XState *env, uint32_t l, uint64_t dest,
        access_memmove(env, &desta, &srca, ra);
    } else {
        for (i = 0; i < l; i++) {
            uint8_t x = cpu_ldub_data_ra(env, src + i, ra);
            cpu_stb_data_ra(env, dest + i, x, ra);
            uint8_t byte = access_get_byte(env, &srca, i, ra);

            access_set_byte(env, &desta, i, byte, ra);
        }
    }