On 6 October 2011 15:04, Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> wrote: > On Thu, Sep 29, 2011 at 06:04:34PM +0400, Antony Pavlov wrote: >> Signed-off-by: Antony Pavlov <antonynpavlov@xxxxxxxxx> >> --- >> arch/arm/cpu/cpuinfo.c | 10 +++++++++- >> 1 files changed, 9 insertions(+), 1 deletions(-) >> >> diff --git a/arch/arm/cpu/cpuinfo.c b/arch/arm/cpu/cpuinfo.c >> index e19b8de..25d2c3f 100644 >> --- a/arch/arm/cpu/cpuinfo.c >> +++ b/arch/arm/cpu/cpuinfo.c >> @@ -101,7 +101,15 @@ static int do_cpuinfo(struct command *cmdtp, int argc, char *argv[]) >> if (arch > 0 && arch < 8) >> architecture = post_arm7_archs[arch - 1]; >> else >> - architecture = "Unknown"; >> + /* >> + * see Cortex-A9 Technical Reference Manual: >> + * Main ID Register value fixed to 0x411fc090 >> + */ >> + if (mainid == 0x411fc090) { >> + architecture = "Cortex-A9"; >> + } else { >> + architecture = "Unknown"; >> + } > > For Cortex-A8 it seems to be 0x412fc085. Aybe you can have a look at > arch/arm/kernel/setup.c in the kernel to see how it's done there. Would > be good to catch the Cortex-A8 aswell with this patch. > Sorry, but now I think that my patch is completely wrong. The "Cortex A9" in __CPU core name__, not an __architecture name__. Really, "Cortex A9" has the "ARM v7" architecture. I will fix my patch using linux/arch/arm/kernel/setup.c as a model. To show cpu name we will need something like struct proc_info_list in linux: struct cpu_ids { u32 cpu_id; u32 cpu_id_mask; const char *cpu_name; } cpu_ids[] = { { 0x410fc050, 0xff0ffff0, "Cortex A5", }, { 0x410fc090, 0xff0ffff0, "Cortex A9", }, { 0x410fc0f0, 0xff0ffff0, "Cortex A15", }, ... } -- Best regards, Antony Pavlov _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox