diff options
author | Richard Henderson | 2019-10-01 19:15:57 +0200 |
---|---|---|
committer | David Hildenbrand | 2019-10-09 12:49:01 +0200 |
commit | c87ff4d108efce2546150be057721cb41ca1f74d (patch) | |
tree | db62356435d1150aadb4a53e6909462625b29169 /target/s390x/interrupt.c | |
parent | s390x/cpumodel: Add new TCG features to QEMU cpu model (diff) | |
download | qemu-c87ff4d108efce2546150be057721cb41ca1f74d.tar.gz qemu-c87ff4d108efce2546150be057721cb41ca1f74d.tar.xz qemu-c87ff4d108efce2546150be057721cb41ca1f74d.zip |
target/s390x: Add ilen to unwind data
Use ILEN_UNWIND to signal that we have in fact that cpu_restore_state
will have been called by the time we arrive in do_program_interrupt.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Message-Id: <20191001171614.8405-2-richard.henderson@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Diffstat (limited to 'target/s390x/interrupt.c')
-rw-r--r-- | target/s390x/interrupt.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/target/s390x/interrupt.c b/target/s390x/interrupt.c index a841f7187d..30a9fb8852 100644 --- a/target/s390x/interrupt.c +++ b/target/s390x/interrupt.c @@ -28,7 +28,10 @@ void trigger_pgm_exception(CPUS390XState *env, uint32_t code, uint32_t ilen) cs->exception_index = EXCP_PGM; env->int_pgm_code = code; - env->int_pgm_ilen = ilen; + /* If ILEN_UNWIND, int_pgm_ilen already has the correct value. */ + if (ilen != ILEN_UNWIND) { + env->int_pgm_ilen = ilen; + } } void s390_program_interrupt(CPUS390XState *env, uint32_t code, int ilen, |