* linux-next: manual merge of the cortex tree with the arm tree
@ 2013-02-02 11:20 Stephen Rothwell
2013-02-02 12:21 ` Russell King
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Rothwell @ 2013-02-02 11:20 UTC (permalink / raw)
To: "Uwe Kleine-König"
Cc: linux-next, linux-kernel, Christoffer Dall, Will Deacon, Russell King
[-- Attachment #1: Type: text/plain, Size: 2964 bytes --]
Hi Uwe,
Today's linux-next merge of the cortex tree got a conflict in
arch/arm/include/asm/cputype.h between commit 59530adc3f1b ("ARM: Define
CPU part numbers and implementors") from the arm tree and commit
6ebd4d038dbb ("ARM: stub out read_cpuid and read_cpuid_ext for
CPU_CP15=n") from the cortex tree.
I fixed it up (see below) and can carry the fix as necessary (no action
is required).
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --cc arch/arm/include/asm/cputype.h
index ad41ec2,574269e..0000000
--- a/arch/arm/include/asm/cputype.h
+++ b/arch/arm/include/asm/cputype.h
@@@ -59,30 -60,25 +60,43 @@@ extern unsigned int processor_id
: "cc"); \
__val; \
})
- #else
- #define read_cpuid(reg) (processor_id)
- #define read_cpuid_ext(reg) 0
- #endif
+
+ #else /* ifdef CONFIG_CPU_CP15 */
+#define ARM_CPU_IMP_ARM 0x41
+#define ARM_CPU_IMP_INTEL 0x69
+
+#define ARM_CPU_PART_ARM1136 0xB360
+#define ARM_CPU_PART_ARM1156 0xB560
+#define ARM_CPU_PART_ARM1176 0xB760
+#define ARM_CPU_PART_ARM11MPCORE 0xB020
+#define ARM_CPU_PART_CORTEX_A8 0xC080
+#define ARM_CPU_PART_CORTEX_A9 0xC090
+#define ARM_CPU_PART_CORTEX_A5 0xC050
+#define ARM_CPU_PART_CORTEX_A15 0xC0F0
+#define ARM_CPU_PART_CORTEX_A7 0xC070
+
+#define ARM_CPU_XSCALE_ARCH_MASK 0xe000
+#define ARM_CPU_XSCALE_ARCH_V1 0x2000
+#define ARM_CPU_XSCALE_ARCH_V2 0x4000
+#define ARM_CPU_XSCALE_ARCH_V3 0x6000
+
/*
+ * read_cpuid and read_cpuid_ext should only ever be called on machines that
+ * have cp15 so warn on other usages.
+ */
+ #define read_cpuid(reg) \
+ ({ \
+ WARN_ON_ONCE(1); \
+ 0; \
+ })
+
+ #define read_cpuid_ext(reg) read_cpuid(reg)
+
+ #endif /* ifdef CONFIG_CPU_CP15 / else */
+
+ #ifdef CONFIG_CPU_CP15
+ /*
* The CPU ID never changes at run time, so we might as well tell the
* compiler that it's constant. Use this function to read the CPU ID
* rather than directly reading processor_id or read_cpuid() directly.
@@@ -92,21 -88,15 +106,30 @@@ static inline unsigned int __attribute_
return read_cpuid(CPUID_ID);
}
+ #else /* ifdef CONFIG_CPU_CP15 */
+
+ static inline unsigned int __attribute_const__ read_cpuid_id(void)
+ {
+ return processor_id;
+ }
+
+ #endif /* ifdef CONFIG_CPU_CP15 / else */
+
+static inline unsigned int __attribute_const__ read_cpuid_implementor(void)
+{
+ return (read_cpuid_id() & 0xFF000000) >> 24;
+}
+
+static inline unsigned int __attribute_const__ read_cpuid_part_number(void)
+{
+ return read_cpuid_id() & 0xFFF0;
+}
+
+static inline unsigned int __attribute_const__ xscale_cpu_arch_version(void)
+{
+ return read_cpuid_part_number() & ARM_CPU_XSCALE_ARCH_MASK;
+}
+
static inline unsigned int __attribute_const__ read_cpuid_cachetype(void)
{
return read_cpuid(CPUID_CACHETYPE);
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: linux-next: manual merge of the cortex tree with the arm tree
2013-02-02 11:20 linux-next: manual merge of the cortex tree with the arm tree Stephen Rothwell
@ 2013-02-02 12:21 ` Russell King
2013-02-02 13:37 ` Stephen Rothwell
0 siblings, 1 reply; 3+ messages in thread
From: Russell King @ 2013-02-02 12:21 UTC (permalink / raw)
To: Stephen Rothwell
Cc: "Uwe Kleine-König",
linux-next, linux-kernel, Christoffer Dall, Will Deacon
On Sat, Feb 02, 2013 at 10:20:36PM +1100, Stephen Rothwell wrote:
> Hi Uwe,
>
> Today's linux-next merge of the cortex tree got a conflict in
> arch/arm/include/asm/cputype.h between commit 59530adc3f1b ("ARM: Define
> CPU part numbers and implementors") from the arm tree and commit
> 6ebd4d038dbb ("ARM: stub out read_cpuid and read_cpuid_ext for
> CPU_CP15=n") from the cortex tree.
>
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
It doesn't look right to me.
> diff --cc arch/arm/include/asm/cputype.h
> index ad41ec2,574269e..0000000
> --- a/arch/arm/include/asm/cputype.h
> +++ b/arch/arm/include/asm/cputype.h
> @@@ -59,30 -60,25 +60,43 @@@ extern unsigned int processor_id
> : "cc"); \
> __val; \
> })
> - #else
> - #define read_cpuid(reg) (processor_id)
> - #define read_cpuid_ext(reg) 0
> - #endif
> +
> + #else /* ifdef CONFIG_CPU_CP15 */
>
> +#define ARM_CPU_IMP_ARM 0x41
> +#define ARM_CPU_IMP_INTEL 0x69
> +
> +#define ARM_CPU_PART_ARM1136 0xB360
> +#define ARM_CPU_PART_ARM1156 0xB560
> +#define ARM_CPU_PART_ARM1176 0xB760
> +#define ARM_CPU_PART_ARM11MPCORE 0xB020
> +#define ARM_CPU_PART_CORTEX_A8 0xC080
> +#define ARM_CPU_PART_CORTEX_A9 0xC090
> +#define ARM_CPU_PART_CORTEX_A5 0xC050
> +#define ARM_CPU_PART_CORTEX_A15 0xC0F0
> +#define ARM_CPU_PART_CORTEX_A7 0xC070
> +
> +#define ARM_CPU_XSCALE_ARCH_MASK 0xe000
> +#define ARM_CPU_XSCALE_ARCH_V1 0x2000
> +#define ARM_CPU_XSCALE_ARCH_V2 0x4000
> +#define ARM_CPU_XSCALE_ARCH_V3 0x6000
> +
This stuff shouldn't be in the #else section - it's needed when
CONFIG_CPU_CP15 is enabled and this resolution hides it in that case.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: linux-next: manual merge of the cortex tree with the arm tree
2013-02-02 12:21 ` Russell King
@ 2013-02-02 13:37 ` Stephen Rothwell
0 siblings, 0 replies; 3+ messages in thread
From: Stephen Rothwell @ 2013-02-02 13:37 UTC (permalink / raw)
To: Russell King
Cc: "Uwe Kleine-König",
linux-next, linux-kernel, Christoffer Dall, Will Deacon
[-- Attachment #1: Type: text/plain, Size: 1697 bytes --]
Hi Russell,
On Sat, 2 Feb 2013 12:21:22 +0000 Russell King <rmk@arm.linux.org.uk> wrote:
>
> > diff --cc arch/arm/include/asm/cputype.h
> > index ad41ec2,574269e..0000000
> > --- a/arch/arm/include/asm/cputype.h
> > +++ b/arch/arm/include/asm/cputype.h
> > @@@ -59,30 -60,25 +60,43 @@@ extern unsigned int processor_id
> > : "cc"); \
> > __val; \
> > })
> > - #else
> > - #define read_cpuid(reg) (processor_id)
> > - #define read_cpuid_ext(reg) 0
> > - #endif
> > +
> > + #else /* ifdef CONFIG_CPU_CP15 */
> >
> > +#define ARM_CPU_IMP_ARM 0x41
> > +#define ARM_CPU_IMP_INTEL 0x69
> > +
> > +#define ARM_CPU_PART_ARM1136 0xB360
> > +#define ARM_CPU_PART_ARM1156 0xB560
> > +#define ARM_CPU_PART_ARM1176 0xB760
> > +#define ARM_CPU_PART_ARM11MPCORE 0xB020
> > +#define ARM_CPU_PART_CORTEX_A8 0xC080
> > +#define ARM_CPU_PART_CORTEX_A9 0xC090
> > +#define ARM_CPU_PART_CORTEX_A5 0xC050
> > +#define ARM_CPU_PART_CORTEX_A15 0xC0F0
> > +#define ARM_CPU_PART_CORTEX_A7 0xC070
> > +
> > +#define ARM_CPU_XSCALE_ARCH_MASK 0xe000
> > +#define ARM_CPU_XSCALE_ARCH_V1 0x2000
> > +#define ARM_CPU_XSCALE_ARCH_V2 0x4000
> > +#define ARM_CPU_XSCALE_ARCH_V3 0x6000
> > +
>
> This stuff shouldn't be in the #else section - it's needed when
> CONFIG_CPU_CP15 is enabled and this resolution hides it in that case.
Rats! This was the automatically resolved part of the merge resolution.
I will fix it up (it caused a build failure in my arm defconfig build)
and will carry that fix as well from now on.
Thanks for letting me know.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-02-02 13:37 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-02-02 11:20 linux-next: manual merge of the cortex tree with the arm tree Stephen Rothwell
2013-02-02 12:21 ` Russell King
2013-02-02 13:37 ` Stephen Rothwell
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).