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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 9A046C77B7C for ; Sun, 21 May 2023 05:21:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=0Vb/jWc+BMQdwQ5MngFySK4zFrPw249DJMEwxM2FEs0=; b=AHkuPNxFVvcGSo /DBQ0tZ9csM3B22Y/gNMl3UyjUylYh+vBuXVOWhPQ1eV/iOESwpl6DGJpBV9SHwxFvOEqHcq8lo9K E+LAdSKoEPfKjbn/27PVi0h0BZk8QLllg2joMxXvkZ9uSh81ru26krREMkO4ByH7nI434ZiQ259TG lW6OLt+0H5SpayHCZVhgYqhSm5xWOSQhUGjJ7qKhE3kP12yjfp6Ec5vkQyHwS5pfxJWSefOy6ZElJ 8JODxdlnO+/dQ6edj11siyJdot/gVdqTIRKmAcJdJT3eOYC1mDHCrN5kaSm9Add+ed84Y7UeajI0A 1Sh1nNADCmY8PmjQ7jyg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q0bUw-0039hf-0F; Sun, 21 May 2023 05:20:50 +0000 Received: from sypressi2.dnainternet.net ([83.102.40.154]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q0bUr-0039gw-2T for linux-riscv@lists.infradead.org; Sun, 21 May 2023 05:20:47 +0000 Received: from localhost (localhost [127.0.0.1]) by sypressi2.dnainternet.net (Postfix) with ESMTP id 77CE51382B; Sun, 21 May 2023 08:20:42 +0300 (EEST) X-Virus-Scanned: DNA Internet at dnainternet.net Received: from sypressi2.dnainternet.net ([83.102.40.154]) by localhost (sypressi2.dnainternet.net [127.0.0.1]) (DNA Internet, port 10041) with ESMTP id bL63GhnjK1Ib; Sun, 21 May 2023 08:20:42 +0300 (EEST) Received: from luumupuu2.dnainternet.net (luumupuu2.dnainternet.net [83.102.40.55]) by sypressi2.dnainternet.net (Postfix) with ESMTP id 18A8112DC9; Sun, 21 May 2023 08:20:42 +0300 (EEST) Received: from basile.localnet (87-92-194-88.rev.dnainternet.fi [87.92.194.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by luumupuu2.dnainternet.net (Postfix) with ESMTPS id C6E8B74; Sun, 21 May 2023 08:20:39 +0300 (EEST) From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: linux-riscv@lists.infradead.org Cc: LKML Subject: Re: [PATCH -next v20 24/26] riscv: Add documentation for Vector Date: Sun, 21 May 2023 08:20:39 +0300 Message-ID: <2915864.UkfCvvTAve@basile.remlab.net> Organization: Remlab In-Reply-To: <20230518161949.11203-25-andy.chiu@sifive.com> References: <20230518161949.11203-1-andy.chiu@sifive.com> <20230518161949.11203-25-andy.chiu@sifive.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230520_222046_115368_765E0902 X-CRM114-Status: GOOD ( 20.56 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org CUhpLAoKTGUgdG9yc3RhaW5hIDE4LiB0b3Vrb2t1dXRhIDIwMjMgMTkuMTkuNDcgRUVTVCwgdm91 cyBhdmV6IMOpY3JpdCA6Cj4gVGhpcyBwYXRjaCBhZGQgYSBicmllZiBkb2N1bWVudGF0aW9uIG9m IHRoZSB1c2Vyc3BhY2UgaW50ZXJmYWNlIGluCj4gcmVnYXJkIHRvIHRoZSBSSVNDLVYgVmVjdG9y IGV4dGVuc2lvbi4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbmR5IENoaXUgPGFuZHkuY2hpdSBhdCBz aWZpdmUuY29tPgo+IFJldmlld2VkLWJ5OiBHcmVlbnRpbWUgSHUgPGdyZWVudGltZS5odSBhdCBz aWZpdmUuY29tPgo+IFJldmlld2VkLWJ5OiBWaW5jZW50IENoZW4gPHZpbmNlbnQuY2hlbiBhdCBz aWZpdmUuY29tPgo+IENvLWRldmVsb3BlZC1ieTogQmFnYXMgU2FuamF5YSA8YmFnYXNkb3RtZSBh dCBnbWFpbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQmFnYXMgU2FuamF5YSA8YmFnYXNkb3RtZSBh dCBnbWFpbC5jb20+Cj4gLS0tCj4gQ2hhbmdlbG9nIHYyMDoKPiAgLSBEcm9wIGJpdC1maWVsZCBy ZXByZXNzZW50YXRpb24gYW5kIHR5cG9zIChCaj9ybikKPiAgLSBGaXggZG9jdW1lbnQgc3R5bGlu ZyAoQmFnYXMpCj4gLS0tCj4gIERvY3VtZW50YXRpb24vcmlzY3YvaW5kZXgucnN0ICB8ICAgMSAr Cj4gIERvY3VtZW50YXRpb24vcmlzY3YvdmVjdG9yLnJzdCB8IDEyMCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9yaXNjdi92ZWN0b3IucnN0Cj4gCj4g ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmlzY3YvaW5kZXgucnN0IGIvRG9jdW1lbnRhdGlv bi9yaXNjdi9pbmRleC5yc3QKPiBpbmRleCAxNzVhOTFkYjAyMDAuLjk1Y2Y5YzFlMWRhMSAxMDA2 NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL3Jpc2N2L2luZGV4LnJzdAo+ICsrKyBiL0RvY3VtZW50 YXRpb24vcmlzY3YvaW5kZXgucnN0Cj4gQEAgLTEwLDYgKzEwLDcgQEAgUklTQy1WIGFyY2hpdGVj dHVyZQo+ICAgICAgaHdwcm9iZQo+ICAgICAgcGF0Y2gtYWNjZXB0YW5jZQo+ICAgICAgdWFiaQo+ ICsgICAgdmVjdG9yCj4gCj4gICAgICBmZWF0dXJlcwo+IAo+IGRpZmYgLS1naXQgYS9Eb2N1bWVu dGF0aW9uL3Jpc2N2L3ZlY3Rvci5yc3QgYi9Eb2N1bWVudGF0aW9uL3Jpc2N2L3ZlY3Rvci5yc3QK PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMDAwMC4uNWQzN2ZkMjEyNzIw Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL0RvY3VtZW50YXRpb24vcmlzY3YvdmVjdG9yLnJzdAo+ IEBAIC0wLDAgKzEsMTIwIEBACj4gKy4uIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w Cj4gKwo+ICs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICtWZWN0 b3IgRXh0ZW5zaW9uIFN1cHBvcnQgZm9yIFJJU0MtViBMaW51eAo+ICs9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsKPiArVGhpcyBkb2N1bWVudCBicmllZmx5IG91 dGxpbmVzIHRoZSBpbnRlcmZhY2UgcHJvdmlkZWQgdG8gdXNlcnNwYWNlIGJ5IExpbnV4Cj4gaW4g K29yZGVyIHRvIHN1cHBvcnQgdGhlIHVzZSBvZiB0aGUgUklTQy1WIFZlY3RvciBFeHRlbnNpb24u Cj4gKwo+ICsxLiAgcHJjdGwoKSBJbnRlcmZhY2UKPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g Kwo+ICtUd28gbmV3IHByY3RsKCkgY2FsbHMgYXJlIGFkZGVkIHRvIGFsbG93IHByb2dyYW1zIHRv IG1hbmFnZSB0aGUgZW5hYmxlbWVudAo+ICtzdGF0dXMgZm9yIHRoZSB1c2Ugb2YgVmVjdG9yIGlu IHVzZXJzcGFjZToKPiArCj4gKyogcHJjdGwoUFJfUklTQ1ZfVl9TRVRfQ09OVFJPTCwgdW5zaWdu ZWQgbG9uZyBhcmcpCj4gKwo+ICsgICAgU2V0cyB0aGUgVmVjdG9yIGVuYWJsZW1lbnQgc3RhdHVz IG9mIHRoZSBjYWxsaW5nIHRocmVhZCwgd2hlcmUgdGhlCj4gY29udHJvbAo+ICsgICAgYXJndW1l bnQgY29uc2lzdHMgb2YgdHdvIDItYml0IGVuYWJsZW1lbnQgc3RhdHVzZXMgYW5kIGEgYml0Cj4g Zm9yIGluaGVyaXRhbmNlCj4gKyAgICBtb2RlLiBPdGhlciB0aHJlYWRzIG9mIHRoZSBjYWxsaW5n IHByb2Nlc3MgYXJlCj4gdW5hZmZlY3RlZC4KCkkgc29tZXdoYXQgd29uZGVyIHdobyBpcy9hcmUg dGhlIGludGVuZGVkIHVzZXJzIG9mIHRoaXMgbmV3IHByY3RsKCkuIEFyZSB0aGV5IAp0aGUgcnVu LXRpbWUgKGxpYmMpPyBUaGUgbWFpbiBwcm9ncmFtPyBMaWJyYXJpZXMgdXNpbmcgUlZWIGludGVy bmFsbHkgKHRoaW5rIApPcGVuU1NMLCBOZXR0bGUsIEZGbXBlZywgZXRjKT8gVGhlIGluaXQgc3lz dGVtPwoKTGlicmFyeSBjb2RlIGRvZXNuJ3QgdHlwaWNhbGx5IGtub3cgaG93IHN0YWNrcyBhcmUg YWxsb2NhdGVkIGFuZCBob3cgc2lnbmFsIAphcmUgaGFuZGxlZCAob24gYWx0ZXJuYXRlIG9yIG5v cm1hbCBzdGFja3MpLCBzaW5jZSBzaWduYWwgaGFuZGxlcnMgYXJlIApwcm9jZXNzLWdsb2JhbCBz dGF0ZS4gU28gSSBmaWd1cmUgdGhhdCBsaWJyYXJpZXMgc2hvdWxkIGtlZXAgb2ZmIG9mZiB0aGlz IG9uZS4KCkNvbnZlcnNlbHksIGl0IHdvdWxkIGJlIGltcHJhY3RpY2FsIGZvciBwcm9ncmFtcyB0 byBjYWxsIGEgTGludXgtc3BlY2lmaWMgUklTQy0KVi1zcGVjaWZpYyBpbiBvciBhcm91bmQgdGhl aXIgbWFpbigpLiBBbmQgdGhlbiBsaWJjIHByZXN1bWFibHkgc2hvdWxkIG5vdCAKb3ZlcnJpZGUg dGhlIGNvbmZpZ3VyZWQgcG9saWN5IHRoYXQgY29tZXMgZnJvbSBzeXNjdGwgb3IgZnJvbSB0aGUg cGFyZW50IApwcm9jZXNzLgoKU28gSSBndWVzcyB0aGF0IHRoYXQgbGVhdmVzIGp1c3QgdGhlIGlu aXQgc3lzdGVtIChpbiBhIGJyb2FkIHNlbnNlKSB0aGVuPwoKSW4gYW55IGNhc2UsIEkgdGhpbmsg dGhlIGludGVuZGVkIHVzZSBzaG91bGQgYmUgY2xhcmlmaWVkIHdpdGggcHJvcGVyIHVzYWdlIApn dWlkZWxpbmVzLiBPdGhlcndpc2UsIHdoYXQgSSBiZXQgaGFwcGVucyBpcyBSVlYtY2FwYWJsZSBs aWJyYXJpZXMganVzdCAKYmxpbmRseSBpbnZva2UgdGhlIHByY3RsKCkgdG8gImVuYWJsZSBSVlYi LCBkZWFmZWF0aW5nIHRoZSBwdXJwb3NlIG9mIGhhdmluZyAKdGhlIHByY3RsKCkgaW4gdGhlIGZp cnN0IHBsYWNlLgoKLS0gClLDqW1pIERlbmlzLUNvdXJtb250Cmh0dHA6Ly93d3cucmVtbGFiLm5l dC8KCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK 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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3BA17C77B7C for ; Sun, 21 May 2023 05:27:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230104AbjEUF1g convert rfc822-to-8bit (ORCPT ); Sun, 21 May 2023 01:27:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35316 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229481AbjEUF1e (ORCPT ); Sun, 21 May 2023 01:27:34 -0400 X-Greylist: delayed 404 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Sat, 20 May 2023 22:27:29 PDT Received: from sypressi2.dnainternet.net (sypressi2.dnainternet.net [83.102.40.154]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59749FE for ; Sat, 20 May 2023 22:27:29 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by sypressi2.dnainternet.net (Postfix) with ESMTP id 77CE51382B; Sun, 21 May 2023 08:20:42 +0300 (EEST) X-Virus-Scanned: DNA Internet at dnainternet.net Received: from sypressi2.dnainternet.net ([83.102.40.154]) by localhost (sypressi2.dnainternet.net [127.0.0.1]) (DNA Internet, port 10041) with ESMTP id bL63GhnjK1Ib; Sun, 21 May 2023 08:20:42 +0300 (EEST) Received: from luumupuu2.dnainternet.net (luumupuu2.dnainternet.net [83.102.40.55]) by sypressi2.dnainternet.net (Postfix) with ESMTP id 18A8112DC9; Sun, 21 May 2023 08:20:42 +0300 (EEST) Received: from basile.localnet (87-92-194-88.rev.dnainternet.fi [87.92.194.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by luumupuu2.dnainternet.net (Postfix) with ESMTPS id C6E8B74; Sun, 21 May 2023 08:20:39 +0300 (EEST) From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: linux-riscv@lists.infradead.org Cc: LKML Subject: Re: [PATCH -next v20 24/26] riscv: Add documentation for Vector Date: Sun, 21 May 2023 08:20:39 +0300 Message-ID: <2915864.UkfCvvTAve@basile.remlab.net> Organization: Remlab In-Reply-To: <20230518161949.11203-25-andy.chiu@sifive.com> References: <20230518161949.11203-1-andy.chiu@sifive.com> <20230518161949.11203-25-andy.chiu@sifive.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Le torstaina 18. toukokuuta 2023 19.19.47 EEST, vous avez écrit : > This patch add a brief documentation of the userspace interface in > regard to the RISC-V Vector extension. > > Signed-off-by: Andy Chiu > Reviewed-by: Greentime Hu > Reviewed-by: Vincent Chen > Co-developed-by: Bagas Sanjaya > Signed-off-by: Bagas Sanjaya > --- > Changelog v20: > - Drop bit-field repressentation and typos (Bj?rn) > - Fix document styling (Bagas) > --- > Documentation/riscv/index.rst | 1 + > Documentation/riscv/vector.rst | 120 +++++++++++++++++++++++++++++++++ > 2 files changed, 121 insertions(+) > create mode 100644 Documentation/riscv/vector.rst > > diff --git a/Documentation/riscv/index.rst b/Documentation/riscv/index.rst > index 175a91db0200..95cf9c1e1da1 100644 > --- a/Documentation/riscv/index.rst > +++ b/Documentation/riscv/index.rst > @@ -10,6 +10,7 @@ RISC-V architecture > hwprobe > patch-acceptance > uabi > + vector > > features > > diff --git a/Documentation/riscv/vector.rst b/Documentation/riscv/vector.rst > new file mode 100644 > index 000000000000..5d37fd212720 > --- /dev/null > +++ b/Documentation/riscv/vector.rst > @@ -0,0 +1,120 @@ > +.. SPDX-License-Identifier: GPL-2.0 > + > +========================================= > +Vector Extension Support for RISC-V Linux > +========================================= > + > +This document briefly outlines the interface provided to userspace by Linux > in +order to support the use of the RISC-V Vector Extension. > + > +1. prctl() Interface > +--------------------- > + > +Two new prctl() calls are added to allow programs to manage the enablement > +status for the use of Vector in userspace: > + > +* prctl(PR_RISCV_V_SET_CONTROL, unsigned long arg) > + > + Sets the Vector enablement status of the calling thread, where the > control > + argument consists of two 2-bit enablement statuses and a bit > for inheritance > + mode. Other threads of the calling process are > unaffected. I somewhat wonder who is/are the intended users of this new prctl(). Are they the run-time (libc)? The main program? Libraries using RVV internally (think OpenSSL, Nettle, FFmpeg, etc)? The init system? Library code doesn't typically know how stacks are allocated and how signal are handled (on alternate or normal stacks), since signal handlers are process-global state. So I figure that libraries should keep off off this one. Conversely, it would be impractical for programs to call a Linux-specific RISC- V-specific in or around their main(). And then libc presumably should not override the configured policy that comes from sysctl or from the parent process. So I guess that that leaves just the init system (in a broad sense) then? In any case, I think the intended use should be clarified with proper usage guidelines. Otherwise, what I bet happens is RVV-capable libraries just blindly invoke the prctl() to "enable RVV", deafeating the purpose of having the prctl() in the first place. -- Rémi Denis-Courmont http://www.remlab.net/