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 04903C3ABBE for ; Fri, 9 May 2025 00:19:08 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Yb+jmIUOltuBuX888hj5+S2cFOKSXnx3mE7c8p781t0=; b=zBRZc9GFMkKh6g a3JuLTlZ423ol69Ydwh+SzBvI1qjmtOd+1UN+xCnoWAJnRJmoTS/U5j7GU/NFuA5OpoxODkyXK8uh GUTu7eRDbVktBUMvqT38kpouTeyYpntyX6EWwNbTo+4p+lweV511fO6Ket8sVI7mnVe7s2YYU0B1d 9ER+ENv/aDcsSYHfsRLkA7k2/ezO0M5r/0z27Kz+Ds4xIBkHpg+t9W1iwF3ew2yaFwL2xrkeKUnxx wNimZujt0kvHSTVvultXUeW++e244mJjYokgw2lz+q9IfaTGZCAXFRUpiIP0IIh9/FHCED0P4c4gf rJvD7gMFJLfkijNwevGA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBSF-0000000258A-2f6b; Fri, 09 May 2025 00:19:07 +0000 Received: from out-177.mta0.migadu.com ([2001:41d0:1004:224b::b1]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBS9-0000000256O-43af for kvm-riscv@lists.infradead.org; Fri, 09 May 2025 00:19:06 +0000 Message-ID: <1c385a47-0a01-4be4-a34b-51a2f168e62d@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746749938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=679XepidSuycXdyfHp1BFAWMxdV4mUKMvIzi7W0Gi8k=; b=iGazSvdg0UerSGY5LF35krrRvhHcszcHHCCUdhyeSjPnV2j9Oeq51+LHgh5lsVUidMzbqM +QsPiJo6mZKRzX3YVarn3vwbPVp3eEb3ChrYDnp7GfUjBYH90wQwN4EAVZjBi5K9UkmDO2 uwG8hwhmMaUG8Hkhfztpvpw9H95BPt8= Date: Thu, 8 May 2025 17:18:51 -0700 MIME-Version: 1.0 Subject: Re: [PATCH v6 04/14] riscv: sbi: add FWFT extension interface To: =?UTF-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= , Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Shuah Khan , Jonathan Corbet , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org Cc: Samuel Holland , Andrew Jones , Deepak Gupta References: <20250424173204.1948385-1-cleger@rivosinc.com> <20250424173204.1948385-5-cleger@rivosinc.com> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Atish Patra In-Reply-To: <20250424173204.1948385-5-cleger@rivosinc.com> X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250508_171902_887156_C8600E1E X-CRM114-Status: GOOD ( 19.94 ) X-BeenThere: kvm-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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "kvm-riscv" Errors-To: kvm-riscv-bounces+kvm-riscv=archiver.kernel.org@lists.infradead.org T24gNC8yNC8yNSAxMDozMSBBTSwgQ2zDg8KpbWVudCBMw4PCqWdlciB3cm90ZToKPiBUaGlzIFNC SSBleHRlbnNpb25zIGVuYWJsZXMgc3VwZXJ2aXNvciBtb2RlIHRvIGNvbnRyb2wgZmVhdHVyZSB0 aGF0IGFyZQo+IHVuZGVyIE0tbW9kZSBjb250cm9sIChGb3IgaW5zdGFuY2UsIFN2YWR1IG1lbnZj ZmcgQURVRSBiaXQsIFNzZGJsdHJwCj4gRFRFLCBldGMpLiBBZGQgYW4gaW50ZXJmYWNlIHRvIHNl dCBsb2NhbCBmZWF0dXJlcyBmb3IgYSBzcGVjaWZpYyBjcHUKPiBtYXNrIGFzIHdlbGwgYXMgZm9y IHRoZSBvbmxpbmUgY3B1IG1hc2suCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2zDqW1lbnQgTMOpZ2Vy IDxjbGVnZXJAcml2b3NpbmMuY29tPgo+IFJldmlld2VkLWJ5OiBBbmRyZXcgSm9uZXMgPGFqb25l c0B2ZW50YW5hbWljcm8uY29tPgo+IC0tLQo+ICAgYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zYmku aCB8IDE3ICsrKysrKysrKysrCj4gICBhcmNoL3Jpc2N2L2tlcm5lbC9zYmkuYyAgICAgIHwgNTcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAyIGZpbGVzIGNoYW5nZWQs IDc0IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS9zYmkuaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc2JpLmgKPiBpbmRleCA3ZWMyNDlmZWE4 ODAuLjNiYmVmNTZiY2VmYyAxMDA2NDQKPiAtLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Ni aS5oCj4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zYmkuaAo+IEBAIC01MDMsNiArNTAz LDIzIEBAIGludCBzYmlfcmVtb3RlX2hmZW5jZV92dm1hX2FzaWQoY29uc3Qgc3RydWN0IGNwdW1h c2sgKmNwdV9tYXNrLAo+ICAgCQkJCXVuc2lnbmVkIGxvbmcgYXNpZCk7Cj4gICBsb25nIHNiaV9w cm9iZV9leHRlbnNpb24oaW50IGV4dCk7Cj4gICAKPiAraW50IHNiaV9md2Z0X3NldCh1MzIgZmVh dHVyZSwgdW5zaWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gK2ludCBz YmlfZndmdF9zZXRfY3B1bWFzayhjb25zdCBjcHVtYXNrX3QgKm1hc2ssIHUzMiBmZWF0dXJlLAo+ ICsJCQkgdW5zaWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gKy8qKgo+ ICsgKiBzYmlfZndmdF9zZXRfb25saW5lX2NwdXMoKSAtIFNldCBhIGZlYXR1cmUgb24gYWxsIG9u bGluZSBjcHVzCj4gKyAqIEBmZWF0dXJlOiBUaGUgZmVhdHVyZSB0byBiZSBzZXQKPiArICogQHZh bHVlOiBUaGUgZmVhdHVyZSB2YWx1ZSB0byBiZSBzZXQKPiArICogQGZsYWdzOiBGV0ZUIGZlYXR1 cmUgc2V0IGZsYWdzCj4gKyAqCj4gKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCBhcHByb3ByaWF0 ZSBsaW51eCBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgaW50 IHNiaV9md2Z0X3NldF9vbmxpbmVfY3B1cyh1MzIgZmVhdHVyZSwgdW5zaWduZWQgbG9uZyB2YWx1 ZSwKPiArCQkJCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKQo+ICt7Cj4gKwlyZXR1cm4gc2JpX2Z3 ZnRfc2V0X2NwdW1hc2soY3B1X29ubGluZV9tYXNrLCBmZWF0dXJlLCB2YWx1ZSwgZmxhZ3MpOwo+ ICt9Cj4gKwo+ICAgLyogQ2hlY2sgaWYgY3VycmVudCBTQkkgc3BlY2lmaWNhdGlvbiB2ZXJzaW9u IGlzIDAuMSBvciBub3QgKi8KPiAgIHN0YXRpYyBpbmxpbmUgaW50IHNiaV9zcGVjX2lzXzBfMSh2 b2lkKQo+ICAgewo+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9zYmkuYyBiL2FyY2gv cmlzY3Yva2VybmVsL3NiaS5jCj4gaW5kZXggMWQ0NGMzNTMwNWE5Li5kNTdlNGRhZTdkYWMgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvc2JpLmMKPiArKysgYi9hcmNoL3Jpc2N2L2tl cm5lbC9zYmkuYwo+IEBAIC0yOTksNiArMjk5LDYzIEBAIHN0YXRpYyBpbnQgX19zYmlfcmZlbmNl X3YwMihpbnQgZmlkLCBjb25zdCBzdHJ1Y3QgY3B1bWFzayAqY3B1X21hc2ssCj4gICAJcmV0dXJu IDA7Cj4gICB9Cj4gICAKPiArLyoqCj4gKyAqIHNiaV9md2Z0X3NldCgpIC0gU2V0IGEgZmVhdHVy ZSBvbiB0aGUgbG9jYWwgaGFydAo+ICsgKiBAZmVhdHVyZTogVGhlIGZlYXR1cmUgSUQgdG8gYmUg c2V0Cj4gKyAqIEB2YWx1ZTogVGhlIGZlYXR1cmUgdmFsdWUgdG8gYmUgc2V0Cj4gKyAqIEBmbGFn czogRldGVCBmZWF0dXJlIHNldCBmbGFncwo+ICsgKgo+ICsgKiBSZXR1cm46IDAgb24gc3VjY2Vz cywgYXBwcm9wcmlhdGUgbGludXggZXJyb3IgY29kZSBvdGhlcndpc2UuCj4gKyAqLwo+ICtpbnQg c2JpX2Z3ZnRfc2V0KHUzMiBmZWF0dXJlLCB1bnNpZ25lZCBsb25nIHZhbHVlLCB1bnNpZ25lZCBs b25nIGZsYWdzKQo+ICt7Cj4gKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cj4gK30KPiArCj4gK3N0cnVj dCBmd2Z0X3NldF9yZXEgewo+ICsJdTMyIGZlYXR1cmU7Cj4gKwl1bnNpZ25lZCBsb25nIHZhbHVl Owo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCWF0b21pY190IGVycm9yOwo+ICt9Owo+ICsK PiArc3RhdGljIHZvaWQgY3B1X3NiaV9md2Z0X3NldCh2b2lkICphcmcpCj4gK3sKPiArCXN0cnVj dCBmd2Z0X3NldF9yZXEgKnJlcSA9IGFyZzsKPiArCWludCByZXQ7Cj4gKwo+ICsJcmV0ID0gc2Jp X2Z3ZnRfc2V0KHJlcS0+ZmVhdHVyZSwgcmVxLT52YWx1ZSwgcmVxLT5mbGFncyk7Cj4gKwlpZiAo cmV0KQo+ICsJCWF0b21pY19zZXQoJnJlcS0+ZXJyb3IsIHJldCk7CgpXaGF0IGhhcHBlbnMgd2hl biBjcHVYIGV4ZWN1dGVkIGZpcnN0IHJlcG9ydGVkIGFuIGVycm9yIGJ1dCBjcHVZIApleGVjdXRl ZCB0aGlzIGZ1bmN0aW9uIGxhdGVyIGFuZCByZXBvcnQgc3VjY2Vzcy4KClRoZSBlcnJvciB3aWxs IGJlIG1hc2tlZCBpbiB0aGF0IGNhc2UuCgo+ICt9Cj4gKwo+ICsvKioKPiArICogc2JpX2Z3ZnRf c2V0X2NwdW1hc2soKSAtIFNldCBhIGZlYXR1cmUgZm9yIHRoZSBzcGVjaWZpZWQgY3B1bWFzawo+ ICsgKiBAbWFzazogQ1BVIG1hc2sgb2YgY3B1cyB0aGF0IG5lZWQgdGhlIGZlYXR1cmUgdG8gYmUg c2V0Cj4gKyAqIEBmZWF0dXJlOiBUaGUgZmVhdHVyZSBJRCB0byBiZSBzZXQKPiArICogQHZhbHVl OiBUaGUgZmVhdHVyZSB2YWx1ZSB0byBiZSBzZXQKPiArICogQGZsYWdzOiBGV0ZUIGZlYXR1cmUg c2V0IGZsYWdzCj4gKyAqCj4gKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCBhcHByb3ByaWF0ZSBs aW51eCBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiArICovCj4gK2ludCBzYmlfZndmdF9zZXRfY3B1 bWFzayhjb25zdCBjcHVtYXNrX3QgKm1hc2ssIHUzMiBmZWF0dXJlLAo+ICsJCQkgICAgICAgdW5z aWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBmbGFncykKPiArewo+ICsJc3RydWN0IGZ3 ZnRfc2V0X3JlcSByZXEgPSB7Cj4gKwkJLmZlYXR1cmUgPSBmZWF0dXJlLAo+ICsJCS52YWx1ZSA9 IHZhbHVlLAo+ICsJCS5mbGFncyA9IGZsYWdzLAo+ICsJCS5lcnJvciA9IEFUT01JQ19JTklUKDAp LAo+ICsJfTsKPiArCj4gKwlpZiAoZmVhdHVyZSAmIFNCSV9GV0ZUX0dMT0JBTF9GRUFUVVJFX0JJ VCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlvbl9lYWNoX2NwdV9tYXNrKG1hc2ssIGNw dV9zYmlfZndmdF9zZXQsICZyZXEsIDEpOwo+ICsKPiArCXJldHVybiBhdG9taWNfcmVhZCgmcmVx LmVycm9yKTsKPiArfQo+ICsKPiAgIC8qKgo+ICAgICogc2JpX3NldF90aW1lcigpIC0gUHJvZ3Jh bSB0aGUgdGltZXIgZm9yIG5leHQgdGltZXIgZXZlbnQuCj4gICAgKiBAc3RpbWVfdmFsdWU6IFRo ZSB2YWx1ZSBhZnRlciB3aGljaCBuZXh0IHRpbWVyIGV2ZW50IHNob3VsZCBmaXJlLgoKCi0tIApr dm0tcmlzY3YgbWFpbGluZyBsaXN0Cmt2bS1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8va3ZtLXJpc2N2Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-182.mta0.migadu.com (out-182.mta0.migadu.com [91.218.175.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 78B3E5383 for ; Fri, 9 May 2025 00:19:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=91.218.175.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746749946; cv=none; b=rHRR6ZlpBXyC7SHh2a60Y9WQLfLkS446ZqW54h/JgHXdexhlTABCoAeO4IG5b3s0IsF1vwExIMVW64hRUOpF0yimWlwL7Pi01inhynjjnPNsePKaZ3l3imBdGGxx4ubKubdqkEbqpldaZdn1+41TGMbQC7RJIJ7NaAxaFky17No= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746749946; c=relaxed/simple; bh=BSAj4lCq7Pqars/QUd4bvA45uXjzmpaXuylFWd1d05k=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=W9l62+cbMXOUKkVEUGv5OVGGrCX9El0tqqt4ULgVo37kzoZWMS4ZVI//3/1eMmo0o42YQeZ7fEkSgJCsesjcgM0slwLbggi3cr0ixarUJWmnNB3bdgQco8MNfc5Ol6fxlxxAp5T/HndnCRCeTxC0FGrvu7vEUtRz64/oIxy4ko8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev; spf=pass smtp.mailfrom=linux.dev; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b=iGazSvdg; arc=none smtp.client-ip=91.218.175.182 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="iGazSvdg" Message-ID: <1c385a47-0a01-4be4-a34b-51a2f168e62d@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746749938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=679XepidSuycXdyfHp1BFAWMxdV4mUKMvIzi7W0Gi8k=; b=iGazSvdg0UerSGY5LF35krrRvhHcszcHHCCUdhyeSjPnV2j9Oeq51+LHgh5lsVUidMzbqM +QsPiJo6mZKRzX3YVarn3vwbPVp3eEb3ChrYDnp7GfUjBYH90wQwN4EAVZjBi5K9UkmDO2 uwG8hwhmMaUG8Hkhfztpvpw9H95BPt8= Date: Thu, 8 May 2025 17:18:51 -0700 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH v6 04/14] riscv: sbi: add FWFT extension interface To: =?UTF-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= , Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Shuah Khan , Jonathan Corbet , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org Cc: Samuel Holland , Andrew Jones , Deepak Gupta References: <20250424173204.1948385-1-cleger@rivosinc.com> <20250424173204.1948385-5-cleger@rivosinc.com> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Atish Patra In-Reply-To: <20250424173204.1948385-5-cleger@rivosinc.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Migadu-Flow: FLOW_OUT On 4/24/25 10:31 AM, Clément Léger wrote: > This SBI extensions enables supervisor mode to control feature that are > under M-mode control (For instance, Svadu menvcfg ADUE bit, Ssdbltrp > DTE, etc). Add an interface to set local features for a specific cpu > mask as well as for the online cpu mask. > > Signed-off-by: Clément Léger > Reviewed-by: Andrew Jones > --- > arch/riscv/include/asm/sbi.h | 17 +++++++++++ > arch/riscv/kernel/sbi.c | 57 ++++++++++++++++++++++++++++++++++++ > 2 files changed, 74 insertions(+) > > diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h > index 7ec249fea880..3bbef56bcefc 100644 > --- a/arch/riscv/include/asm/sbi.h > +++ b/arch/riscv/include/asm/sbi.h > @@ -503,6 +503,23 @@ int sbi_remote_hfence_vvma_asid(const struct cpumask *cpu_mask, > unsigned long asid); > long sbi_probe_extension(int ext); > > +int sbi_fwft_set(u32 feature, unsigned long value, unsigned long flags); > +int sbi_fwft_set_cpumask(const cpumask_t *mask, u32 feature, > + unsigned long value, unsigned long flags); > +/** > + * sbi_fwft_set_online_cpus() - Set a feature on all online cpus > + * @feature: The feature to be set > + * @value: The feature value to be set > + * @flags: FWFT feature set flags > + * > + * Return: 0 on success, appropriate linux error code otherwise. > + */ > +static inline int sbi_fwft_set_online_cpus(u32 feature, unsigned long value, > + unsigned long flags) > +{ > + return sbi_fwft_set_cpumask(cpu_online_mask, feature, value, flags); > +} > + > /* Check if current SBI specification version is 0.1 or not */ > static inline int sbi_spec_is_0_1(void) > { > diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c > index 1d44c35305a9..d57e4dae7dac 100644 > --- a/arch/riscv/kernel/sbi.c > +++ b/arch/riscv/kernel/sbi.c > @@ -299,6 +299,63 @@ static int __sbi_rfence_v02(int fid, const struct cpumask *cpu_mask, > return 0; > } > > +/** > + * sbi_fwft_set() - Set a feature on the local hart > + * @feature: The feature ID to be set > + * @value: The feature value to be set > + * @flags: FWFT feature set flags > + * > + * Return: 0 on success, appropriate linux error code otherwise. > + */ > +int sbi_fwft_set(u32 feature, unsigned long value, unsigned long flags) > +{ > + return -EOPNOTSUPP; > +} > + > +struct fwft_set_req { > + u32 feature; > + unsigned long value; > + unsigned long flags; > + atomic_t error; > +}; > + > +static void cpu_sbi_fwft_set(void *arg) > +{ > + struct fwft_set_req *req = arg; > + int ret; > + > + ret = sbi_fwft_set(req->feature, req->value, req->flags); > + if (ret) > + atomic_set(&req->error, ret); What happens when cpuX executed first reported an error but cpuY executed this function later and report success. The error will be masked in that case. > +} > + > +/** > + * sbi_fwft_set_cpumask() - Set a feature for the specified cpumask > + * @mask: CPU mask of cpus that need the feature to be set > + * @feature: The feature ID to be set > + * @value: The feature value to be set > + * @flags: FWFT feature set flags > + * > + * Return: 0 on success, appropriate linux error code otherwise. > + */ > +int sbi_fwft_set_cpumask(const cpumask_t *mask, u32 feature, > + unsigned long value, unsigned long flags) > +{ > + struct fwft_set_req req = { > + .feature = feature, > + .value = value, > + .flags = flags, > + .error = ATOMIC_INIT(0), > + }; > + > + if (feature & SBI_FWFT_GLOBAL_FEATURE_BIT) > + return -EINVAL; > + > + on_each_cpu_mask(mask, cpu_sbi_fwft_set, &req, 1); > + > + return atomic_read(&req.error); > +} > + > /** > * sbi_set_timer() - Program the timer for next timer event. > * @stime_value: The value after which next timer event should fire. 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 14BEAC3ABBE for ; Fri, 9 May 2025 00:19:13 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=lNTeQtwwhIHRWJz+5UAD0ZmkmelHdTiBHSw0EwBa894=; b=VBlqmhbbg5zLgA oE/1KBvMRsDQqKbiwtDL8YUhyOo211Tz1ZtAfQuFW0W3CHp657yCJaQPSnFCd4Y4q9PmFwgfbk2kn WZkaBklxbck5Ll9EeDUJKDB+9Pk6Ej7GMHgsR2bcrFTrH70aCptual554RfAsUr3gEIA4Dsjtax26 8LA9FGDig2UUQWSuXhC2mlITbWSuXGtxxSHJUHdIE8UMdeuiaGQFuLWZR02bcAuwUUhiQoLQFE06j L1DDRufNjIq4NmVD8XtWkz6vr781n9UVse4LsS7s+hp2TjYCJo1ABrxbVzpZl3++YJ+et3/ItmK0A J9QSXflTms7qPAQc1fPA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBSF-0000000258J-3yGZ; Fri, 09 May 2025 00:19:07 +0000 Received: from out-184.mta0.migadu.com ([91.218.175.184]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBS9-0000000256P-3zOB for linux-riscv@lists.infradead.org; Fri, 09 May 2025 00:19:06 +0000 Message-ID: <1c385a47-0a01-4be4-a34b-51a2f168e62d@linux.dev> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746749938; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=679XepidSuycXdyfHp1BFAWMxdV4mUKMvIzi7W0Gi8k=; b=iGazSvdg0UerSGY5LF35krrRvhHcszcHHCCUdhyeSjPnV2j9Oeq51+LHgh5lsVUidMzbqM +QsPiJo6mZKRzX3YVarn3vwbPVp3eEb3ChrYDnp7GfUjBYH90wQwN4EAVZjBi5K9UkmDO2 uwG8hwhmMaUG8Hkhfztpvpw9H95BPt8= Date: Thu, 8 May 2025 17:18:51 -0700 MIME-Version: 1.0 Subject: Re: [PATCH v6 04/14] riscv: sbi: add FWFT extension interface To: =?UTF-8?B?Q2zDqW1lbnQgTMOpZ2Vy?= , Paul Walmsley , Palmer Dabbelt , Anup Patel , Atish Patra , Shuah Khan , Jonathan Corbet , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-kselftest@vger.kernel.org Cc: Samuel Holland , Andrew Jones , Deepak Gupta References: <20250424173204.1948385-1-cleger@rivosinc.com> <20250424173204.1948385-5-cleger@rivosinc.com> Content-Language: en-US X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Atish Patra In-Reply-To: <20250424173204.1948385-5-cleger@rivosinc.com> X-Migadu-Flow: FLOW_OUT X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250508_171902_889598_48B5FEDD X-CRM114-Status: GOOD ( 19.94 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gNC8yNC8yNSAxMDozMSBBTSwgQ2zDg8KpbWVudCBMw4PCqWdlciB3cm90ZToKPiBUaGlzIFNC SSBleHRlbnNpb25zIGVuYWJsZXMgc3VwZXJ2aXNvciBtb2RlIHRvIGNvbnRyb2wgZmVhdHVyZSB0 aGF0IGFyZQo+IHVuZGVyIE0tbW9kZSBjb250cm9sIChGb3IgaW5zdGFuY2UsIFN2YWR1IG1lbnZj ZmcgQURVRSBiaXQsIFNzZGJsdHJwCj4gRFRFLCBldGMpLiBBZGQgYW4gaW50ZXJmYWNlIHRvIHNl dCBsb2NhbCBmZWF0dXJlcyBmb3IgYSBzcGVjaWZpYyBjcHUKPiBtYXNrIGFzIHdlbGwgYXMgZm9y IHRoZSBvbmxpbmUgY3B1IG1hc2suCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2zDqW1lbnQgTMOpZ2Vy IDxjbGVnZXJAcml2b3NpbmMuY29tPgo+IFJldmlld2VkLWJ5OiBBbmRyZXcgSm9uZXMgPGFqb25l c0B2ZW50YW5hbWljcm8uY29tPgo+IC0tLQo+ICAgYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zYmku aCB8IDE3ICsrKysrKysrKysrCj4gICBhcmNoL3Jpc2N2L2tlcm5lbC9zYmkuYyAgICAgIHwgNTcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAyIGZpbGVzIGNoYW5nZWQs IDc0IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS9zYmkuaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc2JpLmgKPiBpbmRleCA3ZWMyNDlmZWE4 ODAuLjNiYmVmNTZiY2VmYyAxMDA2NDQKPiAtLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Ni aS5oCj4gKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zYmkuaAo+IEBAIC01MDMsNiArNTAz LDIzIEBAIGludCBzYmlfcmVtb3RlX2hmZW5jZV92dm1hX2FzaWQoY29uc3Qgc3RydWN0IGNwdW1h c2sgKmNwdV9tYXNrLAo+ICAgCQkJCXVuc2lnbmVkIGxvbmcgYXNpZCk7Cj4gICBsb25nIHNiaV9w cm9iZV9leHRlbnNpb24oaW50IGV4dCk7Cj4gICAKPiAraW50IHNiaV9md2Z0X3NldCh1MzIgZmVh dHVyZSwgdW5zaWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gK2ludCBz YmlfZndmdF9zZXRfY3B1bWFzayhjb25zdCBjcHVtYXNrX3QgKm1hc2ssIHUzMiBmZWF0dXJlLAo+ ICsJCQkgdW5zaWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBmbGFncyk7Cj4gKy8qKgo+ ICsgKiBzYmlfZndmdF9zZXRfb25saW5lX2NwdXMoKSAtIFNldCBhIGZlYXR1cmUgb24gYWxsIG9u bGluZSBjcHVzCj4gKyAqIEBmZWF0dXJlOiBUaGUgZmVhdHVyZSB0byBiZSBzZXQKPiArICogQHZh bHVlOiBUaGUgZmVhdHVyZSB2YWx1ZSB0byBiZSBzZXQKPiArICogQGZsYWdzOiBGV0ZUIGZlYXR1 cmUgc2V0IGZsYWdzCj4gKyAqCj4gKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCBhcHByb3ByaWF0 ZSBsaW51eCBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgaW50 IHNiaV9md2Z0X3NldF9vbmxpbmVfY3B1cyh1MzIgZmVhdHVyZSwgdW5zaWduZWQgbG9uZyB2YWx1 ZSwKPiArCQkJCQkgICB1bnNpZ25lZCBsb25nIGZsYWdzKQo+ICt7Cj4gKwlyZXR1cm4gc2JpX2Z3 ZnRfc2V0X2NwdW1hc2soY3B1X29ubGluZV9tYXNrLCBmZWF0dXJlLCB2YWx1ZSwgZmxhZ3MpOwo+ ICt9Cj4gKwo+ICAgLyogQ2hlY2sgaWYgY3VycmVudCBTQkkgc3BlY2lmaWNhdGlvbiB2ZXJzaW9u IGlzIDAuMSBvciBub3QgKi8KPiAgIHN0YXRpYyBpbmxpbmUgaW50IHNiaV9zcGVjX2lzXzBfMSh2 b2lkKQo+ICAgewo+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9zYmkuYyBiL2FyY2gv cmlzY3Yva2VybmVsL3NiaS5jCj4gaW5kZXggMWQ0NGMzNTMwNWE5Li5kNTdlNGRhZTdkYWMgMTAw NjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvc2JpLmMKPiArKysgYi9hcmNoL3Jpc2N2L2tl cm5lbC9zYmkuYwo+IEBAIC0yOTksNiArMjk5LDYzIEBAIHN0YXRpYyBpbnQgX19zYmlfcmZlbmNl X3YwMihpbnQgZmlkLCBjb25zdCBzdHJ1Y3QgY3B1bWFzayAqY3B1X21hc2ssCj4gICAJcmV0dXJu IDA7Cj4gICB9Cj4gICAKPiArLyoqCj4gKyAqIHNiaV9md2Z0X3NldCgpIC0gU2V0IGEgZmVhdHVy ZSBvbiB0aGUgbG9jYWwgaGFydAo+ICsgKiBAZmVhdHVyZTogVGhlIGZlYXR1cmUgSUQgdG8gYmUg c2V0Cj4gKyAqIEB2YWx1ZTogVGhlIGZlYXR1cmUgdmFsdWUgdG8gYmUgc2V0Cj4gKyAqIEBmbGFn czogRldGVCBmZWF0dXJlIHNldCBmbGFncwo+ICsgKgo+ICsgKiBSZXR1cm46IDAgb24gc3VjY2Vz cywgYXBwcm9wcmlhdGUgbGludXggZXJyb3IgY29kZSBvdGhlcndpc2UuCj4gKyAqLwo+ICtpbnQg c2JpX2Z3ZnRfc2V0KHUzMiBmZWF0dXJlLCB1bnNpZ25lZCBsb25nIHZhbHVlLCB1bnNpZ25lZCBs b25nIGZsYWdzKQo+ICt7Cj4gKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cj4gK30KPiArCj4gK3N0cnVj dCBmd2Z0X3NldF9yZXEgewo+ICsJdTMyIGZlYXR1cmU7Cj4gKwl1bnNpZ25lZCBsb25nIHZhbHVl Owo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCWF0b21pY190IGVycm9yOwo+ICt9Owo+ICsK PiArc3RhdGljIHZvaWQgY3B1X3NiaV9md2Z0X3NldCh2b2lkICphcmcpCj4gK3sKPiArCXN0cnVj dCBmd2Z0X3NldF9yZXEgKnJlcSA9IGFyZzsKPiArCWludCByZXQ7Cj4gKwo+ICsJcmV0ID0gc2Jp X2Z3ZnRfc2V0KHJlcS0+ZmVhdHVyZSwgcmVxLT52YWx1ZSwgcmVxLT5mbGFncyk7Cj4gKwlpZiAo cmV0KQo+ICsJCWF0b21pY19zZXQoJnJlcS0+ZXJyb3IsIHJldCk7CgpXaGF0IGhhcHBlbnMgd2hl biBjcHVYIGV4ZWN1dGVkIGZpcnN0IHJlcG9ydGVkIGFuIGVycm9yIGJ1dCBjcHVZIApleGVjdXRl ZCB0aGlzIGZ1bmN0aW9uIGxhdGVyIGFuZCByZXBvcnQgc3VjY2Vzcy4KClRoZSBlcnJvciB3aWxs IGJlIG1hc2tlZCBpbiB0aGF0IGNhc2UuCgo+ICt9Cj4gKwo+ICsvKioKPiArICogc2JpX2Z3ZnRf c2V0X2NwdW1hc2soKSAtIFNldCBhIGZlYXR1cmUgZm9yIHRoZSBzcGVjaWZpZWQgY3B1bWFzawo+ ICsgKiBAbWFzazogQ1BVIG1hc2sgb2YgY3B1cyB0aGF0IG5lZWQgdGhlIGZlYXR1cmUgdG8gYmUg c2V0Cj4gKyAqIEBmZWF0dXJlOiBUaGUgZmVhdHVyZSBJRCB0byBiZSBzZXQKPiArICogQHZhbHVl OiBUaGUgZmVhdHVyZSB2YWx1ZSB0byBiZSBzZXQKPiArICogQGZsYWdzOiBGV0ZUIGZlYXR1cmUg c2V0IGZsYWdzCj4gKyAqCj4gKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCBhcHByb3ByaWF0ZSBs aW51eCBlcnJvciBjb2RlIG90aGVyd2lzZS4KPiArICovCj4gK2ludCBzYmlfZndmdF9zZXRfY3B1 bWFzayhjb25zdCBjcHVtYXNrX3QgKm1hc2ssIHUzMiBmZWF0dXJlLAo+ICsJCQkgICAgICAgdW5z aWduZWQgbG9uZyB2YWx1ZSwgdW5zaWduZWQgbG9uZyBmbGFncykKPiArewo+ICsJc3RydWN0IGZ3 ZnRfc2V0X3JlcSByZXEgPSB7Cj4gKwkJLmZlYXR1cmUgPSBmZWF0dXJlLAo+ICsJCS52YWx1ZSA9 IHZhbHVlLAo+ICsJCS5mbGFncyA9IGZsYWdzLAo+ICsJCS5lcnJvciA9IEFUT01JQ19JTklUKDAp LAo+ICsJfTsKPiArCj4gKwlpZiAoZmVhdHVyZSAmIFNCSV9GV0ZUX0dMT0JBTF9GRUFUVVJFX0JJ VCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlvbl9lYWNoX2NwdV9tYXNrKG1hc2ssIGNw dV9zYmlfZndmdF9zZXQsICZyZXEsIDEpOwo+ICsKPiArCXJldHVybiBhdG9taWNfcmVhZCgmcmVx LmVycm9yKTsKPiArfQo+ICsKPiAgIC8qKgo+ICAgICogc2JpX3NldF90aW1lcigpIC0gUHJvZ3Jh bSB0aGUgdGltZXIgZm9yIG5leHQgdGltZXIgZXZlbnQuCj4gICAgKiBAc3RpbWVfdmFsdWU6IFRo ZSB2YWx1ZSBhZnRlciB3aGljaCBuZXh0IHRpbWVyIGV2ZW50IHNob3VsZCBmaXJlLgoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXJpc2N2IG1h aWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK