While the PoP is silent on the issue, z/VM documentation states that unknown diagnose codes trigger a specification exception. We already do that when running with kvm, so change tcg to do so as well.
Signed-off-by: Cornelia Huck <coh...@redhat.com> --- This is on top of "s390x: wire up diag288 in tcg". --- target/s390x/misc_helper.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c index 80a13a1b66..34d730ba73 100644 --- a/target/s390x/misc_helper.c +++ b/target/s390x/misc_helper.c @@ -106,10 +106,6 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num) case 0x288: /* time bomb (watchdog) */ r = handle_diag_288(env, r1, r3); - if (r) { - program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO); - r = 0; - } break; default: r = -1; @@ -117,7 +113,7 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num) } if (r) { - program_interrupt(env, PGM_OPERATION, ILEN_AUTO); + program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO); } } -- 2.13.5