arm64: cpuinfo: Add "model name" in /proc/cpuinfo for 64bit tasks also

Submitted by Sumit Gupta on Aug. 29, 2016, 9:02 a.m.

Details

Message ID 1472461345-28219-1-git-send-email-sumitg@nvidia.com
State New
Headers show

Commit Message

Sumit Gupta Aug. 29, 2016, 9:02 a.m.
Removed restriction of displaying model name for 32 bit tasks only.
Because of this Processor details were not displayed in
"System setting -> Details" in Ubuntu model name display is generic
and can be printed for 64 bit also.

model name : ARMv8 Processor rev X (v8l)

Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
---
 arch/arm64/kernel/cpuinfo.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Catalin Marinas Aug. 30, 2016, 9:19 a.m.
On Mon, Aug 29, 2016 at 02:32:25PM +0530, Sumit Gupta wrote:
> Removed restriction of displaying model name for 32 bit tasks only.
> Because of this Processor details were not displayed in
> "System setting -> Details" in Ubuntu model name display is generic
> and can be printed for 64 bit also.
> 
> model name : ARMv8 Processor rev X (v8l)
> 
> Signed-off-by: Sumit Gupta <sumitg@nvidia.com>

You didn't give a reason why this is needed. For 32-bit tasks, we did it
for backwards compatibility with code checking for it.
Sumit Gupta Aug. 30, 2016, 10:35 a.m.
> On Mon, Aug 29, 2016 at 02:32:25PM +0530, Sumit Gupta wrote:
> > Removed restriction of displaying model name for 32 bit tasks only.
> > Because of this Processor details were not displayed in "System
> > setting -> Details" in Ubuntu model name display is generic and can be
> > printed for 64 bit also.
> >
> > model name : ARMv8 Processor rev X (v8l)
> >
> > Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
> 
> You didn't give a reason why this is needed. For 32-bit tasks, we did it for
> backwards compatibility with code checking for it.
> 

Within Ubuntu Home Screen "System setting -> details", processor details were coming as null.
It seems those details are retrieved from "model name" in /proc/cpuinfo and
because of check for 32 bit tasks only, "model name" was not getting displayed.
On removing this check for model name, processor details are getting displayed in
Ubuntu Home Screen.
I think model name field is general and can be displayed irrespective of compatibility.
Please suggest if I am missing anything.

> --
> Catalin
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Mark Rutland Aug. 30, 2016, 10:52 a.m.
On Tue, Aug 30, 2016 at 10:35:56AM +0000, Sumit Gupta wrote:
>  
> > On Mon, Aug 29, 2016 at 02:32:25PM +0530, Sumit Gupta wrote:
> > > Removed restriction of displaying model name for 32 bit tasks only.
> > > Because of this Processor details were not displayed in "System
> > > setting -> Details" in Ubuntu model name display is generic and can be
> > > printed for 64 bit also.
> > >
> > > model name : ARMv8 Processor rev X (v8l)
> > >
> > > Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
> > 
> > You didn't give a reason why this is needed. For 32-bit tasks, we did it for
> > backwards compatibility with code checking for it.
> 
> Within Ubuntu Home Screen "System setting -> details", processor details were coming as null.
> It seems those details are retrieved from "model name" in /proc/cpuinfo and
> because of check for 32 bit tasks only, "model name" was not getting displayed.

It's worth noting that for arm64, we have never exposed a "model name"
field for AArch64 tasks. i.e. the code was looking for something which
did not exist to begin with.

> On removing this check for model name, processor details are getting
> displayed in Ubuntu Home Screen.
> I think model name field is general and can be displayed irrespective
> of compatibility.

The "model name" field is somewhat useless, given we cannot query a
usable string from the HW. We'd deliberately chosen to not expose it, to
not give the impression that we would support trying to generate a
string. We do expose the decoded MIDR_EL1 fields, which we can query
from the HW.

As above, this has never existed for arm64, and so 64-bit code relying
on this non-existent field has never worked. It would be better to fix
the code in question.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch hide | download patch | download mbox

diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c
index ed1b84fe6925..13224f533ddb 100644
--- a/arch/arm64/kernel/cpuinfo.c
+++ b/arch/arm64/kernel/cpuinfo.c
@@ -118,8 +118,7 @@  static int c_show(struct seq_file *m, void *v)
 		 * "processor".  Give glibc what it expects.
 		 */
 		seq_printf(m, "processor\t: %d\n", i);
-		if (compat)
-			seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
+		seq_printf(m, "model name\t: ARMv8 Processor rev %d (%s)\n",
 				   MIDR_REVISION(midr), COMPAT_ELF_PLATFORM);
 
 		seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",