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 0DB1CC3ABC5 for ; Fri, 9 May 2025 00:27:55 +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=vpp45Jg8Op5SXGwLGNblH/BCrLtp/dlelWewb4oRDUo=; b=fT+yM9nfHZCJsm puVX55yNX0MHCf9FTftXi0hVPIze62l4FIGRYa8FFwSYewbAut4M58Hzs+t2wSwgMwPTqAAwdl6me 5HFcfGMQveHsFDP1+4fcRIaB9JaQAgDmUeNjXuo4gigyKGnrNusetojyzpTU8hdQcQqqmkRqjNIMx 1JGw44tyvuP433yGNceufrTvDQW0mV9KS1e8I+7H+YweIV720J/PA+/zKV9zrPvjBCVop0yXIdBdk V+HhbthBvr4Kch1duW+0IvLXu1dbs6p9YX6AKk8CYc8D6d8FXG1LaNC+tXNUE/SIDcCKDCCm0wHbM uW10d3Hyoj+QaCS303wQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBak-000000025gj-32ts; Fri, 09 May 2025 00:27:54 +0000 Received: from out-180.mta1.migadu.com ([95.215.58.180]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBah-000000025fy-3qOD for kvm-riscv@lists.infradead.org; Fri, 09 May 2025 00:27:53 +0000 Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746750469; 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=focIGU9K6baIuUHoMWczpC1FYpctMA9LpP3THjX0tv8=; b=S/yhTzFakjdfMXIvQjosSdkUsGCK+8PEHBvMHiTyVuN7hXwQ0YNKGjTbLAvgLRrcw3avQY pduZN1V4KocO2xdemEmx1q1Huf/v1qISawu5FABFATS3F53m1xBxyHSFTO2wCmRWTZQBnq 23VctDWhLqEMU7OCy3cyW5hPtb9dUTQ= Date: Thu, 8 May 2025 17:26:52 -0700 MIME-Version: 1.0 Subject: Re: [PATCH v6 11/14] RISC-V: KVM: add SBI extension init()/deinit() functions 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-12-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-12-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_172752_105470_1C9A4246 X-CRM114-Status: GOOD ( 19.03 ) 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 T24gNC8yNC8yNSAxMDozMSBBTSwgQ2zDg8KpbWVudCBMw4PCqWdlciB3cm90ZToKPiBUaGUgRldG VCBTQkkgZXh0ZW5zaW9uIHdpbGwgbmVlZCB0byBkeW5hbWljYWxseSBhbGxvY2F0ZSBtZW1vcnkg YW5kIGRvCj4gaW5pdCB0aW1lIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLiBBZGQgYW4gaW5pdC9k ZWluaXQgY2FsbGJhY2tzIHRoYXQKPiBhbGxvd3MgdG8gZG8gc28uCj4gCj4gU2lnbmVkLW9mZi1i eTogQ2zDqW1lbnQgTMOpZ2VyIDxjbGVnZXJAcml2b3NpbmMuY29tPgo+IFJldmlld2VkLWJ5OiBB bmRyZXcgSm9uZXMgPGFqb25lc0B2ZW50YW5hbWljcm8uY29tPgo+IC0tLQo+ICAgYXJjaC9yaXNj di9pbmNsdWRlL2FzbS9rdm1fdmNwdV9zYmkuaCB8ICA5ICsrKysrKysrKwo+ICAgYXJjaC9yaXNj di9rdm0vdmNwdS5jICAgICAgICAgICAgICAgICB8ICAyICsrCj4gICBhcmNoL3Jpc2N2L2t2bS92 Y3B1X3NiaS5jICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg IDMgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9hcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV92Y3B1X3NiaS5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS9rdm1fdmNwdV9zYmkuaAo+IGluZGV4IDRlZDYyMDNjZGQzMC4uYmNiOTA3NTdiMTQ5IDEwMDY0 NAo+IC0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX3ZjcHVfc2JpLmgKPiArKysgYi9h cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV92Y3B1X3NiaS5oCj4gQEAgLTQ5LDYgKzQ5LDE0IEBA IHN0cnVjdCBrdm1fdmNwdV9zYmlfZXh0ZW5zaW9uIHsKPiAgIAo+ICAgCS8qIEV4dGVuc2lvbiBz cGVjaWZpYyBwcm9iZSBmdW5jdGlvbiAqLwo+ICAgCXVuc2lnbmVkIGxvbmcgKCpwcm9iZSkoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1KTsKPiArCj4gKwkvKgo+ICsJICogSW5pdC9kZWluaXQgZnVuY3Rp b24gY2FsbGVkIG9uY2UgZHVyaW5nIFZDUFUgaW5pdC9kZXN0cm95LiBUaGVzZQo+ICsJICogbWln aHQgYmUgdXNlIGlmIHRoZSBTQkkgZXh0ZW5zaW9ucyBuZWVkIHRvIGFsbG9jYXRlIG9yIGRvIHNw ZWNpZmljCj4gKwkgKiBpbml0IHRpbWUgb25seSBjb25maWd1cmF0aW9uLgo+ICsJICovCj4gKwlp bnQgKCppbml0KShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpOwo+ICsJdm9pZCAoKmRlaW5pdCkoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1KTsKPiAgIH07Cj4gICAKPiAgIHZvaWQga3ZtX3Jpc2N2X3ZjcHVf c2JpX2ZvcndhcmQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsK PiBAQCAtNjksNiArNzcsNyBAQCBjb25zdCBzdHJ1Y3Qga3ZtX3ZjcHVfc2JpX2V4dGVuc2lvbiAq a3ZtX3ZjcHVfc2JpX2ZpbmRfZXh0KAo+ICAgYm9vbCByaXNjdl92Y3B1X3N1cHBvcnRzX3NiaV9l eHQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBpbnQgaWR4KTsKPiAgIGludCBrdm1fcmlzY3ZfdmNw dV9zYmlfZWNhbGwoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsK PiAgIHZvaWQga3ZtX3Jpc2N2X3ZjcHVfc2JpX2luaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTsK PiArdm9pZCBrdm1fcmlzY3ZfdmNwdV9zYmlfZGVpbml0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7 Cj4gICAKPiAgIGludCBrdm1fcmlzY3ZfdmNwdV9nZXRfcmVnX3NiaV9zdGEoc3RydWN0IGt2bV92 Y3B1ICp2Y3B1LCB1bnNpZ25lZCBsb25nIHJlZ19udW0sCj4gICAJCQkJICAgdW5zaWduZWQgbG9u ZyAqcmVnX3ZhbCk7Cj4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva3ZtL3ZjcHUuYyBiL2FyY2gv cmlzY3Yva3ZtL3ZjcHUuYwo+IGluZGV4IDYwZDY4NGM3NmM1OC4uODc3YmNjODVjMDY3IDEwMDY0 NAo+IC0tLSBhL2FyY2gvcmlzY3Yva3ZtL3ZjcHUuYwo+ICsrKyBiL2FyY2gvcmlzY3Yva3ZtL3Zj cHUuYwo+IEBAIC0xODUsNiArMTg1LDggQEAgdm9pZCBrdm1fYXJjaF92Y3B1X3Bvc3RjcmVhdGUo c3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAgCj4gICB2b2lkIGt2bV9hcmNoX3ZjcHVfZGVzdHJv eShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCj4gICB7Cj4gKwlrdm1fcmlzY3ZfdmNwdV9zYmlfZGVp bml0KHZjcHUpOwo+ICsKPiAgIAkvKiBDbGVhbnVwIFZDUFUgQUlBIGNvbnRleHQgKi8KPiAgIAlr dm1fcmlzY3ZfdmNwdV9haWFfZGVpbml0KHZjcHUpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2FyY2gv cmlzY3Yva3ZtL3ZjcHVfc2JpLmMgYi9hcmNoL3Jpc2N2L2t2bS92Y3B1X3NiaS5jCj4gaW5kZXgg ZDFjODNhNzc3MzVlLi4zMTM5ZjE3MWMyMGYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rdm0v dmNwdV9zYmkuYwo+ICsrKyBiL2FyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpLmMKPiBAQCAtNTA4LDUg KzUwOCwzMSBAQCB2b2lkIGt2bV9yaXNjdl92Y3B1X3NiaV9pbml0KHN0cnVjdCBrdm1fdmNwdSAq dmNwdSkKPiAgIAkJc2NvbnRleHQtPmV4dF9zdGF0dXNbaWR4XSA9IGV4dC0+ZGVmYXVsdF9kaXNh YmxlZCA/Cj4gICAJCQkJCUtWTV9SSVNDVl9TQklfRVhUX1NUQVRVU19ESVNBQkxFRCA6Cj4gICAJ CQkJCUtWTV9SSVNDVl9TQklfRVhUX1NUQVRVU19FTkFCTEVEOwo+ICsKPiArCQlpZiAoZXh0LT5p bml0ICYmIGV4dC0+aW5pdCh2Y3B1KSAhPSAwKQo+ICsJCQlzY29udGV4dC0+ZXh0X3N0YXR1c1tp ZHhdID0gS1ZNX1JJU0NWX1NCSV9FWFRfU1RBVFVTX1VOQVZBSUxBQkxFOwo+ICsJfQo+ICt9Cj4g Kwo+ICt2b2lkIGt2bV9yaXNjdl92Y3B1X3NiaV9kZWluaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1 KQo+ICt7Cj4gKwlzdHJ1Y3Qga3ZtX3ZjcHVfc2JpX2NvbnRleHQgKnNjb250ZXh0ID0gJnZjcHUt PmFyY2guc2JpX2NvbnRleHQ7Cj4gKwljb25zdCBzdHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9leHRlbnNp b25fZW50cnkgKmVudHJ5Owo+ICsJY29uc3Qgc3RydWN0IGt2bV92Y3B1X3NiaV9leHRlbnNpb24g KmV4dDsKPiArCWludCBpZHgsIGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUo c2JpX2V4dCk7IGkrKykgewo+ICsJCWVudHJ5ID0gJnNiaV9leHRbaV07Cj4gKwkJZXh0ID0gZW50 cnktPmV4dF9wdHI7Cj4gKwkJaWR4ID0gZW50cnktPmV4dF9pZHg7Cj4gKwo+ICsJCWlmIChpZHgg PCAwIHx8IGlkeCA+PSBBUlJBWV9TSVpFKHNjb250ZXh0LT5leHRfc3RhdHVzKSkKPiArCQkJY29u dGludWU7Cj4gKwo+ICsJCWlmIChzY29udGV4dC0+ZXh0X3N0YXR1c1tpZHhdID09IEtWTV9SSVND Vl9TQklfRVhUX1NUQVRVU19VTkFWQUlMQUJMRSB8fAo+ICsJCSAgICAhZXh0LT5kZWluaXQpCj4g KwkJCWNvbnRpbnVlOwo+ICsKPiArCQlleHQtPmRlaW5pdCh2Y3B1KTsKPiAgIAl9Cj4gICB9CgpM R1RNLgpSZXZpZXdlZC1ieTogQXRpc2ggUGF0cmEgPGF0aXNocEByaXZvc2luYy5jb20+CgotLSAK a3ZtLXJpc2N2IG1haWxpbmcgbGlzdAprdm0tcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2t2bS1yaXNjdgo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out-174.mta1.migadu.com (out-174.mta1.migadu.com [95.215.58.174]) (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 8DC22C147 for ; Fri, 9 May 2025 00:27:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=95.215.58.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746750475; cv=none; b=Xtwa25qIkMV3/0IcZVy0vyTMoPjlYtclaksWLPOW6Qd2HOtn+H+ObLNZz26etTFcOCXLdHmHw8fFVgULtZ42aHSPMUb0eNm6Vs/xdKeurL69vzyaxoaFXZZMsLSfZPjQFfkJF0eHOlSfVu5C8aRB9w5A/kD70A6+AyRIbwSxlUg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746750475; c=relaxed/simple; bh=4U0PtOTgyWwUYIgRnQyiflVPdeK7IJmEHyq/L90BZ88=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=ATIO2qCvtrMFrfvsk1YkCOD0v7GK0tUJkvk8vxAgO7/ezfKIPKr9lvAn8oZSpjP7lxCNejqhkiuOvNP/iWkqQwmzv6r41uKFJwFj98NiuZs7yQtuRyalSsfB7UigLH1cdDIDiAtClaf7ExI6kfbgBku7/3USGbC0rlR33NgXTkk= 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=S/yhTzFa; arc=none smtp.client-ip=95.215.58.174 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="S/yhTzFa" Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746750469; 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=focIGU9K6baIuUHoMWczpC1FYpctMA9LpP3THjX0tv8=; b=S/yhTzFakjdfMXIvQjosSdkUsGCK+8PEHBvMHiTyVuN7hXwQ0YNKGjTbLAvgLRrcw3avQY pduZN1V4KocO2xdemEmx1q1Huf/v1qISawu5FABFATS3F53m1xBxyHSFTO2wCmRWTZQBnq 23VctDWhLqEMU7OCy3cyW5hPtb9dUTQ= Date: Thu, 8 May 2025 17:26:52 -0700 Precedence: bulk X-Mailing-List: kvm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Subject: Re: [PATCH v6 11/14] RISC-V: KVM: add SBI extension init()/deinit() functions 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-12-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-12-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: > The FWFT SBI extension will need to dynamically allocate memory and do > init time specific initialization. Add an init/deinit callbacks that > allows to do so. > > Signed-off-by: Clément Léger > Reviewed-by: Andrew Jones > --- > arch/riscv/include/asm/kvm_vcpu_sbi.h | 9 +++++++++ > arch/riscv/kvm/vcpu.c | 2 ++ > arch/riscv/kvm/vcpu_sbi.c | 26 ++++++++++++++++++++++++++ > 3 files changed, 37 insertions(+) > > diff --git a/arch/riscv/include/asm/kvm_vcpu_sbi.h b/arch/riscv/include/asm/kvm_vcpu_sbi.h > index 4ed6203cdd30..bcb90757b149 100644 > --- a/arch/riscv/include/asm/kvm_vcpu_sbi.h > +++ b/arch/riscv/include/asm/kvm_vcpu_sbi.h > @@ -49,6 +49,14 @@ struct kvm_vcpu_sbi_extension { > > /* Extension specific probe function */ > unsigned long (*probe)(struct kvm_vcpu *vcpu); > + > + /* > + * Init/deinit function called once during VCPU init/destroy. These > + * might be use if the SBI extensions need to allocate or do specific > + * init time only configuration. > + */ > + int (*init)(struct kvm_vcpu *vcpu); > + void (*deinit)(struct kvm_vcpu *vcpu); > }; > > void kvm_riscv_vcpu_sbi_forward(struct kvm_vcpu *vcpu, struct kvm_run *run); > @@ -69,6 +77,7 @@ const struct kvm_vcpu_sbi_extension *kvm_vcpu_sbi_find_ext( > bool riscv_vcpu_supports_sbi_ext(struct kvm_vcpu *vcpu, int idx); > int kvm_riscv_vcpu_sbi_ecall(struct kvm_vcpu *vcpu, struct kvm_run *run); > void kvm_riscv_vcpu_sbi_init(struct kvm_vcpu *vcpu); > +void kvm_riscv_vcpu_sbi_deinit(struct kvm_vcpu *vcpu); > > int kvm_riscv_vcpu_get_reg_sbi_sta(struct kvm_vcpu *vcpu, unsigned long reg_num, > unsigned long *reg_val); > diff --git a/arch/riscv/kvm/vcpu.c b/arch/riscv/kvm/vcpu.c > index 60d684c76c58..877bcc85c067 100644 > --- a/arch/riscv/kvm/vcpu.c > +++ b/arch/riscv/kvm/vcpu.c > @@ -185,6 +185,8 @@ void kvm_arch_vcpu_postcreate(struct kvm_vcpu *vcpu) > > void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu) > { > + kvm_riscv_vcpu_sbi_deinit(vcpu); > + > /* Cleanup VCPU AIA context */ > kvm_riscv_vcpu_aia_deinit(vcpu); > > diff --git a/arch/riscv/kvm/vcpu_sbi.c b/arch/riscv/kvm/vcpu_sbi.c > index d1c83a77735e..3139f171c20f 100644 > --- a/arch/riscv/kvm/vcpu_sbi.c > +++ b/arch/riscv/kvm/vcpu_sbi.c > @@ -508,5 +508,31 @@ void kvm_riscv_vcpu_sbi_init(struct kvm_vcpu *vcpu) > scontext->ext_status[idx] = ext->default_disabled ? > KVM_RISCV_SBI_EXT_STATUS_DISABLED : > KVM_RISCV_SBI_EXT_STATUS_ENABLED; > + > + if (ext->init && ext->init(vcpu) != 0) > + scontext->ext_status[idx] = KVM_RISCV_SBI_EXT_STATUS_UNAVAILABLE; > + } > +} > + > +void kvm_riscv_vcpu_sbi_deinit(struct kvm_vcpu *vcpu) > +{ > + struct kvm_vcpu_sbi_context *scontext = &vcpu->arch.sbi_context; > + const struct kvm_riscv_sbi_extension_entry *entry; > + const struct kvm_vcpu_sbi_extension *ext; > + int idx, i; > + > + for (i = 0; i < ARRAY_SIZE(sbi_ext); i++) { > + entry = &sbi_ext[i]; > + ext = entry->ext_ptr; > + idx = entry->ext_idx; > + > + if (idx < 0 || idx >= ARRAY_SIZE(scontext->ext_status)) > + continue; > + > + if (scontext->ext_status[idx] == KVM_RISCV_SBI_EXT_STATUS_UNAVAILABLE || > + !ext->deinit) > + continue; > + > + ext->deinit(vcpu); > } > } LGTM. Reviewed-by: Atish Patra 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 0A1BEC3ABBE for ; Fri, 9 May 2025 00:28: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-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=nLLssxPAshT9tV70PHLdwLdCzDqxHOesIATJmI3B8QM=; b=wQHmA0ZDPIImFB 1i84ZR6dnLeMGJ5aIGTJur314NpWegQSmHAVYiyMsl2H/OuXfS/EFMe+KQsIPmSwR2h12g0XZkJtx mwaLyYOfCAeWbkFO9faNWzXkJAZKw859Cn+IvV0VGOZX0kpUlqmnfvPr9P5RRAppJT/vfKzEHaf1c wbYxly/oXEC5byeoViqLVJB+2mC/7bd+hHMi2/tBl7+VePw28tjk4nRhZA1OTdJ1+ihkfDEm27Hhf /w36KReVd6PSBUnjQtSRKe5w9aKKSeDza1jg+AEj6wwamuNW08RHtXW4LpweJydzpTucChE+aEnBt ugNXrop02fH3iTObC2HA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBam-000000025gx-09Du; Fri, 09 May 2025 00:27:56 +0000 Received: from out-189.mta1.migadu.com ([2001:41d0:203:375::bd]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uDBai-000000025fz-0FSo for linux-riscv@lists.infradead.org; Fri, 09 May 2025 00:27:54 +0000 Message-ID: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1746750469; 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=focIGU9K6baIuUHoMWczpC1FYpctMA9LpP3THjX0tv8=; b=S/yhTzFakjdfMXIvQjosSdkUsGCK+8PEHBvMHiTyVuN7hXwQ0YNKGjTbLAvgLRrcw3avQY pduZN1V4KocO2xdemEmx1q1Huf/v1qISawu5FABFATS3F53m1xBxyHSFTO2wCmRWTZQBnq 23VctDWhLqEMU7OCy3cyW5hPtb9dUTQ= Date: Thu, 8 May 2025 17:26:52 -0700 MIME-Version: 1.0 Subject: Re: [PATCH v6 11/14] RISC-V: KVM: add SBI extension init()/deinit() functions 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-12-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-12-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_172752_238190_2EC1A505 X-CRM114-Status: GOOD ( 19.03 ) 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 T24gNC8yNC8yNSAxMDozMSBBTSwgQ2zDg8KpbWVudCBMw4PCqWdlciB3cm90ZToKPiBUaGUgRldG VCBTQkkgZXh0ZW5zaW9uIHdpbGwgbmVlZCB0byBkeW5hbWljYWxseSBhbGxvY2F0ZSBtZW1vcnkg YW5kIGRvCj4gaW5pdCB0aW1lIHNwZWNpZmljIGluaXRpYWxpemF0aW9uLiBBZGQgYW4gaW5pdC9k ZWluaXQgY2FsbGJhY2tzIHRoYXQKPiBhbGxvd3MgdG8gZG8gc28uCj4gCj4gU2lnbmVkLW9mZi1i eTogQ2zDqW1lbnQgTMOpZ2VyIDxjbGVnZXJAcml2b3NpbmMuY29tPgo+IFJldmlld2VkLWJ5OiBB bmRyZXcgSm9uZXMgPGFqb25lc0B2ZW50YW5hbWljcm8uY29tPgo+IC0tLQo+ICAgYXJjaC9yaXNj di9pbmNsdWRlL2FzbS9rdm1fdmNwdV9zYmkuaCB8ICA5ICsrKysrKysrKwo+ICAgYXJjaC9yaXNj di9rdm0vdmNwdS5jICAgICAgICAgICAgICAgICB8ICAyICsrCj4gICBhcmNoL3Jpc2N2L2t2bS92 Y3B1X3NiaS5jICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg IDMgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9hcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV92Y3B1X3NiaS5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS9rdm1fdmNwdV9zYmkuaAo+IGluZGV4IDRlZDYyMDNjZGQzMC4uYmNiOTA3NTdiMTQ5IDEwMDY0 NAo+IC0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20va3ZtX3ZjcHVfc2JpLmgKPiArKysgYi9h cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2t2bV92Y3B1X3NiaS5oCj4gQEAgLTQ5LDYgKzQ5LDE0IEBA IHN0cnVjdCBrdm1fdmNwdV9zYmlfZXh0ZW5zaW9uIHsKPiAgIAo+ICAgCS8qIEV4dGVuc2lvbiBz cGVjaWZpYyBwcm9iZSBmdW5jdGlvbiAqLwo+ICAgCXVuc2lnbmVkIGxvbmcgKCpwcm9iZSkoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1KTsKPiArCj4gKwkvKgo+ICsJICogSW5pdC9kZWluaXQgZnVuY3Rp b24gY2FsbGVkIG9uY2UgZHVyaW5nIFZDUFUgaW5pdC9kZXN0cm95LiBUaGVzZQo+ICsJICogbWln aHQgYmUgdXNlIGlmIHRoZSBTQkkgZXh0ZW5zaW9ucyBuZWVkIHRvIGFsbG9jYXRlIG9yIGRvIHNw ZWNpZmljCj4gKwkgKiBpbml0IHRpbWUgb25seSBjb25maWd1cmF0aW9uLgo+ICsJICovCj4gKwlp bnQgKCppbml0KShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpOwo+ICsJdm9pZCAoKmRlaW5pdCkoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1KTsKPiAgIH07Cj4gICAKPiAgIHZvaWQga3ZtX3Jpc2N2X3ZjcHVf c2JpX2ZvcndhcmQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsK PiBAQCAtNjksNiArNzcsNyBAQCBjb25zdCBzdHJ1Y3Qga3ZtX3ZjcHVfc2JpX2V4dGVuc2lvbiAq a3ZtX3ZjcHVfc2JpX2ZpbmRfZXh0KAo+ICAgYm9vbCByaXNjdl92Y3B1X3N1cHBvcnRzX3NiaV9l eHQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBpbnQgaWR4KTsKPiAgIGludCBrdm1fcmlzY3ZfdmNw dV9zYmlfZWNhbGwoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBzdHJ1Y3Qga3ZtX3J1biAqcnVuKTsK PiAgIHZvaWQga3ZtX3Jpc2N2X3ZjcHVfc2JpX2luaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTsK PiArdm9pZCBrdm1fcmlzY3ZfdmNwdV9zYmlfZGVpbml0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7 Cj4gICAKPiAgIGludCBrdm1fcmlzY3ZfdmNwdV9nZXRfcmVnX3NiaV9zdGEoc3RydWN0IGt2bV92 Y3B1ICp2Y3B1LCB1bnNpZ25lZCBsb25nIHJlZ19udW0sCj4gICAJCQkJICAgdW5zaWduZWQgbG9u ZyAqcmVnX3ZhbCk7Cj4gZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva3ZtL3ZjcHUuYyBiL2FyY2gv cmlzY3Yva3ZtL3ZjcHUuYwo+IGluZGV4IDYwZDY4NGM3NmM1OC4uODc3YmNjODVjMDY3IDEwMDY0 NAo+IC0tLSBhL2FyY2gvcmlzY3Yva3ZtL3ZjcHUuYwo+ICsrKyBiL2FyY2gvcmlzY3Yva3ZtL3Zj cHUuYwo+IEBAIC0xODUsNiArMTg1LDggQEAgdm9pZCBrdm1fYXJjaF92Y3B1X3Bvc3RjcmVhdGUo c3RydWN0IGt2bV92Y3B1ICp2Y3B1KQo+ICAgCj4gICB2b2lkIGt2bV9hcmNoX3ZjcHVfZGVzdHJv eShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCj4gICB7Cj4gKwlrdm1fcmlzY3ZfdmNwdV9zYmlfZGVp bml0KHZjcHUpOwo+ICsKPiAgIAkvKiBDbGVhbnVwIFZDUFUgQUlBIGNvbnRleHQgKi8KPiAgIAlr dm1fcmlzY3ZfdmNwdV9haWFfZGVpbml0KHZjcHUpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2FyY2gv cmlzY3Yva3ZtL3ZjcHVfc2JpLmMgYi9hcmNoL3Jpc2N2L2t2bS92Y3B1X3NiaS5jCj4gaW5kZXgg ZDFjODNhNzc3MzVlLi4zMTM5ZjE3MWMyMGYgMTAwNjQ0Cj4gLS0tIGEvYXJjaC9yaXNjdi9rdm0v dmNwdV9zYmkuYwo+ICsrKyBiL2FyY2gvcmlzY3Yva3ZtL3ZjcHVfc2JpLmMKPiBAQCAtNTA4LDUg KzUwOCwzMSBAQCB2b2lkIGt2bV9yaXNjdl92Y3B1X3NiaV9pbml0KHN0cnVjdCBrdm1fdmNwdSAq dmNwdSkKPiAgIAkJc2NvbnRleHQtPmV4dF9zdGF0dXNbaWR4XSA9IGV4dC0+ZGVmYXVsdF9kaXNh YmxlZCA/Cj4gICAJCQkJCUtWTV9SSVNDVl9TQklfRVhUX1NUQVRVU19ESVNBQkxFRCA6Cj4gICAJ CQkJCUtWTV9SSVNDVl9TQklfRVhUX1NUQVRVU19FTkFCTEVEOwo+ICsKPiArCQlpZiAoZXh0LT5p bml0ICYmIGV4dC0+aW5pdCh2Y3B1KSAhPSAwKQo+ICsJCQlzY29udGV4dC0+ZXh0X3N0YXR1c1tp ZHhdID0gS1ZNX1JJU0NWX1NCSV9FWFRfU1RBVFVTX1VOQVZBSUxBQkxFOwo+ICsJfQo+ICt9Cj4g Kwo+ICt2b2lkIGt2bV9yaXNjdl92Y3B1X3NiaV9kZWluaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1 KQo+ICt7Cj4gKwlzdHJ1Y3Qga3ZtX3ZjcHVfc2JpX2NvbnRleHQgKnNjb250ZXh0ID0gJnZjcHUt PmFyY2guc2JpX2NvbnRleHQ7Cj4gKwljb25zdCBzdHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9leHRlbnNp b25fZW50cnkgKmVudHJ5Owo+ICsJY29uc3Qgc3RydWN0IGt2bV92Y3B1X3NiaV9leHRlbnNpb24g KmV4dDsKPiArCWludCBpZHgsIGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUo c2JpX2V4dCk7IGkrKykgewo+ICsJCWVudHJ5ID0gJnNiaV9leHRbaV07Cj4gKwkJZXh0ID0gZW50 cnktPmV4dF9wdHI7Cj4gKwkJaWR4ID0gZW50cnktPmV4dF9pZHg7Cj4gKwo+ICsJCWlmIChpZHgg PCAwIHx8IGlkeCA+PSBBUlJBWV9TSVpFKHNjb250ZXh0LT5leHRfc3RhdHVzKSkKPiArCQkJY29u dGludWU7Cj4gKwo+ICsJCWlmIChzY29udGV4dC0+ZXh0X3N0YXR1c1tpZHhdID09IEtWTV9SSVND Vl9TQklfRVhUX1NUQVRVU19VTkFWQUlMQUJMRSB8fAo+ICsJCSAgICAhZXh0LT5kZWluaXQpCj4g KwkJCWNvbnRpbnVlOwo+ICsKPiArCQlleHQtPmRlaW5pdCh2Y3B1KTsKPiAgIAl9Cj4gICB9CgpM R1RNLgpSZXZpZXdlZC1ieTogQXRpc2ggUGF0cmEgPGF0aXNocEByaXZvc2luYy5jb20+CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBt YWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==