The architecture specifies specification exceptions for all unavailable subcodes.
The presence of subcodes is indicated by checking some query subcode. For example 6 will indicate that 3-6 are available. So future systems might call new subcodes to check for new features. This should not trigger a hw error, instead we return the architectured specification exception. Signed-off-by: Janosch Frank <fran...@linux.ibm.com> Cc: qemu-sta...@nongnu.org --- target/s390x/diag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/s390x/diag.c b/target/s390x/diag.c index cfd7222ddd..c28cf1d9f1 100644 --- a/target/s390x/diag.c +++ b/target/s390x/diag.c @@ -132,7 +132,7 @@ out: } return; default: - hw_error("Unhandled diag308 subcode %" PRIx64, subcode); + s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, ra); break; } } -- 2.14.3