From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Martin Subject: [PATCH v7 20/27] arm64/sve: In-kernel vector length availability query interface Date: Fri, 29 Mar 2019 13:00:45 +0000 Message-ID: <1553864452-15080-21-git-send-email-Dave.Martin@arm.com> References: <1553864452-15080-1-git-send-email-Dave.Martin@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id B078E4A4BF for ; Fri, 29 Mar 2019 09:02:27 -0400 (EDT) Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xa39WtFVaym1 for ; Fri, 29 Mar 2019 09:02:26 -0400 (EDT) Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 53A344A4E8 for ; Fri, 29 Mar 2019 09:02:25 -0400 (EDT) In-Reply-To: <1553864452-15080-1-git-send-email-Dave.Martin@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: kvmarm@lists.cs.columbia.edu Cc: Okamoto Takayuki , Christoffer Dall , Ard Biesheuvel , Marc Zyngier , Catalin Marinas , Will Deacon , Zhang Lei , Julien Grall , linux-arm-kernel@lists.infradead.org List-Id: kvmarm@lists.cs.columbia.edu S1ZNIHdpbGwgbmVlZCB0byBpbnRlcnJvZ2F0ZSB0aGUgc2V0IG9mIFNWRSB2ZWN0b3IgbGVuZ3Ro cwphdmFpbGFibGUgb24gdGhlIHN5c3RlbS4KClRoaXMgcGF0Y2ggZXhwb3NlcyB0aGUgcmVsZXZh bnQgYml0cyB0byB0aGUga2VybmVsLCBhbG9uZyB3aXRoIGEKc3ZlX3ZxX2F2YWlsYWJsZSgpIGhl bHBlciB0byBjaGVjayB3aGV0aGVyIGEgcGFydGljdWxhciB2ZWN0b3IKbGVuZ3RoIGlzIHN1cHBv cnRlZC4KCl9fdnFfdG9fYml0KCkgYW5kIF9fYml0X3RvX3ZxKCkgYXJlIG5vdCBpbnRlbmRlZCBm b3IgdXNlIG91dHNpZGUKdGhlc2UgZnVuY3Rpb25zOiBub3cgdGhhdCB0aGVzZSBhcmUgZXhwb3Nl ZCBvdXRzaWRlIGZwc2ltZC5jLCB0aGV5CmFyZSBwcmVmaXhlZCB3aXRoIF9fIGluIG9yZGVyIHRv IHByb3ZpZGUgYW4gZXh0cmEgaGludCB0aGF0IHRoZXkKYXJlIG5vdCBpbnRlbmRlZCBmb3IgZ2Vu ZXJhbC1wdXJwb3NlIHVzZS4KClNpZ25lZC1vZmYtYnk6IERhdmUgTWFydGluIDxEYXZlLk1hcnRp bkBhcm0uY29tPgpSZXZpZXdlZC1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8u b3JnPgpUZXN0ZWQtYnk6IHpoYW5nLmxlaSA8emhhbmcubGVpQGpwLmZ1aml0c3UuY29tPgotLS0K IGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vZnBzaW1kLmggfCAyOSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogYXJjaC9hcm02NC9rZXJuZWwvZnBzaW1kLmMgICAgICB8IDM1ICsrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9h c20vZnBzaW1kLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Zwc2ltZC5oCmluZGV4IGRmN2Ex NDMuLmFkNmQyZTQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZnBzaW1kLmgK KysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaApAQCAtMjQsMTAgKzI0LDEzIEBA CiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKKyNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KICNp bmNsdWRlIDxsaW51eC9idWlsZF9idWcuaD4KKyNpbmNsdWRlIDxsaW51eC9idWcuaD4KICNpbmNs dWRlIDxsaW51eC9jYWNoZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxs aW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWYgZGVmaW5lZChf X0tFUk5FTF9fKSAmJiBkZWZpbmVkKENPTkZJR19DT01QQVQpCiAvKiBNYXNrcyBmb3IgZXh0cmFj dGluZyB0aGUgRlBTUiBhbmQgRlBDUiBmcm9tIHRoZSBGUFNDUiAqLwpAQCAtODksNiArOTIsMzIg QEAgZXh0ZXJuIHU2NCByZWFkX3pjcl9mZWF0dXJlcyh2b2lkKTsKIAogZXh0ZXJuIGludCBfX3Jv X2FmdGVyX2luaXQgc3ZlX21heF92bDsKIGV4dGVybiBpbnQgX19yb19hZnRlcl9pbml0IHN2ZV9t YXhfdmlydHVhbGlzYWJsZV92bDsKKy8qIFNldCBvZiBhdmFpbGFibGUgdmVjdG9yIGxlbmd0aHMs IGFzIHZxX3RvX2JpdCh2cSk6ICovCitleHRlcm4gX19yb19hZnRlcl9pbml0IERFQ0xBUkVfQklU TUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOworCisvKgorICogSGVscGVycyB0byB0cmFuc2xh dGUgYml0IGluZGljZXMgaW4gc3ZlX3ZxX21hcCB0byBWUSB2YWx1ZXMgKGFuZAorICogdmljZSB2 ZXJzYSkuICBUaGlzIGFsbG93cyBmaW5kX25leHRfYml0KCkgdG8gYmUgdXNlZCB0byBmaW5kIHRo ZQorICogX21heGltdW1fIFZRIG5vdCBleGNlZWRpbmcgYSBjZXJ0YWluIHZhbHVlLgorICovCitz dGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBfX3ZxX3RvX2JpdCh1bnNpZ25lZCBpbnQgdnEpCit7 CisJcmV0dXJuIFNWRV9WUV9NQVggLSB2cTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBp bnQgX19iaXRfdG9fdnEodW5zaWduZWQgaW50IGJpdCkKK3sKKwlpZiAoV0FSTl9PTihiaXQgPj0g U1ZFX1ZRX01BWCkpCisJCWJpdCA9IFNWRV9WUV9NQVggLSAxOworCisJcmV0dXJuIFNWRV9WUV9N QVggLSBiaXQ7Cit9CisKKy8qIEVuc3VyZSB2cSA+PSBTVkVfVlFfTUlOICYmIHZxIDw9IFNWRV9W UV9NQVggYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAqLworc3RhdGljIGlubGluZSBib29s IHN2ZV92cV9hdmFpbGFibGUodW5zaWduZWQgaW50IHZxKQoreworCXJldHVybiB0ZXN0X2JpdChf X3ZxX3RvX2JpdCh2cSksIHN2ZV92cV9tYXApOworfQogCiAjaWZkZWYgQ09ORklHX0FSTTY0X1NW RQogCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC9mcHNpbWQuYyBiL2FyY2gvYXJtNjQv a2VybmVsL2Zwc2ltZC5jCmluZGV4IDhhOTNhZmEuLjU3NzI5NmIgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtNjQva2VybmVsL2Zwc2ltZC5jCisrKyBiL2FyY2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jCkBA IC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIGludCBzdmVfZGVmYXVsdF92bCA9IC0xOwogaW50IF9f cm9fYWZ0ZXJfaW5pdCBzdmVfbWF4X3ZsID0gU1ZFX1ZMX01JTjsKIGludCBfX3JvX2FmdGVyX2lu aXQgc3ZlX21heF92aXJ0dWFsaXNhYmxlX3ZsID0gU1ZFX1ZMX01JTjsKIC8qIFNldCBvZiBhdmFp bGFibGUgdmVjdG9yIGxlbmd0aHMsIGFzIHZxX3RvX2JpdCh2cSk6ICovCi1zdGF0aWMgX19yb19h ZnRlcl9pbml0IERFQ0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOworX19yb19h ZnRlcl9pbml0IERFQ0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOwogLyogU2V0 IG9mIHZlY3RvciBsZW5ndGhzIHByZXNlbnQgb24gYXQgbGVhc3Qgb25lIGNwdTogKi8KIHN0YXRp YyBfX3JvX2FmdGVyX2luaXQgREVDTEFSRV9CSVRNQVAoc3ZlX3ZxX3BhcnRpYWxfbWFwLCBTVkVf VlFfTUFYKTsKIHN0YXRpYyB2b2lkIF9fcGVyY3B1ICplZmlfc3ZlX3N0YXRlOwpAQCAtMjcwLDI1 ICsyNzAsNiBAQCB2b2lkIGZwc2ltZF9zYXZlKHZvaWQpCiB9CiAKIC8qCi0gKiBIZWxwZXJzIHRv IHRyYW5zbGF0ZSBiaXQgaW5kaWNlcyBpbiBzdmVfdnFfbWFwIHRvIFZRIHZhbHVlcyAoYW5kCi0g KiB2aWNlIHZlcnNhKS4gIFRoaXMgYWxsb3dzIGZpbmRfbmV4dF9iaXQoKSB0byBiZSB1c2VkIHRv IGZpbmQgdGhlCi0gKiBfbWF4aW11bV8gVlEgbm90IGV4Y2VlZGluZyBhIGNlcnRhaW4gdmFsdWUu Ci0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCB2cV90b19iaXQodW5zaWduZWQgaW50IHZxKQot ewotCXJldHVybiBTVkVfVlFfTUFYIC0gdnE7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgYml0 X3RvX3ZxKHVuc2lnbmVkIGludCBiaXQpCi17Ci0JaWYgKFdBUk5fT04oYml0ID49IFNWRV9WUV9N QVgpKQotCQliaXQgPSBTVkVfVlFfTUFYIC0gMTsKLQotCXJldHVybiBTVkVfVlFfTUFYIC0gYml0 OwotfQotCi0vKgogICogQWxsIHZlY3RvciBsZW5ndGggc2VsZWN0aW9uIGZyb20gdXNlcnNwYWNl IGNvbWVzIHRocm91Z2ggaGVyZS4KICAqIFdlJ3JlIG9uIGEgc2xvdyBwYXRoLCBzbyBzb21lIHNh bml0eS1jaGVja3MgYXJlIGluY2x1ZGVkLgogICogSWYgdGhpbmdzIGdvIHdyb25nIHRoZXJlJ3Mg YSBidWcgc29tZXdoZXJlLCBidXQgdHJ5IHRvIGZhbGwgYmFjayB0byBhCkBAIC0zMDksOCArMjkw LDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBmaW5kX3N1cHBvcnRlZF92ZWN0b3JfbGVuZ3RoKHVu c2lnbmVkIGludCB2bCkKIAkJdmwgPSBtYXhfdmw7CiAKIAliaXQgPSBmaW5kX25leHRfYml0KHN2 ZV92cV9tYXAsIFNWRV9WUV9NQVgsCi0JCQkgICAgdnFfdG9fYml0KHN2ZV92cV9mcm9tX3ZsKHZs KSkpOwotCXJldHVybiBzdmVfdmxfZnJvbV92cShiaXRfdG9fdnEoYml0KSk7CisJCQkgICAgX192 cV90b19iaXQoc3ZlX3ZxX2Zyb21fdmwodmwpKSk7CisJcmV0dXJuIHN2ZV92bF9mcm9tX3ZxKF9f Yml0X3RvX3ZxKGJpdCkpOwogfQogCiAjaWZkZWYgQ09ORklHX1NZU0NUTApAQCAtNjQ4LDcgKzYy OSw3IEBAIHN0YXRpYyB2b2lkIHN2ZV9wcm9iZV92cXMoREVDTEFSRV9CSVRNQVAobWFwLCBTVkVf VlFfTUFYKSkKIAkJd3JpdGVfc3lzcmVnX3MoemNyIHwgKHZxIC0gMSksIFNZU19aQ1JfRUwxKTsg Lyogc2VsZi1zeW5jaW5nICovCiAJCXZsID0gc3ZlX2dldF92bCgpOwogCQl2cSA9IHN2ZV92cV9m cm9tX3ZsKHZsKTsgLyogc2tpcCBpbnRlcnZlbmluZyBsZW5ndGhzICovCi0JCXNldF9iaXQodnFf dG9fYml0KHZxKSwgbWFwKTsKKwkJc2V0X2JpdChfX3ZxX3RvX2JpdCh2cSksIG1hcCk7CiAJfQog fQogCkBAIC03MTcsNyArNjk4LDcgQEAgaW50IHN2ZV92ZXJpZnlfdnFfbWFwKHZvaWQpCiAJICog TWlzbWF0Y2hlcyBhYm92ZSBzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwgYXJlIGZpbmUsIHNpbmNl CiAJICogbm8gZ3Vlc3QgaXMgYWxsb3dlZCB0byBjb25maWd1cmUgWkNSX0VMMi5MRU4gdG8gZXhj ZWVkIHRoaXM6CiAJICovCi0JaWYgKHN2ZV92bF9mcm9tX3ZxKGJpdF90b192cShiKSkgPD0gc3Zl X21heF92aXJ0dWFsaXNhYmxlX3ZsKSB7CisJaWYgKHN2ZV92bF9mcm9tX3ZxKF9fYml0X3RvX3Zx KGIpKSA8PSBzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwpIHsKIAkJcHJfd2FybigiU1ZFOiBjcHUl ZDogVW5zdXBwb3J0ZWQgdmVjdG9yIGxlbmd0aChzKSBwcmVzZW50XG4iLAogCQkJc21wX3Byb2Nl c3Nvcl9pZCgpKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC04MDEsOCArNzgyLDggQEAgdm9pZCBf X2luaXQgc3ZlX3NldHVwKHZvaWQpCiAJICogc28gc3ZlX3ZxX21hcCBtdXN0IGhhdmUgYXQgbGVh c3QgU1ZFX1ZRX01JTiBzZXQuCiAJICogSWYgc29tZXRoaW5nIHdlbnQgd3JvbmcsIGF0IGxlYXN0 IHRyeSB0byBwYXRjaCBpdCB1cDoKIAkgKi8KLQlpZiAoV0FSTl9PTighdGVzdF9iaXQodnFfdG9f Yml0KFNWRV9WUV9NSU4pLCBzdmVfdnFfbWFwKSkpCi0JCXNldF9iaXQodnFfdG9fYml0KFNWRV9W UV9NSU4pLCBzdmVfdnFfbWFwKTsKKwlpZiAoV0FSTl9PTighdGVzdF9iaXQoX192cV90b19iaXQo U1ZFX1ZRX01JTiksIHN2ZV92cV9tYXApKSkKKwkJc2V0X2JpdChfX3ZxX3RvX2JpdChTVkVfVlFf TUlOKSwgc3ZlX3ZxX21hcCk7CiAKIAl6Y3IgPSByZWFkX3Nhbml0aXNlZF9mdHJfcmVnKFNZU19a Q1JfRUwxKTsKIAlzdmVfbWF4X3ZsID0gc3ZlX3ZsX2Zyb21fdnEoKHpjciAmIFpDUl9FTHhfTEVO X01BU0spICsgMSk7CkBAIC04MzEsNyArODEyLDcgQEAgdm9pZCBfX2luaXQgc3ZlX3NldHVwKHZv aWQpCiAJCS8qIE5vIHZpcnR1YWxpc2FibGUgVkxzPyAgVGhpcyBpcyBhcmNoaXRlY3R1cmFsbHkg Zm9yYmlkZGVuLiAqLwogCQlzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwgPSBTVkVfVlFfTUlOOwog CWVsc2UgLyogYiArIDEgPCBTVkVfVlFfTUFYICovCi0JCXN2ZV9tYXhfdmlydHVhbGlzYWJsZV92 bCA9IHN2ZV92bF9mcm9tX3ZxKGJpdF90b192cShiICsgMSkpOworCQlzdmVfbWF4X3ZpcnR1YWxp c2FibGVfdmwgPSBzdmVfdmxfZnJvbV92cShfX2JpdF90b192cShiICsgMSkpOwogCiAJaWYgKHN2 ZV9tYXhfdmlydHVhbGlzYWJsZV92bCA+IHN2ZV9tYXhfdmwpCiAJCXN2ZV9tYXhfdmlydHVhbGlz YWJsZV92bCA9IHN2ZV9tYXhfdmw7Ci0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18Ka3ZtYXJtIG1haWxpbmcgbGlzdAprdm1hcm1AbGlzdHMu Y3MuY29sdW1iaWEuZWR1Cmh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21haWxtYW4vbGlz dGluZm8va3ZtYXJtCg== 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 289C0C43381 for ; Fri, 29 Mar 2019 13:31:39 +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 D7A90217F5 for ; Fri, 29 Mar 2019 13:31:38 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="olcqsGT/"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=infradead.org header.i=@infradead.org header.b="HYT+wIf5" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D7A90217F5 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=iDYJqsoul5GA6W2rL+bmaBilOeQkmycUirC/Oa9F5D4=; b=olcqsGT/lI2OEN qXQWdfKZOkvH/pjtmEW8psMNtlkVWC4+pzHovhYGrF4BF9KuF/klkDjYQ+K9NRH0s1fcdBm6RxPTu CazjtTaOLfDP6ia9RB/HfOBpIFxuJKIYx1/XOIAuzRY2ytxOHogZ+QoBtEz5qjDbhN3yIY9gJAhM8 kEoUy4BehSs9C0x2UKXSgEqwo238e3lNwaGBfEoe1L08oTGk7G1Fg7sIlRslW+0FXSpxfxndMnl1i /nIOWbjw8l1Cm/k6Dd5CNI4AKyxgu6+FKwKeLOprs8Azv6JIRG6j5YmffxbhMJvik4ax9gJJBGMnK t0jQC/2jmLXg6+PhcBvw==; 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 1h9rba-00039O-5m; Fri, 29 Mar 2019 13:31:34 +0000 Received: from merlin.infradead.org ([2001:8b0:10b:1231::1]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h9rb5-0002UP-Em for linux-arm-kernel@bombadil.infradead.org; Fri, 29 Mar 2019 13:31:03 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=merlin.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=43yNwKCDEv0oCuUq3NRt2rtbofg05BSOPIIBkxHMjNs=; b=HYT+wIf5P8sZUjB1Yv7RvTDYHe b9ZbbrIBSjQbokimEL55Zblr20Wbxa3Q/Aqo6sfc5hC/MTJcSaOXoMr6j/HqPIj2aGEPnyBHwFDHP lzbNFEUumDy1xlpsSdOyrMOAKOFLSjnVNxLZJviRsuCddz0VVMm9fHcSMPFJ0FayDMOxp3IT5nBZ8 uSPS749F0A+3VIT5VnE+1r8we+p9WhwctNAjTZOZSDdxk2AH5+GJs7b1WQmtdkoPIfda1CyE/yUas OdeGgy8pa09CQfY8Wa98CkVODD/mlQ3jjMEItDk28QD+SCQuhOY+Xff5KlmlMDcVoWySZhaWIaKY9 rxJ/SSQA==; Received: from foss.arm.com ([217.140.101.70]) by merlin.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h9r9N-0005dP-Ph for linux-arm-kernel@lists.infradead.org; Fri, 29 Mar 2019 13:02:26 +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 0FB8E1682; Fri, 29 Mar 2019 06:02:25 -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 1F0733F575; Fri, 29 Mar 2019 06:02:22 -0700 (PDT) From: Dave Martin To: kvmarm@lists.cs.columbia.edu Subject: [PATCH v7 20/27] arm64/sve: In-kernel vector length availability query interface Date: Fri, 29 Mar 2019 13:00:45 +0000 Message-Id: <1553864452-15080-21-git-send-email-Dave.Martin@arm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1553864452-15080-1-git-send-email-Dave.Martin@arm.com> References: <1553864452-15080-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-20190329_090226_014081_FEB32303 X-CRM114-Status: GOOD ( 19.08 ) 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 b3JnPgpUZXN0ZWQtYnk6IHpoYW5nLmxlaSA8emhhbmcubGVpQGpwLmZ1aml0c3UuY29tPgotLS0K IGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vZnBzaW1kLmggfCAyOSArKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogYXJjaC9hcm02NC9rZXJuZWwvZnBzaW1kLmMgICAgICB8IDM1ICsrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlv bnMoKyksIDI3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQvaW5jbHVkZS9h c20vZnBzaW1kLmggYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2Zwc2ltZC5oCmluZGV4IGRmN2Ex NDMuLmFkNmQyZTQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vZnBzaW1kLmgK KysrIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9mcHNpbWQuaApAQCAtMjQsMTAgKzI0LDEzIEBA CiAKICNpZm5kZWYgX19BU1NFTUJMWV9fCiAKKyNpbmNsdWRlIDxsaW51eC9iaXRtYXAuaD4KICNp bmNsdWRlIDxsaW51eC9idWlsZF9idWcuaD4KKyNpbmNsdWRlIDxsaW51eC9idWcuaD4KICNpbmNs dWRlIDxsaW51eC9jYWNoZS5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KICNpbmNsdWRlIDxs aW51eC9zdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgogCiAjaWYgZGVmaW5lZChf X0tFUk5FTF9fKSAmJiBkZWZpbmVkKENPTkZJR19DT01QQVQpCiAvKiBNYXNrcyBmb3IgZXh0cmFj dGluZyB0aGUgRlBTUiBhbmQgRlBDUiBmcm9tIHRoZSBGUFNDUiAqLwpAQCAtODksNiArOTIsMzIg QEAgZXh0ZXJuIHU2NCByZWFkX3pjcl9mZWF0dXJlcyh2b2lkKTsKIAogZXh0ZXJuIGludCBfX3Jv X2FmdGVyX2luaXQgc3ZlX21heF92bDsKIGV4dGVybiBpbnQgX19yb19hZnRlcl9pbml0IHN2ZV9t YXhfdmlydHVhbGlzYWJsZV92bDsKKy8qIFNldCBvZiBhdmFpbGFibGUgdmVjdG9yIGxlbmd0aHMs IGFzIHZxX3RvX2JpdCh2cSk6ICovCitleHRlcm4gX19yb19hZnRlcl9pbml0IERFQ0xBUkVfQklU TUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOworCisvKgorICogSGVscGVycyB0byB0cmFuc2xh dGUgYml0IGluZGljZXMgaW4gc3ZlX3ZxX21hcCB0byBWUSB2YWx1ZXMgKGFuZAorICogdmljZSB2 ZXJzYSkuICBUaGlzIGFsbG93cyBmaW5kX25leHRfYml0KCkgdG8gYmUgdXNlZCB0byBmaW5kIHRo ZQorICogX21heGltdW1fIFZRIG5vdCBleGNlZWRpbmcgYSBjZXJ0YWluIHZhbHVlLgorICovCitz dGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBfX3ZxX3RvX2JpdCh1bnNpZ25lZCBpbnQgdnEpCit7 CisJcmV0dXJuIFNWRV9WUV9NQVggLSB2cTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBp bnQgX19iaXRfdG9fdnEodW5zaWduZWQgaW50IGJpdCkKK3sKKwlpZiAoV0FSTl9PTihiaXQgPj0g U1ZFX1ZRX01BWCkpCisJCWJpdCA9IFNWRV9WUV9NQVggLSAxOworCisJcmV0dXJuIFNWRV9WUV9N QVggLSBiaXQ7Cit9CisKKy8qIEVuc3VyZSB2cSA+PSBTVkVfVlFfTUlOICYmIHZxIDw9IFNWRV9W UV9NQVggYmVmb3JlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiAqLworc3RhdGljIGlubGluZSBib29s IHN2ZV92cV9hdmFpbGFibGUodW5zaWduZWQgaW50IHZxKQoreworCXJldHVybiB0ZXN0X2JpdChf X3ZxX3RvX2JpdCh2cSksIHN2ZV92cV9tYXApOworfQogCiAjaWZkZWYgQ09ORklHX0FSTTY0X1NW RQogCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2tlcm5lbC9mcHNpbWQuYyBiL2FyY2gvYXJtNjQv a2VybmVsL2Zwc2ltZC5jCmluZGV4IDhhOTNhZmEuLjU3NzI5NmIgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtNjQva2VybmVsL2Zwc2ltZC5jCisrKyBiL2FyY2gvYXJtNjQva2VybmVsL2Zwc2ltZC5jCkBA IC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIGludCBzdmVfZGVmYXVsdF92bCA9IC0xOwogaW50IF9f cm9fYWZ0ZXJfaW5pdCBzdmVfbWF4X3ZsID0gU1ZFX1ZMX01JTjsKIGludCBfX3JvX2FmdGVyX2lu aXQgc3ZlX21heF92aXJ0dWFsaXNhYmxlX3ZsID0gU1ZFX1ZMX01JTjsKIC8qIFNldCBvZiBhdmFp bGFibGUgdmVjdG9yIGxlbmd0aHMsIGFzIHZxX3RvX2JpdCh2cSk6ICovCi1zdGF0aWMgX19yb19h ZnRlcl9pbml0IERFQ0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOworX19yb19h ZnRlcl9pbml0IERFQ0xBUkVfQklUTUFQKHN2ZV92cV9tYXAsIFNWRV9WUV9NQVgpOwogLyogU2V0 IG9mIHZlY3RvciBsZW5ndGhzIHByZXNlbnQgb24gYXQgbGVhc3Qgb25lIGNwdTogKi8KIHN0YXRp YyBfX3JvX2FmdGVyX2luaXQgREVDTEFSRV9CSVRNQVAoc3ZlX3ZxX3BhcnRpYWxfbWFwLCBTVkVf VlFfTUFYKTsKIHN0YXRpYyB2b2lkIF9fcGVyY3B1ICplZmlfc3ZlX3N0YXRlOwpAQCAtMjcwLDI1 ICsyNzAsNiBAQCB2b2lkIGZwc2ltZF9zYXZlKHZvaWQpCiB9CiAKIC8qCi0gKiBIZWxwZXJzIHRv IHRyYW5zbGF0ZSBiaXQgaW5kaWNlcyBpbiBzdmVfdnFfbWFwIHRvIFZRIHZhbHVlcyAoYW5kCi0g KiB2aWNlIHZlcnNhKS4gIFRoaXMgYWxsb3dzIGZpbmRfbmV4dF9iaXQoKSB0byBiZSB1c2VkIHRv IGZpbmQgdGhlCi0gKiBfbWF4aW11bV8gVlEgbm90IGV4Y2VlZGluZyBhIGNlcnRhaW4gdmFsdWUu Ci0gKi8KLQotc3RhdGljIHVuc2lnbmVkIGludCB2cV90b19iaXQodW5zaWduZWQgaW50IHZxKQot ewotCXJldHVybiBTVkVfVlFfTUFYIC0gdnE7Ci19Ci0KLXN0YXRpYyB1bnNpZ25lZCBpbnQgYml0 X3RvX3ZxKHVuc2lnbmVkIGludCBiaXQpCi17Ci0JaWYgKFdBUk5fT04oYml0ID49IFNWRV9WUV9N QVgpKQotCQliaXQgPSBTVkVfVlFfTUFYIC0gMTsKLQotCXJldHVybiBTVkVfVlFfTUFYIC0gYml0 OwotfQotCi0vKgogICogQWxsIHZlY3RvciBsZW5ndGggc2VsZWN0aW9uIGZyb20gdXNlcnNwYWNl IGNvbWVzIHRocm91Z2ggaGVyZS4KICAqIFdlJ3JlIG9uIGEgc2xvdyBwYXRoLCBzbyBzb21lIHNh bml0eS1jaGVja3MgYXJlIGluY2x1ZGVkLgogICogSWYgdGhpbmdzIGdvIHdyb25nIHRoZXJlJ3Mg YSBidWcgc29tZXdoZXJlLCBidXQgdHJ5IHRvIGZhbGwgYmFjayB0byBhCkBAIC0zMDksOCArMjkw LDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBmaW5kX3N1cHBvcnRlZF92ZWN0b3JfbGVuZ3RoKHVu c2lnbmVkIGludCB2bCkKIAkJdmwgPSBtYXhfdmw7CiAKIAliaXQgPSBmaW5kX25leHRfYml0KHN2 ZV92cV9tYXAsIFNWRV9WUV9NQVgsCi0JCQkgICAgdnFfdG9fYml0KHN2ZV92cV9mcm9tX3ZsKHZs KSkpOwotCXJldHVybiBzdmVfdmxfZnJvbV92cShiaXRfdG9fdnEoYml0KSk7CisJCQkgICAgX192 cV90b19iaXQoc3ZlX3ZxX2Zyb21fdmwodmwpKSk7CisJcmV0dXJuIHN2ZV92bF9mcm9tX3ZxKF9f Yml0X3RvX3ZxKGJpdCkpOwogfQogCiAjaWZkZWYgQ09ORklHX1NZU0NUTApAQCAtNjQ4LDcgKzYy OSw3IEBAIHN0YXRpYyB2b2lkIHN2ZV9wcm9iZV92cXMoREVDTEFSRV9CSVRNQVAobWFwLCBTVkVf VlFfTUFYKSkKIAkJd3JpdGVfc3lzcmVnX3MoemNyIHwgKHZxIC0gMSksIFNZU19aQ1JfRUwxKTsg Lyogc2VsZi1zeW5jaW5nICovCiAJCXZsID0gc3ZlX2dldF92bCgpOwogCQl2cSA9IHN2ZV92cV9m cm9tX3ZsKHZsKTsgLyogc2tpcCBpbnRlcnZlbmluZyBsZW5ndGhzICovCi0JCXNldF9iaXQodnFf dG9fYml0KHZxKSwgbWFwKTsKKwkJc2V0X2JpdChfX3ZxX3RvX2JpdCh2cSksIG1hcCk7CiAJfQog fQogCkBAIC03MTcsNyArNjk4LDcgQEAgaW50IHN2ZV92ZXJpZnlfdnFfbWFwKHZvaWQpCiAJICog TWlzbWF0Y2hlcyBhYm92ZSBzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwgYXJlIGZpbmUsIHNpbmNl CiAJICogbm8gZ3Vlc3QgaXMgYWxsb3dlZCB0byBjb25maWd1cmUgWkNSX0VMMi5MRU4gdG8gZXhj ZWVkIHRoaXM6CiAJICovCi0JaWYgKHN2ZV92bF9mcm9tX3ZxKGJpdF90b192cShiKSkgPD0gc3Zl X21heF92aXJ0dWFsaXNhYmxlX3ZsKSB7CisJaWYgKHN2ZV92bF9mcm9tX3ZxKF9fYml0X3RvX3Zx KGIpKSA8PSBzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwpIHsKIAkJcHJfd2FybigiU1ZFOiBjcHUl ZDogVW5zdXBwb3J0ZWQgdmVjdG9yIGxlbmd0aChzKSBwcmVzZW50XG4iLAogCQkJc21wX3Byb2Nl c3Nvcl9pZCgpKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC04MDEsOCArNzgyLDggQEAgdm9pZCBf X2luaXQgc3ZlX3NldHVwKHZvaWQpCiAJICogc28gc3ZlX3ZxX21hcCBtdXN0IGhhdmUgYXQgbGVh c3QgU1ZFX1ZRX01JTiBzZXQuCiAJICogSWYgc29tZXRoaW5nIHdlbnQgd3JvbmcsIGF0IGxlYXN0 IHRyeSB0byBwYXRjaCBpdCB1cDoKIAkgKi8KLQlpZiAoV0FSTl9PTighdGVzdF9iaXQodnFfdG9f Yml0KFNWRV9WUV9NSU4pLCBzdmVfdnFfbWFwKSkpCi0JCXNldF9iaXQodnFfdG9fYml0KFNWRV9W UV9NSU4pLCBzdmVfdnFfbWFwKTsKKwlpZiAoV0FSTl9PTighdGVzdF9iaXQoX192cV90b19iaXQo U1ZFX1ZRX01JTiksIHN2ZV92cV9tYXApKSkKKwkJc2V0X2JpdChfX3ZxX3RvX2JpdChTVkVfVlFf TUlOKSwgc3ZlX3ZxX21hcCk7CiAKIAl6Y3IgPSByZWFkX3Nhbml0aXNlZF9mdHJfcmVnKFNZU19a Q1JfRUwxKTsKIAlzdmVfbWF4X3ZsID0gc3ZlX3ZsX2Zyb21fdnEoKHpjciAmIFpDUl9FTHhfTEVO X01BU0spICsgMSk7CkBAIC04MzEsNyArODEyLDcgQEAgdm9pZCBfX2luaXQgc3ZlX3NldHVwKHZv aWQpCiAJCS8qIE5vIHZpcnR1YWxpc2FibGUgVkxzPyAgVGhpcyBpcyBhcmNoaXRlY3R1cmFsbHkg Zm9yYmlkZGVuLiAqLwogCQlzdmVfbWF4X3ZpcnR1YWxpc2FibGVfdmwgPSBTVkVfVlFfTUlOOwog CWVsc2UgLyogYiArIDEgPCBTVkVfVlFfTUFYICovCi0JCXN2ZV9tYXhfdmlydHVhbGlzYWJsZV92 bCA9IHN2ZV92bF9mcm9tX3ZxKGJpdF90b192cShiICsgMSkpOworCQlzdmVfbWF4X3ZpcnR1YWxp c2FibGVfdmwgPSBzdmVfdmxfZnJvbV92cShfX2JpdF90b192cShiICsgMSkpOwogCiAJaWYgKHN2 ZV9tYXhfdmlydHVhbGlzYWJsZV92bCA+IHN2ZV9tYXhfdmwpCiAJCXN2ZV9tYXhfdmlydHVhbGlz YWJsZV92bCA9IHN2ZV9tYXhfdmw7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0Cmxp bnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFk Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK