diff options
author | David Hildenbrand <david@redhat.com> | 2019-09-02 09:49:46 +0200 |
---|---|---|
committer | David Hildenbrand <david@redhat.com> | 2019-09-23 09:28:29 +0200 |
commit | bed04a2b9caec96cf339980b64d2939ee9541328 (patch) | |
tree | 4c08be0bff0b28614357a8574c837f631a8f2bff /target | |
parent | 4300b7c2cd9f3f273804e8cca325842ccb93b1ad (diff) | |
download | qemu-bed04a2b9caec96cf339980b64d2939ee9541328.zip qemu-bed04a2b9caec96cf339980b64d2939ee9541328.tar.gz qemu-bed04a2b9caec96cf339980b64d2939ee9541328.tar.bz2 |
s390x/tcg: Reset exception_index to -1 instead of 0
We use the marker "-1" for "no exception". s390_cpu_do_interrupt() might
get confused by that.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Diffstat (limited to 'target')
-rw-r--r-- | target/s390x/mem_helper.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c index 29fcce4..39ee9b3 100644 --- a/target/s390x/mem_helper.c +++ b/target/s390x/mem_helper.c @@ -1747,7 +1747,7 @@ uint32_t HELPER(tprot)(CPUS390XState *env, uint64_t a1, uint64_t a2) if (env->int_pgm_code == PGM_PROTECTION) { /* retry if reading is possible */ - cs->exception_index = 0; + cs->exception_index = -1; if (!s390_cpu_virt_mem_check_read(cpu, a1, 0, 1)) { /* Fetching permitted; storing not permitted */ return 1; @@ -1757,7 +1757,7 @@ uint32_t HELPER(tprot)(CPUS390XState *env, uint64_t a1, uint64_t a2) switch (env->int_pgm_code) { case PGM_PROTECTION: /* Fetching not permitted; storing not permitted */ - cs->exception_index = 0; + cs->exception_index = -1; return 2; case PGM_ADDRESSING: case PGM_TRANS_SPEC: @@ -1767,7 +1767,7 @@ uint32_t HELPER(tprot)(CPUS390XState *env, uint64_t a1, uint64_t a2) } /* Translation not available */ - cs->exception_index = 0; + cs->exception_index = -1; return 3; } |