[PATCH 1/2] ARM: add cpu_is_pj4() to distinguish PJ4 core
Russell King - ARM Linux
linux at arm.linux.org.uk
Mon Apr 14 06:43:53 PDT 2014
On Mon, Apr 14, 2014 at 03:12:36PM +0200, Thomas Petazzoni wrote:
> Dear Chao Xie,
>
> On Fri, 21 Mar 2014 15:01:58 +0800, Chao Xie wrote:
>
> > +/*
> > + * Marvell's PJ4 core is based on V7 version. It has some modification
> > + * for coprocessor setting. For this reason, we need a way to distinguish
> > + * it.
> > + */
> > +#ifndef CONFIG_CPU_PJ4
> > +#define cpu_is_pj4() 0
> > +#else
> > +static inline int cpu_is_pj4(void)
> > +{
> > + unsigned int id;
> > +
> > + id = read_cpuid_id();
> > + if ((id & 0xfffffff0) == 0x562f5840)
> > + return 1;
>
> Unfortunately, this doesn't work correctly, because this cpuid check
> also matches Armada XP, which uses the PJ4B-MP core, but does not have
> the iWMMXt extension. Therefore, when you build mach-mvebu with Dove
> support enabled, it does not boot on Armada XP: it fails with an
> undefined instruction.
Grr, that's annoying. And we can't just revert this because of the
arm-soc debacle - doing so will break the boot for a whole pile of
other platforms.
This is a nice illustration of why the arm-soc process - with arm-soc
effectively *forcing* me to take patches - is rather broken. I hope
arm-soc people start behaving more responsibly in the future.
--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
More information about the linux-arm-kernel
mailing list