[PATCH] powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3577d

6 messages, 2 authors, 2016-11-15 · open the first message on its own page

[PATCH] powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

From: David Engraf <hidden>
Date: 2016-08-22 14:56:30

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.cputype b/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_CPU
 
 config 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_E500MC
 
 endchoice
 
-- 
1.9.1

Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

From: Scott Wood <oss@buserror.net>
Date: 2016-09-25 06:20:33

On Mon, Aug 22, 2016 at 04:46:43PM +0200, David Engraf wrote:
quoted hunk
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.cputype b/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_CPU
 
 config 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_E500MC
These config symbols are for setting -mcpu.  Kernels built with
CONFIG_GENERIC_CPU should also work on e5500/e6500.

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).

Note that your patch, by eliminating the dependency on E500, would make
it possible to build a book3s kernel with E5500_CPU/E6500_CPU, which
doesn't make any sense.

-Scott

Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

From: David Engraf <hidden>
Date: 2016-09-26 08:48:38

Am 25.09.2016 um 08:20 schrieb Scott Wood:
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.cputype b/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_CPU

 config 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_E500MC
These config symbols are for setting -mcpu.  Kernels built with
CONFIG_GENERIC_CPU should also work on e5500/e6500.
I don't think so. 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).
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. Right now the way how to 
configure such a BSP is not clear, you need to open "Processor support" 
and select the "Processor Type", then switch to "Platform support" to 
select the BSP and afterward got back to "Processor support" to switch 
from the generic CPU type to e5500/e6500.
Note that your patch, by eliminating the dependency on E500, would make
it possible to build a book3s kernel with E5500_CPU/E6500_CPU, which
doesn't make any sense.
You're right. The attached version fixes this.

- David

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

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.cputype
b/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_CPU
 config 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_E500MC
These 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

Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

From: David Engraf <hidden>
Date: 2016-10-07 09:00:23

Am 27.09.2016 um 01:08 schrieb Scott Wood:
On Mon, 2016-09-26 at 10:48 +0200, David Engraf wrote:
quoted
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.cputype
b/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_CPU

 config 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_E500MC
These 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.
quoted
 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.
Please find attached the new version, setting E500 and PPC_E500MC on 64 
bit for review.

- David
quoted
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

Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

From: Scott Wood <oss@buserror.net>
Date: 2016-11-15 05:47:28

On Fri, 2016-10-07 at 11:00 +0200, David Engraf wrote:
Am 27.09.2016 um 01:08 schrieb Scott Wood:
quoted
On Mon, 2016-09-26 at 10:48 +0200, David Engraf wrote:
quoted
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.cputype
b/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_CPU
 config 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_E500MC
These 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.
quoted
 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.
Please find attached the new version, setting E500 and PPC_E500MC on 64 
bit for review.
Could you send as a standalone patch (not an attachment) with changelog and
signoff so I can apply it?

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help