From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (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 5AF5D14F6A for ; Fri, 21 Jul 2023 08:38:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689928709; 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=NwNy9iOU1ioDiJtC0wNNa3aEUmMXumdBTFbQ/HwLllU=; b=FAQDH2Q0cpSc5oacdwSCknYjAnlS3HXnjj9Db7SlCM/2F4pcNoycTLCM56EJdRw/Es2UoN CrHl2lfUfiV08WZ5fsTORmMbKy3GtuCqm+P06tCXF2RtLPt6ikX4Z6bPY6/1o9WTBxCh6C RtWeg+LRx4Cexnavh1DITiK5KY3gDs4= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-34-Blr1Gv_KOaS1Li0WyBAPWQ-1; Fri, 21 Jul 2023 04:38:25 -0400 X-MC-Unique: Blr1Gv_KOaS1Li0WyBAPWQ-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E8C88936D20; Fri, 21 Jul 2023 08:38:24 +0000 (UTC) Received: from localhost (unknown [10.39.193.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9E20A492B02; Fri, 21 Jul 2023 08:38:24 +0000 (UTC) From: Cornelia Huck To: Jing Zhang Cc: KVM , KVMARM , ARMLinux , Marc Zyngier , Oliver Upton , Will Deacon , Paolo Bonzini , James Morse , Alexandru Elisei , Suzuki K Poulose , Fuad Tabba , Reiji Watanabe , Raghavendra Rao Ananta , Suraj Jitindar Singh Subject: Re: [PATCH v6 3/6] KVM: arm64: Enable writable for ID_AA64DFR0_EL1 and ID_DFR0_EL1 In-Reply-To: Organization: Red Hat GmbH References: <20230718164522.3498236-1-jingzhangos@google.com> <20230718164522.3498236-4-jingzhangos@google.com> <87o7k77yn5.fsf@redhat.com> User-Agent: Notmuch/0.37 (https://notmuchmail.org) Date: Fri, 21 Jul 2023 10:38:23 +0200 Message-ID: <87sf9h8xs0.fsf@redhat.com> Precedence: bulk X-Mailing-List: kvmarm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 On Thu, Jul 20 2023, Jing Zhang wrote: > Hi Cornelia, > > On Thu, Jul 20, 2023 at 1:52=E2=80=AFAM Cornelia Huck = wrote: >> >> On Tue, Jul 18 2023, Jing Zhang wrote: >> >> > All valid fields in ID_AA64DFR0_EL1 and ID_DFR0_EL1 are writable >> > from usrespace with this change. >> >> Typo: s/usrespace/userspace/ > Thanks. >> >> > >> > Signed-off-by: Jing Zhang >> > --- >> > arch/arm64/kvm/sys_regs.c | 4 ++-- >> > 1 file changed, 2 insertions(+), 2 deletions(-) >> > >> > diff --git a/arch/arm64/kvm/sys_regs.c b/arch/arm64/kvm/sys_regs.c >> > index 053d8057ff1e..f33aec83f1b4 100644 >> > --- a/arch/arm64/kvm/sys_regs.c >> > +++ b/arch/arm64/kvm/sys_regs.c >> > @@ -2008,7 +2008,7 @@ static const struct sys_reg_desc sys_reg_descs[]= =3D { >> > .set_user =3D set_id_dfr0_el1, >> > .visibility =3D aa32_id_visibility, >> > .reset =3D read_sanitised_id_dfr0_el1, >> > - .val =3D ID_DFR0_EL1_PerfMon_MASK, }, >> > + .val =3D GENMASK(63, 0), }, >> > ID_HIDDEN(ID_AFR0_EL1), >> > AA32_ID_SANITISED(ID_MMFR0_EL1), >> > AA32_ID_SANITISED(ID_MMFR1_EL1), >> > @@ -2057,7 +2057,7 @@ static const struct sys_reg_desc sys_reg_descs[]= =3D { >> > .get_user =3D get_id_reg, >> > .set_user =3D set_id_aa64dfr0_el1, >> > .reset =3D read_sanitised_id_aa64dfr0_el1, >> > - .val =3D ID_AA64DFR0_EL1_PMUVer_MASK, }, >> > + .val =3D GENMASK(63, 0), }, >> > ID_SANITISED(ID_AA64DFR1_EL1), >> > ID_UNALLOCATED(5,2), >> > ID_UNALLOCATED(5,3), >> >> How does userspace find out whether a given id reg is actually writable, >> other than trying to write to it? >> > No mechanism was provided to userspace to discover if a given idreg or > any fields of a given idreg is writable. The write to a readonly idreg > can also succeed (write ignored) without any error if what's written > is exactly the same as what the idreg holds or if it is a write to > AArch32 idregs on an AArch64-only system. Hm, I'm not sure that's a good thing for the cases where we want to support mix-and-match userspace and kernels. Userspace may want to know upfront whether it can actually tweak the contents of an idreg or not (for example, in the context of using CPU models for compatibility), so that it can reject or warn about certain configurations that may not turn out as the user expects. > Not sure if it is worth adding an API to return the writable mask for > idregs, since we want to enable the writable for all allocated > unhidden idregs eventually. We'd enable any new idregs for writing from the start in the future, I guess? I see two approaches here: - add an API to get a list of idregs with their writable masks - add a capability "you can write to all idregs whatever you'd expect to be able to write there architecture wise", which would require to add support for all idregs prior to exposing that cap The second option would be the easier one (if we don't manage to break it in the future :) 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 35A53EB64DC for ; Fri, 21 Jul 2023 08:38:59 +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:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=itIyHf0slSqo7v6IO2jvBDgZtFeSOFYp88qDCIBE9VY=; b=Nkh88d/sfKLe87 oQBJom2Y8c9PaFzdqxyC+xAhDjm7Swo3SYHQu9ijOUYO/qV6ExrgeQnHSvpfx8Ymp7SGiRDGPFSVk Hu8gin4CTylW3mbAISbRPenpHleJrCrnubHbC5F9O3mgYkVl1mFfKZwq/Aa0Mhl4pFa+EMxbWIWhx oHn0HpTOVoYptZ0C8lFwN1xc5UqGaBFt64aA/BBQjPrS+GDjK0JTJ00yPKNUsdaQB1v/l7LEOQ780 5psocYzYf04Z4UwjEVv1ZRZbfJbnyGd/h7fSDV1p3dPV7MWBtU5e6W/JRMxYWKByeuEeFw00gwrt8 OWsfmNEUKqYav6iLorMw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qMlem-00DP0t-36; Fri, 21 Jul 2023 08:38:36 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qMlek-00DOza-0N for linux-arm-kernel@lists.infradead.org; Fri, 21 Jul 2023 08:38:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1689928711; 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=NwNy9iOU1ioDiJtC0wNNa3aEUmMXumdBTFbQ/HwLllU=; b=SbfavlggyVP+epZgnpkGR6tbaP1zSFW9LrNdjyXZGVnPkGZCE9W+HadKap07txXI2xj1tX 1UJYyGU5inCuXJEYrBMaCHSaE3QS92JXKQBuMejEulQBIBQDM7ZMOw3XWhl/DHjs+s1pP3 L05uZARvsUensBRdTkWf+u4ZLm7AiCg= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-34-Blr1Gv_KOaS1Li0WyBAPWQ-1; Fri, 21 Jul 2023 04:38:25 -0400 X-MC-Unique: Blr1Gv_KOaS1Li0WyBAPWQ-1 Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com [10.11.54.9]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E8C88936D20; Fri, 21 Jul 2023 08:38:24 +0000 (UTC) Received: from localhost (unknown [10.39.193.38]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9E20A492B02; Fri, 21 Jul 2023 08:38:24 +0000 (UTC) From: Cornelia Huck To: Jing Zhang Cc: KVM , KVMARM , ARMLinux , Marc Zyngier , Oliver Upton , Will Deacon , Paolo Bonzini , James Morse , Alexandru Elisei , Suzuki K Poulose , Fuad Tabba , Reiji Watanabe , Raghavendra Rao Ananta , Suraj Jitindar Singh Subject: Re: [PATCH v6 3/6] KVM: arm64: Enable writable for ID_AA64DFR0_EL1 and ID_DFR0_EL1 In-Reply-To: Organization: Red Hat GmbH References: <20230718164522.3498236-1-jingzhangos@google.com> <20230718164522.3498236-4-jingzhangos@google.com> <87o7k77yn5.fsf@redhat.com> User-Agent: Notmuch/0.37 (https://notmuchmail.org) Date: Fri, 21 Jul 2023 10:38:23 +0200 Message-ID: <87sf9h8xs0.fsf@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230721_013834_246277_BEE224A1 X-CRM114-Status: GOOD ( 29.15 ) 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 T24gVGh1LCBKdWwgMjAgMjAyMywgSmluZyBaaGFuZyA8amluZ3poYW5nb3NAZ29vZ2xlLmNvbT4g d3JvdGU6Cgo+IEhpIENvcm5lbGlhLAo+Cj4gT24gVGh1LCBKdWwgMjAsIDIwMjMgYXQgMTo1MuKA r0FNIENvcm5lbGlhIEh1Y2sgPGNvaHVja0ByZWRoYXQuY29tPiB3cm90ZToKPj4KPj4gT24gVHVl LCBKdWwgMTggMjAyMywgSmluZyBaaGFuZyA8amluZ3poYW5nb3NAZ29vZ2xlLmNvbT4gd3JvdGU6 Cj4+Cj4+ID4gQWxsIHZhbGlkIGZpZWxkcyBpbiBJRF9BQTY0REZSMF9FTDEgYW5kIElEX0RGUjBf RUwxIGFyZSB3cml0YWJsZQo+PiA+IGZyb20gdXNyZXNwYWNlIHdpdGggdGhpcyBjaGFuZ2UuCj4+ Cj4+IFR5cG86IHMvdXNyZXNwYWNlL3VzZXJzcGFjZS8KPiBUaGFua3MuCj4+Cj4+ID4KPj4gPiBT aWduZWQtb2ZmLWJ5OiBKaW5nIFpoYW5nIDxqaW5nemhhbmdvc0Bnb29nbGUuY29tPgo+PiA+IC0t LQo+PiA+ICBhcmNoL2FybTY0L2t2bS9zeXNfcmVncy5jIHwgNCArKy0tCj4+ID4gIDEgZmlsZSBj aGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4+ID4KPj4gPiBkaWZmIC0t Z2l0IGEvYXJjaC9hcm02NC9rdm0vc3lzX3JlZ3MuYyBiL2FyY2gvYXJtNjQva3ZtL3N5c19yZWdz LmMKPj4gPiBpbmRleCAwNTNkODA1N2ZmMWUuLmYzM2FlYzgzZjFiNCAxMDA2NDQKPj4gPiAtLS0g YS9hcmNoL2FybTY0L2t2bS9zeXNfcmVncy5jCj4+ID4gKysrIGIvYXJjaC9hcm02NC9rdm0vc3lz X3JlZ3MuYwo+PiA+IEBAIC0yMDA4LDcgKzIwMDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHN5 c19yZWdfZGVzYyBzeXNfcmVnX2Rlc2NzW10gPSB7Cj4+ID4gICAgICAgICAuc2V0X3VzZXIgPSBz ZXRfaWRfZGZyMF9lbDEsCj4+ID4gICAgICAgICAudmlzaWJpbGl0eSA9IGFhMzJfaWRfdmlzaWJp bGl0eSwKPj4gPiAgICAgICAgIC5yZXNldCA9IHJlYWRfc2FuaXRpc2VkX2lkX2RmcjBfZWwxLAo+ PiA+IC0gICAgICAgLnZhbCA9IElEX0RGUjBfRUwxX1BlcmZNb25fTUFTSywgfSwKPj4gPiArICAg ICAgIC52YWwgPSBHRU5NQVNLKDYzLCAwKSwgfSwKPj4gPiAgICAgICBJRF9ISURERU4oSURfQUZS MF9FTDEpLAo+PiA+ICAgICAgIEFBMzJfSURfU0FOSVRJU0VEKElEX01NRlIwX0VMMSksCj4+ID4g ICAgICAgQUEzMl9JRF9TQU5JVElTRUQoSURfTU1GUjFfRUwxKSwKPj4gPiBAQCAtMjA1Nyw3ICsy MDU3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzeXNfcmVnX2Rlc2Mgc3lzX3JlZ19kZXNjc1td ID0gewo+PiA+ICAgICAgICAgLmdldF91c2VyID0gZ2V0X2lkX3JlZywKPj4gPiAgICAgICAgIC5z ZXRfdXNlciA9IHNldF9pZF9hYTY0ZGZyMF9lbDEsCj4+ID4gICAgICAgICAucmVzZXQgPSByZWFk X3Nhbml0aXNlZF9pZF9hYTY0ZGZyMF9lbDEsCj4+ID4gLSAgICAgICAudmFsID0gSURfQUE2NERG UjBfRUwxX1BNVVZlcl9NQVNLLCB9LAo+PiA+ICsgICAgICAgLnZhbCA9IEdFTk1BU0soNjMsIDAp LCB9LAo+PiA+ICAgICAgIElEX1NBTklUSVNFRChJRF9BQTY0REZSMV9FTDEpLAo+PiA+ICAgICAg IElEX1VOQUxMT0NBVEVEKDUsMiksCj4+ID4gICAgICAgSURfVU5BTExPQ0FURUQoNSwzKSwKPj4K Pj4gSG93IGRvZXMgdXNlcnNwYWNlIGZpbmQgb3V0IHdoZXRoZXIgYSBnaXZlbiBpZCByZWcgaXMg YWN0dWFsbHkgd3JpdGFibGUsCj4+IG90aGVyIHRoYW4gdHJ5aW5nIHRvIHdyaXRlIHRvIGl0Pwo+ Pgo+IE5vIG1lY2hhbmlzbSB3YXMgcHJvdmlkZWQgdG8gdXNlcnNwYWNlIHRvIGRpc2NvdmVyIGlm IGEgZ2l2ZW4gaWRyZWcgb3IKPiBhbnkgZmllbGRzIG9mIGEgZ2l2ZW4gaWRyZWcgaXMgd3JpdGFi bGUuIFRoZSB3cml0ZSB0byBhIHJlYWRvbmx5IGlkcmVnCj4gY2FuIGFsc28gc3VjY2VlZCAod3Jp dGUgaWdub3JlZCkgd2l0aG91dCBhbnkgZXJyb3IgaWYgd2hhdCdzIHdyaXR0ZW4KPiBpcyBleGFj dGx5IHRoZSBzYW1lIGFzIHdoYXQgdGhlIGlkcmVnIGhvbGRzIG9yIGlmIGl0IGlzIGEgd3JpdGUg dG8KPiBBQXJjaDMyIGlkcmVncyBvbiBhbiBBQXJjaDY0LW9ubHkgc3lzdGVtLgoKSG0sIEknbSBu b3Qgc3VyZSB0aGF0J3MgYSBnb29kIHRoaW5nIGZvciB0aGUgY2FzZXMgd2hlcmUgd2Ugd2FudCB0 bwpzdXBwb3J0IG1peC1hbmQtbWF0Y2ggdXNlcnNwYWNlIGFuZCBrZXJuZWxzLiBVc2Vyc3BhY2Ug bWF5IHdhbnQgdG8ga25vdwp1cGZyb250IHdoZXRoZXIgaXQgY2FuIGFjdHVhbGx5IHR3ZWFrIHRo ZSBjb250ZW50cyBvZiBhbiBpZHJlZyBvciBub3QKKGZvciBleGFtcGxlLCBpbiB0aGUgY29udGV4 dCBvZiB1c2luZyBDUFUgbW9kZWxzIGZvciBjb21wYXRpYmlsaXR5KSwgc28KdGhhdCBpdCBjYW4g cmVqZWN0IG9yIHdhcm4gYWJvdXQgY2VydGFpbiBjb25maWd1cmF0aW9ucyB0aGF0IG1heSBub3QK dHVybiBvdXQgYXMgdGhlIHVzZXIgZXhwZWN0cy4KCj4gTm90IHN1cmUgaWYgaXQgaXMgd29ydGgg YWRkaW5nIGFuIEFQSSB0byByZXR1cm4gdGhlIHdyaXRhYmxlIG1hc2sgZm9yCj4gaWRyZWdzLCBz aW5jZSB3ZSB3YW50IHRvIGVuYWJsZSB0aGUgd3JpdGFibGUgZm9yIGFsbCBhbGxvY2F0ZWQKPiB1 bmhpZGRlbiBpZHJlZ3MgZXZlbnR1YWxseS4KCldlJ2QgZW5hYmxlIGFueSBuZXcgaWRyZWdzIGZv ciB3cml0aW5nIGZyb20gdGhlIHN0YXJ0IGluIHRoZSBmdXR1cmUsIEkKZ3Vlc3M/CgpJIHNlZSB0 d28gYXBwcm9hY2hlcyBoZXJlOgotIGFkZCBhbiBBUEkgdG8gZ2V0IGEgbGlzdCBvZiBpZHJlZ3Mg d2l0aCB0aGVpciB3cml0YWJsZSBtYXNrcwotIGFkZCBhIGNhcGFiaWxpdHkgInlvdSBjYW4gd3Jp dGUgdG8gYWxsIGlkcmVncyB3aGF0ZXZlciB5b3UnZCBleHBlY3QgdG8KICBiZSBhYmxlIHRvIHdy aXRlIHRoZXJlIGFyY2hpdGVjdHVyZSB3aXNlIiwgd2hpY2ggd291bGQgcmVxdWlyZSB0byBhZGQK ICBzdXBwb3J0IGZvciBhbGwgaWRyZWdzIHByaW9yIHRvIGV4cG9zaW5nIHRoYXQgY2FwCgpUaGUg c2Vjb25kIG9wdGlvbiB3b3VsZCBiZSB0aGUgZWFzaWVyIG9uZSAoaWYgd2UgZG9uJ3QgbWFuYWdl IHRvIGJyZWFrCml0IGluIHRoZSBmdXR1cmUgOikKCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51 eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==