Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500
From: Scott Wood <oss@buserror.net>
Date: 2016-09-26 23:09:14
Also in:
lkml
On Mon, 2016-09-26 at 10:48 +0200, David Engraf wrote:
Am 25.09.2016 um 08:20 schrieb Scott Wood:quoted
On Mon, Aug 22, 2016 at 04:46:43PM +0200, David Engraf wrote:quoted
The PowerPC e5500/e6500 architecture is based on the e500mc core. Enable CONFIG_E500 and CONFIG_PPC_E500MC when e5500/e6500 is used. This will also fix using CONFIG_PPC_QEMU_E500 on PPC64. Signed-off-by: David Engraf <redacted> --- arch/powerpc/platforms/Kconfig.cputype | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)diff --git a/arch/powerpc/platforms/Kconfig.cputypeb/arch/powerpc/platforms/Kconfig.cputype index f32edec..0382da7 100644--- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype@@ -125,11 +125,13 @@ config POWER8_CPUconfig E5500_CPU bool "Freescale e5500" - depends on E500 + select E500 + select PPC_E500MC config E6500_CPU bool "Freescale e6500" - depends on E500 + select E500 + select PPC_E500MCThese config symbols are for setting -mcpu. Kernels built with CONFIG_GENERIC_CPU should also work on e5500/e6500.I don't think so.
I do think so. It's what you get when you run "make corenet64_smp_defconfig" and that kernel works on e5500/e6500.
At least on QEMU it is not working because e5500/e6500 is based on the e500mc core and the option CONFIG_PPC_E500MC also controls the cpu features (check cputable.h).
Again, this is only a problem when you have CONFIG_PPC_QEMU_E500 without CONFIG_CORENET_GENERIC, and the fix for that is to have CONFIG_PPC_QEMU_E500 select CONFIG_E500 (and you need to manually turn on CONFIG_PPC_E500MC if applicable, since CONFIG_PPC_QEMU_E500 can also be used with e500v2). I wouldn't be opposed to also adding "select PPC_E500MC if PPC64" to CONFIG_PPC_QEMU_E500.
quoted
The problem is that CONFIG_PPC_QEMU_E500 doesn't select E500 (I didn't notice it before because usually CORENET_GENERIC is enabled as well).I noticed that as well, but I think it makes more sense to select E500/PPC_E500MC within the cputype menu instead of having a dependency which might be not clear for the user.
Again, that breaks CONFIG_GENERIC_CPU. Unlike 32-bit, all 64-bit book3e targets are supposed to be supportable with a single kernel image. -Scott