* [RFC PATCH v2 0/2] ARM: cpuinfo update for heterogeneous systems
@ 2012-11-16 11:41 Lorenzo Pieralisi
2012-11-16 11:41 ` [RFC PATCH v2 1/2] ARM: kernel: add MIDR to per-CPU information data Lorenzo Pieralisi
2012-11-16 11:41 ` [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features Lorenzo Pieralisi
0 siblings, 2 replies; 7+ messages in thread
From: Lorenzo Pieralisi @ 2012-11-16 11:41 UTC (permalink / raw)
To: linux-arm-kernel
This patch series provides an update of the current information available
in the kernel through /proc/cpuinfo file interface. It extends the current
code so that the HW info of all online CPUs are printed at once when the file
is read.
v1 available here:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-October/125905.html
Changes in v2:
- split the set in two logical patches since the stashing of MIDR can be
reused by other patchsets coming, and it is a change that stands on its own.
Lorenzo Pieralisi (2):
ARM: kernel: add MIDR to per-CPU information data
ARM: kernel: update cpuinfo to print all online CPUs features
arch/arm/include/asm/cpu.h | 1 +
arch/arm/kernel/setup.c | 66 +++++++++++++++++++++++-----------------------
arch/arm/kernel/smp.c | 1 +
3 files changed, 35 insertions(+), 33 deletions(-)
--
1.7.12
^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH v2 1/2] ARM: kernel: add MIDR to per-CPU information data
2012-11-16 11:41 [RFC PATCH v2 0/2] ARM: cpuinfo update for heterogeneous systems Lorenzo Pieralisi
@ 2012-11-16 11:41 ` Lorenzo Pieralisi
2012-11-16 17:19 ` Nicolas Pitre
2012-11-16 11:41 ` [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features Lorenzo Pieralisi
1 sibling, 1 reply; 7+ messages in thread
From: Lorenzo Pieralisi @ 2012-11-16 11:41 UTC (permalink / raw)
To: linux-arm-kernel
The advent of big.LITTLE ARM platforms requires the kernel to be able
to identify the MIDRs of all online CPUs upon request. MIDRs are stashed
at boot time so that kernel subsystems can detect the MIDR of online CPUs
by simply retrieving per-CPU data updated by all booted CPUs.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
arch/arm/include/asm/cpu.h | 1 +
arch/arm/kernel/smp.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/arch/arm/include/asm/cpu.h b/arch/arm/include/asm/cpu.h
index d797223..2744f06 100644
--- a/arch/arm/include/asm/cpu.h
+++ b/arch/arm/include/asm/cpu.h
@@ -15,6 +15,7 @@
struct cpuinfo_arm {
struct cpu cpu;
+ u32 cpuid;
#ifdef CONFIG_SMP
unsigned int loops_per_jiffy;
#endif
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 9da08ce..eeb75e1 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -282,6 +282,7 @@ static void __cpuinit smp_store_cpu_info(unsigned int cpuid)
struct cpuinfo_arm *cpu_info = &per_cpu(cpu_data, cpuid);
cpu_info->loops_per_jiffy = loops_per_jiffy;
+ cpu_info->cpuid = read_cpuid_id();
store_cpu_topology(cpuid);
}
--
1.7.12
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features
2012-11-16 11:41 [RFC PATCH v2 0/2] ARM: cpuinfo update for heterogeneous systems Lorenzo Pieralisi
2012-11-16 11:41 ` [RFC PATCH v2 1/2] ARM: kernel: add MIDR to per-CPU information data Lorenzo Pieralisi
@ 2012-11-16 11:41 ` Lorenzo Pieralisi
2012-11-16 17:29 ` Nicolas Pitre
1 sibling, 1 reply; 7+ messages in thread
From: Lorenzo Pieralisi @ 2012-11-16 11:41 UTC (permalink / raw)
To: linux-arm-kernel
Currently, reading /proc/cpuinfo provides userspace with CPU ID of
the CPU carrying out the read from the file. This is fine as long as all
CPUs in the system are the same. With the advent of big.LITTLE and
heterogenous ARM systems this approach provides user space with incorrect
bits of information since CPU ids in the system might differ from the one
provided by the CPU reading the file.
This patch updates the cpuinfo show function so that a read from
/proc/cpuinfo prints HW information for all online CPUs at once, mirroring
x86 behaviour.
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
arch/arm/kernel/setup.c | 66 ++++++++++++++++++++++++-------------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 20c530b..948fff1 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -842,13 +842,15 @@ static const char *hwcap_str[] = {
static int c_show(struct seq_file *m, void *v)
{
- int i;
+ int i, j;
+ u32 cpuid;
- seq_printf(m, "Processor\t: %s rev %d (%s)\n",
- cpu_name, read_cpuid_id() & 15, elf_platform);
+ for_each_online_cpu(i) {
+ cpuid = is_smp() ? per_cpu(cpu_data, i).cpuid : read_cpuid_id();
+ seq_printf(m, "Processor\t: %s rev %d (%s)\n",
+ cpu_name, cpuid & 15, elf_platform);
#if defined(CONFIG_SMP)
- for_each_online_cpu(i) {
/*
* glibc reads /proc/cpuinfo to determine the number of
* online processors, looking for lines beginning with
@@ -858,42 +860,40 @@ static int c_show(struct seq_file *m, void *v)
seq_printf(m, "BogoMIPS\t: %lu.%02lu\n\n",
per_cpu(cpu_data, i).loops_per_jiffy / (500000UL/HZ),
(per_cpu(cpu_data, i).loops_per_jiffy / (5000UL/HZ)) % 100);
- }
-#else /* CONFIG_SMP */
- seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
- loops_per_jiffy / (500000/HZ),
- (loops_per_jiffy / (5000/HZ)) % 100);
+#else
+ seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
+ loops_per_jiffy / (500000/HZ),
+ (loops_per_jiffy / (5000/HZ)) % 100);
#endif
+ /* dump out the processor features */
+ seq_puts(m, "Features\t: ");
- /* dump out the processor features */
- seq_puts(m, "Features\t: ");
+ for (j = 0; hwcap_str[j]; j++)
+ if (elf_hwcap & (1 << j))
+ seq_printf(m, "%s ", hwcap_str[j]);
- for (i = 0; hwcap_str[i]; i++)
- if (elf_hwcap & (1 << i))
- seq_printf(m, "%s ", hwcap_str[i]);
+ seq_printf(m, "\nCPU implementer\t: 0x%02x\n", cpuid >> 24);
+ seq_printf(m, "CPU architecture: %s\n",
+ proc_arch[cpu_architecture()]);
- seq_printf(m, "\nCPU implementer\t: 0x%02x\n", read_cpuid_id() >> 24);
- seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]);
-
- if ((read_cpuid_id() & 0x0008f000) == 0x00000000) {
- /* pre-ARM7 */
- seq_printf(m, "CPU part\t: %07x\n", read_cpuid_id() >> 4);
- } else {
- if ((read_cpuid_id() & 0x0008f000) == 0x00007000) {
- /* ARM7 */
- seq_printf(m, "CPU variant\t: 0x%02x\n",
- (read_cpuid_id() >> 16) & 127);
+ if ((cpuid & 0x0008f000) == 0x00000000) {
+ /* pre-ARM7 */
+ seq_printf(m, "CPU part\t: %07x\n", cpuid >> 4);
} else {
- /* post-ARM7 */
- seq_printf(m, "CPU variant\t: 0x%x\n",
- (read_cpuid_id() >> 20) & 15);
+ if ((cpuid & 0x0008f000) == 0x00007000) {
+ /* ARM7 */
+ seq_printf(m, "CPU variant\t: 0x%02x\n",
+ (cpuid >> 16) & 127);
+ } else {
+ /* post-ARM7 */
+ seq_printf(m, "CPU variant\t: 0x%x\n",
+ (cpuid >> 20) & 15);
+ }
+ seq_printf(m, "CPU part\t: 0x%03x\n",
+ (cpuid >> 4) & 0xfff);
}
- seq_printf(m, "CPU part\t: 0x%03x\n",
- (read_cpuid_id() >> 4) & 0xfff);
+ seq_printf(m, "CPU revision\t: %d\n\n", cpuid & 15);
}
- seq_printf(m, "CPU revision\t: %d\n", read_cpuid_id() & 15);
-
- seq_puts(m, "\n");
seq_printf(m, "Hardware\t: %s\n", machine_name);
seq_printf(m, "Revision\t: %04x\n", system_rev);
--
1.7.12
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH v2 1/2] ARM: kernel: add MIDR to per-CPU information data
2012-11-16 11:41 ` [RFC PATCH v2 1/2] ARM: kernel: add MIDR to per-CPU information data Lorenzo Pieralisi
@ 2012-11-16 17:19 ` Nicolas Pitre
0 siblings, 0 replies; 7+ messages in thread
From: Nicolas Pitre @ 2012-11-16 17:19 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, 16 Nov 2012, Lorenzo Pieralisi wrote:
> The advent of big.LITTLE ARM platforms requires the kernel to be able
> to identify the MIDRs of all online CPUs upon request. MIDRs are stashed
> at boot time so that kernel subsystems can detect the MIDR of online CPUs
> by simply retrieving per-CPU data updated by all booted CPUs.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
> ---
> arch/arm/include/asm/cpu.h | 1 +
> arch/arm/kernel/smp.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/arch/arm/include/asm/cpu.h b/arch/arm/include/asm/cpu.h
> index d797223..2744f06 100644
> --- a/arch/arm/include/asm/cpu.h
> +++ b/arch/arm/include/asm/cpu.h
> @@ -15,6 +15,7 @@
>
> struct cpuinfo_arm {
> struct cpu cpu;
> + u32 cpuid;
> #ifdef CONFIG_SMP
> unsigned int loops_per_jiffy;
> #endif
> diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
> index 9da08ce..eeb75e1 100644
> --- a/arch/arm/kernel/smp.c
> +++ b/arch/arm/kernel/smp.c
> @@ -282,6 +282,7 @@ static void __cpuinit smp_store_cpu_info(unsigned int cpuid)
> struct cpuinfo_arm *cpu_info = &per_cpu(cpu_data, cpuid);
>
> cpu_info->loops_per_jiffy = loops_per_jiffy;
> + cpu_info->cpuid = read_cpuid_id();
>
> store_cpu_topology(cpuid);
> }
> --
> 1.7.12
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features
2012-11-16 11:41 ` [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features Lorenzo Pieralisi
@ 2012-11-16 17:29 ` Nicolas Pitre
2012-11-16 20:42 ` Nicolas Pitre
0 siblings, 1 reply; 7+ messages in thread
From: Nicolas Pitre @ 2012-11-16 17:29 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, 16 Nov 2012, Lorenzo Pieralisi wrote:
> Currently, reading /proc/cpuinfo provides userspace with CPU ID of
> the CPU carrying out the read from the file. This is fine as long as all
> CPUs in the system are the same. With the advent of big.LITTLE and
> heterogenous ARM systems this approach provides user space with incorrect
> bits of information since CPU ids in the system might differ from the one
> provided by the CPU reading the file.
>
> This patch updates the cpuinfo show function so that a read from
> /proc/cpuinfo prints HW information for all online CPUs at once, mirroring
> x86 behaviour.
>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Nicolas Pitre <nico@linaro.org>
> ---
> arch/arm/kernel/setup.c | 66 ++++++++++++++++++++++++-------------------------
> 1 file changed, 33 insertions(+), 33 deletions(-)
>
> diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
> index 20c530b..948fff1 100644
> --- a/arch/arm/kernel/setup.c
> +++ b/arch/arm/kernel/setup.c
> @@ -842,13 +842,15 @@ static const char *hwcap_str[] = {
>
> static int c_show(struct seq_file *m, void *v)
> {
> - int i;
> + int i, j;
> + u32 cpuid;
>
> - seq_printf(m, "Processor\t: %s rev %d (%s)\n",
> - cpu_name, read_cpuid_id() & 15, elf_platform);
> + for_each_online_cpu(i) {
> + cpuid = is_smp() ? per_cpu(cpu_data, i).cpuid : read_cpuid_id();
> + seq_printf(m, "Processor\t: %s rev %d (%s)\n",
> + cpu_name, cpuid & 15, elf_platform);
>
> #if defined(CONFIG_SMP)
> - for_each_online_cpu(i) {
> /*
> * glibc reads /proc/cpuinfo to determine the number of
> * online processors, looking for lines beginning with
> @@ -858,42 +860,40 @@ static int c_show(struct seq_file *m, void *v)
> seq_printf(m, "BogoMIPS\t: %lu.%02lu\n\n",
> per_cpu(cpu_data, i).loops_per_jiffy / (500000UL/HZ),
> (per_cpu(cpu_data, i).loops_per_jiffy / (5000UL/HZ)) % 100);
> - }
> -#else /* CONFIG_SMP */
> - seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
> - loops_per_jiffy / (500000/HZ),
> - (loops_per_jiffy / (5000/HZ)) % 100);
> +#else
> + seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
> + loops_per_jiffy / (500000/HZ),
> + (loops_per_jiffy / (5000/HZ)) % 100);
> #endif
> + /* dump out the processor features */
> + seq_puts(m, "Features\t: ");
>
> - /* dump out the processor features */
> - seq_puts(m, "Features\t: ");
> + for (j = 0; hwcap_str[j]; j++)
> + if (elf_hwcap & (1 << j))
> + seq_printf(m, "%s ", hwcap_str[j]);
>
> - for (i = 0; hwcap_str[i]; i++)
> - if (elf_hwcap & (1 << i))
> - seq_printf(m, "%s ", hwcap_str[i]);
> + seq_printf(m, "\nCPU implementer\t: 0x%02x\n", cpuid >> 24);
> + seq_printf(m, "CPU architecture: %s\n",
> + proc_arch[cpu_architecture()]);
>
> - seq_printf(m, "\nCPU implementer\t: 0x%02x\n", read_cpuid_id() >> 24);
> - seq_printf(m, "CPU architecture: %s\n", proc_arch[cpu_architecture()]);
> -
> - if ((read_cpuid_id() & 0x0008f000) == 0x00000000) {
> - /* pre-ARM7 */
> - seq_printf(m, "CPU part\t: %07x\n", read_cpuid_id() >> 4);
> - } else {
> - if ((read_cpuid_id() & 0x0008f000) == 0x00007000) {
> - /* ARM7 */
> - seq_printf(m, "CPU variant\t: 0x%02x\n",
> - (read_cpuid_id() >> 16) & 127);
> + if ((cpuid & 0x0008f000) == 0x00000000) {
> + /* pre-ARM7 */
> + seq_printf(m, "CPU part\t: %07x\n", cpuid >> 4);
> } else {
> - /* post-ARM7 */
> - seq_printf(m, "CPU variant\t: 0x%x\n",
> - (read_cpuid_id() >> 20) & 15);
> + if ((cpuid & 0x0008f000) == 0x00007000) {
> + /* ARM7 */
> + seq_printf(m, "CPU variant\t: 0x%02x\n",
> + (cpuid >> 16) & 127);
> + } else {
> + /* post-ARM7 */
> + seq_printf(m, "CPU variant\t: 0x%x\n",
> + (cpuid >> 20) & 15);
> + }
> + seq_printf(m, "CPU part\t: 0x%03x\n",
> + (cpuid >> 4) & 0xfff);
> }
> - seq_printf(m, "CPU part\t: 0x%03x\n",
> - (read_cpuid_id() >> 4) & 0xfff);
> + seq_printf(m, "CPU revision\t: %d\n\n", cpuid & 15);
> }
> - seq_printf(m, "CPU revision\t: %d\n", read_cpuid_id() & 15);
> -
> - seq_puts(m, "\n");
>
> seq_printf(m, "Hardware\t: %s\n", machine_name);
> seq_printf(m, "Revision\t: %04x\n", system_rev);
> --
> 1.7.12
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features
2012-11-16 17:29 ` Nicolas Pitre
@ 2012-11-16 20:42 ` Nicolas Pitre
2012-11-19 12:04 ` Lorenzo Pieralisi
0 siblings, 1 reply; 7+ messages in thread
From: Nicolas Pitre @ 2012-11-16 20:42 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, 16 Nov 2012, Nicolas Pitre wrote:
> On Fri, 16 Nov 2012, Lorenzo Pieralisi wrote:
>
> > Currently, reading /proc/cpuinfo provides userspace with CPU ID of
> > the CPU carrying out the read from the file. This is fine as long as all
> > CPUs in the system are the same. With the advent of big.LITTLE and
> > heterogenous ARM systems this approach provides user space with incorrect
> > bits of information since CPU ids in the system might differ from the one
> > provided by the CPU reading the file.
> >
> > This patch updates the cpuinfo show function so that a read from
> > /proc/cpuinfo prints HW information for all online CPUs at once, mirroring
> > x86 behaviour.
> >
> > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
>
> Acked-by: Nicolas Pitre <nico@linaro.org>
Sorry, let me take this back. There are a few issues with the output.
First, the "processor" line is doubled for each core. If glibc actually
looks at those lines to determine the number of CPUs like the nearby
comment says then it'll get twice the actual number of processors.
And then, there is an annoying empty line between the BogoMIPS line and
the rest of the information for each core.
So, I'd suggest folding this into your patch, with my ACK of course.
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 53e532704c..bfa673de9e 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -859,18 +859,18 @@ static int c_show(struct seq_file *m, void *v)
u32 cpuid;
for_each_online_cpu(i) {
- cpuid = is_smp() ? per_cpu(cpu_data, i).cpuid : read_cpuid_id();
- seq_printf(m, "Processor\t: %s rev %d (%s)\n",
- cpu_name, cpuid & 15, elf_platform);
-
-#if defined(CONFIG_SMP)
/*
* glibc reads /proc/cpuinfo to determine the number of
* online processors, looking for lines beginning with
* "processor". Give glibc what it expects.
*/
seq_printf(m, "processor\t: %d\n", i);
- seq_printf(m, "BogoMIPS\t: %lu.%02lu\n\n",
+ cpuid = is_smp() ? per_cpu(cpu_data, i).cpuid : read_cpuid_id();
+ seq_printf(m, "model name\t: %s rev %d (%s)\n",
+ cpu_name, cpuid & 15, elf_platform);
+
+#if defined(CONFIG_SMP)
+ seq_printf(m, "BogoMIPS\t: %lu.%02lu\n",
per_cpu(cpu_data, i).loops_per_jiffy / (500000UL/HZ),
(per_cpu(cpu_data, i).loops_per_jiffy / (5000UL/HZ)) % 100);
#else
Nicolas
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features
2012-11-16 20:42 ` Nicolas Pitre
@ 2012-11-19 12:04 ` Lorenzo Pieralisi
0 siblings, 0 replies; 7+ messages in thread
From: Lorenzo Pieralisi @ 2012-11-19 12:04 UTC (permalink / raw)
To: linux-arm-kernel
On Fri, Nov 16, 2012 at 08:42:13PM +0000, Nicolas Pitre wrote:
> On Fri, 16 Nov 2012, Nicolas Pitre wrote:
>
> > On Fri, 16 Nov 2012, Lorenzo Pieralisi wrote:
> >
> > > Currently, reading /proc/cpuinfo provides userspace with CPU ID of
> > > the CPU carrying out the read from the file. This is fine as long as all
> > > CPUs in the system are the same. With the advent of big.LITTLE and
> > > heterogenous ARM systems this approach provides user space with incorrect
> > > bits of information since CPU ids in the system might differ from the one
> > > provided by the CPU reading the file.
> > >
> > > This patch updates the cpuinfo show function so that a read from
> > > /proc/cpuinfo prints HW information for all online CPUs at once, mirroring
> > > x86 behaviour.
> > >
> > > Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> >
> > Acked-by: Nicolas Pitre <nico@linaro.org>
>
> Sorry, let me take this back. There are a few issues with the output.
>
> First, the "processor" line is doubled for each core. If glibc actually
> looks at those lines to determine the number of CPUs like the nearby
> comment says then it'll get twice the actual number of processors.
>
> And then, there is an annoying empty line between the BogoMIPS line and
> the rest of the information for each core.
>
> So, I'd suggest folding this into your patch, with my ACK of course.
>
> diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
> index 53e532704c..bfa673de9e 100644
> --- a/arch/arm/kernel/setup.c
> +++ b/arch/arm/kernel/setup.c
> @@ -859,18 +859,18 @@ static int c_show(struct seq_file *m, void *v)
> u32 cpuid;
>
> for_each_online_cpu(i) {
> - cpuid = is_smp() ? per_cpu(cpu_data, i).cpuid : read_cpuid_id();
> - seq_printf(m, "Processor\t: %s rev %d (%s)\n",
> - cpu_name, cpuid & 15, elf_platform);
> -
> -#if defined(CONFIG_SMP)
> /*
> * glibc reads /proc/cpuinfo to determine the number of
> * online processors, looking for lines beginning with
> * "processor". Give glibc what it expects.
> */
> seq_printf(m, "processor\t: %d\n", i);
> - seq_printf(m, "BogoMIPS\t: %lu.%02lu\n\n",
> + cpuid = is_smp() ? per_cpu(cpu_data, i).cpuid : read_cpuid_id();
> + seq_printf(m, "model name\t: %s rev %d (%s)\n",
> + cpu_name, cpuid & 15, elf_platform);
Ok, but for sake of precision if this is a problem, it is a problem
even for the current kernel right ? If we consider the line starting
with "Processor", we would end up parsing one CPU more than we should.
I will apply your changes.
Thanks,
Lorenzo
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-11-19 12:04 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-16 11:41 [RFC PATCH v2 0/2] ARM: cpuinfo update for heterogeneous systems Lorenzo Pieralisi
2012-11-16 11:41 ` [RFC PATCH v2 1/2] ARM: kernel: add MIDR to per-CPU information data Lorenzo Pieralisi
2012-11-16 17:19 ` Nicolas Pitre
2012-11-16 11:41 ` [RFC PATCH v2 2/2] ARM: kernel: update cpuinfo to print all online CPUs features Lorenzo Pieralisi
2012-11-16 17:29 ` Nicolas Pitre
2012-11-16 20:42 ` Nicolas Pitre
2012-11-19 12:04 ` Lorenzo Pieralisi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).