diff options
Diffstat (limited to 'target/s390x/interrupt.c')
-rw-r--r-- | target/s390x/interrupt.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/target/s390x/interrupt.c b/target/s390x/interrupt.c index ce6177c141..b07e75daed 100644 --- a/target/s390x/interrupt.c +++ b/target/s390x/interrupt.c @@ -53,6 +53,19 @@ void program_interrupt(CPUS390XState *env, uint32_t code, int ilen) } } +void s390_program_interrupt(CPUS390XState *env, uint32_t code, int ilen, + uintptr_t ra) +{ +#ifdef CONFIG_TCG + S390CPU *cpu = s390_env_get_cpu(env); + + if (tcg_enabled()) { + cpu_restore_state(CPU(cpu), ra); + } +#endif + program_interrupt(env, code, ilen); +} + #if !defined(CONFIG_USER_ONLY) static void cpu_inject_service(S390CPU *cpu, uint32_t param) { |