From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5EFB82C85D; Mon, 18 Mar 2024 11:22:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.140.110.172 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710760966; cv=none; b=kFVeX5rEE1rTW7GcHYkfbO8mrsv3ZEeC5bhqM6F0QIYYtqe2QLLklCteVd420JwCJDv2vvqj5o8MfilYCIvGsQaDQ5AnaWCSjJRg6qso7pzqoSplxDRNomcf0T2EYcRdPmQvz8f9lq5HG5GRWUrVBFB3dzxDCX7Nox3BqehdJ3Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710760966; c=relaxed/simple; bh=VJmGLdrpLC4M2layVFICfKfdaErWKxnf2M1uTyH1ek0=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=PL9Dk513PhiQXvmCvvNMUgFRCcndGtQFGCEbdQeD9WPA4G3aozclnUFWYw+CgT2jNedJeTzyqKQ5Tc0+Q489tLBItI2tHYJaARaZa/qK+2nRIVL7jYBSsMFnvlq3bcjYH2rtGcEK/wcLIaRG38To4q06UIPXPrQIYY2212ec2B0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com; spf=pass smtp.mailfrom=arm.com; arc=none smtp.client-ip=217.140.110.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A857BDA7; Mon, 18 Mar 2024 04:23:17 -0700 (PDT) Received: from [10.57.12.69] (unknown [10.57.12.69]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 55E0C3F762; Mon, 18 Mar 2024 04:22:39 -0700 (PDT) Message-ID: <4809297b-a2f4-45a2-9005-884232a35b75@arm.com> Date: Mon, 18 Mar 2024 11:22:39 +0000 Precedence: bulk X-Mailing-List: linux-coco@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 06/28] arm64: RME: ioctls to create and configure realms To: Ganapatrao Kulkarni , kvm@vger.kernel.org, kvmarm@lists.linux.dev Cc: Catalin Marinas , Marc Zyngier , Will Deacon , James Morse , Oliver Upton , Suzuki K Poulose , Zenghui Yu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Joey Gouly , Alexandru Elisei , Christoffer Dall , Fuad Tabba , linux-coco@lists.linux.dev References: <20230127112248.136810-1-suzuki.poulose@arm.com> <20230127112932.38045-1-steven.price@arm.com> <20230127112932.38045-7-steven.price@arm.com> Content-Language: en-GB From: Steven Price In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thanks for taking a look at this. On 18/03/2024 07:40, Ganapatrao Kulkarni wrote: > On 27-01-2023 04:59 pm, Steven Price wrote: [...] >>   int kvm_init_rme(void) >>   { >> +    int ret; >> + >>       if (PAGE_SIZE != SZ_4K) >>           /* Only 4k page size on the host is supported */ >>           return 0; >> @@ -43,6 +394,12 @@ int kvm_init_rme(void) >>           /* Continue without realm support */ >>           return 0; >>   +    ret = rme_vmid_init(); >> +    if (ret) >> +        return ret; >> + >> +    WARN_ON(rmi_features(0, &rmm_feat_reg0)); > > Why WARN_ON, Is that good enough to print err/info message and keep > "kvm_rme_is_available" disabled? Good point. RMI_FEATURES "does not have any failure conditions" so this is very much a "should never happen" situation. Assuming the call gracefully fails then rmm_feat_reg0 would remain 0 which would in practise stop realms being created, but this is clearly non-ideal. I'll fix this up in the next version to do the rmi_features() call before rme_vmid_init(), that way we can just return early without setting kvm_rme_is_available in this situation. I'll keep the WARN_ON because something has gone very wrong if this call fails. > IMO, we should print message when rme is enabled, otherwise it should be > silent return. The rmi_check_version() call already outputs a "RMI ABI version %d.%d" message - I don't want to be too noisy here. Other than the 'cannot happen' situations if you see the "RMI ABI" message then kvm_rme_is_available will be set. And those 'cannot happen' routes will print their own error message (and point to a seriously broken system). And obviously in the case of SMC_RMI_VERSION not being supported then we silently return as this is taken to mean there isn't an RMM. Thanks, Steve 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 BD841C54E58 for ; Mon, 18 Mar 2024 11:23:01 +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: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=uIii1My3fN298JLT0O7j3hj3MYzOsFmf7PgX/uuTeDI=; b=lAX7y+71k1NvAF dhc36e7tgXqLX/6vOo8PBz71MtSHXg+w2VTFQ78zOOj5HdJNLxSCArJxgeVVaVkLH3annLQCgP0yz ql0XBqmI3RVBQL3SICPdu1Tc7yDMiDAMMOKu+txbIZC5LpuHo4nsDVuC1volcw5c0bUjYABaaSBZp bTKOhuiAsil2Uo0kgCEPoupfKPE5KwUmHZSP6P9Z5OPCEatOlvL+z5Ubt6l8xoFz72WdXkrnoe4TB fQOXq5RLSnporNmITbTl7nL26ZBoE7hNI78LgWCAxtk5lz14wnsKKWczXQJEukClcOSG11RS/VSQs dKU3liLLBvfgCLpl5Sjw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmB4t-00000008LE8-11RI; Mon, 18 Mar 2024 11:22:51 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rmB4p-00000008LCM-2GVH for linux-arm-kernel@lists.infradead.org; Mon, 18 Mar 2024 11:22:49 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A857BDA7; Mon, 18 Mar 2024 04:23:17 -0700 (PDT) Received: from [10.57.12.69] (unknown [10.57.12.69]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 55E0C3F762; Mon, 18 Mar 2024 04:22:39 -0700 (PDT) Message-ID: <4809297b-a2f4-45a2-9005-884232a35b75@arm.com> Date: Mon, 18 Mar 2024 11:22:39 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 06/28] arm64: RME: ioctls to create and configure realms To: Ganapatrao Kulkarni , kvm@vger.kernel.org, kvmarm@lists.linux.dev Cc: Catalin Marinas , Marc Zyngier , Will Deacon , James Morse , Oliver Upton , Suzuki K Poulose , Zenghui Yu , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Joey Gouly , Alexandru Elisei , Christoffer Dall , Fuad Tabba , linux-coco@lists.linux.dev References: <20230127112248.136810-1-suzuki.poulose@arm.com> <20230127112932.38045-1-steven.price@arm.com> <20230127112932.38045-7-steven.price@arm.com> Content-Language: en-GB From: Steven Price In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240318_042247_737393_BA775553 X-CRM114-Status: GOOD ( 14.14 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org VGhhbmtzIGZvciB0YWtpbmcgYSBsb29rIGF0IHRoaXMuCgpPbiAxOC8wMy8yMDI0IDA3OjQwLCBH YW5hcGF0cmFvIEt1bGthcm5pIHdyb3RlOgo+IE9uIDI3LTAxLTIwMjMgMDQ6NTkgcG0sIFN0ZXZl biBQcmljZSB3cm90ZToKWy4uLl0KPj4gwqAgaW50IGt2bV9pbml0X3JtZSh2b2lkKQo+PiDCoCB7 Cj4+ICvCoMKgwqAgaW50IHJldDsKPj4gKwo+PiDCoMKgwqDCoMKgIGlmIChQQUdFX1NJWkUgIT0g U1pfNEspCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBPbmx5IDRrIHBhZ2Ugc2l6ZSBvbiB0aGUg aG9zdCBpcyBzdXBwb3J0ZWQgKi8KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiBA QCAtNDMsNiArMzk0LDEyIEBAIGludCBrdm1faW5pdF9ybWUodm9pZCkKPj4gwqDCoMKgwqDCoMKg wqDCoMKgIC8qIENvbnRpbnVlIHdpdGhvdXQgcmVhbG0gc3VwcG9ydCAqLwo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuIDA7Cj4+IMKgICvCoMKgwqAgcmV0ID0gcm1lX3ZtaWRfaW5pdCgpOwo+ PiArwqDCoMKgIGlmIChyZXQpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Owo+PiArCj4+ ICvCoMKgwqAgV0FSTl9PTihybWlfZmVhdHVyZXMoMCwgJnJtbV9mZWF0X3JlZzApKTsKPiAKPiBX aHkgV0FSTl9PTiwgSXMgdGhhdCBnb29kIGVub3VnaCB0byBwcmludCBlcnIvaW5mbyBtZXNzYWdl IGFuZCBrZWVwCj4gImt2bV9ybWVfaXNfYXZhaWxhYmxlIiBkaXNhYmxlZD8KCkdvb2QgcG9pbnQu IFJNSV9GRUFUVVJFUyAiZG9lcyBub3QgaGF2ZSBhbnkgZmFpbHVyZSBjb25kaXRpb25zIiBzbyB0 aGlzCmlzIHZlcnkgbXVjaCBhICJzaG91bGQgbmV2ZXIgaGFwcGVuIiBzaXR1YXRpb24uIEFzc3Vt aW5nIHRoZSBjYWxsCmdyYWNlZnVsbHkgZmFpbHMgdGhlbiBybW1fZmVhdF9yZWcwIHdvdWxkIHJl bWFpbiAwIHdoaWNoIHdvdWxkIGluCnByYWN0aXNlIHN0b3AgcmVhbG1zIGJlaW5nIGNyZWF0ZWQs IGJ1dCB0aGlzIGlzIGNsZWFybHkgbm9uLWlkZWFsLgoKSSdsbCBmaXggdGhpcyB1cCBpbiB0aGUg bmV4dCB2ZXJzaW9uIHRvIGRvIHRoZSBybWlfZmVhdHVyZXMoKSBjYWxsCmJlZm9yZSBybWVfdm1p ZF9pbml0KCksIHRoYXQgd2F5IHdlIGNhbiBqdXN0IHJldHVybiBlYXJseSB3aXRob3V0CnNldHRp bmcga3ZtX3JtZV9pc19hdmFpbGFibGUgaW4gdGhpcyBzaXR1YXRpb24uIEknbGwga2VlcCB0aGUg V0FSTl9PTgpiZWNhdXNlIHNvbWV0aGluZyBoYXMgZ29uZSB2ZXJ5IHdyb25nIGlmIHRoaXMgY2Fs bCBmYWlscy4KCj4gSU1PLCB3ZSBzaG91bGQgcHJpbnQgbWVzc2FnZSB3aGVuIHJtZSBpcyBlbmFi bGVkLCBvdGhlcndpc2UgaXQgc2hvdWxkIGJlCj4gc2lsZW50IHJldHVybi4KClRoZSBybWlfY2hl Y2tfdmVyc2lvbigpIGNhbGwgYWxyZWFkeSBvdXRwdXRzIGEgIlJNSSBBQkkgdmVyc2lvbiAlZC4l ZCIKbWVzc2FnZSAtIEkgZG9uJ3Qgd2FudCB0byBiZSB0b28gbm9pc3kgaGVyZS4gT3RoZXIgdGhh biB0aGUgJ2Nhbm5vdApoYXBwZW4nIHNpdHVhdGlvbnMgaWYgeW91IHNlZSB0aGUgIlJNSSBBQkki IG1lc3NhZ2UgdGhlbgprdm1fcm1lX2lzX2F2YWlsYWJsZSB3aWxsIGJlIHNldC4gQW5kIHRob3Nl ICdjYW5ub3QgaGFwcGVuJyByb3V0ZXMgd2lsbApwcmludCB0aGVpciBvd24gZXJyb3IgbWVzc2Fn ZSAoYW5kIHBvaW50IHRvIGEgc2VyaW91c2x5IGJyb2tlbiBzeXN0ZW0pLgoKQW5kIG9idmlvdXNs eSBpbiB0aGUgY2FzZSBvZiBTTUNfUk1JX1ZFUlNJT04gbm90IGJlaW5nIHN1cHBvcnRlZCB0aGVu IHdlCnNpbGVudGx5IHJldHVybiBhcyB0aGlzIGlzIHRha2VuIHRvIG1lYW4gdGhlcmUgaXNuJ3Qg YW4gUk1NLgoKVGhhbmtzLAoKU3RldmUKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0t a2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==