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 X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5BDE6C433DB for ; Tue, 12 Jan 2021 11:59:39 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id B408422226 for ; Tue, 12 Jan 2021 11:59:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B408422226 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvmarm-bounces@lists.cs.columbia.edu Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 2B6734B2CF; Tue, 12 Jan 2021 06:59:38 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Aqba5x6TnZK6; Tue, 12 Jan 2021 06:59:36 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id E5A674B242; Tue, 12 Jan 2021 06:59:36 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 8A0044B233 for ; Tue, 12 Jan 2021 06:59:36 -0500 (EST) X-Virus-Scanned: at lists.cs.columbia.edu Received: from mm01.cs.columbia.edu ([127.0.0.1]) by localhost (mm01.cs.columbia.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mShotfKYRYCV for ; Tue, 12 Jan 2021 06:59:35 -0500 (EST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 57E024B22B for ; Tue, 12 Jan 2021 06:59:35 -0500 (EST) 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 DB8FF1042; Tue, 12 Jan 2021 03:59:34 -0800 (PST) Received: from [10.57.39.145] (unknown [10.57.39.145]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 815CA3F66E; Tue, 12 Jan 2021 03:59:31 -0800 (PST) Subject: Re: [PATCH v3 09/21] arm64: cpufeature: Add global feature override facility To: Marc Zyngier References: <20210111132811.2455113-1-maz@kernel.org> <20210111132811.2455113-10-maz@kernel.org> <20210111184154.GC17941@gaia> <129db8bd3913a90c96d4cfe4f55e27a0@kernel.org> From: Suzuki K Poulose Message-ID: <168970f2-89d8-4e57-ab8d-59fa52bd830a@arm.com> Date: Tue, 12 Jan 2021 11:59:22 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB Cc: Prasad Sodagudi , Srinivas Ramana , kernel-team@android.com, Catalin Marinas , linux-kernel@vger.kernel.org, Ard Biesheuvel , Ajay Patil , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org X-BeenThere: kvmarm@lists.cs.columbia.edu X-Mailman-Version: 2.1.14 Precedence: list List-Id: Where KVM/ARM decisions are made List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu T24gMS8xMi8yMSAxMTo1MCBBTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IEhpIFN1enVraSwKPiAK PiBPbiAyMDIxLTAxLTEyIDA5OjE3LCBTdXp1a2kgSyBQb3Vsb3NlIHdyb3RlOgo+PiBIaSBNYXJj LAo+Pgo+PiBPbiAxLzExLzIxIDc6NDggUE0sIE1hcmMgWnluZ2llciB3cm90ZToKPiAKPiBbLi4u XQo+IAo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYyBiL2Fy Y2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYwo+Pj4gaW5kZXggODk0YWY2MGI5NjY5Li4wMGQ5 OWU1OTNiNjUgMTAwNjQ0Cj4+PiAtLS0gYS9hcmNoL2FybTY0L2tlcm5lbC9jcHVmZWF0dXJlLmMK Pj4+ICsrKyBiL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYwo+Pj4gQEAgLTc3NCw2ICs3 NzQsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9jcHVfZnRyX3JlZyh1MzIgc3lzX3JlZywg dTY0IG5ldykKPj4+IMKgwqDCoMKgwqAgdTY0IHN0cmljdF9tYXNrID0gfjB4MFVMTDsKPj4+IMKg wqDCoMKgwqAgdTY0IHVzZXJfbWFzayA9IDA7Cj4+PiDCoMKgwqDCoMKgIHU2NCB2YWxpZF9tYXNr ID0gMDsKPj4+ICvCoMKgwqAgdTY0IG92ZXJyaWRlX3ZhbCA9IDAsIG92ZXJyaWRlX21hc2sgPSAw Owo+Pj4KPj4+IMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFybTY0X2Z0cl9iaXRzICpmdHJwOwo+ Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgYXJtNjRfZnRyX3JlZyAqcmVnID0gZ2V0X2FybTY0X2Z0cl9y ZWcoc3lzX3JlZyk7Cj4+PiBAQCAtNzgxLDkgKzc4MiwzNSBAQCBzdGF0aWMgdm9pZCBfX2luaXQg aW5pdF9jcHVfZnRyX3JlZyh1MzIgc3lzX3JlZywgdTY0IG5ldykKPj4+IMKgwqDCoMKgwqAgaWYg KCFyZWcpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4KPj4+ICvCoMKgwqAgaWYg KHJlZy0+b3ZlcnJpZGVfbWFzayAmJiByZWctPm92ZXJyaWRlX3ZhbCkgewo+Pj4gK8KgwqDCoMKg wqDCoMKgIG92ZXJyaWRlX21hc2sgPSAqcmVnLT5vdmVycmlkZV9tYXNrOwo+Pj4gK8KgwqDCoMKg wqDCoMKgIG92ZXJyaWRlX3ZhbCA9ICpyZWctPm92ZXJyaWRlX3ZhbDsKPj4+ICvCoMKgwqAgfQo+ Pj4gKwo+Pj4gwqDCoMKgwqDCoCBmb3IgKGZ0cnAgPSByZWctPmZ0cl9iaXRzOyBmdHJwLT53aWR0 aDsgZnRycCsrKSB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgdTY0IGZ0cl9tYXNrID0gYXJtNjRf ZnRyX21hc2soZnRycCk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgczY0IGZ0cl9uZXcgPSBhcm02 NF9mdHJfdmFsdWUoZnRycCwgbmV3KTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBzNjQgZnRyX292ciA9 IGFybTY0X2Z0cl92YWx1ZShmdHJwLCBvdmVycmlkZV92YWwpOwo+Pj4gKwo+Pj4gK8KgwqDCoMKg wqDCoMKgIGlmICgoZnRyX21hc2sgJiBvdmVycmlkZV9tYXNrKSA9PSBmdHJfbWFzaykgewo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGZ0cl9vdnIgPCBmdHJfbmV3KSB7Cj4+Cj4+IEhl cmUgd2UgYXNzdW1lIHRoYXQgYWxsIHRoZSBmZWF0dXJlcyBhcmUgRlRSX0xPV0VSX1NBRkUuIFdl IGNvdWxkCj4+IHByb2JhYmx5IHVzZSBhcm02NF9mdHJfc2FmZV92YWx1ZShmdHJwLCBmdHJfbmV3 LCBmdHJfb3ZyKSBoZXJlID8KPj4gVGhhdCB3b3VsZCBjb3ZlciB1cyBmb3IgYm90aCBISUdIRVJf U0FGRSBhbmQgTE9XRVJfU0FGRSBmZWF0dXJlcy4KPj4gSG93ZXZlciB0aGF0IG1heSBiZSByZXN0 cmljdGl2ZSBmb3IgRlRSX0VYQUNULCBhcyB3ZSB0aGUgc2FmZQo+PiB2YWx1ZSB3b3VsZCBiZSBz ZXQgdG8gImZ0ci0+c2FmZV92YWwiLiBJIGd1ZXNzIHRoYXQgbWF5IGJlIGJldHRlcgo+PiB0aGFu IGZvcmNpbmcgdG8gdXNlIGFuIHVuc2FmZSB2YWx1ZSBmb3IgdGhlIGJvb3QgQ1BVLCB3aGljaCBj b3VsZAo+PiBhbnl3YXkgY29uZmxpY3Qgd2l0aCB0aGUgb3RoZXIgQ1BVcyBhbmQgZXZlbnR1YWxs eSB0cmlnZ2VyIHRoZQo+PiBmdHIgYWx1ZSB0byBiZSBzYWZlX3ZhbC4KPiAKPiBJIGxpa2UgdGhl IGlkZWEgb2YgdXNpbmcgdGhlIGhlbHBlciwgYXMgaXQgY2xlYW51cHMgdXAgdGhlIGNvZGUgYSBi aXQuCj4gSG93ZXZlciwgbm90IGJlaW5nIHRvIHNldCBhIGZlYXR1cmUgdG8gYSBjZXJ0YWluIHZh bHVlIGNvdWxkIGJlIHJlc3RyaWN0aXZlLAo+IGFzIGluIGdlbmVyYWwsIGl0IG1lYW5zIHRoYXQg d2UgY2FuIG9ubHkgZGlzYWJsZSBhIGZlYXR1cmUgYW5kIG5vdCBhZGp1c3QKPiBpdHMgbGV2ZWwg b2Ygc3VwcG9ydC4KPiAKPiBUYWtlIFBNVVZFUiBmb3IgZXhhbXBsZTogd2l0aCB0aGUgaGVscGVy LCBJIGNhbid0IG92ZXJyaWRlIGl0IGZyb20gdjguNCB0bwo+IHY4LjEuIEkgY2FuIG9ubHkgZ28g dG8gdjguMC4KCk15IHBvaW50IGlzLCB3ZSBzZXQgdGhpcyBvbmx5IGZvciB0aGUgImluaXQiIG9m IGNwdSBmZWF0dXJlcy4gU28sIGV2ZW4gaWYgd2UKaW5pdCB0byBhIGN1c3RvbSAsIG5vbi0oZGVm YXVsdC1zYWZlKSB2YWx1ZSwgdGhlIHNlY29uZGFyeSBDUFVzIGNvdWxkIHNjcmVhbSwKYW5kIHRo ZSBzeXN0ZW0gd2lkZSBzYWZlIHZhbHVlIGNvdWxkIGZhbGwgYmFjayB0byB0aGUgInNhZmUiIHZh bHVlIGZvciBFWEFDVCBmZWF0dXJlcywKbm8gbWF0dGVyIHdoYXQgeW91IGRpZCB0byBpbml0IGl0 LgoKQWxzbywgaXQgd2lsbCBiZSBkYW5nZXJvdXMgZm9yIHRoaW5ncyBsaWtlIFBBQywgYXMgdGhl IGxvd2VyIGxldmVsIHZhbHVlIG1heQpub3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSAiYWN0dWFs IiBjcHUgZmVhdHVyZSBzdXBwb3J0ZWQuCgpTbyBzaW1wbHkgc2V0dGluZyB0byBhIGxvd2VyIHZh bHVlIGZvciBFWEFDVCBmZWF0dXJlcyBpcyBnZW5lcmFsbHkgbm90IHNhZmUsCnRob3VnaCBJIHVu ZGVyc3RhbmQgc29tZSBhcmUgZXhjZXB0aW9ucy4KClN1enVraQoKCgo+IAo+IElzIGl0IHNvbWV0 aGluZyB3ZSBjYXJlIGFib3V0Pwo+IAo+IFRoYW5rcywKPiAKPiAgwqDCoMKgwqDCoMKgwqAgTS4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmt2bWFybSBt YWlsaW5nIGxpc3QKa3ZtYXJtQGxpc3RzLmNzLmNvbHVtYmlhLmVkdQpodHRwczovL2xpc3RzLmNz LmNvbHVtYmlhLmVkdS9tYWlsbWFuL2xpc3RpbmZvL2t2bWFybQo= 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 X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0E462C433E0 for ; Tue, 12 Jan 2021 12:01:30 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ADF43222B3 for ; Tue, 12 Jan 2021 12:01:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ADF43222B3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=rbc8vs9JDY5hAtdLB1FrU9+4lTlzfuoVpsu89FljoU8=; b=eG8JQrW/zECsyspalMSyOMqQD 9SjnGEjAHSN459ya6cVTVIGMUVj/nkqEU0wZJGN5B9i/+PXMSrii28jfji6hTWAWTlt/tYYDjh/dH W+pFlWQscl7j6uqgfBy7ngwT7tDlByq6mER1wbWQSmXJ5HDPQwlIiGryDdwPOeeBpc85cbA5X5oMG erL5gRE2DUp3ql2xy2v7xI/dWzDkJRO59IYZmlKLBoM7F/OnzhSZ9VGuWfg6cEXzOrl7dtRvWtGUz RxCRl4BCcH6cOwEHH7gs5YSUMdx23ZNQTS0JBPCp7FpgileWKfAd61x57vkSycAnQBc3Oe1Mu044V 64PBBU6tw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kzIKu-0008Jm-Jp; Tue, 12 Jan 2021 11:59:44 +0000 Received: from foss.arm.com ([217.140.110.172]) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kzIKr-0008IZ-0t for linux-arm-kernel@lists.infradead.org; Tue, 12 Jan 2021 11:59:41 +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 DB8FF1042; Tue, 12 Jan 2021 03:59:34 -0800 (PST) Received: from [10.57.39.145] (unknown [10.57.39.145]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 815CA3F66E; Tue, 12 Jan 2021 03:59:31 -0800 (PST) Subject: Re: [PATCH v3 09/21] arm64: cpufeature: Add global feature override facility To: Marc Zyngier References: <20210111132811.2455113-1-maz@kernel.org> <20210111132811.2455113-10-maz@kernel.org> <20210111184154.GC17941@gaia> <129db8bd3913a90c96d4cfe4f55e27a0@kernel.org> From: Suzuki K Poulose Message-ID: <168970f2-89d8-4e57-ab8d-59fa52bd830a@arm.com> Date: Tue, 12 Jan 2021 11:59:22 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210112_065941_195074_52615DAD X-CRM114-Status: GOOD ( 23.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Jing Zhang , Prasad Sodagudi , Srinivas Ramana , kernel-team@android.com, Catalin Marinas , Alexandru Elisei , linux-kernel@vger.kernel.org, Ard Biesheuvel , James Morse , Julien Thierry , Ajay Patil , David Brazdil , Will Deacon , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMS8xMi8yMSAxMTo1MCBBTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IEhpIFN1enVraSwKPiAK PiBPbiAyMDIxLTAxLTEyIDA5OjE3LCBTdXp1a2kgSyBQb3Vsb3NlIHdyb3RlOgo+PiBIaSBNYXJj LAo+Pgo+PiBPbiAxLzExLzIxIDc6NDggUE0sIE1hcmMgWnluZ2llciB3cm90ZToKPiAKPiBbLi4u XQo+IAo+Pj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYyBiL2Fy Y2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYwo+Pj4gaW5kZXggODk0YWY2MGI5NjY5Li4wMGQ5 OWU1OTNiNjUgMTAwNjQ0Cj4+PiAtLS0gYS9hcmNoL2FybTY0L2tlcm5lbC9jcHVmZWF0dXJlLmMK Pj4+ICsrKyBiL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYwo+Pj4gQEAgLTc3NCw2ICs3 NzQsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9jcHVfZnRyX3JlZyh1MzIgc3lzX3JlZywg dTY0IG5ldykKPj4+IMKgwqDCoMKgwqAgdTY0IHN0cmljdF9tYXNrID0gfjB4MFVMTDsKPj4+IMKg wqDCoMKgwqAgdTY0IHVzZXJfbWFzayA9IDA7Cj4+PiDCoMKgwqDCoMKgIHU2NCB2YWxpZF9tYXNr ID0gMDsKPj4+ICvCoMKgwqAgdTY0IG92ZXJyaWRlX3ZhbCA9IDAsIG92ZXJyaWRlX21hc2sgPSAw Owo+Pj4KPj4+IMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFybTY0X2Z0cl9iaXRzICpmdHJwOwo+ Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgYXJtNjRfZnRyX3JlZyAqcmVnID0gZ2V0X2FybTY0X2Z0cl9y ZWcoc3lzX3JlZyk7Cj4+PiBAQCAtNzgxLDkgKzc4MiwzNSBAQCBzdGF0aWMgdm9pZCBfX2luaXQg aW5pdF9jcHVfZnRyX3JlZyh1MzIgc3lzX3JlZywgdTY0IG5ldykKPj4+IMKgwqDCoMKgwqAgaWYg KCFyZWcpCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4KPj4+ICvCoMKgwqAgaWYg KHJlZy0+b3ZlcnJpZGVfbWFzayAmJiByZWctPm92ZXJyaWRlX3ZhbCkgewo+Pj4gK8KgwqDCoMKg wqDCoMKgIG92ZXJyaWRlX21hc2sgPSAqcmVnLT5vdmVycmlkZV9tYXNrOwo+Pj4gK8KgwqDCoMKg wqDCoMKgIG92ZXJyaWRlX3ZhbCA9ICpyZWctPm92ZXJyaWRlX3ZhbDsKPj4+ICvCoMKgwqAgfQo+ Pj4gKwo+Pj4gwqDCoMKgwqDCoCBmb3IgKGZ0cnAgPSByZWctPmZ0cl9iaXRzOyBmdHJwLT53aWR0 aDsgZnRycCsrKSB7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgdTY0IGZ0cl9tYXNrID0gYXJtNjRf ZnRyX21hc2soZnRycCk7Cj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgczY0IGZ0cl9uZXcgPSBhcm02 NF9mdHJfdmFsdWUoZnRycCwgbmV3KTsKPj4+ICvCoMKgwqDCoMKgwqDCoCBzNjQgZnRyX292ciA9 IGFybTY0X2Z0cl92YWx1ZShmdHJwLCBvdmVycmlkZV92YWwpOwo+Pj4gKwo+Pj4gK8KgwqDCoMKg wqDCoMKgIGlmICgoZnRyX21hc2sgJiBvdmVycmlkZV9tYXNrKSA9PSBmdHJfbWFzaykgewo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGZ0cl9vdnIgPCBmdHJfbmV3KSB7Cj4+Cj4+IEhl cmUgd2UgYXNzdW1lIHRoYXQgYWxsIHRoZSBmZWF0dXJlcyBhcmUgRlRSX0xPV0VSX1NBRkUuIFdl IGNvdWxkCj4+IHByb2JhYmx5IHVzZSBhcm02NF9mdHJfc2FmZV92YWx1ZShmdHJwLCBmdHJfbmV3 LCBmdHJfb3ZyKSBoZXJlID8KPj4gVGhhdCB3b3VsZCBjb3ZlciB1cyBmb3IgYm90aCBISUdIRVJf U0FGRSBhbmQgTE9XRVJfU0FGRSBmZWF0dXJlcy4KPj4gSG93ZXZlciB0aGF0IG1heSBiZSByZXN0 cmljdGl2ZSBmb3IgRlRSX0VYQUNULCBhcyB3ZSB0aGUgc2FmZQo+PiB2YWx1ZSB3b3VsZCBiZSBz ZXQgdG8gImZ0ci0+c2FmZV92YWwiLiBJIGd1ZXNzIHRoYXQgbWF5IGJlIGJldHRlcgo+PiB0aGFu IGZvcmNpbmcgdG8gdXNlIGFuIHVuc2FmZSB2YWx1ZSBmb3IgdGhlIGJvb3QgQ1BVLCB3aGljaCBj b3VsZAo+PiBhbnl3YXkgY29uZmxpY3Qgd2l0aCB0aGUgb3RoZXIgQ1BVcyBhbmQgZXZlbnR1YWxs eSB0cmlnZ2VyIHRoZQo+PiBmdHIgYWx1ZSB0byBiZSBzYWZlX3ZhbC4KPiAKPiBJIGxpa2UgdGhl IGlkZWEgb2YgdXNpbmcgdGhlIGhlbHBlciwgYXMgaXQgY2xlYW51cHMgdXAgdGhlIGNvZGUgYSBi aXQuCj4gSG93ZXZlciwgbm90IGJlaW5nIHRvIHNldCBhIGZlYXR1cmUgdG8gYSBjZXJ0YWluIHZh bHVlIGNvdWxkIGJlIHJlc3RyaWN0aXZlLAo+IGFzIGluIGdlbmVyYWwsIGl0IG1lYW5zIHRoYXQg d2UgY2FuIG9ubHkgZGlzYWJsZSBhIGZlYXR1cmUgYW5kIG5vdCBhZGp1c3QKPiBpdHMgbGV2ZWwg b2Ygc3VwcG9ydC4KPiAKPiBUYWtlIFBNVVZFUiBmb3IgZXhhbXBsZTogd2l0aCB0aGUgaGVscGVy LCBJIGNhbid0IG92ZXJyaWRlIGl0IGZyb20gdjguNCB0bwo+IHY4LjEuIEkgY2FuIG9ubHkgZ28g dG8gdjguMC4KCk15IHBvaW50IGlzLCB3ZSBzZXQgdGhpcyBvbmx5IGZvciB0aGUgImluaXQiIG9m IGNwdSBmZWF0dXJlcy4gU28sIGV2ZW4gaWYgd2UKaW5pdCB0byBhIGN1c3RvbSAsIG5vbi0oZGVm YXVsdC1zYWZlKSB2YWx1ZSwgdGhlIHNlY29uZGFyeSBDUFVzIGNvdWxkIHNjcmVhbSwKYW5kIHRo ZSBzeXN0ZW0gd2lkZSBzYWZlIHZhbHVlIGNvdWxkIGZhbGwgYmFjayB0byB0aGUgInNhZmUiIHZh bHVlIGZvciBFWEFDVCBmZWF0dXJlcywKbm8gbWF0dGVyIHdoYXQgeW91IGRpZCB0byBpbml0IGl0 LgoKQWxzbywgaXQgd2lsbCBiZSBkYW5nZXJvdXMgZm9yIHRoaW5ncyBsaWtlIFBBQywgYXMgdGhl IGxvd2VyIGxldmVsIHZhbHVlIG1heQpub3QgYmUgY29tcGF0aWJsZSB3aXRoIHRoZSAiYWN0dWFs IiBjcHUgZmVhdHVyZSBzdXBwb3J0ZWQuCgpTbyBzaW1wbHkgc2V0dGluZyB0byBhIGxvd2VyIHZh bHVlIGZvciBFWEFDVCBmZWF0dXJlcyBpcyBnZW5lcmFsbHkgbm90IHNhZmUsCnRob3VnaCBJIHVu ZGVyc3RhbmQgc29tZSBhcmUgZXhjZXB0aW9ucy4KClN1enVraQoKCgo+IAo+IElzIGl0IHNvbWV0 aGluZyB3ZSBjYXJlIGFib3V0Pwo+IAo+IFRoYW5rcywKPiAKPiAgwqDCoMKgwqDCoMKgwqAgTS4K CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1h cm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5v cmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0t a2VybmVsCg== 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 X-Spam-Level: X-Spam-Status: No, score=-10.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5E1E1C433E0 for ; Tue, 12 Jan 2021 12:00:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2634123107 for ; Tue, 12 Jan 2021 12:00:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731798AbhALMAV (ORCPT ); Tue, 12 Jan 2021 07:00:21 -0500 Received: from foss.arm.com ([217.140.110.172]:44804 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729900AbhALMAU (ORCPT ); Tue, 12 Jan 2021 07:00:20 -0500 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 DB8FF1042; Tue, 12 Jan 2021 03:59:34 -0800 (PST) Received: from [10.57.39.145] (unknown [10.57.39.145]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 815CA3F66E; Tue, 12 Jan 2021 03:59:31 -0800 (PST) Subject: Re: [PATCH v3 09/21] arm64: cpufeature: Add global feature override facility To: Marc Zyngier Cc: Catalin Marinas , linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, Will Deacon , Mark Rutland , David Brazdil , Alexandru Elisei , Ard Biesheuvel , Jing Zhang , Ajay Patil , Prasad Sodagudi , Srinivas Ramana , James Morse , Julien Thierry , kernel-team@android.com References: <20210111132811.2455113-1-maz@kernel.org> <20210111132811.2455113-10-maz@kernel.org> <20210111184154.GC17941@gaia> <129db8bd3913a90c96d4cfe4f55e27a0@kernel.org> From: Suzuki K Poulose Message-ID: <168970f2-89d8-4e57-ab8d-59fa52bd830a@arm.com> Date: Tue, 12 Jan 2021 11:59:22 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 1/12/21 11:50 AM, Marc Zyngier wrote: > Hi Suzuki, > > On 2021-01-12 09:17, Suzuki K Poulose wrote: >> Hi Marc, >> >> On 1/11/21 7:48 PM, Marc Zyngier wrote: > > [...] > >>> diff --git a/arch/arm64/kernel/cpufeature.c b/arch/arm64/kernel/cpufeature.c >>> index 894af60b9669..00d99e593b65 100644 >>> --- a/arch/arm64/kernel/cpufeature.c >>> +++ b/arch/arm64/kernel/cpufeature.c >>> @@ -774,6 +774,7 @@ static void __init init_cpu_ftr_reg(u32 sys_reg, u64 new) >>>       u64 strict_mask = ~0x0ULL; >>>       u64 user_mask = 0; >>>       u64 valid_mask = 0; >>> +    u64 override_val = 0, override_mask = 0; >>> >>>       const struct arm64_ftr_bits *ftrp; >>>       struct arm64_ftr_reg *reg = get_arm64_ftr_reg(sys_reg); >>> @@ -781,9 +782,35 @@ static void __init init_cpu_ftr_reg(u32 sys_reg, u64 new) >>>       if (!reg) >>>           return; >>> >>> +    if (reg->override_mask && reg->override_val) { >>> +        override_mask = *reg->override_mask; >>> +        override_val = *reg->override_val; >>> +    } >>> + >>>       for (ftrp = reg->ftr_bits; ftrp->width; ftrp++) { >>>           u64 ftr_mask = arm64_ftr_mask(ftrp); >>>           s64 ftr_new = arm64_ftr_value(ftrp, new); >>> +        s64 ftr_ovr = arm64_ftr_value(ftrp, override_val); >>> + >>> +        if ((ftr_mask & override_mask) == ftr_mask) { >>> +            if (ftr_ovr < ftr_new) { >> >> Here we assume that all the features are FTR_LOWER_SAFE. We could >> probably use arm64_ftr_safe_value(ftrp, ftr_new, ftr_ovr) here ? >> That would cover us for both HIGHER_SAFE and LOWER_SAFE features. >> However that may be restrictive for FTR_EXACT, as we the safe >> value would be set to "ftr->safe_val". I guess that may be better >> than forcing to use an unsafe value for the boot CPU, which could >> anyway conflict with the other CPUs and eventually trigger the >> ftr alue to be safe_val. > > I like the idea of using the helper, as it cleanups up the code a bit. > However, not being to set a feature to a certain value could be restrictive, > as in general, it means that we can only disable a feature and not adjust > its level of support. > > Take PMUVER for example: with the helper, I can't override it from v8.4 to > v8.1. I can only go to v8.0. My point is, we set this only for the "init" of cpu features. So, even if we init to a custom , non-(default-safe) value, the secondary CPUs could scream, and the system wide safe value could fall back to the "safe" value for EXACT features, no matter what you did to init it. Also, it will be dangerous for things like PAC, as the lower level value may not be compatible with the "actual" cpu feature supported. So simply setting to a lower value for EXACT features is generally not safe, though I understand some are exceptions. Suzuki > > Is it something we care about? > > Thanks, > >         M.