From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 44676C43381 for ; Tue, 19 Mar 2019 17:58:10 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1A95820651 for ; Tue, 19 Mar 2019 17:58:10 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jpoaqH9C" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1A95820651 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8gcnWibY8PUglL8420NP39A3wGekxR2nczH+gL6+uPQ=; b=jpoaqH9Cu9JI8y VQ3KkZ7aWwg9e8kAAToC5139REDIiQ1jNSEfpmFB6rOpl98qs1FE3GGs5ArlDcH7h47Lh0wW4fo0w EMebu93mRRZruT77OMrnMmjaMyj3KdWJ+j756AU5Lhntq/qDFW9i8EBVmhRcQKTVQJG9QnJboYaFe WIh3R1fWQoI+M5a9ENZyeW+2dS//LT4Q86oOnkynSOMyvcc42ws01yzey0QlxV86tAsoDaSkmjI4Y lkku1pqK+MWx5JarrP4ygWsq++uKwI2V9O27l+vhvdbOoZOEnSKKuLrHwWAXJDrXxXlZnLi9q7LxU AmfLutfpUEFHom1fN5Wg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h6J01-0006Ov-GO; Tue, 19 Mar 2019 17:58:05 +0000 Received: from foss.arm.com ([217.140.101.70]) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h6Ivt-0001VI-Ue for linux-arm-kernel@lists.infradead.org; Tue, 19 Mar 2019 17:54:20 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A6D39174E; Tue, 19 Mar 2019 10:53:49 -0700 (PDT) Received: from e103592.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.72.51.249]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B6B5F3F614; Tue, 19 Mar 2019 10:53:47 -0700 (PDT) From: Dave Martin To: kvmarm@lists.cs.columbia.edu Subject: [PATCH v6 20/27] arm64/sve: In-kernel vector length availability query interface Date: Tue, 19 Mar 2019 17:52:11 +0000 Message-Id: <1553017938-710-21-git-send-email-Dave.Martin@arm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1553017938-710-1-git-send-email-Dave.Martin@arm.com> References: <1553017938-710-1-git-send-email-Dave.Martin@arm.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190319_105350_444148_CBFF8C30 X-CRM114-Status: GOOD ( 17.79 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Okamoto Takayuki , Christoffer Dall , Ard Biesheuvel , Marc Zyngier , Catalin Marinas , Will Deacon , Zhang Lei , Julien Grall , =?UTF-8?q?Alex=20Benn=C3=A9e?= , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org S1ZNIHdpbGwgbmVlZCB0byBpbnRlcnJvZ2F0ZSB0aGUgc2V0IG9mIFNWRSB2ZWN0b3IgbGVuZ3Ro cwphdmFpbGFibGUgb24gdGhlIHN5c3RlbS4KClRoaXMgcGF0Y2ggZXhwb3NlcyB0aGUgcmVsZXZh bnQgYml0cyB0byB0aGUga2VybmVsLCBhbG9uZyB3aXRoIGEKc3ZlX3ZxX2F2YWlsYWJsZSgpIGhl bHBlciB0byBjaGVjayB3aGV0aGVyIGEgcGFydGljdWxhciB2ZWN0b3IKbGVuZ3RoIGlzIHN1cHBv cnRlZC4KCl9fdnFfdG9fYml0KCkgYW5kIF9fYml0X3RvX3ZxKCkgYXJlIG5vdCBpbnRlbmRlZCBm b3IgdXNlIG91dHNpZGUKdGhlc2UgZnVuY3Rpb25zOiBub3cgdGhhdCB0aGVzZSBhcmUgZXhwb3Nl ZCBvdXRzaWRlIGZwc2ltZC5jLCB0aGV5CmFyZSBwcmVmaXhlZCB3aXRoIF9fIGluIG9yZGVyIHRv IHByb3ZpZGUgYW4gZXh0cmEgaGludCB0aGF0IHRoZXkKYXJlIG5vdCBpbnRlbmRlZCBmb3IgZ2Vu ZXJhbC1wdXJwb3NlIHVzZS4KClNpZ25lZC1vZmYtYnk6IERhdmUgTWFydGluIDxEYXZlLk1hcnRp bkBhcm0uY29tPgpSZXZpZXdlZC1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8u b3JnPgotLS0KIGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vZnBzaW1kLmggfCAyOSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogYXJjaC9hcm02NC9rZXJuZWwvZnBzaW1kLmMgICAgICB8IDM1 ICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM3 IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQv aW5jbHVkZS9hc20vZnBzaW1kLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Zwc2ltZC5oCmlu ZGV4IGRmN2ExNDMuLmFkNmQyZTQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v ZnBzaW1kLmgKKysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaApAQCAtMjQsMTAg KzI0LDEzIEBACiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKKyNpbmNsdWRlIDxsaW51eC9iaXRt YXAuaD4KICNpbmNsdWRlIDxsaW51eC9idWlsZF9idWcuaD4KKyNpbmNsdWRlIDxsaW51eC9idWcu aD4KICNpbmNsdWRlIDxsaW51eC9jYWNoZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNp bmNsdWRlIDxsaW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWYg ZGVmaW5lZChfX0tFUk5FTF9fKSAmJiBkZWZpbmVkKENPTkZJR19DT01QQVQpCiAvKiBNYXNrcyBm b3IgZXh0cmFjdGluZyB0aGUgRlBTUiBhbmQgRlBDUiBmcm9tIHRoZSBGUFNDUiAqLwpAQCAtODks NiArOTIsMzIgQEAgZXh0ZXJuIHU2NCByZWFkX3pjcl9mZWF0dXJlcyh2b2lkKTsKIAogZXh0ZXJu IGludCBfX3JvX2FmdGVyX2luaXQgc3ZlX21heF92bDsKIGV4dGVybiBpbnQgX19yb19hZnRlcl9p bml0IHN2ZV9tYXhfdmlydHVhbGlzYWJsZV92bDsKKy8qIFNldCBvZiBhdmFpbGFibGUgdmVjdG9y IGxlbmd0aHMsIGFzIHZxX3RvX2JpdCh2cSk6ICovCitleHRlcm4gX19yb19hZnRlcl9pbml0IERF Q0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOworCisvKgorICogSGVscGVycyB0 byB0cmFuc2xhdGUgYml0IGluZGljZXMgaW4gc3ZlX3ZxX21hcCB0byBWUSB2YWx1ZXMgKGFuZAor ICogdmljZSB2ZXJzYSkuICBUaGlzIGFsbG93cyBmaW5kX25leHRfYml0KCkgdG8gYmUgdXNlZCB0 byBmaW5kIHRoZQorICogX21heGltdW1fIFZRIG5vdCBleGNlZWRpbmcgYSBjZXJ0YWluIHZhbHVl LgorICovCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBfX3ZxX3RvX2JpdCh1bnNpZ25lZCBp bnQgdnEpCit7CisJcmV0dXJuIFNWRV9WUV9NQVggLSB2cTsKK30KKworc3RhdGljIGlubGluZSB1 bnNpZ25lZCBpbnQgX19iaXRfdG9fdnEodW5zaWduZWQgaW50IGJpdCkKK3sKKwlpZiAoV0FSTl9P TihiaXQgPj0gU1ZFX1ZRX01BWCkpCisJCWJpdCA9IFNWRV9WUV9NQVggLSAxOworCisJcmV0dXJu IFNWRV9WUV9NQVggLSBiaXQ7Cit9CisKKy8qIEVuc3VyZSB2cSA+PSBTVkVfVlFfTUlOICYmIHZx IDw9IFNWRV9WUV9NQVggYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAqLworc3RhdGljIGlu bGluZSBib29sIHN2ZV92cV9hdmFpbGFibGUodW5zaWduZWQgaW50IHZxKQoreworCXJldHVybiB0 ZXN0X2JpdChfX3ZxX3RvX2JpdCh2cSksIHN2ZV92cV9tYXApOworfQogCiAjaWZkZWYgQ09ORklH X0FSTTY0X1NWRQogCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC9mcHNpbWQuYyBiL2Fy Y2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jCmluZGV4IDhhOTNhZmEuLjU3NzI5NmIgMTAwNjQ0Ci0t LSBhL2FyY2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jCisrKyBiL2FyY2gvYXJtNjQva2VybmVsL2Zw c2ltZC5jCkBAIC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIGludCBzdmVfZGVmYXVsdF92bCA9IC0x OwogaW50IF9fcm9fYWZ0ZXJfaW5pdCBzdmVfbWF4X3ZsID0gU1ZFX1ZMX01JTjsKIGludCBfX3Jv X2FmdGVyX2luaXQgc3ZlX21heF92aXJ0dWFsaXNhYmxlX3ZsID0gU1ZFX1ZMX01JTjsKIC8qIFNl dCBvZiBhdmFpbGFibGUgdmVjdG9yIGxlbmd0aHMsIGFzIHZxX3RvX2JpdCh2cSk6ICovCi1zdGF0 aWMgX19yb19hZnRlcl9pbml0IERFQ0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgp OworX19yb19hZnRlcl9pbml0IERFQ0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgp OwogLyogU2V0IG9mIHZlY3RvciBsZW5ndGhzIHByZXNlbnQgb24gYXQgbGVhc3Qgb25lIGNwdTog Ki8KIHN0YXRpYyBfX3JvX2FmdGVyX2luaXQgREVDTEFSRV9CSVRNQVAoc3ZlX3ZxX3BhcnRpYWxf bWFwLCBTVkVfVlFfTUFYKTsKIHN0YXRpYyB2b2lkIF9fcGVyY3B1ICplZmlfc3ZlX3N0YXRlOwpA QCAtMjcwLDI1ICsyNzAsNiBAQCB2b2lkIGZwc2ltZF9zYXZlKHZvaWQpCiB9CiAKIC8qCi0gKiBI ZWxwZXJzIHRvIHRyYW5zbGF0ZSBiaXQgaW5kaWNlcyBpbiBzdmVfdnFfbWFwIHRvIFZRIHZhbHVl cyAoYW5kCi0gKiB2aWNlIHZlcnNhKS4gIFRoaXMgYWxsb3dzIGZpbmRfbmV4dF9iaXQoKSB0byBi ZSB1c2VkIHRvIGZpbmQgdGhlCi0gKiBfbWF4aW11bV8gVlEgbm90IGV4Y2VlZGluZyBhIGNlcnRh aW4gdmFsdWUuCi0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCB2cV90b19iaXQodW5zaWduZWQg aW50IHZxKQotewotCXJldHVybiBTVkVfVlFfTUFYIC0gdnE7Ci19Ci0KLXN0YXRpYyB1bnNpZ25l ZCBpbnQgYml0X3RvX3ZxKHVuc2lnbmVkIGludCBiaXQpCi17Ci0JaWYgKFdBUk5fT04oYml0ID49 IFNWRV9WUV9NQVgpKQotCQliaXQgPSBTVkVfVlFfTUFYIC0gMTsKLQotCXJldHVybiBTVkVfVlFf TUFYIC0gYml0OwotfQotCi0vKgogICogQWxsIHZlY3RvciBsZW5ndGggc2VsZWN0aW9uIGZyb20g dXNlcnNwYWNlIGNvbWVzIHRocm91Z2ggaGVyZS4KICAqIFdlJ3JlIG9uIGEgc2xvdyBwYXRoLCBz byBzb21lIHNhbml0eS1jaGVja3MgYXJlIGluY2x1ZGVkLgogICogSWYgdGhpbmdzIGdvIHdyb25n IHRoZXJlJ3MgYSBidWcgc29tZXdoZXJlLCBidXQgdHJ5IHRvIGZhbGwgYmFjayB0byBhCkBAIC0z MDksOCArMjkwLDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBmaW5kX3N1cHBvcnRlZF92ZWN0b3Jf bGVuZ3RoKHVuc2lnbmVkIGludCB2bCkKIAkJdmwgPSBtYXhfdmw7CiAKIAliaXQgPSBmaW5kX25l eHRfYml0KHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgsCi0JCQkgICAgdnFfdG9fYml0KHN2ZV92cV9m cm9tX3ZsKHZsKSkpOwotCXJldHVybiBzdmVfdmxfZnJvbV92cShiaXRfdG9fdnEoYml0KSk7CisJ CQkgICAgX192cV90b19iaXQoc3ZlX3ZxX2Zyb21fdmwodmwpKSk7CisJcmV0dXJuIHN2ZV92bF9m cm9tX3ZxKF9fYml0X3RvX3ZxKGJpdCkpOwogfQogCiAjaWZkZWYgQ09ORklHX1NZU0NUTApAQCAt NjQ4LDcgKzYyOSw3IEBAIHN0YXRpYyB2b2lkIHN2ZV9wcm9iZV92cXMoREVDTEFSRV9CSVRNQVAo bWFwLCBTVkVfVlFfTUFYKSkKIAkJd3JpdGVfc3lzcmVnX3MoemNyIHwgKHZxIC0gMSksIFNZU19a Q1JfRUwxKTsgLyogc2VsZi1zeW5jaW5nICovCiAJCXZsID0gc3ZlX2dldF92bCgpOwogCQl2cSA9 IHN2ZV92cV9mcm9tX3ZsKHZsKTsgLyogc2tpcCBpbnRlcnZlbmluZyBsZW5ndGhzICovCi0JCXNl dF9iaXQodnFfdG9fYml0KHZxKSwgbWFwKTsKKwkJc2V0X2JpdChfX3ZxX3RvX2JpdCh2cSksIG1h cCk7CiAJfQogfQogCkBAIC03MTcsNyArNjk4LDcgQEAgaW50IHN2ZV92ZXJpZnlfdnFfbWFwKHZv aWQpCiAJICogTWlzbWF0Y2hlcyBhYm92ZSBzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwgYXJlIGZp bmUsIHNpbmNlCiAJICogbm8gZ3Vlc3QgaXMgYWxsb3dlZCB0byBjb25maWd1cmUgWkNSX0VMMi5M RU4gdG8gZXhjZWVkIHRoaXM6CiAJICovCi0JaWYgKHN2ZV92bF9mcm9tX3ZxKGJpdF90b192cShi KSkgPD0gc3ZlX21heF92aXJ0dWFsaXNhYmxlX3ZsKSB7CisJaWYgKHN2ZV92bF9mcm9tX3ZxKF9f Yml0X3RvX3ZxKGIpKSA8PSBzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwpIHsKIAkJcHJfd2Fybigi U1ZFOiBjcHUlZDogVW5zdXBwb3J0ZWQgdmVjdG9yIGxlbmd0aChzKSBwcmVzZW50XG4iLAogCQkJ c21wX3Byb2Nlc3Nvcl9pZCgpKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC04MDEsOCArNzgyLDgg QEAgdm9pZCBfX2luaXQgc3ZlX3NldHVwKHZvaWQpCiAJICogc28gc3ZlX3ZxX21hcCBtdXN0IGhh dmUgYXQgbGVhc3QgU1ZFX1ZRX01JTiBzZXQuCiAJICogSWYgc29tZXRoaW5nIHdlbnQgd3Jvbmcs IGF0IGxlYXN0IHRyeSB0byBwYXRjaCBpdCB1cDoKIAkgKi8KLQlpZiAoV0FSTl9PTighdGVzdF9i aXQodnFfdG9fYml0KFNWRV9WUV9NSU4pLCBzdmVfdnFfbWFwKSkpCi0JCXNldF9iaXQodnFfdG9f Yml0KFNWRV9WUV9NSU4pLCBzdmVfdnFfbWFwKTsKKwlpZiAoV0FSTl9PTighdGVzdF9iaXQoX192 cV90b19iaXQoU1ZFX1ZRX01JTiksIHN2ZV92cV9tYXApKSkKKwkJc2V0X2JpdChfX3ZxX3RvX2Jp dChTVkVfVlFfTUlOKSwgc3ZlX3ZxX21hcCk7CiAKIAl6Y3IgPSByZWFkX3Nhbml0aXNlZF9mdHJf cmVnKFNZU19aQ1JfRUwxKTsKIAlzdmVfbWF4X3ZsID0gc3ZlX3ZsX2Zyb21fdnEoKHpjciAmIFpD Ul9FTHhfTEVOX01BU0spICsgMSk7CkBAIC04MzEsNyArODEyLDcgQEAgdm9pZCBfX2luaXQgc3Zl X3NldHVwKHZvaWQpCiAJCS8qIE5vIHZpcnR1YWxpc2FibGUgVkxzPyAgVGhpcyBpcyBhcmNoaXRl Y3R1cmFsbHkgZm9yYmlkZGVuLiAqLwogCQlzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwgPSBTVkVf VlFfTUlOOwogCWVsc2UgLyogYiArIDEgPCBTVkVfVlFfTUFYICovCi0JCXN2ZV9tYXhfdmlydHVh bGlzYWJsZV92bCA9IHN2ZV92bF9mcm9tX3ZxKGJpdF90b192cShiICsgMSkpOworCQlzdmVfbWF4 X3ZpcnR1YWxpc2FibGVfdmwgPSBzdmVfdmxfZnJvbV92cShfX2JpdF90b192cShiICsgMSkpOwog CiAJaWYgKHN2ZV9tYXhfdmlydHVhbGlzYWJsZV92bCA+IHN2ZV9tYXhfdmwpCiAJCXN2ZV9tYXhf dmlydHVhbGlzYWJsZV92bCA9IHN2ZV9tYXhfdmw7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGlu ZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK