On 02/27/2018 03:28 PM, Tony Krowiak wrote: > If the AP instructions are not available on the linux host, then > AP devices can not be interpreted by the SIE. The AP bus has a > function it uses to determine if the AP instructions are > available. This patch provides a new function that wraps the > AP bus's function to externalize it for use by KVM. > > Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> > Reviewed-by: Pierre Morel <pmorel@xxxxxxxxxxxxxxxxxx> > --- > arch/s390/include/asm/ap.h | 7 +++++++ > drivers/s390/crypto/ap_bus.c | 6 ++++++ > 2 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/arch/s390/include/asm/ap.h b/arch/s390/include/asm/ap.h > index cfce683..1df6b59 100644 > --- a/arch/s390/include/asm/ap.h > +++ b/arch/s390/include/asm/ap.h > @@ -120,4 +120,11 @@ struct ap_queue_status ap_queue_irq_ctrl(ap_qid_t qid, > struct ap_qirq_ctrl qirqctrl, > void *ind); > > +/** > + * ap_instructions_installed() - Tests whether AP instructions are installed > + * > + * Returns 1 if the AP instructions are installed, otherwise; returns 0 > + */ > +int ap_instructions_installed(void); > + > #endif /* _ASM_S390_AP_H_ */ > diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c > index 48d55dc..089b1cf 100644 > --- a/drivers/s390/crypto/ap_bus.c > +++ b/drivers/s390/crypto/ap_bus.c > @@ -211,6 +211,12 @@ int ap_query_configuration(struct ap_config_info *info) > } > EXPORT_SYMBOL(ap_query_configuration); > > +int ap_instructions_installed(void) > +{ > + return (ap_instructions_available() == 0); > +} > +EXPORT_SYMBOL(ap_instructions_installed); > + > /** > * ap_init_configuration(): Allocate and query configuration array. > */ Reviewed-by: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html