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 CCBFFEB64DC for ; Thu, 29 Jun 2023 16:06:26 +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:To:From:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Tl+AaQqjBtEGDrTi5i+fVCGPUv/3zZcOnIEb1jjPtvs=; b=qBkv7FrOBCS307 zEwAOJHE98r7XBc4PK1J+baFkPLMULT6lcOV3PPW+tD86e2Y19Pw6eqdLM1oVQOjAEAeL/ImoBcwf lB1Mh2EugwjY/yvDm32lCqYupaItADAz8S5ktZui8GAk77HVmMnPPtPiY/Gpt45gpSiSUVrBXOSLh ye6aMotIO5MtAaLSrxcfXzPDL7FItiBgd7U5CbjviG0p8+5nsLq0zHPb+hHRE9zemyH3fn0sAKFI9 Ir4iznBf3NJCAlcc35gTi1Y45kFIKyPpjUp9RgMOdDGfjT+aCgB/lW8XCKtcJBJVUgRJ3dV7Lol/Z eGOKYaey6cNQWz1SaTbA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qEu9x-001Udp-0G; Thu, 29 Jun 2023 16:06:17 +0000 Received: from 10.mo582.mail-out.ovh.net ([87.98.157.236]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qEu9t-001UcR-0T for linux-riscv@lists.infradead.org; Thu, 29 Jun 2023 16:06:15 +0000 Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.1.112]) by mo582.mail-out.ovh.net (Postfix) with ESMTP id 1C0BF272DA for ; Thu, 29 Jun 2023 16:06:06 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-jjccx (unknown [10.110.115.101]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5CA781FD81; Thu, 29 Jun 2023 16:06:05 +0000 (UTC) Received: from courmont.net ([37.59.142.102]) by ghost-submission-6684bf9d7b-jjccx with ESMTPSA id 6K0SEu2rnWRLegEAx5K4IQ (envelope-from ); Thu, 29 Jun 2023 16:06:05 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R00462b49bf9-edcf-4eeb-9952-1c40042ce9f5, F84C1CB5A676BA8784C093282B10E490F1B88DE6) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 87.92.194.88 From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: palmer@dabbelt.com, linux-riscv@lists.infradead.org, heiko@sntech.de, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 3/3] RISC-V: add T-Head vector errata handling Date: Thu, 29 Jun 2023 19:06:04 +0300 Message-ID: <3235072.aeNJFYEL58@basile.remlab.net> Organization: Remlab In-Reply-To: <20230622231305.631331-4-heiko@sntech.de> References: <20230622231305.631331-1-heiko@sntech.de> <20230622231305.631331-4-heiko@sntech.de> MIME-Version: 1.0 X-Ovh-Tracer-Id: 12388839627150727643 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrtdeggdeljecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvufffkfhojghfggfgtgesthhqredttddtjeenucfhrhhomheptformhhiucffvghnihhsqdevohhurhhmohhnthcuoehrvghmihesrhgvmhhlrggsrdhnvghtqeenucggtffrrghtthgvrhhnpeffgedthfegveefhffhffehvddtvdetgfelveeuueekkeetvefgtdfgffdvhfegveenucffohhmrghinheprhgvmhhlrggsrdhnvghtnecukfhppeduvdejrddtrddtrddupdekjedrledvrdduleegrdekkedpfeejrdehledrudegvddruddtvdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehrvghmihesrhgvmhhlrggsrdhnvghtqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehlihhnuhigqdhrihhstghvsehlihhsthhsrdhinhhfrhgruggvrggurdhorhhgpdfovfetjfhoshhtpehmohehkedvpdhmohguvgepshhmthhpohhuth X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230629_090613_488958_C9E8FF61 X-CRM114-Status: GOOD ( 15.44 ) 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 CUhpLAoKTGUgcGVyamFudGFpbmEgMjMuIGtlc8Oka3V1dGEgMjAyMywgMi4xMy4wNSBFRVNUIEhl aWtvIFN0dWVibmVyIGEgw6ljcml0IDoKPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRl L2FzbS9lcnJhdGFfbGlzdC5oCj4gYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2VycmF0YV9saXN0 LmggaW5kZXggZmIxYTgxMGYzZDhjLi5hYjIxZmFkYmU5YzYKPiAxMDA2NDQKPiAtLS0gYS9hcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL2VycmF0YV9saXN0LmgKPiArKysgYi9hcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL2VycmF0YV9saXN0LmgKPiBAQCAtMTU0LDYgKzE1NSw0OCBAQCBhc20gdm9sYXRpbGUo QUxURVJOQVRJVkUoCQkJCQoJCVwKPiAKPiAgCTogIj1yIiAoX19vdmwpIDoJCQkJCQkKXAo+ICAJ OiAibWVtb3J5IikKPiAKPiArI2lmZGVmIENPTkZJR19FUlJBVEFfVEhFQURfVkVDVE9SCj4gKwo+ ICsjZGVmaW5lIFRIRUFEX0M5WFhfQ1NSX1ZYU0FUCQkJMHg5Cj4gKyNkZWZpbmUgVEhFQURfQzlY WF9DU1JfVlhSTQkJCTB4YQo+ICsKPiArLyoKPiArICogVmVjdG9yIDAuNy4xIGFzIHVzZWQgZm9y IGV4YW1wbGUgb24gVC1IZWFkIFh1YW50aWUgY29yZXMsIHVzZXMgYW4gb2xkZXIKPiArICogZW5j b2RpbmcgZm9yIHZzZXR2bGkgKHRhLCBtYSB2cy4gZDEpLCBzbyBwcm92aWRlIGFuIGluc3RydWN0 aW9uIGZvcgo+ICsgKiB2c2V0dmxpCXQ0LCB4MCwgZTgsIG04LCBkMQo+ICsgKi8KPiArI2RlZmlu ZSBUSEVBRF9WU0VUVkxJX1Q0WDBFOE04RDEJIi5sb25nCTB4MDAzMDdlZDdcblx0IgoKVGhhdCBp cyBlcXVpdmFsZW50IHRvLCBhbmQgKElNSE8pIG11Y2ggbGVzcyBsZWdpYmxlIHRoYW46CiIuaW5z biAgIGkgT1BfViwgNywgdDQsIHgwLCAzIgpPciBldmVuIGlmIHlvdSBkb24ndCBtaW5kIHNlY29u ZC1ndWVzc2luZyBSVlYgMS4wIGFzc2VtYmxlcnM6CiJ2c2V0dmxpIHQ0LCB6ZXJvLCBlOCwgbTgs IHR1LCBtdSIKCkVpdGhlciB3YXksIHlvdSBkb24ndCBuZWVkIHRvIGhhcmQtY29kZSBYLXJlZ2lz dGVyIG9wZXJhbmRzIGluIGFzc2VtYmxlciAKbWFjcm9zICh0aG91Z2ggeW91IGRvIHVuZm9ydHVu YXRlbHkgbmVlZCB0byBoYXJkLWNvZGUgViByZWdpc3RlciBvcGVyYW5kcyBpZiAKeW91IHVzZSAu aW5zbikuCgo+ICsKPiArLyoKPiArICogV2hpbGUgaW4gdGhlb3J5LCB0aGUgdmVjdG9yLTAuNy4x IHZzYi52IGFuZCB2bGIudiByZXN1bHQgaW4gdGhlIHNhbWUKPiArICogZW5jb2RpbmcgYXMgdGhl IHN0YW5kYXJkIHZzZTgudiBhbmQgdmxlOC52LAoKTm90IG9ubHkgaW4gdGhlb3J5LiB2c2U4LnYg YW5kIHZsZTgudiBoYXZlIG9ubHkgb25lIHBvc3NpYmxlIGVuY29kaW5nIGVhY2ggCihmb3IgZ2l2 ZW4gb3BlcmFuZHMpLgoKPiBjb21waWxlcnMgc2VlbSB0byBvcHRpbWl6ZQoKTml0OiBCeSAiY29t cGlsZXJzIiwgZG8geW91IG1lYW4gImFzc2VtYmxlcnMiPyBUaGF0J3MgYSBiaXQgbWlzbGVhZGlu ZyB0byBtZS4KCj4gKyAqIHRoZSBjYWxsIHJlc3VsdGluZyBpbiBhIGRpZmZlcmVudCBlbmNvZGlu ZyBhbmQgdGhlbiB1c2luZyBhIHZhbHVlIGZvcgo+ICsgKiB0aGUgIm1vcCIgZmllbGQgdGhhdCBp cyBub3QgcGFydCBvZiB2ZWN0b3ItMC43LjEKClVoLCBubz8gVGhleSB1c2UgbWV3ID0gMGIwIGFu ZCBtb3AgPSAwYjAwLCB3aGljaCBjb3JyZXNwb25kcyB0byBtb3AgPSAwYjAwMC4KCj4gKyAqIFNv IGVuY29kZSBzcGVjaWZpYyB2YXJpYW50cyBmb3IgdnN0YXRlX3NhdmUgYW5kIF9yZXN0b3JlLgo+ ICsgKi8KPiArI2RlZmluZSBUSEVBRF9WU0JfVl9WMFQwCQkiLmxvbmcJMHgwMjAyODAyN1xuXHQi CgpUaGF0J3MgInZzZTgudiB2MCwgKHQwKSIsIGF0IGxlYXN0IGFzIGFzc2VtYmxlZCB3aXRoIGJp bnV0aWxzIDIuNDAuNTAuMjAyMzA2MjUgCihmcm9tIERlYmlhbiB1bnN0YWJsZSkuIEkgZG9uJ3Qg dW5kZXJzdGFuZCB0aGUgcmF0aW9uYWxlIGZvciBoYXJkLWNvZGluZyBmcm9tIAp0aGUgYWJvdmUg Y29tbWVudC4gTWF5YmUgdGhhdCdzIGp1c3QgbWUgYmVpbmcgYW4gaWRpb3QsIGJ1dCBpZiBzbywg dGhlbiB0aGUgCmNvbW1lbnQgb3VnaHQgdG8gYmUgY2xhcmlmaWVkLgoKKEkgZG8gcmVhbGlzZSB0 aGF0IHZzZTgudiBhbmQgdnNiLnYgYXJlIG5vdCBleGFjdGx5IGVxdWl2YWxlbnQgaW4gYmVoYXZp b3VyLCAKYnV0IGhlcmUsIHRoZSBjb25jZXJuIHNob3VsZCBiZSB0aGUgYXNzZW1ibGVyLCBub3Qg dGhlIHByb2Nlc3Nvci4pCgo+ICsjZGVmaW5lIFRIRUFEX1ZTQl9WX1Y4VDAJCSIubG9uZwkweDAy MDI4NDI3XG5cdCIKPiArI2RlZmluZSBUSEVBRF9WU0JfVl9WMTZUMAkJIi5sb25nCTB4MDIwMjg4 Mjdcblx0Igo+ICsjZGVmaW5lIFRIRUFEX1ZTQl9WX1YyNFQwCQkiLmxvbmcJMHgwMjAyOGMyN1xu XHQiCj4gKyNkZWZpbmUgVEhFQURfVkxCX1ZfVjBUMAkJIi5sb25nCTB4MDEyMDI4MDA3XG5cdCIK ClRoaXMgaGFzIG9uZSBuaWJibGUgdG9vIG1hbnkgZm9yIGEgMzItYml0IHZhbHVlLgoKQW5kIHdo eSB1c2Ugc2lnbi1leHRlbmRlZCBsb2Fkcz8gWmVyby1leHRlbmRlZCBsb2FkcyB3b3VsZCBoYXZl IHRoZSBleGFjdCBzYW1lIAplbmNvZGluZyBhcyB2bGU4LnYsIGFuZCBub3QgbmVlZCB0aGlzIGRh cmsgbWFnaWMsIEFGQUlDVC4KCj4gKyNkZWZpbmUgVEhFQURfVkxCX1ZfVjhUMAkJIi5sb25nCTB4 MDEyMDI4NDA3XG5cdCIKPiArI2RlZmluZSBUSEVBRF9WTEJfVl9WMTZUMAkJIi5sb25nCTB4MDEy MDI4ODA3XG5cdCIKPiArI2RlZmluZSBUSEVBRF9WTEJfVl9WMjRUMAkJIi5sb25nCTB4MDEyMDI4 YzA3XG5cdCIKPiArCj4gKyNkZWZpbmUgQUxUX1NSX1ZTX1ZFQ1RPUl8xXzBfU0hJRlQJOQo+ICsj ZGVmaW5lIEFMVF9TUl9WU19USEVBRF9TSElGVAkJMjMKPiArCj4gKyNkZWZpbmUgQUxUX1NSX1ZT KF92YWwsIHByb3QpCQkJCQkKCVwKPiArYXNtKEFMVEVSTkFUSVZFKCJsaSAlMCwgJTFcdFxuc2xs aSAlMCwlMCwlMyIsCQkJCQpcCj4gKwkJImxpICUwLCAlMlx0XG5zbGxpICUwLCUwLCU0IiwgVEhF QURfVkVORE9SX0lELAkJClwKPiArCQlFUlJBVEFfVEhFQURfVkVDVE9SLCBDT05GSUdfRVJSQVRB X1RIRUFEX1ZFQ1RPUikJXAo+ICsJCTogIj1yIihfdmFsKQkJCQkJCglcCj4gKwkJOiAiSSIocHJv dCMjXzFfMCA+PiBBTFRfU1JfVlNfVkVDVE9SXzFfMF9TSElGVCksCVwKPiArCQkgICJJIihwcm90 IyNfVEhFQUQgPj4gQUxUX1NSX1ZTX1RIRUFEX1NISUZUKSwJCQpcCj4gKwkJICAiSSIoQUxUX1NS X1ZTX1ZFQ1RPUl8xXzBfU0hJRlQpLAkJCQpcCj4gKwkJICAiSSIoQUxUX1NSX1ZTX1RIRUFEX1NI SUZUKSkKPiArI2VuZGlmIC8qIENPTkZJR19FUlJBVEFfVEhFQURfVkVDVE9SICovCj4gKwo+ICAj ZW5kaWYgLyogX19BU1NFTUJMWV9fICovCj4gCj4gICNlbmRpZgoKLS0gCuODrOODn+ODu+ODh+OD iy3jgq/jg7zjg6vjg6Ljg7MKaHR0cDovL3d3dy5yZW1sYWIubmV0LwoKCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBs aXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVh ZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= 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 620F5EB64D9 for ; Thu, 29 Jun 2023 19:43:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232168AbjF2TnB convert rfc822-to-8bit (ORCPT ); Thu, 29 Jun 2023 15:43:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57760 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232106AbjF2Tm7 (ORCPT ); Thu, 29 Jun 2023 15:42:59 -0400 X-Greylist: delayed 10803 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Thu, 29 Jun 2023 12:42:56 PDT Received: from 1.mo582.mail-out.ovh.net (1.mo582.mail-out.ovh.net [46.105.56.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D8975210E for ; Thu, 29 Jun 2023 12:42:56 -0700 (PDT) Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.86]) by mo582.mail-out.ovh.net (Postfix) with ESMTP id 1B22F27328 for ; Thu, 29 Jun 2023 16:06:06 +0000 (UTC) Received: from ghost-submission-6684bf9d7b-jjccx (unknown [10.110.115.101]) by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5CA781FD81; Thu, 29 Jun 2023 16:06:05 +0000 (UTC) Received: from courmont.net ([37.59.142.102]) by ghost-submission-6684bf9d7b-jjccx with ESMTPSA id 6K0SEu2rnWRLegEAx5K4IQ (envelope-from ); Thu, 29 Jun 2023 16:06:05 +0000 Authentication-Results: garm.ovh; auth=pass (GARM-102R00462b49bf9-edcf-4eeb-9952-1c40042ce9f5, F84C1CB5A676BA8784C093282B10E490F1B88DE6) smtp.auth=postmaster@courmont.net X-OVh-ClientIp: 87.92.194.88 From: =?ISO-8859-1?Q?R=E9mi?= Denis-Courmont To: palmer@dabbelt.com, linux-riscv@lists.infradead.org, heiko@sntech.de, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 3/3] RISC-V: add T-Head vector errata handling Date: Thu, 29 Jun 2023 19:06:04 +0300 Message-ID: <3235072.aeNJFYEL58@basile.remlab.net> Organization: Remlab In-Reply-To: <20230622231305.631331-4-heiko@sntech.de> References: <20230622231305.631331-1-heiko@sntech.de> <20230622231305.631331-4-heiko@sntech.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="UTF-8" X-Ovh-Tracer-Id: 12388839627150727643 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedviedrtdeggdeljecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecunecujfgurhephffvufffkfhojghfggfgtgesthhqredttddtjeenucfhrhhomheptformhhiucffvghnihhsqdevohhurhhmohhnthcuoehrvghmihesrhgvmhhlrggsrdhnvghtqeenucggtffrrghtthgvrhhnpeffgedthfegveefhffhffehvddtvdetgfelveeuueekkeetvefgtdfgffdvhfegveenucffohhmrghinheprhgvmhhlrggsrdhnvghtnecukfhppeduvdejrddtrddtrddupdekjedrledvrdduleegrdekkedpfeejrdehledrudegvddruddtvdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehrvghmihesrhgvmhhlrggsrdhnvghtqedpnhgspghrtghpthhtohepuddprhgtphhtthhopehlihhnuhigqdhkvghrnhgvlhesvhhgvghrrdhkvghrnhgvlhdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Le perjantaina 23. kesäkuuta 2023, 2.13.05 EEST Heiko Stuebner a écrit : > diff --git a/arch/riscv/include/asm/errata_list.h > b/arch/riscv/include/asm/errata_list.h index fb1a810f3d8c..ab21fadbe9c6 > 100644 > --- a/arch/riscv/include/asm/errata_list.h > +++ b/arch/riscv/include/asm/errata_list.h > @@ -154,6 +155,48 @@ asm volatile(ALTERNATIVE( \ > > : "=r" (__ovl) : \ > : "memory") > > +#ifdef CONFIG_ERRATA_THEAD_VECTOR > + > +#define THEAD_C9XX_CSR_VXSAT 0x9 > +#define THEAD_C9XX_CSR_VXRM 0xa > + > +/* > + * Vector 0.7.1 as used for example on T-Head Xuantie cores, uses an older > + * encoding for vsetvli (ta, ma vs. d1), so provide an instruction for > + * vsetvli t4, x0, e8, m8, d1 > + */ > +#define THEAD_VSETVLI_T4X0E8M8D1 ".long 0x00307ed7\n\t" That is equivalent to, and (IMHO) much less legible than: ".insn i OP_V, 7, t4, x0, 3" Or even if you don't mind second-guessing RVV 1.0 assemblers: "vsetvli t4, zero, e8, m8, tu, mu" Either way, you don't need to hard-code X-register operands in assembler macros (though you do unfortunately need to hard-code V register operands if you use .insn). > + > +/* > + * While in theory, the vector-0.7.1 vsb.v and vlb.v result in the same > + * encoding as the standard vse8.v and vle8.v, Not only in theory. vse8.v and vle8.v have only one possible encoding each (for given operands). > compilers seem to optimize Nit: By "compilers", do you mean "assemblers"? That's a bit misleading to me. > + * the call resulting in a different encoding and then using a value for > + * the "mop" field that is not part of vector-0.7.1 Uh, no? They use mew = 0b0 and mop = 0b00, which corresponds to mop = 0b000. > + * So encode specific variants for vstate_save and _restore. > + */ > +#define THEAD_VSB_V_V0T0 ".long 0x02028027\n\t" That's "vse8.v v0, (t0)", at least as assembled with binutils 2.40.50.20230625 (from Debian unstable). I don't understand the rationale for hard-coding from the above comment. Maybe that's just me being an idiot, but if so, then the comment ought to be clarified. (I do realise that vse8.v and vsb.v are not exactly equivalent in behaviour, but here, the concern should be the assembler, not the processor.) > +#define THEAD_VSB_V_V8T0 ".long 0x02028427\n\t" > +#define THEAD_VSB_V_V16T0 ".long 0x02028827\n\t" > +#define THEAD_VSB_V_V24T0 ".long 0x02028c27\n\t" > +#define THEAD_VLB_V_V0T0 ".long 0x012028007\n\t" This has one nibble too many for a 32-bit value. And why use sign-extended loads? Zero-extended loads would have the exact same encoding as vle8.v, and not need this dark magic, AFAICT. > +#define THEAD_VLB_V_V8T0 ".long 0x012028407\n\t" > +#define THEAD_VLB_V_V16T0 ".long 0x012028807\n\t" > +#define THEAD_VLB_V_V24T0 ".long 0x012028c07\n\t" > + > +#define ALT_SR_VS_VECTOR_1_0_SHIFT 9 > +#define ALT_SR_VS_THEAD_SHIFT 23 > + > +#define ALT_SR_VS(_val, prot) \ > +asm(ALTERNATIVE("li %0, %1\t\nslli %0,%0,%3", \ > + "li %0, %2\t\nslli %0,%0,%4", THEAD_VENDOR_ID, \ > + ERRATA_THEAD_VECTOR, CONFIG_ERRATA_THEAD_VECTOR) \ > + : "=r"(_val) \ > + : "I"(prot##_1_0 >> ALT_SR_VS_VECTOR_1_0_SHIFT), \ > + "I"(prot##_THEAD >> ALT_SR_VS_THEAD_SHIFT), \ > + "I"(ALT_SR_VS_VECTOR_1_0_SHIFT), \ > + "I"(ALT_SR_VS_THEAD_SHIFT)) > +#endif /* CONFIG_ERRATA_THEAD_VECTOR */ > + > #endif /* __ASSEMBLY__ */ > > #endif -- レミ・デニ-クールモン http://www.remlab.net/