[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