Message ID | 20190111113657.66195-3-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: Diag 308 improvements | expand |
On 11.01.2019 12:36, Janosch Frank wrote: > 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 <frankja@linux.ibm.com> > Cc: qemu-stable@nongnu.org Yes, PIC06 is definitively the right thing to do. Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com> > --- > 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; > } > } >
On 11.01.19 12:36, Janosch Frank wrote: > 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 <frankja@linux.ibm.com> > Cc: qemu-stable@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; > } > } > Reviewed-by: David Hildenbrand <david@redhat.com>
On Fri, 11 Jan 2019 12:36:57 +0100 Janosch Frank <frankja@linux.ibm.com> wrote: > 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 <frankja@linux.ibm.com> > Cc: qemu-stable@nongnu.org > --- > target/s390x/diag.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Thanks, applied.
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; } }
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 <frankja@linux.ibm.com> Cc: qemu-stable@nongnu.org --- target/s390x/diag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)