Received: by 2002:a4a:311b:0:0:0:0:0 with SMTP id k27-v6csp4179539ooa; Tue, 14 Aug 2018 02:13:04 -0700 (PDT) X-Google-Smtp-Source: AA+uWPza1FI1YEDYCkQA7bAc+S6QEBHJ4xGfPOouqY4GEhArvHvz+YgrLisEV54Oz7G/fAbTnOqT X-Received: by 2002:a17:902:b28b:: with SMTP id u11-v6mr19596721plr.2.1534237984727; Tue, 14 Aug 2018 02:13:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534237984; cv=none; d=google.com; s=arc-20160816; b=t9KyYA/iDOoesxsjBH+2qRMULjBZt6AL7u50WEbkO/x02LibP5cvRZSbc3n4ogegk7 K51cR+frXkkWwXuG/8KaAcSpQvBIFOMugTMS1sAjcBu+WWVta6zSFsQ6B+xLu25IJMzI 7oJia10n9TGbnwbSSvWl7ICtmNRvUHfN0YR4c4IJoYwbzAEDNUtW/io3CP4Ms1zLnLqj E5rBqnKllNKLbu4RqICSXPv3k3x94Z8kQJ9QF5DTTpy95SymmID2my+5s6SXFAdXKefI gt2Y3y8PYoL6pvhRSlSqbsg/KQmCyUgCo47eCNbhti29RtpFGFdCC58lFH+IKd6Bi3MH DQLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date:arc-authentication-results; bh=sg9mRWirmyYcsusPA1/sauZd/v7dQq1gFm7E045wG/o=; b=H70SI0flzjEPfh+F9J9CioY3m0p/DEw7EEkTkR3QuaVIkFxJz/8TrnT5Fk+I/c/G+i PYLpEeuVIIadHxAoeKLWBDxvFBlHyJIAJuRIhZjPOf/PkfImdzotjwnTkYAyhjkN71ab 3Ej3yOfsVA+1bE0KPHO6qvV10ggDbhSmgoCrhwDwirlkkHNJNvRnDB8NivFduHIqUEp+ p9HTDRXGKwwwJ98iUvuknp0T3yvkvUfbUExZKuxyAnZC6YcqsClD/xO8Azc0k2g2D90X p4yr1BNJ57k1rvdHcT+wVzUplTP4VzkVijuNOAO6Oh5RCoTsAAY+C6D/dAYhFRgHo5EQ IV1w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c189-v6si17993991pga.259.2018.08.14.02.12.49; Tue, 14 Aug 2018 02:13:04 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731314AbeHNL3z (ORCPT + 99 others); Tue, 14 Aug 2018 07:29:55 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:32988 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727689AbeHNL3z (ORCPT ); Tue, 14 Aug 2018 07:29:55 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 0F255401EF09; Tue, 14 Aug 2018 08:43:44 +0000 (UTC) Received: from gondolin (ovpn-117-136.ams2.redhat.com [10.36.117.136]) by smtp.corp.redhat.com (Postfix) with ESMTP id D3EC27C41; Tue, 14 Aug 2018 08:43:38 +0000 (UTC) Date: Tue, 14 Aug 2018 10:43:35 +0200 From: Cornelia Huck To: Tony Krowiak Cc: linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, freude@de.ibm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, borntraeger@de.ibm.com, kwankhede@nvidia.com, bjsdjshi@linux.vnet.ibm.com, pbonzini@redhat.com, alex.williamson@redhat.com, pmorel@linux.vnet.ibm.com, alifm@linux.vnet.ibm.com, mjrosato@linux.vnet.ibm.com, jjherne@linux.vnet.ibm.com, thuth@redhat.com, pasic@linux.vnet.ibm.com, berrange@redhat.com, fiuczy@linux.vnet.ibm.com, buendgen@de.ibm.com, frankja@linux.ibm.com, Tony Krowiak Subject: Re: [PATCH v9 04/22] s390/zcrypt: Integrate ap_asm.h into include/asm/ap.h. Message-ID: <20180814104335.4bc3630a.cohuck@redhat.com> In-Reply-To: <1534196899-16987-5-git-send-email-akrowiak@linux.vnet.ibm.com> References: <1534196899-16987-1-git-send-email-akrowiak@linux.vnet.ibm.com> <1534196899-16987-5-git-send-email-akrowiak@linux.vnet.ibm.com> Organization: Red Hat GmbH MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Tue, 14 Aug 2018 08:43:44 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.5]); Tue, 14 Aug 2018 08:43:44 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'cohuck@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 13 Aug 2018 17:48:01 -0400 Tony Krowiak wrote: > From: Harald Freudenberger > > Move all the inline functions from the ap bus header > file ap_asm.h into the in-kernel api header file > arch/s390/include/asm/ap.h so that KVM can make use > of all the low level AP functions. > > Signed-off-by: Harald Freudenberger > Signed-off-by: Christian Borntraeger > Signed-off-by: Tony Krowiak > --- > arch/s390/include/asm/ap.h | 284 ++++++++++++++++++++++++++++++++++++---- > drivers/s390/crypto/ap_bus.c | 23 +--- > drivers/s390/crypto/ap_bus.h | 1 + > drivers/s390/crypto/ap_card.c | 1 - > drivers/s390/crypto/ap_queue.c | 1 - > 5 files changed, 260 insertions(+), 50 deletions(-) > > diff --git a/arch/s390/include/asm/ap.h b/arch/s390/include/asm/ap.h > index c1bedb4..887494a 100644 > --- a/arch/s390/include/asm/ap.h > +++ b/arch/s390/include/asm/ap.h > @@ -47,6 +47,50 @@ struct ap_queue_status { > }; > > /** > + * ap_intructions_available() - Test if AP instructions are available. > + * > + * Returns 1 if the AP instructions are installed, otherwise 0. > + */ > +static inline int ap_instructions_available(void) > +{ > + register unsigned long reg0 asm ("0") = AP_MKQID(0, 0); > + register unsigned long reg1 asm ("1") = 0; > + register unsigned long reg2 asm ("2") = 0; > + > + asm volatile( > + " .long 0xb2af0000\n" /* PQAP(TAPQ) */ > + "0: la %0,1\n" > + "1:\n" > + EX_TABLE(0b, 1b) > + : "+d" (reg1), "+d" (reg2) > + : "d" (reg0) > + : "cc"); > + return reg1; > +} I think upstream this change (have this function return !0 when the instructions are installed) will be an addon patch to the one which has already made its way into master. Not really relevant for the remainder of this patch series, though.