Skip to contentSkip to conversation

Add ARM11 MPCore CPU target support

PATCH New Sergi Granell 3 participants 5 messages Nov 28, 2015 – Dec 27, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add ARM11 MPCore CPU target support

---
 arch/Config.in.arm | 8 ++++++++
 1 file changed, 8 insertions(+)
arch/Config.in.arm +8 -0
index 67ff384..f9cfc22 100644
@@ -104,6 +104,13 @@ config BR2_arm1176jzf_s
 	select BR2_ARM_CPU_HAS_THUMB
 	select BR2_ARM_CPU_ARMV6
 	select BR2_ARCH_HAS_MMU_OPTIONAL
+config BR2_arm11mpcore
+	bool "arm11mpcore"
+	select BR2_ARM_CPU_HAS_ARM
+	select BR2_ARM_CPU_HAS_VFPV2
+	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6
+	select BR2_ARCH_HAS_MMU_OPTIONAL
 config BR2_cortex_a5
 	bool "cortex-A5"
 	select BR2_ARM_CPU_HAS_ARM
@@ -419,6 +426,7 @@ config BR2_GCC_TARGET_CPU
 	default "arm1136jf-s"	if BR2_arm1136jf_s
 	default "arm1176jz-s"	if BR2_arm1176jz_s
 	default "arm1176jzf-s"	if BR2_arm1176jzf_s
+	default "mpcore"	if BR2_arm11mpcore
 	default "cortex-a5"	if BR2_cortex_a5
 	default "cortex-a7"	if BR2_cortex_a7
 	default "cortex-a8"	if BR2_cortex_a8
Signature · 1 line
2.6.2
#1 lore raw

PATCH 1/1 Add ARM11 MPCore CPU target support

Sergi, All,

On 2015-11-28 10:59 +0100, Sergi Granell spake thusly:

Quoted 10 lines
---
 arch/Config.in.arm | 8 ++++++++
 1 file changed, 8 insertions(+)
arch/Config.in.arm +0 -0
index 67ff384..f9cfc22 100644

arch/Config.in.arm config BR2_arm1176jzf_s · line 110

Quoted 7 lines
arch/Config.in.arm +4 -0
@@ -104,6 +104,13 @@ config BR2_arm1176jzf_s
 	select BR2_ARM_CPU_HAS_THUMB
 	select BR2_ARM_CPU_ARMV6
 	select BR2_ARCH_HAS_MMU_OPTIONAL
+config BR2_arm11mpcore
+	bool "arm11mpcore"
+	select BR2_ARM_CPU_HAS_ARM
+	select BR2_ARM_CPU_HAS_VFPV2

I wonder if we should not make VFP optional, and change the CPU nme on whether the user has enabled VFP, like:

    config BR2_arm11mpcore
        bool "mpcore"
        [...]
        select BR2_ARM_CPU_MAYBE_HAS_VFPV2
        [...]

    config BR2_GCC_TARGET_CPU
        [...]
        default "mpcore"        if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
        default "mpcorenovfp"   if BR2_arm11mpcore
        [...]

(note that the second default does not need !VFPV2, since Kconfig will stop on the first matching default, so the second will only match if the first does not, which means it would only match without a VFP).

(also note that I just named the prompt 'mpcore' instead of 'arm11mpcore', since that's how gcc knows it as).

Also, since the selection gets a bit more tricky, you need to explain that in the commit log, with something along the lines of (feel free to adapt to your own taste! ;-) ):

gcc differentiates the mpcore-with-vfp from the mcpore-without-vfp CPUs. The former is named just 'mpcore', while the latter is named 'mpcorenovfp'.

We only add one entry, 'mpcore' and let the user select whether or not to use the VFP. We then name the CPU according to the user's selection.

Care to fix and resend, please?

Regards,
Yann E. MORIN.

Quoted 21 lines
arch/Config.in.arm +4 -0
+	select BR2_ARM_CPU_HAS_THUMB
+	select BR2_ARM_CPU_ARMV6
+	select BR2_ARCH_HAS_MMU_OPTIONAL
 config BR2_cortex_a5
 	bool "cortex-A5"
 	select BR2_ARM_CPU_HAS_ARM
@@ -419,6 +426,7 @@ config BR2_GCC_TARGET_CPU
 	default "arm1136jf-s"	if BR2_arm1136jf_s
 	default "arm1176jz-s"	if BR2_arm1176jz_s
 	default "arm1176jzf-s"	if BR2_arm1176jzf_s
+	default "mpcore"	if BR2_arm11mpcore
 	default "cortex-a5"	if BR2_cortex_a5
 	default "cortex-a7"	if BR2_cortex_a7
 	default "cortex-a8"	if BR2_cortex_a8
Signature · 6 lines
2.6.2

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH 1/1 Add ARM11 MPCore CPU target support

Yann,

Sergi sent a v2 of his patch... but your suggestion doesn't work. See below.

Quoted 14 lines · Yann E. MORIN

I wonder if we should not make VFP optional, and change the CPU nme on whether the user has enabled VFP, like:

    config BR2_arm11mpcore
        bool "mpcore"
        [...]
        select BR2_ARM_CPU_MAYBE_HAS_VFPV2
        [...]

    config BR2_GCC_TARGET_CPU
        [...]
        default "mpcore"        if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
        default "mpcorenovfp"   if BR2_arm11mpcore
        [...]

This doesn't work, because BR2_ARM_CPU_HAS_VFPV2 is not a user visible option, and there is nothing that selects it in the current Buildroot. Therefore the "mpcore" case can never be reached.

Consequently, I am tempted to take v1 of Sergi's patch. Yes, it means we don't support the no-VFP variant of ARM11 MPCore, but I'm not sure there are lots of ARM11 MPCore without a VFP, so maybe supporting mpcorenovfp is not worth the effort for the moment.

Thoughts?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/1 Add ARM11 MPCore CPU target support

Thomas, All,

On 2015-12-23 23:10 +0100, Thomas Petazzoni spake thusly:

Quoted 24 lines

Sergi sent a v2 of his patch... but your suggestion doesn't work. See below.

Quoted 14 lines · Yann E. MORIN

I wonder if we should not make VFP optional, and change the CPU nme on whether the user has enabled VFP, like:

    config BR2_arm11mpcore
        bool "mpcore"
        [...]
        select BR2_ARM_CPU_MAYBE_HAS_VFPV2
        [...]

    config BR2_GCC_TARGET_CPU
        [...]
        default "mpcore"        if BR2_arm11mpcore && BR2_ARM_CPU_HAS_VFPV2
        default "mpcorenovfp"   if BR2_arm11mpcore
        [...]

This doesn't work, because BR2_ARM_CPU_HAS_VFPV2 is not a user visible option, and there is nothing that selects it in the current Buildroot. Therefore the "mpcore" case can never be reached.

Quoted 6 lines

Consequently, I am tempted to take v1 of Sergi's patch. Yes, it means we don't support the no-VFP variant of ARM11 MPCore, but I'm not sure there are lots of ARM11 MPCore without a VFP, so maybe supporting mpcorenovfp is not worth the effort for the moment.

Thoughts?

I think that with the newly VFP stuff we committed today, we could slightly rework that patch and make it work, no? ;-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#4 lore raw

PATCH 1/1 Add ARM11 MPCore CPU target support

Yann,

Quoted 2 lines · Yann E. MORIN

I think that with the newly VFP stuff we committed today, we could slightly rework that patch and make it work, no? ;-)

Absolutely :)

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com