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 3D8D1C433DB for ; Tue, 12 Jan 2021 09:17:36 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id 8C28C22D2A for ; Tue, 12 Jan 2021 09:17:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8C28C22D2A 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 C2B784B2FB; Tue, 12 Jan 2021 04:17:34 -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 RlINSGDGoZC2; Tue, 12 Jan 2021 04:17:33 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 88F7C4B2BA; Tue, 12 Jan 2021 04:17:33 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 7AB9D4B2B6 for ; Tue, 12 Jan 2021 04:17:32 -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 WlnJiH27MoJk for ; Tue, 12 Jan 2021 04:17:30 -0500 (EST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mm01.cs.columbia.edu (Postfix) with ESMTP id A31BF4B2B5 for ; Tue, 12 Jan 2021 04:17:30 -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 032B531B; Tue, 12 Jan 2021 01:17:30 -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 7AA5F3F719; Tue, 12 Jan 2021 01:17:27 -0800 (PST) Subject: Re: [PATCH v3 09/21] arm64: cpufeature: Add global feature override facility To: Marc Zyngier , Catalin Marinas 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: Date: Tue, 12 Jan 2021 09:17:18 +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: <129db8bd3913a90c96d4cfe4f55e27a0@kernel.org> Content-Language: en-GB Cc: Prasad Sodagudi , Srinivas Ramana , kernel-team@android.com, 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 SGkgTWFyYywKCk9uIDEvMTEvMjEgNzo0OCBQTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IEhpIENh dGFsaW4sCj4gCj4gT24gMjAyMS0wMS0xMSAxODo0MSwgQ2F0YWxpbiBNYXJpbmFzIHdyb3RlOgo+ PiBIaSBNYXJjLAo+Pgo+PiBPbiBNb24sIEphbiAxMSwgMjAyMSBhdCAwMToyNzo1OVBNICswMDAw LCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4+PiBBZGQgYSBmYWNpbGl0eSB0byBnbG9iYWxseSBvdmVy cmlkZSBhIGZlYXR1cmUsIG5vIG1hdHRlciB3aGF0Cj4+PiB0aGUgSFcgc2F5cy4gWWVzLCB0aGlz IGlzIGRhbmdlcm91cy4KPj4KPj4gWWVhaCwgaXQncyBkYW5nZXJvdXMuIFdlIGNhbiBtYWtlIGl0 IGxlc3Mgc28gaWYgd2Ugb25seSBhbGxvdyBzYWZlCj4+IHZhbHVlcyAoZS5nLiBsb3dlciBpZiBG VFJfVU5TSUdORUQpLgo+IAo+IE15IHBsYW4gd2FzIGFsc28gdG8gYWxsb3cgbm9uLXNhZmUgdmFs dWVzIGluIG9yZGVyIHRvIHRyaWdnZXIgZmVhdHVyZXMKPiB0aGF0IGFyZSBub3QgYWR2ZXJ0aXNl ZCBieSB0aGUgSFcuIEJ1dCBJIGNhbiB1bmRlcnN0YW5kIGlmIHlvdSBhcmUKPiByZWx1Y3RhbnQg dG8gYWxsb3cgc3VjaCB0aGluZyEgOkQKPiAKPj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2lu Y2x1ZGUvYXNtL2NwdWZlYXR1cmUuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1ZmVhdHVy ZS5oCj4+PiBpbmRleCA5YTU1NTgwOWI4OWMuLjQ2NWQyY2I2M2JmYyAxMDA2NDQKPj4+IC0tLSBh L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1ZmVhdHVyZS5oCj4+PiArKysgYi9hcmNoL2FybTY0 L2luY2x1ZGUvYXNtL2NwdWZlYXR1cmUuaAo+Pj4gQEAgLTc1LDYgKzc1LDggQEAgc3RydWN0IGFy bTY0X2Z0cl9yZWcgewo+Pj4gwqDCoMKgwqAgdTY0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHN5c192YWw7Cj4+PiDCoMKgwqDCoCB1NjTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdXNlcl92YWw7Cj4+PiDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgYXJtNjRfZnRyX2JpdHPCoMKg wqAgKmZ0cl9iaXRzOwo+Pj4gK8KgwqDCoCB1NjTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKm92ZXJyaWRlX3ZhbDsKPj4+ICvCoMKgwqAgdTY0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICpvdmVycmlkZV9tYXNrOwo+Pj4gwqB9Owo+Pgo+PiBBdCB0aGUgYXJtNjRfZnRyX3Jl ZyBsZXZlbCwgd2UgZG9uJ3QgaGF2ZSBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNhZmUKPj4g dmFsdWVzIGZvciBhIGZlYXR1cmUuIENvdWxkIHdlIGluc3RlYWQgbW92ZSB0aGlzIHRvIGFybTY0 X2Z0cl9iaXRzPyBXZQo+PiBwcm9iYWJseSBvbmx5IG5lZWQgYSBzaW5nbGUgZmllbGQuIFdoZW4g cG9wdWxhdGluZyB0aGUgZmVhdHVyZSB2YWx1ZXMsCj4+IHdlIGNhbiBtYWtlIHN1cmUgaXQgZG9l c24ndCBnbyBhYm92ZSB0aGUgaGFyZHdhcmUgb25lLgo+Pgo+PiBJIGF0dGVtcHRlZCBhIGZlYXR1 cmUgbW9kaWZpY2F0aW9uIGZvciBNVEUgaGVyZSwgdGhvdWdoIEkgZHJvcHBlZCB0aGUKPj4gZW50 aXJlIHNlcmllcyBpbiB0aGUgbWVhbnRpbWUgYXMgd2UgY2xhcmlmaWVkIHRoZSBBUk0gQVJNOgo+ Pgo+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0ta2VybmVsLzIwMjAwNTE1MTcx NjEyLjEwMjAtMjQtY2F0YWxpbi5tYXJpbmFzQGFybS5jb20vCj4+Cj4+IFNyaW5pdmFzIGNvcGll ZCBpdCBpbiBoaXMgcGF0Y2ggKGJ1dCBmb3Jnb3QgdG8gZ2l2ZSBjcmVkaXQgOykpOgo+Pgo+PiBo dHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0tbXNtLzE2MTAxNTIxNjMtMTY1NTQtMy1n aXQtc2VuZC1lbWFpbC1zcmFtYW5hQGNvZGVhdXJvcmEub3JnLwo+Pgo+PiBUaGUgYWJvdmUgYWRk cyBhIGZpbHRlciBmdW5jdGlvbiBidXQsIGluc3RlYWQsIGp1c3QgdXNlIHlvdXIgbWVjaGFuaXNt IGluCj4+IHRoaXMgc2VyaWVzIGZvciBpZHJlZy5mZWF0dXJlIHNldHRpbmcgdmlhIGNtZGxpbmUu IFRoZSBhcm02NF9mdHJfdmFsdWUoKQo+PiBmdW5jdGlvbiBleHRyYWN0cyB0aGUgaGFyZHdhcmUg dmFsdWUgYW5kIGxvd2VycyBpdCBpZiBhIGNtZGxpbmUgYXJndW1lbnQKPj4gd2FzIHBhc3NlZC4K PiAKPiBPbmUgdGhpbmcgaXMgdGhhdCBpdCBpcyBub3QgYWx3YXlzIHBvc3NpYmxlIHRvIHNhbml0 aXNlIHRoZSB2YWx1ZSBwYXNzZWQKPiBpZiBpdCBpcyByZXF1aXJlZCB2ZXJ5IGVhcmx5IG9uLCBh cyBJIGRvIHdpdGggVkhFLiBCdXQgaW4gdGhhdCBjYXNlCj4gSSBhY3R1YWxseSBjaGVjayB0aGF0 IHdlIGFyZSBWSEUgY2FwYWJsZSBiZWZvcmUgc3RhcnRpbmcgdG8gcG9rZSBhdAo+IFZIRS1zcGVj aWZpYyBzdGF0ZS4KPiAKPiBJIGNhbWUgdXAgd2l0aCB0aGUgZm9sbG93aW5nIHBhdGNoIG9uIHRv cCwgd2hpY2ggcHJlc2VydmVzIHRoZSBjdXJyZW50Cj4gZ2xvYmFsIGFwcHJvYWNoIChubyBwZXIg YXJtNjRfZnRyX2JpdHMgc3RhdGUpLCBidXQgY2hlY2tzIChhbmQgYWx0ZXJzKQo+IHRoZSBvdmVy cmlkZSBhcyBpdCBpdGVyYXRlcyB0aHJvdWdoIHRoZSB2YXJpb3VzIGZpZWxkcy4KPiAKPiBGb3Ig ZXhhbXBsZSwgaWYgSSBwYXNzICJhcm02NC5ub3BhdXRoIGt2bS1hcm0ubW9kZT1udmhlIGlkX2Fh NjRwZnIxLmJ0PTUiCj4gdG8gdGhlIEZWUCwgSSBnZXQgdGhlIGZvbGxvd2luZyBvdXRwdXQ6Cj4g Cj4gW8KgwqDCoCAwLjAwMDAwMF0gQ1BVIGZlYXR1cmVzOiBTWVNfSURfQUE2NElTQVIxX0VMMVsz MToyOF06IGZvcmNlZCBmcm9tIDEgdG8gMAo+IFvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJl czogU1lTX0lEX0FBNjRJU0FSMV9FTDFbMTE6OF06IGZvcmNlZCBmcm9tIDEgdG8gMAo+IFvCoMKg wqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogU1lTX0lEX0FBNjRNTUZSMV9FTDFbMTE6OF06IGZv cmNlZCBmcm9tIDEgdG8gMAo+IFvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogU1lTX0lE X0FBNjRQRlIxX0VMMVszOjBdOiBub3QgZm9yY2luZyAxIHRvIDUKPiBbwqDCoMKgIDAuMDAwMDAw XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBHSUMgc3lzdGVtIHJlZ2lzdGVyIENQVSBpbnRlcmZh Y2UKPiBbwqDCoMKgIDAuMDAwMDAwXSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBIYXJkd2FyZSBk aXJ0eSBiaXQgbWFuYWdlbWVudAo+IFvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogZGV0 ZWN0ZWQ6IFNwZWN0cmUtdjQKPiBbwqDCoMKgIDAuMDAwMDAwXSBDUFUgZmVhdHVyZXM6IGRldGVj dGVkOiBCcmFuY2ggVGFyZ2V0IElkZW50aWZpY2F0aW9uCj4gCj4gc2hvd2luZyB0aGF0IHRoZSBQ QUMgZmVhdHVyZXMgaGF2ZSBiZWVuIGRvd25ncmFkZWQsIHRvZ2V0aGVyIHdpdGggVkhFLAo+IGJ1 dCB0aGF0IEJUSSBpcyBzdGlsbCBkZXRlY3RlZCBhcyB2YWx1ZSA1IHdhcyBvYnZpb3VzbHkgYm9n dXMuCj4gCj4gVGhvdWdodHM/Cj4gCj4gIMKgwqDCoMKgwqDCoMKgIE0uCj4gCj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYyBiL2FyY2gvYXJtNjQva2VybmVsL2Nw dWZlYXR1cmUuYwo+IGluZGV4IDg5NGFmNjBiOTY2OS4uMDBkOTllNTkzYjY1IDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYwo+ICsrKyBiL2FyY2gvYXJtNjQva2Vy bmVsL2NwdWZlYXR1cmUuYwo+IEBAIC03NzQsNiArNzc0LDcgQEAgc3RhdGljIHZvaWQgX19pbml0 IGluaXRfY3B1X2Z0cl9yZWcodTMyIHN5c19yZWcsIHU2NCBuZXcpCj4gIMKgwqDCoMKgIHU2NCBz dHJpY3RfbWFzayA9IH4weDBVTEw7Cj4gIMKgwqDCoMKgIHU2NCB1c2VyX21hc2sgPSAwOwo+ICDC oMKgwqDCoCB1NjQgdmFsaWRfbWFzayA9IDA7Cj4gK8KgwqDCoCB1NjQgb3ZlcnJpZGVfdmFsID0g MCwgb3ZlcnJpZGVfbWFzayA9IDA7Cj4gCj4gIMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBhcm02NF9m dHJfYml0cyAqZnRycDsKPiAgwqDCoMKgwqAgc3RydWN0IGFybTY0X2Z0cl9yZWcgKnJlZyA9IGdl dF9hcm02NF9mdHJfcmVnKHN5c19yZWcpOwo+IEBAIC03ODEsOSArNzgyLDM1IEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBpbml0X2NwdV9mdHJfcmVnKHUzMiBzeXNfcmVnLCB1NjQgbmV3KQo+ICDCoMKg wqDCoCBpZiAoIXJlZykKPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gCj4gK8KgwqDCoCBp ZiAocmVnLT5vdmVycmlkZV9tYXNrICYmIHJlZy0+b3ZlcnJpZGVfdmFsKSB7Cj4gK8KgwqDCoMKg wqDCoMKgIG92ZXJyaWRlX21hc2sgPSAqcmVnLT5vdmVycmlkZV9tYXNrOwo+ICvCoMKgwqDCoMKg wqDCoCBvdmVycmlkZV92YWwgPSAqcmVnLT5vdmVycmlkZV92YWw7Cj4gK8KgwqDCoCB9Cj4gKwo+ ICDCoMKgwqDCoCBmb3IgKGZ0cnAgPSByZWctPmZ0cl9iaXRzOyBmdHJwLT53aWR0aDsgZnRycCsr KSB7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgdTY0IGZ0cl9tYXNrID0gYXJtNjRfZnRyX21hc2soZnRy cCk7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgczY0IGZ0cl9uZXcgPSBhcm02NF9mdHJfdmFsdWUoZnRy cCwgbmV3KTsKPiArwqDCoMKgwqDCoMKgwqAgczY0IGZ0cl9vdnIgPSBhcm02NF9mdHJfdmFsdWUo ZnRycCwgb3ZlcnJpZGVfdmFsKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgIGlmICgoZnRyX21hc2sg JiBvdmVycmlkZV9tYXNrKSA9PSBmdHJfbWFzaykgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlmIChmdHJfb3ZyIDwgZnRyX25ldykgewoKSGVyZSB3ZSBhc3N1bWUgdGhhdCBhbGwgdGhlIGZl YXR1cmVzIGFyZSBGVFJfTE9XRVJfU0FGRS4gV2UgY291bGQKcHJvYmFibHkgdXNlIGFybTY0X2Z0 cl9zYWZlX3ZhbHVlKGZ0cnAsIGZ0cl9uZXcsIGZ0cl9vdnIpIGhlcmUgPwpUaGF0IHdvdWxkIGNv dmVyIHVzIGZvciBib3RoIEhJR0hFUl9TQUZFIGFuZCBMT1dFUl9TQUZFIGZlYXR1cmVzLgpIb3dl dmVyIHRoYXQgbWF5IGJlIHJlc3RyaWN0aXZlIGZvciBGVFJfRVhBQ1QsIGFzIHdlIHRoZSBzYWZl CnZhbHVlIHdvdWxkIGJlIHNldCB0byAiZnRyLT5zYWZlX3ZhbCIuIEkgZ3Vlc3MgdGhhdCBtYXkg YmUgYmV0dGVyCnRoYW4gZm9yY2luZyB0byB1c2UgYW4gdW5zYWZlIHZhbHVlIGZvciB0aGUgYm9v dCBDUFUsIHdoaWNoIGNvdWxkCmFueXdheSBjb25mbGljdCB3aXRoIHRoZSBvdGhlciBDUFVzIGFu ZCBldmVudHVhbGx5IHRyaWdnZXIgdGhlCmZ0ciBhbHVlIHRvIGJlIHNhZmVfdmFsLgoKaS5lLAoJ ZnRyX3ZhbCA9IGFybTY0X2Z0cl9zYWZlX3ZhbHVlKGZ0cnAsIGZ0cl9vdnIsIGZ0cl9uZXcpOwoK ClN1enVraQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpr dm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUKaHR0cHM6Ly9s aXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K 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 AFC88C433E0 for ; Tue, 12 Jan 2021 09:19:23 +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 4B41D22D2A for ; Tue, 12 Jan 2021 09:19:23 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4B41D22D2A 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=iZ8Bp/T8xaKscF4eMHmXPjZ/PF5D7K7v9/+23r49Nb4=; b=qHnZDfnTAIWgb5iKIVnJKXMEW lxyQb431GFVHIxOmWkG7jPHk+SMAvfcNfx9/0LE2FhxKA+d6DQet52X/vhWYVTLNO3hVcbl5FjdAp jWiL97G1WVt2av9VYCJ2h1KXVSmqQ9p+oG61G2Gk5CCY+jfouE1h9ttStG1WG/46PkM0+dVQD+SHL udl4+NnOQQlzgyi8HL2gWB5yfP84+Jl1EMzYSiUr59WicPx57s4dwDiUfNBjkkwI9dhkJkrZdWvFJ 2VK/hq6oWJ7Hxj91P3whjtamkn9+gitgK1rKIuA9i9ZlbJnnhHn0NOayY6tgyIm/bKRF0iHTbW1S9 jNoB8QofA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kzFoA-0003Z6-M7; Tue, 12 Jan 2021 09:17:46 +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 1kzFo2-0003V4-K2 for linux-arm-kernel@lists.infradead.org; Tue, 12 Jan 2021 09:17: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 032B531B; Tue, 12 Jan 2021 01:17:30 -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 7AA5F3F719; Tue, 12 Jan 2021 01:17:27 -0800 (PST) Subject: Re: [PATCH v3 09/21] arm64: cpufeature: Add global feature override facility To: Marc Zyngier , Catalin Marinas 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: Date: Tue, 12 Jan 2021 09:17:18 +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: <129db8bd3913a90c96d4cfe4f55e27a0@kernel.org> Content-Language: en-GB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210112_041740_701808_BE22CF30 X-CRM114-Status: GOOD ( 32.25 ) 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, 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 SGkgTWFyYywKCk9uIDEvMTEvMjEgNzo0OCBQTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IEhpIENh dGFsaW4sCj4gCj4gT24gMjAyMS0wMS0xMSAxODo0MSwgQ2F0YWxpbiBNYXJpbmFzIHdyb3RlOgo+ PiBIaSBNYXJjLAo+Pgo+PiBPbiBNb24sIEphbiAxMSwgMjAyMSBhdCAwMToyNzo1OVBNICswMDAw LCBNYXJjIFp5bmdpZXIgd3JvdGU6Cj4+PiBBZGQgYSBmYWNpbGl0eSB0byBnbG9iYWxseSBvdmVy cmlkZSBhIGZlYXR1cmUsIG5vIG1hdHRlciB3aGF0Cj4+PiB0aGUgSFcgc2F5cy4gWWVzLCB0aGlz IGlzIGRhbmdlcm91cy4KPj4KPj4gWWVhaCwgaXQncyBkYW5nZXJvdXMuIFdlIGNhbiBtYWtlIGl0 IGxlc3Mgc28gaWYgd2Ugb25seSBhbGxvdyBzYWZlCj4+IHZhbHVlcyAoZS5nLiBsb3dlciBpZiBG VFJfVU5TSUdORUQpLgo+IAo+IE15IHBsYW4gd2FzIGFsc28gdG8gYWxsb3cgbm9uLXNhZmUgdmFs dWVzIGluIG9yZGVyIHRvIHRyaWdnZXIgZmVhdHVyZXMKPiB0aGF0IGFyZSBub3QgYWR2ZXJ0aXNl ZCBieSB0aGUgSFcuIEJ1dCBJIGNhbiB1bmRlcnN0YW5kIGlmIHlvdSBhcmUKPiByZWx1Y3RhbnQg dG8gYWxsb3cgc3VjaCB0aGluZyEgOkQKPiAKPj4+IGRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2lu Y2x1ZGUvYXNtL2NwdWZlYXR1cmUuaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1ZmVhdHVy ZS5oCj4+PiBpbmRleCA5YTU1NTgwOWI4OWMuLjQ2NWQyY2I2M2JmYyAxMDA2NDQKPj4+IC0tLSBh L2FyY2gvYXJtNjQvaW5jbHVkZS9hc20vY3B1ZmVhdHVyZS5oCj4+PiArKysgYi9hcmNoL2FybTY0 L2luY2x1ZGUvYXNtL2NwdWZlYXR1cmUuaAo+Pj4gQEAgLTc1LDYgKzc1LDggQEAgc3RydWN0IGFy bTY0X2Z0cl9yZWcgewo+Pj4gwqDCoMKgwqAgdTY0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHN5c192YWw7Cj4+PiDCoMKgwqDCoCB1NjTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdXNlcl92YWw7Cj4+PiDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgYXJtNjRfZnRyX2JpdHPCoMKg wqAgKmZ0cl9iaXRzOwo+Pj4gK8KgwqDCoCB1NjTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgKm92ZXJyaWRlX3ZhbDsKPj4+ICvCoMKgwqAgdTY0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgICpvdmVycmlkZV9tYXNrOwo+Pj4gwqB9Owo+Pgo+PiBBdCB0aGUgYXJtNjRfZnRyX3Jl ZyBsZXZlbCwgd2UgZG9uJ3QgaGF2ZSBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNhZmUKPj4g dmFsdWVzIGZvciBhIGZlYXR1cmUuIENvdWxkIHdlIGluc3RlYWQgbW92ZSB0aGlzIHRvIGFybTY0 X2Z0cl9iaXRzPyBXZQo+PiBwcm9iYWJseSBvbmx5IG5lZWQgYSBzaW5nbGUgZmllbGQuIFdoZW4g cG9wdWxhdGluZyB0aGUgZmVhdHVyZSB2YWx1ZXMsCj4+IHdlIGNhbiBtYWtlIHN1cmUgaXQgZG9l c24ndCBnbyBhYm92ZSB0aGUgaGFyZHdhcmUgb25lLgo+Pgo+PiBJIGF0dGVtcHRlZCBhIGZlYXR1 cmUgbW9kaWZpY2F0aW9uIGZvciBNVEUgaGVyZSwgdGhvdWdoIEkgZHJvcHBlZCB0aGUKPj4gZW50 aXJlIHNlcmllcyBpbiB0aGUgbWVhbnRpbWUgYXMgd2UgY2xhcmlmaWVkIHRoZSBBUk0gQVJNOgo+ Pgo+PiBodHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0ta2VybmVsLzIwMjAwNTE1MTcx NjEyLjEwMjAtMjQtY2F0YWxpbi5tYXJpbmFzQGFybS5jb20vCj4+Cj4+IFNyaW5pdmFzIGNvcGll ZCBpdCBpbiBoaXMgcGF0Y2ggKGJ1dCBmb3Jnb3QgdG8gZ2l2ZSBjcmVkaXQgOykpOgo+Pgo+PiBo dHRwczovL2xvcmUua2VybmVsLm9yZy9saW51eC1hcm0tbXNtLzE2MTAxNTIxNjMtMTY1NTQtMy1n aXQtc2VuZC1lbWFpbC1zcmFtYW5hQGNvZGVhdXJvcmEub3JnLwo+Pgo+PiBUaGUgYWJvdmUgYWRk cyBhIGZpbHRlciBmdW5jdGlvbiBidXQsIGluc3RlYWQsIGp1c3QgdXNlIHlvdXIgbWVjaGFuaXNt IGluCj4+IHRoaXMgc2VyaWVzIGZvciBpZHJlZy5mZWF0dXJlIHNldHRpbmcgdmlhIGNtZGxpbmUu IFRoZSBhcm02NF9mdHJfdmFsdWUoKQo+PiBmdW5jdGlvbiBleHRyYWN0cyB0aGUgaGFyZHdhcmUg dmFsdWUgYW5kIGxvd2VycyBpdCBpZiBhIGNtZGxpbmUgYXJndW1lbnQKPj4gd2FzIHBhc3NlZC4K PiAKPiBPbmUgdGhpbmcgaXMgdGhhdCBpdCBpcyBub3QgYWx3YXlzIHBvc3NpYmxlIHRvIHNhbml0 aXNlIHRoZSB2YWx1ZSBwYXNzZWQKPiBpZiBpdCBpcyByZXF1aXJlZCB2ZXJ5IGVhcmx5IG9uLCBh cyBJIGRvIHdpdGggVkhFLiBCdXQgaW4gdGhhdCBjYXNlCj4gSSBhY3R1YWxseSBjaGVjayB0aGF0 IHdlIGFyZSBWSEUgY2FwYWJsZSBiZWZvcmUgc3RhcnRpbmcgdG8gcG9rZSBhdAo+IFZIRS1zcGVj aWZpYyBzdGF0ZS4KPiAKPiBJIGNhbWUgdXAgd2l0aCB0aGUgZm9sbG93aW5nIHBhdGNoIG9uIHRv cCwgd2hpY2ggcHJlc2VydmVzIHRoZSBjdXJyZW50Cj4gZ2xvYmFsIGFwcHJvYWNoIChubyBwZXIg YXJtNjRfZnRyX2JpdHMgc3RhdGUpLCBidXQgY2hlY2tzIChhbmQgYWx0ZXJzKQo+IHRoZSBvdmVy cmlkZSBhcyBpdCBpdGVyYXRlcyB0aHJvdWdoIHRoZSB2YXJpb3VzIGZpZWxkcy4KPiAKPiBGb3Ig ZXhhbXBsZSwgaWYgSSBwYXNzICJhcm02NC5ub3BhdXRoIGt2bS1hcm0ubW9kZT1udmhlIGlkX2Fh NjRwZnIxLmJ0PTUiCj4gdG8gdGhlIEZWUCwgSSBnZXQgdGhlIGZvbGxvd2luZyBvdXRwdXQ6Cj4g Cj4gW8KgwqDCoCAwLjAwMDAwMF0gQ1BVIGZlYXR1cmVzOiBTWVNfSURfQUE2NElTQVIxX0VMMVsz MToyOF06IGZvcmNlZCBmcm9tIDEgdG8gMAo+IFvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJl czogU1lTX0lEX0FBNjRJU0FSMV9FTDFbMTE6OF06IGZvcmNlZCBmcm9tIDEgdG8gMAo+IFvCoMKg wqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogU1lTX0lEX0FBNjRNTUZSMV9FTDFbMTE6OF06IGZv cmNlZCBmcm9tIDEgdG8gMAo+IFvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogU1lTX0lE X0FBNjRQRlIxX0VMMVszOjBdOiBub3QgZm9yY2luZyAxIHRvIDUKPiBbwqDCoMKgIDAuMDAwMDAw XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBHSUMgc3lzdGVtIHJlZ2lzdGVyIENQVSBpbnRlcmZh Y2UKPiBbwqDCoMKgIDAuMDAwMDAwXSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBIYXJkd2FyZSBk aXJ0eSBiaXQgbWFuYWdlbWVudAo+IFvCoMKgwqAgMC4wMDAwMDBdIENQVSBmZWF0dXJlczogZGV0 ZWN0ZWQ6IFNwZWN0cmUtdjQKPiBbwqDCoMKgIDAuMDAwMDAwXSBDUFUgZmVhdHVyZXM6IGRldGVj dGVkOiBCcmFuY2ggVGFyZ2V0IElkZW50aWZpY2F0aW9uCj4gCj4gc2hvd2luZyB0aGF0IHRoZSBQ QUMgZmVhdHVyZXMgaGF2ZSBiZWVuIGRvd25ncmFkZWQsIHRvZ2V0aGVyIHdpdGggVkhFLAo+IGJ1 dCB0aGF0IEJUSSBpcyBzdGlsbCBkZXRlY3RlZCBhcyB2YWx1ZSA1IHdhcyBvYnZpb3VzbHkgYm9n dXMuCj4gCj4gVGhvdWdodHM/Cj4gCj4gIMKgwqDCoMKgwqDCoMKgIE0uCj4gCj4gZGlmZiAtLWdp dCBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYyBiL2FyY2gvYXJtNjQva2VybmVsL2Nw dWZlYXR1cmUuYwo+IGluZGV4IDg5NGFmNjBiOTY2OS4uMDBkOTllNTkzYjY1IDEwMDY0NAo+IC0t LSBhL2FyY2gvYXJtNjQva2VybmVsL2NwdWZlYXR1cmUuYwo+ICsrKyBiL2FyY2gvYXJtNjQva2Vy bmVsL2NwdWZlYXR1cmUuYwo+IEBAIC03NzQsNiArNzc0LDcgQEAgc3RhdGljIHZvaWQgX19pbml0 IGluaXRfY3B1X2Z0cl9yZWcodTMyIHN5c19yZWcsIHU2NCBuZXcpCj4gIMKgwqDCoMKgIHU2NCBz dHJpY3RfbWFzayA9IH4weDBVTEw7Cj4gIMKgwqDCoMKgIHU2NCB1c2VyX21hc2sgPSAwOwo+ICDC oMKgwqDCoCB1NjQgdmFsaWRfbWFzayA9IDA7Cj4gK8KgwqDCoCB1NjQgb3ZlcnJpZGVfdmFsID0g MCwgb3ZlcnJpZGVfbWFzayA9IDA7Cj4gCj4gIMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBhcm02NF9m dHJfYml0cyAqZnRycDsKPiAgwqDCoMKgwqAgc3RydWN0IGFybTY0X2Z0cl9yZWcgKnJlZyA9IGdl dF9hcm02NF9mdHJfcmVnKHN5c19yZWcpOwo+IEBAIC03ODEsOSArNzgyLDM1IEBAIHN0YXRpYyB2 b2lkIF9faW5pdCBpbml0X2NwdV9mdHJfcmVnKHUzMiBzeXNfcmVnLCB1NjQgbmV3KQo+ICDCoMKg wqDCoCBpZiAoIXJlZykKPiAgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gCj4gK8KgwqDCoCBp ZiAocmVnLT5vdmVycmlkZV9tYXNrICYmIHJlZy0+b3ZlcnJpZGVfdmFsKSB7Cj4gK8KgwqDCoMKg wqDCoMKgIG92ZXJyaWRlX21hc2sgPSAqcmVnLT5vdmVycmlkZV9tYXNrOwo+ICvCoMKgwqDCoMKg wqDCoCBvdmVycmlkZV92YWwgPSAqcmVnLT5vdmVycmlkZV92YWw7Cj4gK8KgwqDCoCB9Cj4gKwo+ ICDCoMKgwqDCoCBmb3IgKGZ0cnAgPSByZWctPmZ0cl9iaXRzOyBmdHJwLT53aWR0aDsgZnRycCsr KSB7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgdTY0IGZ0cl9tYXNrID0gYXJtNjRfZnRyX21hc2soZnRy cCk7Cj4gIMKgwqDCoMKgwqDCoMKgwqAgczY0IGZ0cl9uZXcgPSBhcm02NF9mdHJfdmFsdWUoZnRy cCwgbmV3KTsKPiArwqDCoMKgwqDCoMKgwqAgczY0IGZ0cl9vdnIgPSBhcm02NF9mdHJfdmFsdWUo ZnRycCwgb3ZlcnJpZGVfdmFsKTsKPiArCj4gK8KgwqDCoMKgwqDCoMKgIGlmICgoZnRyX21hc2sg JiBvdmVycmlkZV9tYXNrKSA9PSBmdHJfbWFzaykgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGlmIChmdHJfb3ZyIDwgZnRyX25ldykgewoKSGVyZSB3ZSBhc3N1bWUgdGhhdCBhbGwgdGhlIGZl YXR1cmVzIGFyZSBGVFJfTE9XRVJfU0FGRS4gV2UgY291bGQKcHJvYmFibHkgdXNlIGFybTY0X2Z0 cl9zYWZlX3ZhbHVlKGZ0cnAsIGZ0cl9uZXcsIGZ0cl9vdnIpIGhlcmUgPwpUaGF0IHdvdWxkIGNv dmVyIHVzIGZvciBib3RoIEhJR0hFUl9TQUZFIGFuZCBMT1dFUl9TQUZFIGZlYXR1cmVzLgpIb3dl dmVyIHRoYXQgbWF5IGJlIHJlc3RyaWN0aXZlIGZvciBGVFJfRVhBQ1QsIGFzIHdlIHRoZSBzYWZl CnZhbHVlIHdvdWxkIGJlIHNldCB0byAiZnRyLT5zYWZlX3ZhbCIuIEkgZ3Vlc3MgdGhhdCBtYXkg YmUgYmV0dGVyCnRoYW4gZm9yY2luZyB0byB1c2UgYW4gdW5zYWZlIHZhbHVlIGZvciB0aGUgYm9v dCBDUFUsIHdoaWNoIGNvdWxkCmFueXdheSBjb25mbGljdCB3aXRoIHRoZSBvdGhlciBDUFVzIGFu ZCBldmVudHVhbGx5IHRyaWdnZXIgdGhlCmZ0ciBhbHVlIHRvIGJlIHNhZmVfdmFsLgoKaS5lLAoJ ZnRyX3ZhbCA9IGFybTY0X2Z0cl9zYWZlX3ZhbHVlKGZ0cnAsIGZ0cl9vdnIsIGZ0cl9uZXcpOwoK ClN1enVraQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo= 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 23F92C43381 for ; Tue, 12 Jan 2021 09:18:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E770722E01 for ; Tue, 12 Jan 2021 09:18:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392534AbhALJSS (ORCPT ); Tue, 12 Jan 2021 04:18:18 -0500 Received: from foss.arm.com ([217.140.110.172]:42324 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2392481AbhALJSQ (ORCPT ); Tue, 12 Jan 2021 04:18:16 -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 032B531B; Tue, 12 Jan 2021 01:17:30 -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 7AA5F3F719; Tue, 12 Jan 2021 01:17:27 -0800 (PST) Subject: Re: [PATCH v3 09/21] arm64: cpufeature: Add global feature override facility To: Marc Zyngier , Catalin Marinas Cc: 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: Date: Tue, 12 Jan 2021 09:17:18 +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: <129db8bd3913a90c96d4cfe4f55e27a0@kernel.org> 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 Hi Marc, On 1/11/21 7:48 PM, Marc Zyngier wrote: > Hi Catalin, > > On 2021-01-11 18:41, Catalin Marinas wrote: >> Hi Marc, >> >> On Mon, Jan 11, 2021 at 01:27:59PM +0000, Marc Zyngier wrote: >>> Add a facility to globally override a feature, no matter what >>> the HW says. Yes, this is dangerous. >> >> Yeah, it's dangerous. We can make it less so if we only allow safe >> values (e.g. lower if FTR_UNSIGNED). > > My plan was also to allow non-safe values in order to trigger features > that are not advertised by the HW. But I can understand if you are > reluctant to allow such thing! :D > >>> diff --git a/arch/arm64/include/asm/cpufeature.h b/arch/arm64/include/asm/cpufeature.h >>> index 9a555809b89c..465d2cb63bfc 100644 >>> --- a/arch/arm64/include/asm/cpufeature.h >>> +++ b/arch/arm64/include/asm/cpufeature.h >>> @@ -75,6 +75,8 @@ struct arm64_ftr_reg { >>>      u64                sys_val; >>>      u64                user_val; >>>      const struct arm64_ftr_bits    *ftr_bits; >>> +    u64                *override_val; >>> +    u64                *override_mask; >>>  }; >> >> At the arm64_ftr_reg level, we don't have any information about the safe >> values for a feature. Could we instead move this to arm64_ftr_bits? We >> probably only need a single field. When populating the feature values, >> we can make sure it doesn't go above the hardware one. >> >> I attempted a feature modification for MTE here, though I dropped the >> entire series in the meantime as we clarified the ARM ARM: >> >> https://lore.kernel.org/linux-arm-kernel/20200515171612.1020-24-catalin.marinas@arm.com/ >> >> Srinivas copied it in his patch (but forgot to give credit ;)): >> >> https://lore.kernel.org/linux-arm-msm/1610152163-16554-3-git-send-email-sramana@codeaurora.org/ >> >> The above adds a filter function but, instead, just use your mechanism in >> this series for idreg.feature setting via cmdline. The arm64_ftr_value() >> function extracts the hardware value and lowers it if a cmdline argument >> was passed. > > One thing is that it is not always possible to sanitise the value passed > if it is required very early on, as I do with VHE. But in that case > I actually check that we are VHE capable before starting to poke at > VHE-specific state. > > I came up with the following patch on top, which preserves the current > global approach (no per arm64_ftr_bits state), but checks (and alters) > the override as it iterates through the various fields. > > For example, if I pass "arm64.nopauth kvm-arm.mode=nvhe id_aa64pfr1.bt=5" > to the FVP, I get the following output: > > [    0.000000] CPU features: SYS_ID_AA64ISAR1_EL1[31:28]: forced from 1 to 0 > [    0.000000] CPU features: SYS_ID_AA64ISAR1_EL1[11:8]: forced from 1 to 0 > [    0.000000] CPU features: SYS_ID_AA64MMFR1_EL1[11:8]: forced from 1 to 0 > [    0.000000] CPU features: SYS_ID_AA64PFR1_EL1[3:0]: not forcing 1 to 5 > [    0.000000] CPU features: detected: GIC system register CPU interface > [    0.000000] CPU features: detected: Hardware dirty bit management > [    0.000000] CPU features: detected: Spectre-v4 > [    0.000000] CPU features: detected: Branch Target Identification > > showing that the PAC features have been downgraded, together with VHE, > but that BTI is still detected as value 5 was obviously bogus. > > Thoughts? > >         M. > > 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.e, ftr_val = arm64_ftr_safe_value(ftrp, ftr_ovr, ftr_new); Suzuki