Skip to contentSkip to conversation

ARM: shmobile: r8a7790 8-core boot prototype

PATCH In review Magnus Damm 2 participants 6 messages Apr 8, 2014 – Apr 10, 2014 SuperH

lore
Share & tools
lore
#0 lore raw

cover ARM: shmobile: r8a7790 8-core boot prototype

ARM: shmobile: r8a7790 8-core boot prototype

[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support [PATCH 02/02] ARM: shmobile: r8a7790 CCI configuration

Prototype patches to allow 8-core boot on r8a7790. The first patch unlocks multicluster support to allo SMP boot of all CPU cores, and the second initializes the CCI-400 hardware.

Not for upstream merge.

---

Applies on top of renesas-devel-v3.14-20140408

 arch/arm/mach-shmobile/platsmp-apmu.c |   16 ++++++++++++++--
 arch/arm/mach-shmobile/smp-r8a7790.c  |   15 +++++++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)
#1 lore raw
Quoted 8 lines · Magnus Damm

ARM: shmobile: r8a7790 8-core boot prototype

[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support [PATCH 02/02] ARM: shmobile: r8a7790 CCI configuration

Prototype patches to allow 8-core boot on r8a7790. The first patch unlocks multicluster support to allo SMP boot of all CPU cores, and the second initializes the CCI-400 hardware.

Hi Magnus,

I applied these patches on top of renesas-devel-v3.14-20140408, compiled using the shmobile_defconfig, and booted a Lager board. I was expecting to see 8 cores in /proc/cpuinfo but I only see 4.

Are my expectations wrong or am I missing something?

Quoted 11 lines

Not for upstream merge.

---

Applies on top of renesas-devel-v3.14-20140408

 arch/arm/mach-shmobile/platsmp-apmu.c |   16 ++++++++++++++--
 arch/arm/mach-shmobile/smp-r8a7790.c  |   15 +++++++++++++++
 2 files changed, 29 insertions(+), 2 deletions(-)
#2 lore raw
In reply to Magnus Damm

Hi Simon,

Quoted 10 lines · Simon Horman
Quoted 8 lines · Magnus Damm

ARM: shmobile: r8a7790 8-core boot prototype

[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support [PATCH 02/02] ARM: shmobile: r8a7790 CCI configuration

Prototype patches to allow 8-core boot on r8a7790. The first patch unlocks multicluster support to allo SMP boot of all CPU cores, and the second initializes the CCI-400 hardware.

Quoted 7 lines

Hi Magnus,

I applied these patches on top of renesas-devel-v3.14-20140408, compiled using the shmobile_defconfig, and booted a Lager board. I was expecting to see 8 cores in /proc/cpuinfo but I only see 4.

Are my expectations wrong or am I missing something?

The maximum number of CPUs in the kernel config may be limited to 4 by default?

Also, to use CA7 with upstream you need to disable the arch timer and rely on CMT.

To clarify, I don't expect these to be merged upstream. Also, I don't believe the standard kernel config needs to work out of the box.

Cheers,

/ magnus

#3 lore raw
In reply to Magnus Damm
Quoted 15 lines · Magnus Damm

Hi Simon,

Quoted 12 lines · Simon Horman
Quoted 8 lines · Magnus Damm

ARM: shmobile: r8a7790 8-core boot prototype

[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support [PATCH 02/02] ARM: shmobile: r8a7790 CCI configuration

Prototype patches to allow 8-core boot on r8a7790. The first patch unlocks multicluster support to allo SMP boot of all CPU cores, and the second initializes the CCI-400 hardware.

Hi Magnus,

Quoted 7 lines
Quoted 5 lines

I applied these patches on top of renesas-devel-v3.14-20140408, compiled using the shmobile_defconfig, and booted a Lager board. I was expecting to see 8 cores in /proc/cpuinfo but I only see 4.

Are my expectations wrong or am I missing something?

The maximum number of CPUs in the kernel config may be limited to 4 by default?

The shmobile_defconfig yeilds CONFIG_NR_CPUS=8, which seems fine.

Quoted 2 lines

Also, to use CA7 with upstream you need to disable the arch timer and rely on CMT.

Thanks I have disabled CONFIG_HAVE_ARM_ARCH_TIMER.

Quoted 2 lines

To clarify, I don't expect these to be merged upstream. Also, I don't believe the standard kernel config needs to work out of the box.

That is fine. But even with the above tweak I still don't see 8 CPUs so I do wonder what the trick to seeing them is.

...
CPU: Testing write buffer coherency: ok
CPU0: update cpu_power 1535
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x404141b8 - 0x40414210
CPU1: Booted secondary processor
CPU1: update cpu_power 1535
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: update cpu_power 1535
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: update cpu_power 1535
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
CPU4: failed to boot: -22
CPU5: failed to boot: -22
CPU6: failed to boot: -22
CPU7: failed to boot: -22
Brought up 4 CPUs
SMP: Total of 4 processors activated.
CPU: All CPU(s) started in SVC mode.
...

#4 lore raw
In reply to Magnus Damm

Hi Simon,

Quoted 51 lines · Simon Horman
Quoted 15 lines · Magnus Damm

Hi Simon,

Quoted 12 lines · Simon Horman
Quoted 8 lines · Magnus Damm

ARM: shmobile: r8a7790 8-core boot prototype

[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support [PATCH 02/02] ARM: shmobile: r8a7790 CCI configuration

Prototype patches to allow 8-core boot on r8a7790. The first patch unlocks multicluster support to allo SMP boot of all CPU cores, and the second initializes the CCI-400 hardware.

Hi Magnus,

Quoted 7 lines
Quoted 5 lines

I applied these patches on top of renesas-devel-v3.14-20140408, compiled using the shmobile_defconfig, and booted a Lager board. I was expecting to see 8 cores in /proc/cpuinfo but I only see 4.

Are my expectations wrong or am I missing something?

The maximum number of CPUs in the kernel config may be limited to 4 by default?

The shmobile_defconfig yeilds CONFIG_NR_CPUS=8, which seems fine.

Quoted 2 lines

Also, to use CA7 with upstream you need to disable the arch timer and rely on CMT.

Thanks I have disabled CONFIG_HAVE_ARM_ARCH_TIMER.

Quoted 2 lines

To clarify, I don't expect these to be merged upstream. Also, I don't believe the standard kernel config needs to work out of the box.

That is fine. But even with the above tweak I still don't see 8 CPUs so I do wonder what the trick to seeing them is.

...
CPU: Testing write buffer coherency: ok
CPU0: update cpu_power 1535
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x404141b8 - 0x40414210
CPU1: Booted secondary processor
CPU1: update cpu_power 1535
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: update cpu_power 1535
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: update cpu_power 1535
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003

Quoted 8 lines

CPU4: failed to boot: -22
CPU5: failed to boot: -22
CPU6: failed to boot: -22
CPU7: failed to boot: -22
Brought up 4 CPUs
SMP: Total of 4 processors activated.
CPU: All CPU(s) started in SVC mode.
...

Thanks for providing more information. I wonder, perhaps I forgot to tell you to also pass "apmu=multicluster" on the kernel command line to enable all cpus?

The unlocking of multiplatform support is implemented in:
[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support

Cheers,

/ magnus

#5 lore raw
In reply to Magnus Damm
Quoted 64 lines · Magnus Damm

Hi Simon,

Quoted 51 lines · Simon Horman
Quoted 15 lines · Magnus Damm

Hi Simon,

Quoted 12 lines · Simon Horman
Quoted 8 lines · Magnus Damm

ARM: shmobile: r8a7790 8-core boot prototype

[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support [PATCH 02/02] ARM: shmobile: r8a7790 CCI configuration

Prototype patches to allow 8-core boot on r8a7790. The first patch unlocks multicluster support to allo SMP boot of all CPU cores, and the second initializes the CCI-400 hardware.

Hi Magnus,

Quoted 7 lines
Quoted 5 lines

I applied these patches on top of renesas-devel-v3.14-20140408, compiled using the shmobile_defconfig, and booted a Lager board. I was expecting to see 8 cores in /proc/cpuinfo but I only see 4.

Are my expectations wrong or am I missing something?

The maximum number of CPUs in the kernel config may be limited to 4 by default?

The shmobile_defconfig yeilds CONFIG_NR_CPUS=8, which seems fine.

Quoted 2 lines

Also, to use CA7 with upstream you need to disable the arch timer and rely on CMT.

Thanks I have disabled CONFIG_HAVE_ARM_ARCH_TIMER.

Quoted 2 lines

To clarify, I don't expect these to be merged upstream. Also, I don't believe the standard kernel config needs to work out of the box.

That is fine. But even with the above tweak I still don't see 8 CPUs so I do wonder what the trick to seeing them is.

...
CPU: Testing write buffer coherency: ok
CPU0: update cpu_power 1535
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x404141b8 - 0x40414210
CPU1: Booted secondary processor
CPU1: update cpu_power 1535
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: update cpu_power 1535
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: update cpu_power 1535
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003

Quoted 8 lines

CPU4: failed to boot: -22
CPU5: failed to boot: -22
CPU6: failed to boot: -22
CPU7: failed to boot: -22
Brought up 4 CPUs
SMP: Total of 4 processors activated.
CPU: All CPU(s) started in SVC mode.
...

Quoted 3 lines

Thanks for providing more information. I wonder, perhaps I forgot to tell you to also pass "apmu=multicluster" on the kernel command line to enable all cpus?

Thanks, that was the piece that I was missing.

Quoted 12 lines

The unlocking of multiplatform support is implemented in:
[PATCH 01/02] ARM: shmobile: Multicluster APMU prototype support

Cheers,

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html