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,URIBL_BLOCKED,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 9B887C433E0 for ; Tue, 12 Jan 2021 12:21:03 +0000 (UTC) Received: from mm01.cs.columbia.edu (mm01.cs.columbia.edu [128.59.11.253]) by mail.kernel.org (Postfix) with ESMTP id E867F206F0 for ; Tue, 12 Jan 2021 12:21:02 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org E867F206F0 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 35D9F4B1B2; Tue, 12 Jan 2021 07:21:02 -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 14OHXznRzcJU; Tue, 12 Jan 2021 07:21:01 -0500 (EST) Received: from mm01.cs.columbia.edu (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 00EE74B23A; Tue, 12 Jan 2021 07:21:01 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 94A204B1B2 for ; Tue, 12 Jan 2021 07:21:00 -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 DeMZgHnSufgv for ; Tue, 12 Jan 2021 07:20:59 -0500 (EST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mm01.cs.columbia.edu (Postfix) with ESMTP id 2851C4B0AC for ; Tue, 12 Jan 2021 07:20:59 -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 A082E1042; Tue, 12 Jan 2021 04:20:58 -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 180C23F66E; Tue, 12 Jan 2021 04:20:54 -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: <7720a317-2591-3b60-41ce-772bf168bee7@arm.com> Date: Tue, 12 Jan 2021 12:20:45 +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 T24gMS8xMi8yMSAxMTo1MSBBTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9uIDIwMjEtMDEtMTIg MTE6NTAsIE1hcmMgWnluZ2llciB3cm90ZToKPj4gSGkgU3V6dWtpLAo+Pgo+PiBPbiAyMDIxLTAx LTEyIDA5OjE3LCBTdXp1a2kgSyBQb3Vsb3NlIHdyb3RlOgo+Pj4gSGkgTWFyYywKPj4+Cj4+PiBP biAxLzExLzIxIDc6NDggUE0sIE1hcmMgWnluZ2llciB3cm90ZToKPj4KPj4gWy4uLl0KPj4KPj4+ PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jIGIvYXJjaC9hcm02 NC9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4+Pj4gaW5kZXggODk0YWY2MGI5NjY5Li4wMGQ5OWU1OTNi NjUgMTAwNjQ0Cj4+Pj4gLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4+Pj4g KysrIGIvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4+Pj4gQEAgLTc3NCw2ICs3NzQs NyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9jcHVfZnRyX3JlZyh1MzIgc3lzX3JlZywgdTY0 IG5ldykKPj4+PiDCoMKgwqDCoMKgIHU2NCBzdHJpY3RfbWFzayA9IH4weDBVTEw7Cj4+Pj4gwqDC oMKgwqDCoCB1NjQgdXNlcl9tYXNrID0gMDsKPj4+PiDCoMKgwqDCoMKgIHU2NCB2YWxpZF9tYXNr ID0gMDsKPj4+PiArwqDCoMKgIHU2NCBvdmVycmlkZV92YWwgPSAwLCBvdmVycmlkZV9tYXNrID0g MDsKPj4+Pgo+Pj4+IMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFybTY0X2Z0cl9iaXRzICpmdHJw Owo+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGFybTY0X2Z0cl9yZWcgKnJlZyA9IGdldF9hcm02NF9m dHJfcmVnKHN5c19yZWcpOwo+Pj4+IEBAIC03ODEsOSArNzgyLDM1IEBAIHN0YXRpYyB2b2lkIF9f aW5pdCBpbml0X2NwdV9mdHJfcmVnKHUzMiBzeXNfcmVnLCB1NjQgbmV3KQo+Pj4+IMKgwqDCoMKg wqAgaWYgKCFyZWcpCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybjsKPj4+Pgo+Pj4+ICvC oMKgwqAgaWYgKHJlZy0+b3ZlcnJpZGVfbWFzayAmJiByZWctPm92ZXJyaWRlX3ZhbCkgewo+Pj4+ ICvCoMKgwqDCoMKgwqDCoCBvdmVycmlkZV9tYXNrID0gKnJlZy0+b3ZlcnJpZGVfbWFzazsKPj4+ PiArwqDCoMKgwqDCoMKgwqAgb3ZlcnJpZGVfdmFsID0gKnJlZy0+b3ZlcnJpZGVfdmFsOwo+Pj4+ ICvCoMKgwqAgfQo+Pj4+ICsKPj4+PiDCoMKgwqDCoMKgIGZvciAoZnRycCA9IHJlZy0+ZnRyX2Jp dHM7IGZ0cnAtPndpZHRoOyBmdHJwKyspIHsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgdTY0IGZ0 cl9tYXNrID0gYXJtNjRfZnRyX21hc2soZnRycCk7Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHM2 NCBmdHJfbmV3ID0gYXJtNjRfZnRyX3ZhbHVlKGZ0cnAsIG5ldyk7Cj4+Pj4gK8KgwqDCoMKgwqDC oMKgIHM2NCBmdHJfb3ZyID0gYXJtNjRfZnRyX3ZhbHVlKGZ0cnAsIG92ZXJyaWRlX3ZhbCk7Cj4+ Pj4gKwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoKGZ0cl9tYXNrICYgb3ZlcnJpZGVfbWFzaykg PT0gZnRyX21hc2spIHsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoZnRyX292ciA8 IGZ0cl9uZXcpIHsKPj4+Cj4+PiBIZXJlIHdlIGFzc3VtZSB0aGF0IGFsbCB0aGUgZmVhdHVyZXMg YXJlIEZUUl9MT1dFUl9TQUZFLiBXZSBjb3VsZAo+Pj4gcHJvYmFibHkgdXNlIGFybTY0X2Z0cl9z YWZlX3ZhbHVlKGZ0cnAsIGZ0cl9uZXcsIGZ0cl9vdnIpIGhlcmUgPwo+Pj4gVGhhdCB3b3VsZCBj b3ZlciB1cyBmb3IgYm90aCBISUdIRVJfU0FGRSBhbmQgTE9XRVJfU0FGRSBmZWF0dXJlcy4KPj4+ IEhvd2V2ZXIgdGhhdCBtYXkgYmUgcmVzdHJpY3RpdmUgZm9yIEZUUl9FWEFDVCwgYXMgd2UgdGhl IHNhZmUKPj4+IHZhbHVlIHdvdWxkIGJlIHNldCB0byAiZnRyLT5zYWZlX3ZhbCIuIEkgZ3Vlc3Mg dGhhdCBtYXkgYmUgYmV0dGVyCj4+PiB0aGFuIGZvcmNpbmcgdG8gdXNlIGFuIHVuc2FmZSB2YWx1 ZSBmb3IgdGhlIGJvb3QgQ1BVLCB3aGljaCBjb3VsZAo+Pj4gYW55d2F5IGNvbmZsaWN0IHdpdGgg dGhlIG90aGVyIENQVXMgYW5kIGV2ZW50dWFsbHkgdHJpZ2dlciB0aGUKPj4+IGZ0ciBhbHVlIHRv IGJlIHNhZmVfdmFsLgo+Pgo+PiBJIGxpa2UgdGhlIGlkZWEgb2YgdXNpbmcgdGhlIGhlbHBlciwg YXMgaXQgY2xlYW51cHMgdXAgdGhlIGNvZGUgYSBiaXQuCj4+IEhvd2V2ZXIsIG5vdCBiZWluZyB0 byBzZXQgYSBmZWF0dXJlIHRvIGEgY2VydGFpbiB2YWx1ZSBjb3VsZCBiZSByZXN0cmljdGl2ZSwK Pj4gYXMgaW4gZ2VuZXJhbCwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gb25seSBkaXNhYmxlIGEgZmVh dHVyZSBhbmQgbm90IGFkanVzdAo+PiBpdHMgbGV2ZWwgb2Ygc3VwcG9ydC4KPj4KPj4gVGFrZSBQ TVVWRVIgZm9yIGV4YW1wbGU6IHdpdGggdGhlIGhlbHBlciwgSSBjYW4ndCBvdmVycmlkZSBpdCBm cm9tIHY4LjQgdG8KPj4gdjguMS4gSSBjYW4gb25seSBnbyB0byB2OC4wLgo+IAo+IEFjdHVhbGx5 LCB3ZSBjYW4gb25seSAqZGlzYWJsZSogdGhlIFBNVSBhbHRvZ2V0aGVyLiBTYW1lIHF1ZXN0aW9u IHRob3VnaC4uLgoKSXQgZGVwZW5kcyBvbiB0d28gdGhpbmdzIDoKCjEpIFdoYXQgaXMgdGhlIHNh ZmUgdmFsdWUgZm9yIGFuIEVYQUNUIHR5cGVkIGZlYXR1cmUgPwpVc3VhbGx5LCB0aGF0IG1lYW5z IGVpdGhlciBkaXNhYmxlZCwgb3IgdGhlIGxvd2VzdCBwb3NzaWJsZSB2YWx1ZS4KCjIpIEhvdyBp cyB0aGlzIHZhbHVlIGNvbnN1bWVkID8KICAgYSkgaS5lLCBEbyB3ZSB1c2UgdGhlIHBlci1DUFUg dmFsdWUKCVRoZW4gbm9uZSBvZiB0aGVzZSBjaGFuZ2VzIGhhdmUgYW55IGVmZmVjdAogICBiKSBT eXN0ZW0gd2lkZSB2YWx1ZSA/CiAgICAgICBUaGVuIHdlIGdldCB0aGUgc2FmZSB2YWx1ZSBhcyAi aW5mbHVlbmNlZCIgYnkgdGhlIGluZnJhc3RydWN0dXJlLgoKVGhlIHNhZmUgdmFsdWUgd2UgdXNl IGZvciBFWEFDVCBmZWF0dXJlcyBpcyBleGNsdXNpdmVseSBmb3IgbWFraW5nIHN1cmUKdGhhdCB0 aGUgc3lzdGVtIHVzZXMgdGhlIHNhZmUgYXNzdW1wdGlvbiBhbmQgdGh1cyBzaG91bGQgYmUgdGhl IGJlc3QKb3B0aW9uLgoKVG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24sIGZvciBQTVUsIGl0IGlzIDAs IGltcGxpZXMsIHY4LjAuIE9yIHdlIGNvdWxkCnVwZGF0ZSB0aGUgc2FmZSB2YWx1ZSB0byAtMSAo MHhmKSBhcyB0aGUgc2FmZSB2YWx1ZSwgd2hpY2ggaXMgYSBiaXQgbW9yZSBzYWZlciwKa2luZCBv ZiBpbXBseWluZyB0aGF0IHRoZSBQTVUgaXMgbm90IGEgc3RhbmRhcmQgb25lLgoKCkNoZWVycwpT dXp1a2kKCgoKPiAKPiAgwqDCoMKgwqDCoMKgwqAgTS4KPiAKPj4KPj4gSXMgaXQgc29tZXRoaW5n IHdlIGNhcmUgYWJvdXQ/Cj4+Cj4+IFRoYW5rcywKPj4KPj4gwqDCoMKgwqDCoMKgwqAgTS4KPiAK 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 C9204C433E0 for ; Tue, 12 Jan 2021 12:22:31 +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 522BD21D93 for ; Tue, 12 Jan 2021 12:22:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 522BD21D93 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=dGiojGTbC4UvYpbAetpt+MF4Q3C8oL3gjHYGW/qrCGc=; b=Bs/epx+tsgEB+3eylCIMhT/ei 7pCpHPPQlvnyzcq5fs1bNmpSGXCE4r8EK/NR3Dy1/jR4f5moV+Hqs92xcc2wblydOhb4tzd5GYZZz fE/odEyyAFi1lCa1UkCv8B5CVp1jAjxDGxSDHDbGxLUdON0zeNKXKc0O2iRnFHOK4omeZ9p7/vw4S sDVfRujWc9Uw8leljohTulabh9JnguVZuNRzQ57/ekfTHpZU8JOEEGRM/q3/u/IQJnJkxjC7nTV4N YtFK83Hbv+t034dJYXkY9VmEFJwvUhybuRyGeY+yyLQPDGCIaQQYQGXDsJUphZICLhn6Tt7OfVVzW mgwGO51PQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kzIfX-0006vP-KR; Tue, 12 Jan 2021 12:21:03 +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 1kzIfU-0006uX-Oq for linux-arm-kernel@lists.infradead.org; Tue, 12 Jan 2021 12:21:01 +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 A082E1042; Tue, 12 Jan 2021 04:20:58 -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 180C23F66E; Tue, 12 Jan 2021 04:20:54 -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: <7720a317-2591-3b60-41ce-772bf168bee7@arm.com> Date: Tue, 12 Jan 2021 12:20:45 +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_072100_926169_FAD0EF83 X-CRM114-Status: GOOD ( 23.37 ) 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 T24gMS8xMi8yMSAxMTo1MSBBTSwgTWFyYyBaeW5naWVyIHdyb3RlOgo+IE9uIDIwMjEtMDEtMTIg MTE6NTAsIE1hcmMgWnluZ2llciB3cm90ZToKPj4gSGkgU3V6dWtpLAo+Pgo+PiBPbiAyMDIxLTAx LTEyIDA5OjE3LCBTdXp1a2kgSyBQb3Vsb3NlIHdyb3RlOgo+Pj4gSGkgTWFyYywKPj4+Cj4+PiBP biAxLzExLzIxIDc6NDggUE0sIE1hcmMgWnluZ2llciB3cm90ZToKPj4KPj4gWy4uLl0KPj4KPj4+ PiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jIGIvYXJjaC9hcm02 NC9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4+Pj4gaW5kZXggODk0YWY2MGI5NjY5Li4wMGQ5OWU1OTNi NjUgMTAwNjQ0Cj4+Pj4gLS0tIGEvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4+Pj4g KysrIGIvYXJjaC9hcm02NC9rZXJuZWwvY3B1ZmVhdHVyZS5jCj4+Pj4gQEAgLTc3NCw2ICs3NzQs NyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9jcHVfZnRyX3JlZyh1MzIgc3lzX3JlZywgdTY0 IG5ldykKPj4+PiDCoMKgwqDCoMKgIHU2NCBzdHJpY3RfbWFzayA9IH4weDBVTEw7Cj4+Pj4gwqDC oMKgwqDCoCB1NjQgdXNlcl9tYXNrID0gMDsKPj4+PiDCoMKgwqDCoMKgIHU2NCB2YWxpZF9tYXNr ID0gMDsKPj4+PiArwqDCoMKgIHU2NCBvdmVycmlkZV92YWwgPSAwLCBvdmVycmlkZV9tYXNrID0g MDsKPj4+Pgo+Pj4+IMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGFybTY0X2Z0cl9iaXRzICpmdHJw Owo+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGFybTY0X2Z0cl9yZWcgKnJlZyA9IGdldF9hcm02NF9m dHJfcmVnKHN5c19yZWcpOwo+Pj4+IEBAIC03ODEsOSArNzgyLDM1IEBAIHN0YXRpYyB2b2lkIF9f aW5pdCBpbml0X2NwdV9mdHJfcmVnKHUzMiBzeXNfcmVnLCB1NjQgbmV3KQo+Pj4+IMKgwqDCoMKg wqAgaWYgKCFyZWcpCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybjsKPj4+Pgo+Pj4+ICvC oMKgwqAgaWYgKHJlZy0+b3ZlcnJpZGVfbWFzayAmJiByZWctPm92ZXJyaWRlX3ZhbCkgewo+Pj4+ ICvCoMKgwqDCoMKgwqDCoCBvdmVycmlkZV9tYXNrID0gKnJlZy0+b3ZlcnJpZGVfbWFzazsKPj4+ PiArwqDCoMKgwqDCoMKgwqAgb3ZlcnJpZGVfdmFsID0gKnJlZy0+b3ZlcnJpZGVfdmFsOwo+Pj4+ ICvCoMKgwqAgfQo+Pj4+ICsKPj4+PiDCoMKgwqDCoMKgIGZvciAoZnRycCA9IHJlZy0+ZnRyX2Jp dHM7IGZ0cnAtPndpZHRoOyBmdHJwKyspIHsKPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgdTY0IGZ0 cl9tYXNrID0gYXJtNjRfZnRyX21hc2soZnRycCk7Cj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHM2 NCBmdHJfbmV3ID0gYXJtNjRfZnRyX3ZhbHVlKGZ0cnAsIG5ldyk7Cj4+Pj4gK8KgwqDCoMKgwqDC oMKgIHM2NCBmdHJfb3ZyID0gYXJtNjRfZnRyX3ZhbHVlKGZ0cnAsIG92ZXJyaWRlX3ZhbCk7Cj4+ Pj4gKwo+Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoKGZ0cl9tYXNrICYgb3ZlcnJpZGVfbWFzaykg PT0gZnRyX21hc2spIHsKPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoZnRyX292ciA8 IGZ0cl9uZXcpIHsKPj4+Cj4+PiBIZXJlIHdlIGFzc3VtZSB0aGF0IGFsbCB0aGUgZmVhdHVyZXMg YXJlIEZUUl9MT1dFUl9TQUZFLiBXZSBjb3VsZAo+Pj4gcHJvYmFibHkgdXNlIGFybTY0X2Z0cl9z YWZlX3ZhbHVlKGZ0cnAsIGZ0cl9uZXcsIGZ0cl9vdnIpIGhlcmUgPwo+Pj4gVGhhdCB3b3VsZCBj b3ZlciB1cyBmb3IgYm90aCBISUdIRVJfU0FGRSBhbmQgTE9XRVJfU0FGRSBmZWF0dXJlcy4KPj4+ IEhvd2V2ZXIgdGhhdCBtYXkgYmUgcmVzdHJpY3RpdmUgZm9yIEZUUl9FWEFDVCwgYXMgd2UgdGhl IHNhZmUKPj4+IHZhbHVlIHdvdWxkIGJlIHNldCB0byAiZnRyLT5zYWZlX3ZhbCIuIEkgZ3Vlc3Mg dGhhdCBtYXkgYmUgYmV0dGVyCj4+PiB0aGFuIGZvcmNpbmcgdG8gdXNlIGFuIHVuc2FmZSB2YWx1 ZSBmb3IgdGhlIGJvb3QgQ1BVLCB3aGljaCBjb3VsZAo+Pj4gYW55d2F5IGNvbmZsaWN0IHdpdGgg dGhlIG90aGVyIENQVXMgYW5kIGV2ZW50dWFsbHkgdHJpZ2dlciB0aGUKPj4+IGZ0ciBhbHVlIHRv IGJlIHNhZmVfdmFsLgo+Pgo+PiBJIGxpa2UgdGhlIGlkZWEgb2YgdXNpbmcgdGhlIGhlbHBlciwg YXMgaXQgY2xlYW51cHMgdXAgdGhlIGNvZGUgYSBiaXQuCj4+IEhvd2V2ZXIsIG5vdCBiZWluZyB0 byBzZXQgYSBmZWF0dXJlIHRvIGEgY2VydGFpbiB2YWx1ZSBjb3VsZCBiZSByZXN0cmljdGl2ZSwK Pj4gYXMgaW4gZ2VuZXJhbCwgaXQgbWVhbnMgdGhhdCB3ZSBjYW4gb25seSBkaXNhYmxlIGEgZmVh dHVyZSBhbmQgbm90IGFkanVzdAo+PiBpdHMgbGV2ZWwgb2Ygc3VwcG9ydC4KPj4KPj4gVGFrZSBQ TVVWRVIgZm9yIGV4YW1wbGU6IHdpdGggdGhlIGhlbHBlciwgSSBjYW4ndCBvdmVycmlkZSBpdCBm cm9tIHY4LjQgdG8KPj4gdjguMS4gSSBjYW4gb25seSBnbyB0byB2OC4wLgo+IAo+IEFjdHVhbGx5 LCB3ZSBjYW4gb25seSAqZGlzYWJsZSogdGhlIFBNVSBhbHRvZ2V0aGVyLiBTYW1lIHF1ZXN0aW9u IHRob3VnaC4uLgoKSXQgZGVwZW5kcyBvbiB0d28gdGhpbmdzIDoKCjEpIFdoYXQgaXMgdGhlIHNh ZmUgdmFsdWUgZm9yIGFuIEVYQUNUIHR5cGVkIGZlYXR1cmUgPwpVc3VhbGx5LCB0aGF0IG1lYW5z IGVpdGhlciBkaXNhYmxlZCwgb3IgdGhlIGxvd2VzdCBwb3NzaWJsZSB2YWx1ZS4KCjIpIEhvdyBp cyB0aGlzIHZhbHVlIGNvbnN1bWVkID8KICAgYSkgaS5lLCBEbyB3ZSB1c2UgdGhlIHBlci1DUFUg dmFsdWUKCVRoZW4gbm9uZSBvZiB0aGVzZSBjaGFuZ2VzIGhhdmUgYW55IGVmZmVjdAogICBiKSBT eXN0ZW0gd2lkZSB2YWx1ZSA/CiAgICAgICBUaGVuIHdlIGdldCB0aGUgc2FmZSB2YWx1ZSBhcyAi aW5mbHVlbmNlZCIgYnkgdGhlIGluZnJhc3RydWN0dXJlLgoKVGhlIHNhZmUgdmFsdWUgd2UgdXNl IGZvciBFWEFDVCBmZWF0dXJlcyBpcyBleGNsdXNpdmVseSBmb3IgbWFraW5nIHN1cmUKdGhhdCB0 aGUgc3lzdGVtIHVzZXMgdGhlIHNhZmUgYXNzdW1wdGlvbiBhbmQgdGh1cyBzaG91bGQgYmUgdGhl IGJlc3QKb3B0aW9uLgoKVG8gYW5zd2VyIHlvdXIgcXVlc3Rpb24sIGZvciBQTVUsIGl0IGlzIDAs IGltcGxpZXMsIHY4LjAuIE9yIHdlIGNvdWxkCnVwZGF0ZSB0aGUgc2FmZSB2YWx1ZSB0byAtMSAo MHhmKSBhcyB0aGUgc2FmZSB2YWx1ZSwgd2hpY2ggaXMgYSBiaXQgbW9yZSBzYWZlciwKa2luZCBv ZiBpbXBseWluZyB0aGF0IHRoZSBQTVUgaXMgbm90IGEgc3RhbmRhcmQgb25lLgoKCkNoZWVycwpT dXp1a2kKCgoKPiAKPiAgwqDCoMKgwqDCoMKgwqAgTS4KPiAKPj4KPj4gSXMgaXQgc29tZXRoaW5n IHdlIGNhcmUgYWJvdXQ/Cj4+Cj4+IFRoYW5rcywKPj4KPj4gwqDCoMKgwqDCoMKgwqAgTS4KPiAK 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 31A50C433DB for ; Tue, 12 Jan 2021 12:21:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 03BCC20799 for ; Tue, 12 Jan 2021 12:21:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733231AbhALMVp (ORCPT ); Tue, 12 Jan 2021 07:21:45 -0500 Received: from foss.arm.com ([217.140.110.172]:45128 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727687AbhALMVo (ORCPT ); Tue, 12 Jan 2021 07:21:44 -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 A082E1042; Tue, 12 Jan 2021 04:20:58 -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 180C23F66E; Tue, 12 Jan 2021 04:20:54 -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: <7720a317-2591-3b60-41ce-772bf168bee7@arm.com> Date: Tue, 12 Jan 2021 12:20:45 +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:51 AM, Marc Zyngier wrote: > On 2021-01-12 11:50, 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. > > Actually, we can only *disable* the PMU altogether. Same question though... It depends on two things : 1) What is the safe value for an EXACT typed feature ? Usually, that means either disabled, or the lowest possible value. 2) How is this value consumed ? a) i.e, Do we use the per-CPU value Then none of these changes have any effect b) System wide value ? Then we get the safe value as "influenced" by the infrastructure. The safe value we use for EXACT features is exclusively for making sure that the system uses the safe assumption and thus should be the best option. To answer your question, for PMU, it is 0, implies, v8.0. Or we could update the safe value to -1 (0xf) as the safe value, which is a bit more safer, kind of implying that the PMU is not a standard one. Cheers Suzuki > >         M. > >> >> Is it something we care about? >> >> Thanks, >> >>         M. >