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>
This commit is contained in:
parent
4300b7c2cd
commit
bed04a2b9c
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user