aboutsummaryrefslogtreecommitdiff
path: root/target-s390x
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2015-06-15 17:57:08 +0200
committerAlexander Graf <agraf@suse.de>2015-06-17 12:40:50 +0200
commit2ecacb0b4b6c73af424b7b4389fa55809368a98b (patch)
treefdb97bbfd83eb23e34513002cd6f87996217bbc9 /target-s390x
parent8df7eef3059394bd53cdf7609aac9a50a78aa030 (diff)
downloadqemu-2ecacb0b4b6c73af424b7b4389fa55809368a98b.zip
qemu-2ecacb0b4b6c73af424b7b4389fa55809368a98b.tar.gz
qemu-2ecacb0b4b6c73af424b7b4389fa55809368a98b.tar.bz2
target-s390x: wire up DIAG REIPL in TCG mode
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x')
-rw-r--r--target-s390x/misc_helper.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/target-s390x/misc_helper.c b/target-s390x/misc_helper.c
index eebe608..c32aebf 100644
--- a/target-s390x/misc_helper.c
+++ b/target-s390x/misc_helper.c
@@ -215,6 +215,12 @@ void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3)
cpu_loop_exit(CPU(s390_env_get_cpu(env)));
}
break;
+ case 3:
+ s390_reipl_request();
+ if (tcg_enabled()) {
+ cpu_loop_exit(CPU(s390_env_get_cpu(env)));
+ }
+ break;
case 5:
if ((r1 & 1) || (addr & 0x0fffULL)) {
program_interrupt(env, PGM_SPECIFICATION, ILEN_LATER_INC);