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=-4.0 required=3.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 6DD31C433E0 for ; Sun, 24 Jan 2021 16:22:59 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2ED5A229F0 for ; Sun, 24 Jan 2021 16:22:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726494AbhAXQWm (ORCPT ); Sun, 24 Jan 2021 11:22:42 -0500 Received: from mail.kernel.org ([198.145.29.99]:43134 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726292AbhAXQWf (ORCPT ); Sun, 24 Jan 2021 11:22:35 -0500 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 94703229F0; Sun, 24 Jan 2021 16:21:51 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1l3i97-009kdA-Fk; Sun, 24 Jan 2021 16:21:49 +0000 Date: Sun, 24 Jan 2021 16:21:47 +0000 Message-ID: <87v9bmjof8.wl-maz@kernel.org> From: Marc Zyngier To: 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 , Suzuki K Poulose , kernel-team@android.com Subject: Re: [PATCH v4 12/21] arm64: cpufeature: Add an early command-line cpufeature override facility In-Reply-To: References: <20210118094533.2874082-1-maz@kernel.org> <20210118094533.2874082-13-maz@kernel.org> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: catalin.marinas@arm.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, linux-kernel@vger.kernel.org, will@kernel.org, mark.rutland@arm.com, dbrazdil@google.com, alexandru.elisei@arm.com, ardb@kernel.org, jingzhangos@google.com, pajay@qti.qualcomm.com, psodagud@codeaurora.org, sramana@codeaurora.org, james.morse@arm.com, julien.thierry.kdev@gmail.com, suzuki.poulose@arm.com, kernel-team@android.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 23 Jan 2021 13:43:52 +0000, Catalin Marinas wrote: > > On Mon, Jan 18, 2021 at 09:45:24AM +0000, Marc Zyngier wrote: > > +struct reg_desc { > > + const char * const name; > > + u64 * const val; > > + u64 * const mask; > > + struct { > > + const char * const name; > > + u8 shift; > > + } fields[]; > > +}; > > Sorry, I didn't see this earlier. Do we need to add all these consts > here? So you want the pointers to be const but why is 'shift' special > and not a const then? Is it modified later? > > Would this not work: > > struct reg_desc { > const char *name; > u64 *val; > u64 *mask; > struct { > const char *name; > u8 shift; > } fields[]; > }; > > > +static const struct reg_desc * const regs[] __initdata = { > > as we already declare the whole struct reg_desc pointers here as const. > I may have confused myself... It definitely is better. Specially given that we throw all of this away right after boot, there is no harm in keeping it simple. I've also renamed "reg_desc" to "ftr_set_desc", because we don't always describe a register (like for kaslr). Thanks, M. -- Without deviation from the norm, progress is not possible.