ARM: shmobile: r8a7790 8-core boot prototype
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(-)
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.
Signed-off-by Magnus Damm <[email protected]>---
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(-)
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/cpuinfobut 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
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/cpuinfobut 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.
...
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/cpuinfobut 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_defconfigyeildsCONFIG_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: updatecpu_power1535
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for0x404141b8-0x40414210
CPU1: Booted secondary processor
CPU1: updatecpu_power1535
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: updatecpu_power1535
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: updatecpu_power1535
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
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/cpuinfobut 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_defconfigyeildsCONFIG_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: updatecpu_power1535
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for0x404141b8-0x40414210
CPU1: Booted secondary processor
CPU1: updatecpu_power1535
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: updatecpu_power1535
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: updatecpu_power1535
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003Quoted 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 supportCheers,
/ 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