diff mbox

powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

Message ID 992d2bea-019a-3969-e154-10b9b43ab6fc@sysgo.com (mailing list archive)
State Superseded
Delegated to: Scott Wood
Headers show

Commit Message

David Engraf Oct. 7, 2016, 9 a.m. UTC
Am 27.09.2016 um 01:08 schrieb Scott Wood:
> On Mon, 2016-09-26 at 10:48 +0200, David Engraf wrote:
>> Am 25.09.2016 um 08:20 schrieb Scott Wood:
>>>
>>> On Mon, Aug 22, 2016 at 04:46:43PM +0200, David Engraf wrote:
>>>>
>>>> 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 <david.engraf@sysgo.com>
>>>> ---
>>>>  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.

Please find attached the new version, setting E500 and PPC_E500MC on 64 
bit for review.

- David

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

Comments

Crystal Wood Nov. 15, 2016, 5:47 a.m. UTC | #1
On Fri, 2016-10-07 at 11:00 +0200, David Engraf wrote:
> Am 27.09.2016 um 01:08 schrieb Scott Wood:
> > 
> > On Mon, 2016-09-26 at 10:48 +0200, David Engraf wrote:
> > > 
> > > Am 25.09.2016 um 08:20 schrieb Scott Wood:
> > > > 
> > > > 
> > > > On Mon, Aug 22, 2016 at 04:46:43PM +0200, David Engraf wrote:
> > > > > 
> > > > > 
> > > > > 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 <david.engraf@sysgo.com>
> > > > > ---
> > > > >  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.
> 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
diff mbox

Patch

diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index df25a3e..7e18456 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -253,6 +253,8 @@  endif # PPC32
 config PPC_QEMU_E500
 	bool "QEMU generic e500 platform"
 	select DEFAULT_UIMAGE
+	select E500
+	select PPC_E500MC if PPC64
 	help
 	  This option enables support for running as a QEMU guest using
 	  QEMU's generic e500 machine.  This is not required if you're