Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1490819 > unrolled thread

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

Started byScott Wood <oss@buserror.net>
First post2016-09-25 08:30 +0200
Last post2016-10-07 11:10 +0200
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for  e5500/e6500 Scott Wood <oss@buserror.net> - 2016-09-25 08:30 +0200
    Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for  e5500/e6500 David Engraf <david.engraf@sysgo.com> - 2016-09-26 10:50 +0200
      Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for  e5500/e6500 Scott Wood <oss@buserror.net> - 2016-09-27 01:20 +0200
        Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for  e5500/e6500 David Engraf <david.engraf@sysgo.com> - 2016-10-07 11:10 +0200

#1490819 — Re: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500

FromScott Wood <oss@buserror.net>
Date2016-09-25 08:30 +0200
SubjectRe: powerpc64: Enable CONFIG_E500 and CONFIG_PPC_E500MC for e5500/e6500
Message-ID<slb6N-35R-5@gated-at.bofh.it>
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.

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

[toc] | [next] | [standalone]


#1491152

FromDavid Engraf <david.engraf@sysgo.com>
Date2016-09-26 10:50 +0200
Message-ID<slzLP-1BO-1@gated-at.bofh.it>
In reply to#1490819

[Multipart message — attachments visible in raw view] — view raw

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

[toc] | [prev] | [next] | [standalone]


#1491597

FromScott Wood <oss@buserror.net>
Date2016-09-27 01:20 +0200
Message-ID<slNlL-1I1-5@gated-at.bofh.it>
In reply to#1491152
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.

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

[toc] | [prev] | [next] | [standalone]


#1497088

FromDavid Engraf <david.engraf@sysgo.com>
Date2016-10-07 11:10 +0200
Message-ID<spzkd-6yd-11@gated-at.bofh.it>
In reply to#1491597

[Multipart message — attachments visible in raw view] — view raw

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
>

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web