[RFC PATCH 4/6] arm: cpuinfo: Cortex-A9 dirty hack

Antony Pavlov antonynpavlov at gmail.com
Thu Oct 6 14:32:26 EDT 2011


On 6 October 2011 15:04, Sascha Hauer <s.hauer at pengutronix.de> wrote:
> On Thu, Sep 29, 2011 at 06:04:34PM +0400, Antony Pavlov wrote:
>> Signed-off-by: Antony Pavlov <antonynpavlov at gmail.com>
>> ---
>>  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



More information about the barebox mailing list