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 6B644EB64DC for ; Thu, 6 Jul 2023 19:44:19 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=GLevY97VE76iwhN+HYdjzywvbVqdrgvK2Ors1TQPnlY=; b=ALV0jCpQJsEZJC 9jGzTCeV0rkMPkXSj+0wIwbi0fOnKxSsrtrxFU31TLOtz4XOLEXlSbQSWdphAeVWMFHa4wapdVZpl /WDdOFchmp+7l87SayCeg/V1XJy64C5DF/7W6VidSbIn2S5FbBntU0ryhN1fpzEk8QCycT4J0tq6J OqZVzogH/6CWn2xHJ4f1P8bOyJ6t2kurCMRTFwOohIAdc+mOuCgQnTDmmSddA3ShaJ9vK4bzNQkNT 8NQ6BFGjMXMfNYc3qmopthaFfxZPDbCds7CZBBAjTJSRkGZPhzp0bCUdZZ5zxPfa/2uQIfeGAiQpu cEt5gT70bLNZcVWI4GGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qHUti-002X6N-2W; Thu, 06 Jul 2023 19:44:14 +0000 Received: from mail-oa1-x30.google.com ([2001:4860:4864:20::30]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qHUtf-002X5m-1J for linux-riscv@lists.infradead.org; Thu, 06 Jul 2023 19:44:13 +0000 Received: by mail-oa1-x30.google.com with SMTP id 586e51a60fabf-1b060bce5b0so1057051fac.3 for ; Thu, 06 Jul 2023 12:44:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1688672650; x=1691264650; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=SGElb+Cjoak0I4zPNzDjmpmoeqnFLgwOuefnbY+DcUM=; b=GYbfjK/dBOzfrC3LdokX6emCTCUITzUzD4IwxQihJPxLHlNZIx7FQNvubq/lXTUwv4 v5OZlsEUUzdw3/pgshLWaK1d4+c9YRGBkPzWp5VORq5G1UIIYY+CNSAYXzPi7Qj4Efnk 6qOOuY//c+/1iVlLzoydR4oBi34zZDwTNNxkvfKP6vEYWjxyiaySnzn3fVYsAizhXd4a gZlwa+SHTIznp1aHB4o/0LDxHW80/WI0EMVJPc4wGKxVjCdoPR65mlmSGwsSWSvHUSBW iFuBO9sdHQyPDSC+2J8qKePdcjbEaMwcH6Nqodj29kOSAnFZcAhJ8WlTttmkrETRfFiA CJpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688672650; x=1691264650; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=SGElb+Cjoak0I4zPNzDjmpmoeqnFLgwOuefnbY+DcUM=; b=K7QzbVF9FKQZWohpr4DeVvLyEkqUscaZO1zu+lO5Nm1s6HnN4QJSqmda3zzwvLqmC7 g6/ZvuIJZlsFG8L/ykL97EkpQ71dmzBjwROPzxZQzntqWXQnh647ij0ZR6PQUMZ+bw93 xaMnNmpw+DzRkeyr1TeTJU8Pia4HGmmRRoHzOtKCIC22GKrN/GHHQiFQd9HgNes0T6A0 oBiokamPEqYQJ5WjXhLr+SpeXARccykpHQ8M8mgt40/nppn1ZGRbJHoYQUQaBLb1Agti IBLvYb3bYOvio5ybIEIqHU3EexP28Er3rAD1bB6yRaP9G3qiXqG7odvsxm7JjKW7eAUw u/DA== X-Gm-Message-State: ABy/qLZFDvjTqrGt7Lm2EAJ6fvOalWPX6n/vtf6JS4R8pCvkOcG05H4y qwih0cwP5Bx7K3Qy2ZGWeK3cjyI02yVUrS8Xzpk= X-Google-Smtp-Source: APBJJlHZ0k/cH2+H+rv2it2rZ5NOkvziEyhzyL8dFDU6pYzvsoXjPCmJMZqqpsc2XlTAyPXLtP2Kzg== X-Received: by 2002:a05:6870:40cb:b0:1b3:f8b7:55b4 with SMTP id l11-20020a05687040cb00b001b3f8b755b4mr3666684oal.35.1688672649796; Thu, 06 Jul 2023 12:44:09 -0700 (PDT) Received: from ghost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id nh8-20020a17090b364800b00256bbfbabcfsm150364pjb.48.2023.07.06.12.44.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jul 2023 12:44:09 -0700 (PDT) Date: Thu, 6 Jul 2023 12:44:07 -0700 From: Charlie Jenkins To: =?iso-8859-1?Q?R=E9mi?= Denis-Courmont Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3] RISC-V: Framework for vendor extensions Message-ID: References: <20230705-thead_vendor_extensions-v1-0-ad6915349c4d@rivosinc.com> <20230705-thead_vendor_extensions-v1-1-ad6915349c4d@rivosinc.com> <5947209.lOV4Wx5bFT@basile.remlab.net> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <5947209.lOV4Wx5bFT@basile.remlab.net> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230706_124411_463394_C2B7F6C8 X-CRM114-Status: GOOD ( 27.80 ) 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 T24gVGh1LCBKdWwgMDYsIDIwMjMgYXQgMDc6Mjk6MzdQTSArMDMwMCwgUsOpbWkgRGVuaXMtQ291 cm1vbnQgd3JvdGU6Cj4gTGUgdG9yc3RhaW5hIDYuIGhlaW7DpGt1dXRhIDIwMjMsIDYuMzAuMTcg RUVTVCBDaGFybGllIEplbmtpbnMgYSDDqWNyaXQgOgo+ID4gQ3JlYXRlIEtjb25maWcgZmlsZXMs IE1ha2VmaWxlcywgYW5kIGZ1bmN0aW9ucyB0byBlbmFibGUgdmVuZG9ycyB0bwo+ID4gcHJvdmlk ZSBpbmZvcm1hdGlvbiB2aWEgdGhlIHJpc2N2X2h3cHJvYmUgc3lzY2FsbCBhYm91dCB3aGljaCB2 ZW5kb3IKPiA+IGV4dGVuc2lvbnMgYXJlIGF2YWlsYWJsZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1i eTogQ2hhcmxpZSBKZW5raW5zIDxjaGFybGllQHJpdm9zaW5jLmNvbT4KPiA+IC0tLQo+ID4gIGFy Y2gvcmlzY3YvS2J1aWxkICAgICAgICAgICAgICAgICAgICAgfCAgMSArCj4gPiAgYXJjaC9yaXNj di9LY29uZmlnICAgICAgICAgICAgICAgICAgICB8ICAxICsKPiA+ICBhcmNoL3Jpc2N2L0tjb25m aWcudmVuZG9yICAgICAgICAgICAgIHwgIDMgKysrCj4gPiAgYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS9od3Byb2JlLmggICAgICB8ICAxICsKPiA+ICBhcmNoL3Jpc2N2L2tlcm5lbC9zeXNfcmlzY3Yu YyAgICAgICAgIHwgNDAKPiA+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tIGFy Y2gvcmlzY3YvdmVuZG9yX2V4dGVuc2lvbnMvTWFrZWZpbGUgfAo+ID4gIDMgKysrCj4gPiAgNiBm aWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBk aWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LYnVpbGQgYi9hcmNoL3Jpc2N2L0tidWlsZAo+ID4gaW5k ZXggYWZhODNlMzA3YTJlLi5iZWEzODAxMGQ5ZGIgMTAwNjQ0Cj4gPiAtLS0gYS9hcmNoL3Jpc2N2 L0tidWlsZAo+ID4gKysrIGIvYXJjaC9yaXNjdi9LYnVpbGQKPiA+IEBAIC0zLDYgKzMsNyBAQAo+ ID4gIG9iai15ICs9IGtlcm5lbC8gbW0vIG5ldC8KPiA+ICBvYmotJChDT05GSUdfQlVJTFRJTl9E VEIpICs9IGJvb3QvZHRzLwo+ID4gIG9iai15ICs9IGVycmF0YS8KPiA+ICtvYmoteSArPSB2ZW5k b3JfZXh0ZW5zaW9ucy8KPiA+ICBvYmotJChDT05GSUdfS1ZNKSArPSBrdm0vCj4gPiAKPiA+ICBv YmotJChDT05GSUdfQVJDSF9IQVNfS0VYRUNfUFVSR0FUT1JZKSArPSBwdXJnYXRvcnkvCj4gPiBk aWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9LY29uZmlnIGIvYXJjaC9yaXNjdi9LY29uZmlnCj4gPiBp bmRleCBjMTUwNWM3NzI5ZWMuLjE5NDA0ZWRlMGVlMyAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvcmlz Y3YvS2NvbmZpZwo+ID4gKysrIGIvYXJjaC9yaXNjdi9LY29uZmlnCj4gPiBAQCAtMjc2LDYgKzI3 Niw3IEBAIGNvbmZpZyBBU19IQVNfT1BUSU9OX0FSQ0gKPiA+IAo+ID4gIHNvdXJjZSAiYXJjaC9y aXNjdi9LY29uZmlnLnNvY3MiCj4gPiAgc291cmNlICJhcmNoL3Jpc2N2L0tjb25maWcuZXJyYXRh Igo+ID4gK3NvdXJjZSAiYXJjaC9yaXNjdi9LY29uZmlnLnZlbmRvciIKPiA+IAo+ID4gIG1lbnUg IlBsYXRmb3JtIHR5cGUiCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L0tjb25maWcu dmVuZG9yIGIvYXJjaC9yaXNjdi9LY29uZmlnLnZlbmRvcgo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiA+IGluZGV4IDAwMDAwMDAwMDAwMC4uMjEzYWMzZTZmZWQ1Cj4gPiAtLS0gL2Rldi9udWxs Cj4gPiArKysgYi9hcmNoL3Jpc2N2L0tjb25maWcudmVuZG9yCj4gPiBAQCAtMCwwICsxLDMgQEAK PiA+ICttZW51ICJWZW5kb3IgZXh0ZW5zaW9ucyBzZWxlY3Rpb24iCj4gPiArCj4gPiArZW5kbWVu dSAjICJWZW5kb3IgZXh0ZW5zaW9ucyBzZWxlY3Rpb24iCj4gPiBkaWZmIC0tZ2l0IGEvYXJjaC9y aXNjdi9pbmNsdWRlL2FzbS9od3Byb2JlLmgKPiA+IGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9o d3Byb2JlLmggaW5kZXggNzg5MzZmNGZmNTEzLi5mYWRiMzhiODMyNDMgMTAwNjQ0Cj4gPiAtLS0g YS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2h3cHJvYmUuaAo+ID4gKysrIGIvYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS9od3Byb2JlLmgKPiA+IEBAIC05LDUgKzksNiBAQAo+ID4gICNpbmNsdWRlIDx1 YXBpL2FzbS9od3Byb2JlLmg+Cj4gPiAKPiA+ICAjZGVmaW5lIFJJU0NWX0hXUFJPQkVfTUFYX0tF WSA1Cj4gPiArI2RlZmluZSBSSVNDVl9IV1BST0JFX1ZFTkRPUl9FWFRFTlNJT05fU1BBQ0UgKFVM KDEpPDw2MykKPiAKPiBJc24ndCB0aGlzIFVCIG9uIDMyLWJpdCBSSVNDLVYgPwpIbW0sIHllYWgg aXQgd291bGQgYmUsIGJ1dCB0aGUgaHdwcm9iZSBzeXNjYWxsIGlzIGJhc2VkIG9uIGEgNjQgYml0 IGtleQp1c2luZyB0aGUgX19zNjQgdHlwZS4gVGhlcmUgY291bGQgYmUgYW4gYWx0ZXJuYXRpdmUg dmVuZG9yIHNwYWNlIGF0IHRoZQp0b3Agb2YgMzItYml0cyBmb3IgdGhvc2UgbWFjaGluZXMuCj4g Cj4gPiAKPiA+ICAjZW5kaWYKPiA+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9zeXNf cmlzY3YuYyBiL2FyY2gvcmlzY3Yva2VybmVsL3N5c19yaXNjdi5jCj4gPiBpbmRleCAyNmVmNTUy NmJmYjQuLjIzNTFhNWY3YjhiMSAxMDA2NDQKPiA+IC0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3N5 c19yaXNjdi5jCj4gPiArKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9zeXNfcmlzY3YuYwo+ID4gQEAg LTE4OCw5ICsxODgsMzUgQEAgc3RhdGljIHU2NCBod3Byb2JlX21pc2FsaWduZWQoY29uc3Qgc3Ry dWN0IGNwdW1hc2sKPiA+ICpjcHVzKSByZXR1cm4gcGVyZjsKPiA+ICB9Cj4gPiAKPiA+ICtzdGF0 aWMgaW50IGh3cHJvYmVfdmVuZG9yKF9fdTY0IG12ZW5kb3JpZCwgc3RydWN0IHJpc2N2X2h3cHJv YmUgKnBhaXIsCj4gPiArCQkJIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpjcHVzKQo+ID4gK3sKPiA+ ICsJc3dpdGNoIChtdmVuZG9yaWQpIHsKPiA+ICsJZGVmYXVsdDoKPiA+ICsJCXJldHVybiAtMTsK PiA+ICsJfQo+ID4gKwo+ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIHZv aWQgaHdwcm9iZV9vbmVfcGFpcihzdHJ1Y3QgcmlzY3ZfaHdwcm9iZSAqcGFpciwKPiA+ICAJCQkg ICAgIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpjcHVzKQo+ID4gIHsKPiA+ICsJaW50IGVycjsKPiA+ ICsKPiA+ICsJaWYgKCgodW5zaWduZWQgbG9uZykgcGFpci0+a2V5KSA+PSAKPiBSSVNDVl9IV1BS T0JFX1ZFTkRPUl9FWFRFTlNJT05fU1BBQ0UpIHsKPiA+ICsJCXN0cnVjdCByaXNjdl9od3Byb2Jl IG12ZW5kb3JpZCA9IHsKPiA+ICsJCQkua2V5ID0gUklTQ1ZfSFdQUk9CRV9LRVlfTVZFTkRPUklE LAo+ID4gKwkJCS52YWx1ZSA9IDAKPiA+ICsJCX07Cj4gPiArCj4gPiArCQlod3Byb2JlX2FyY2hf aWQoJm12ZW5kb3JpZCwgY3B1cyk7Cj4gPiArCQlpZiAobXZlbmRvcmlkLnZhbHVlICE9IC0xVUxM KQo+ID4gKwkJCWVyciA9IGh3cHJvYmVfdmVuZG9yKG12ZW5kb3JpZC52YWx1ZSwgcGFpciwgCj4g Y3B1cyk7Cj4gPiArCQllbHNlCj4gPiArCQkJZXJyID0gLTE7Cj4gPiArCX0KPiA+ICsKPiA+ICAJ c3dpdGNoIChwYWlyLT5rZXkpIHsKPiA+ICAJY2FzZSBSSVNDVl9IV1BST0JFX0tFWV9NVkVORE9S SUQ6Cj4gPiAgCWNhc2UgUklTQ1ZfSFdQUk9CRV9LRVlfTUFSQ0hJRDoKPiA+IEBAIC0yMTcsMTMg KzI0MywyMSBAQCBzdGF0aWMgdm9pZCBod3Byb2JlX29uZV9wYWlyKHN0cnVjdCByaXNjdl9od3By b2JlCj4gPiAqcGFpciwKPiA+IAo+ID4gIAkvKgo+ID4gIAkgKiBGb3IgZm9yd2FyZCBjb21wYXRp YmlsaXR5LCB1bmtub3duIGtleXMgZG9uJ3QgZmFpbCB0aGUgd2hvbGUKPiA+IC0JICogY2FsbCwg YnV0IGdldCB0aGVpciBlbGVtZW50IGtleSBzZXQgdG8gLTEgYW5kIHZhbHVlIHNldCB0byAwCj4g PiAtCSAqIGluZGljYXRpbmcgdGhleSdyZSB1bnJlY29nbml6ZWQuCj4gPiArCSAqIGNhbGwsIGlu c3RlYWQgYW4gZXJyb3IgaXMgcmFpc2VkIHRvIGluZGljYXRlIHRoZSBlbGVtZW50IGtleQo+ID4g KwkgKiBpcyB1bnJlY29nbml6ZWQuCj4gPiAgCSAqLwo+ID4gIAlkZWZhdWx0Ogo+ID4gKwkJZXJy ID0gLTE7Cj4gPiArCQlicmVhazsKPiA+ICsJfQo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBTZXR0 aW5nIHRoZSBlbGVtZW50IGtleSB0byAtMSBhbmQgdmFsdWUgdG8gMCBpbmRpY2F0ZXMgdGhhdAo+ ID4gKwkgKiBod3Byb2JlIHdhcyB1bmFibGUgdG8gZmluZCB0aGUgcmVxdWVzdGVkIGtleS4KPiA+ ICsJICovCj4gPiArCWlmIChlcnIgIT0gMCkgewo+ID4gIAkJcGFpci0+a2V5ID0gLTE7Cj4gPiAg CQlwYWlyLT52YWx1ZSA9IDA7Cj4gPiAtCQlicmVhazsKPiA+ICAJfQo+ID4gIH0KPiA+IAo+ID4g ZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvdmVuZG9yX2V4dGVuc2lvbnMvTWFrZWZpbGUKPiA+IGIv YXJjaC9yaXNjdi92ZW5kb3JfZXh0ZW5zaW9ucy9NYWtlZmlsZSBuZXcgZmlsZSBtb2RlIDEwMDY0 NAo+ID4gaW5kZXggMDAwMDAwMDAwMDAwLi5lODE1ODk1ZTkzNzIKPiA+IC0tLSAvZGV2L251bGwK PiA+ICsrKyBiL2FyY2gvcmlzY3YvdmVuZG9yX2V4dGVuc2lvbnMvTWFrZWZpbGUKPiA+IEBAIC0w LDAgKzEsMyBAQAo+ID4gK2lmZGVmIENPTkZJR19SRUxPQ0FUQUJMRQo+ID4gK0tCVUlMRF9DRkxB R1MgKz0gLWZuby1waWUKPiA+ICtlbmRpZgo+IAo+IAo+IC0tIAo+IOODrOODn+ODu+ODh+ODiy3j gq/jg7zjg6vjg6Ljg7MKPiBodHRwOi8vd3d3LnJlbWxhYi5uZXQvCj4gCj4gCj4gCj4gCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBsaW51eC1yaXNj diBtYWlsaW5nIGxpc3QKPiBsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCj4gaHR0cDov L2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFp bGluZyBsaXN0CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo= 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 08748EB64DC for ; Thu, 6 Jul 2023 19:44:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230045AbjGFToO (ORCPT ); Thu, 6 Jul 2023 15:44:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50450 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229527AbjGFToL (ORCPT ); Thu, 6 Jul 2023 15:44:11 -0400 Received: from mail-oa1-x33.google.com (mail-oa1-x33.google.com [IPv6:2001:4860:4864:20::33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8986A1BD3 for ; Thu, 6 Jul 2023 12:44:10 -0700 (PDT) Received: by mail-oa1-x33.google.com with SMTP id 586e51a60fabf-1b441dd19eeso512210fac.1 for ; Thu, 06 Jul 2023 12:44:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20221208.gappssmtp.com; s=20221208; t=1688672650; x=1691264650; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=SGElb+Cjoak0I4zPNzDjmpmoeqnFLgwOuefnbY+DcUM=; b=GYbfjK/dBOzfrC3LdokX6emCTCUITzUzD4IwxQihJPxLHlNZIx7FQNvubq/lXTUwv4 v5OZlsEUUzdw3/pgshLWaK1d4+c9YRGBkPzWp5VORq5G1UIIYY+CNSAYXzPi7Qj4Efnk 6qOOuY//c+/1iVlLzoydR4oBi34zZDwTNNxkvfKP6vEYWjxyiaySnzn3fVYsAizhXd4a gZlwa+SHTIznp1aHB4o/0LDxHW80/WI0EMVJPc4wGKxVjCdoPR65mlmSGwsSWSvHUSBW iFuBO9sdHQyPDSC+2J8qKePdcjbEaMwcH6Nqodj29kOSAnFZcAhJ8WlTttmkrETRfFiA CJpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688672650; x=1691264650; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=SGElb+Cjoak0I4zPNzDjmpmoeqnFLgwOuefnbY+DcUM=; b=T+CnWZL9q3JW1CusEl4yZwzBKSppwyZmmT/dbSvE8+gfgqsQy9awbP3ECShqc0pv3H Jty5Q/PuP5prhPVO0XQpXvCGxg91Wmp0dXyOc90BzyVQUsgz2omslUsWR8c30CU957S7 V7cpslQhknJI4sqCtdfI7BaQ9IFR73dzKLJg1z4q+Bd/dVaPtu/TwBATvjtcqmkYQNw2 P96FB9jT2ZUVD00ZiJvrWovbsXX2uFAAJAoNND0UFjy47tZjVrw+sTNY5QWRc9iptFrO bqvuI3s6Y7bFgUPGvIzpKMt7Ne1VBZ4J5TKCFStcpbD3Q6pL99QmhXfJzggY0pJ0cZUL Tphw== X-Gm-Message-State: ABy/qLaFSyKgj3daVySKTI1tepuhUnJFnBUqwWwyQqB/K1SlT/hGrZLD QPE3rb2n1O3viwVTqPbjt2D7Nw== X-Google-Smtp-Source: APBJJlHZ0k/cH2+H+rv2it2rZ5NOkvziEyhzyL8dFDU6pYzvsoXjPCmJMZqqpsc2XlTAyPXLtP2Kzg== X-Received: by 2002:a05:6870:40cb:b0:1b3:f8b7:55b4 with SMTP id l11-20020a05687040cb00b001b3f8b755b4mr3666684oal.35.1688672649796; Thu, 06 Jul 2023 12:44:09 -0700 (PDT) Received: from ghost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id nh8-20020a17090b364800b00256bbfbabcfsm150364pjb.48.2023.07.06.12.44.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Jul 2023 12:44:09 -0700 (PDT) Date: Thu, 6 Jul 2023 12:44:07 -0700 From: Charlie Jenkins To: =?iso-8859-1?Q?R=E9mi?= Denis-Courmont Cc: linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/3] RISC-V: Framework for vendor extensions Message-ID: References: <20230705-thead_vendor_extensions-v1-0-ad6915349c4d@rivosinc.com> <20230705-thead_vendor_extensions-v1-1-ad6915349c4d@rivosinc.com> <5947209.lOV4Wx5bFT@basile.remlab.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <5947209.lOV4Wx5bFT@basile.remlab.net> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 06, 2023 at 07:29:37PM +0300, Rémi Denis-Courmont wrote: > Le torstaina 6. heinäkuuta 2023, 6.30.17 EEST Charlie Jenkins a écrit : > > Create Kconfig files, Makefiles, and functions to enable vendors to > > provide information via the riscv_hwprobe syscall about which vendor > > extensions are available. > > > > Signed-off-by: Charlie Jenkins > > --- > > arch/riscv/Kbuild | 1 + > > arch/riscv/Kconfig | 1 + > > arch/riscv/Kconfig.vendor | 3 +++ > > arch/riscv/include/asm/hwprobe.h | 1 + > > arch/riscv/kernel/sys_riscv.c | 40 > > ++++++++++++++++++++++++++++++++--- arch/riscv/vendor_extensions/Makefile | > > 3 +++ > > 6 files changed, 46 insertions(+), 3 deletions(-) > > > > diff --git a/arch/riscv/Kbuild b/arch/riscv/Kbuild > > index afa83e307a2e..bea38010d9db 100644 > > --- a/arch/riscv/Kbuild > > +++ b/arch/riscv/Kbuild > > @@ -3,6 +3,7 @@ > > obj-y += kernel/ mm/ net/ > > obj-$(CONFIG_BUILTIN_DTB) += boot/dts/ > > obj-y += errata/ > > +obj-y += vendor_extensions/ > > obj-$(CONFIG_KVM) += kvm/ > > > > obj-$(CONFIG_ARCH_HAS_KEXEC_PURGATORY) += purgatory/ > > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig > > index c1505c7729ec..19404ede0ee3 100644 > > --- a/arch/riscv/Kconfig > > +++ b/arch/riscv/Kconfig > > @@ -276,6 +276,7 @@ config AS_HAS_OPTION_ARCH > > > > source "arch/riscv/Kconfig.socs" > > source "arch/riscv/Kconfig.errata" > > +source "arch/riscv/Kconfig.vendor" > > > > menu "Platform type" > > > > diff --git a/arch/riscv/Kconfig.vendor b/arch/riscv/Kconfig.vendor > > new file mode 100644 > > index 000000000000..213ac3e6fed5 > > --- /dev/null > > +++ b/arch/riscv/Kconfig.vendor > > @@ -0,0 +1,3 @@ > > +menu "Vendor extensions selection" > > + > > +endmenu # "Vendor extensions selection" > > diff --git a/arch/riscv/include/asm/hwprobe.h > > b/arch/riscv/include/asm/hwprobe.h index 78936f4ff513..fadb38b83243 100644 > > --- a/arch/riscv/include/asm/hwprobe.h > > +++ b/arch/riscv/include/asm/hwprobe.h > > @@ -9,5 +9,6 @@ > > #include > > > > #define RISCV_HWPROBE_MAX_KEY 5 > > +#define RISCV_HWPROBE_VENDOR_EXTENSION_SPACE (UL(1)<<63) > > Isn't this UB on 32-bit RISC-V ? Hmm, yeah it would be, but the hwprobe syscall is based on a 64 bit key using the __s64 type. There could be an alternative vendor space at the top of 32-bits for those machines. > > > > > #endif > > diff --git a/arch/riscv/kernel/sys_riscv.c b/arch/riscv/kernel/sys_riscv.c > > index 26ef5526bfb4..2351a5f7b8b1 100644 > > --- a/arch/riscv/kernel/sys_riscv.c > > +++ b/arch/riscv/kernel/sys_riscv.c > > @@ -188,9 +188,35 @@ static u64 hwprobe_misaligned(const struct cpumask > > *cpus) return perf; > > } > > > > +static int hwprobe_vendor(__u64 mvendorid, struct riscv_hwprobe *pair, > > + const struct cpumask *cpus) > > +{ > > + switch (mvendorid) { > > + default: > > + return -1; > > + } > > + > > + return 0; > > +} > > + > > static void hwprobe_one_pair(struct riscv_hwprobe *pair, > > const struct cpumask *cpus) > > { > > + int err; > > + > > + if (((unsigned long) pair->key) >= > RISCV_HWPROBE_VENDOR_EXTENSION_SPACE) { > > + struct riscv_hwprobe mvendorid = { > > + .key = RISCV_HWPROBE_KEY_MVENDORID, > > + .value = 0 > > + }; > > + > > + hwprobe_arch_id(&mvendorid, cpus); > > + if (mvendorid.value != -1ULL) > > + err = hwprobe_vendor(mvendorid.value, pair, > cpus); > > + else > > + err = -1; > > + } > > + > > switch (pair->key) { > > case RISCV_HWPROBE_KEY_MVENDORID: > > case RISCV_HWPROBE_KEY_MARCHID: > > @@ -217,13 +243,21 @@ static void hwprobe_one_pair(struct riscv_hwprobe > > *pair, > > > > /* > > * For forward compatibility, unknown keys don't fail the whole > > - * call, but get their element key set to -1 and value set to 0 > > - * indicating they're unrecognized. > > + * call, instead an error is raised to indicate the element key > > + * is unrecognized. > > */ > > default: > > + err = -1; > > + break; > > + } > > + > > + /* > > + * Setting the element key to -1 and value to 0 indicates that > > + * hwprobe was unable to find the requested key. > > + */ > > + if (err != 0) { > > pair->key = -1; > > pair->value = 0; > > - break; > > } > > } > > > > diff --git a/arch/riscv/vendor_extensions/Makefile > > b/arch/riscv/vendor_extensions/Makefile new file mode 100644 > > index 000000000000..e815895e9372 > > --- /dev/null > > +++ b/arch/riscv/vendor_extensions/Makefile > > @@ -0,0 +1,3 @@ > > +ifdef CONFIG_RELOCATABLE > > +KBUILD_CFLAGS += -fno-pie > > +endif > > > -- > レミ・デニ-クールモン > http://www.remlab.net/ > > > > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv