mbox

Pull request: scottwood/linux.git next

Message ID 20130808224501.GA8925@home.buserror.net (mailing list archive)
State Not Applicable
Headers show

Pull-request

git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git next

Message

Scott Wood Aug. 8, 2013, 10:45 p.m. UTC
The following changes since commit 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b:

  Linux 3.11-rc2 (2013-07-21 12:05:29 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git next

for you to fetch changes up to c8db32c8669f7de05b820ee4934926405af52188:

  powerpc/e500: Update compilation flags with core specific options (2013-08-07 18:49:44 -0500)

----------------------------------------------------------------
Catalin Udma (2):
      powerpc/perf: increase the perf HW events to 6
      powerpc/e500: Update compilation flags with core specific options

Dongsheng Wang (1):
      powerpc/mpc85xx: invalidate TLB after hibernation resume

Haijun.Zhang (2):
      powerpc/85xx: add P1020RDB-PD platform support
      powerpc/85xx: add the P1020RDB-PD DTS support

Hongtao Jia (3):
      powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h
      powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx
      powerpc/msi: Fix compile error on mpc83xx

Ian Campbell (1):
      powerpc/fsl-booke: Rename b4qds.dts -> b4qds.dtsi.

Kevin Hao (3):
      powerpc/mpc85xx: remove the unneeded pci init functions for corenet ds board
      powerpc/fsl-pci: fix the unreachable warning message
      powerpc/fsl-pci: enable SWIOTLB in function setup_pci_atmu

Laurentiu TUDOR (1):
      powerpc/85xx: Move ePAPR paravirt initialization earlier

Lijun Pan (2):
      powerpc/perf: correct typos in counter enumeration
      powerpc/perf: add 2 additional performance monitor counters for e6500 core

Minghuan Lian (3):
      powerpc/dts: update MSI bindings doc for MPIC v4.3
      powerpc/dts: add MPIC v4.3 dts node
      powerpc/fsl_msi: add MSIIR1 support for MPIC v4.3

Priyanka Jain (1):
      powerpc/perf: Add e6500 PMU driver

Wei Yongjun (1):
      powerpc/fsl_msi: fix error return code in fsl_of_msi_probe()

Yuanquan Chen (1):
      powerpc/pci: fix PCI-e check link issue

Zhenhua Luo (1):
      powerpc/fsl: Enable CONFIG_DEVTMPFS_MOUNT so /dev can be mounted correctly

 .../devicetree/bindings/powerpc/fsl/msi-pic.txt    |  53 +++-
 arch/powerpc/Makefile                              |  18 +-
 arch/powerpc/boot/dts/b4420qds.dts                 |   2 +-
 arch/powerpc/boot/dts/b4860qds.dts                 |   2 +-
 arch/powerpc/boot/dts/{b4qds.dts => b4qds.dtsi}    |   0
 arch/powerpc/boot/dts/fsl/b4si-post.dtsi           |   2 +-
 arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi       | 149 +++++++++++
 arch/powerpc/boot/dts/fsl/t4240si-post.dtsi        |   2 +-
 arch/powerpc/boot/dts/p1020rdb-pd.dts              | 280 +++++++++++++++++++++
 arch/powerpc/configs/85xx/p1023rds_defconfig       |   1 +
 arch/powerpc/configs/corenet32_smp_defconfig       |   1 +
 arch/powerpc/configs/corenet64_smp_defconfig       |   1 +
 arch/powerpc/configs/mpc83xx_defconfig             |   1 +
 arch/powerpc/configs/mpc85xx_defconfig             |   1 +
 arch/powerpc/configs/mpc85xx_smp_defconfig         |   1 +
 arch/powerpc/include/asm/epapr_hcalls.h            |   6 +
 arch/powerpc/include/asm/mpic.h                    |   7 +
 arch/powerpc/include/asm/perf_event_fsl_emb.h      |   2 +-
 arch/powerpc/include/asm/ppc-opcode.h              |  47 ++++
 arch/powerpc/include/asm/reg_fsl_emb.h             |  24 +-
 arch/powerpc/kernel/cpu_setup_fsl_booke.S          |   2 +-
 arch/powerpc/kernel/cputable.c                     |   2 +-
 arch/powerpc/kernel/epapr_paravirt.c               |  28 ++-
 arch/powerpc/kernel/setup_32.c                     |   4 +-
 arch/powerpc/kernel/setup_64.c                     |   3 +
 arch/powerpc/kernel/swsusp_booke.S                 |   8 +
 arch/powerpc/kernel/traps.c                        |   3 +
 arch/powerpc/kvm/emulate.c                         |  45 +---
 arch/powerpc/oprofile/op_model_fsl_emb.c           |  30 +++
 arch/powerpc/perf/Makefile                         |   2 +-
 arch/powerpc/perf/core-fsl-emb.c                   |  30 +++
 arch/powerpc/perf/e6500-pmu.c                      | 121 +++++++++
 arch/powerpc/platforms/85xx/corenet_ds.c           |   6 -
 arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |  22 ++
 arch/powerpc/sysdev/fsl_msi.c                      | 137 +++++++---
 arch/powerpc/sysdev/fsl_msi.h                      |  10 +-
 arch/powerpc/sysdev/fsl_pci.c                      | 184 ++++++++++++--
 arch/powerpc/sysdev/fsl_pci.h                      |   6 +
 38 files changed, 1088 insertions(+), 155 deletions(-)
 rename arch/powerpc/boot/dts/{b4qds.dts => b4qds.dtsi} (100%)
 create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi
 create mode 100644 arch/powerpc/boot/dts/p1020rdb-pd.dts
 create mode 100644 arch/powerpc/perf/e6500-pmu.c

Comments

Benjamin Herrenschmidt Aug. 9, 2013, 6:03 a.m. UTC | #1
On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
> The following changes since commit 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b:
> 
>   Linux 3.11-rc2 (2013-07-21 12:05:29 -0700)
> 
> are available in the git repository at:

Next time, put a little blurb at the head of the pull request giving a
rough highlight, like I do when I send a pull request to Linus.

Thanks !

Cheers,
Ben.

>   git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git next
> 
> for you to fetch changes up to c8db32c8669f7de05b820ee4934926405af52188:
> 
>   powerpc/e500: Update compilation flags with core specific options (2013-08-07 18:49:44 -0500)
> 
> ----------------------------------------------------------------
> Catalin Udma (2):
>       powerpc/perf: increase the perf HW events to 6
>       powerpc/e500: Update compilation flags with core specific options
> 
> Dongsheng Wang (1):
>       powerpc/mpc85xx: invalidate TLB after hibernation resume
> 
> Haijun.Zhang (2):
>       powerpc/85xx: add P1020RDB-PD platform support
>       powerpc/85xx: add the P1020RDB-PD DTS support
> 
> Hongtao Jia (3):
>       powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h
>       powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx
>       powerpc/msi: Fix compile error on mpc83xx
> 
> Ian Campbell (1):
>       powerpc/fsl-booke: Rename b4qds.dts -> b4qds.dtsi.
> 
> Kevin Hao (3):
>       powerpc/mpc85xx: remove the unneeded pci init functions for corenet ds board
>       powerpc/fsl-pci: fix the unreachable warning message
>       powerpc/fsl-pci: enable SWIOTLB in function setup_pci_atmu
> 
> Laurentiu TUDOR (1):
>       powerpc/85xx: Move ePAPR paravirt initialization earlier
> 
> Lijun Pan (2):
>       powerpc/perf: correct typos in counter enumeration
>       powerpc/perf: add 2 additional performance monitor counters for e6500 core
> 
> Minghuan Lian (3):
>       powerpc/dts: update MSI bindings doc for MPIC v4.3
>       powerpc/dts: add MPIC v4.3 dts node
>       powerpc/fsl_msi: add MSIIR1 support for MPIC v4.3
> 
> Priyanka Jain (1):
>       powerpc/perf: Add e6500 PMU driver
> 
> Wei Yongjun (1):
>       powerpc/fsl_msi: fix error return code in fsl_of_msi_probe()
> 
> Yuanquan Chen (1):
>       powerpc/pci: fix PCI-e check link issue
> 
> Zhenhua Luo (1):
>       powerpc/fsl: Enable CONFIG_DEVTMPFS_MOUNT so /dev can be mounted correctly
> 
>  .../devicetree/bindings/powerpc/fsl/msi-pic.txt    |  53 +++-
>  arch/powerpc/Makefile                              |  18 +-
>  arch/powerpc/boot/dts/b4420qds.dts                 |   2 +-
>  arch/powerpc/boot/dts/b4860qds.dts                 |   2 +-
>  arch/powerpc/boot/dts/{b4qds.dts => b4qds.dtsi}    |   0
>  arch/powerpc/boot/dts/fsl/b4si-post.dtsi           |   2 +-
>  arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi       | 149 +++++++++++
>  arch/powerpc/boot/dts/fsl/t4240si-post.dtsi        |   2 +-
>  arch/powerpc/boot/dts/p1020rdb-pd.dts              | 280 +++++++++++++++++++++
>  arch/powerpc/configs/85xx/p1023rds_defconfig       |   1 +
>  arch/powerpc/configs/corenet32_smp_defconfig       |   1 +
>  arch/powerpc/configs/corenet64_smp_defconfig       |   1 +
>  arch/powerpc/configs/mpc83xx_defconfig             |   1 +
>  arch/powerpc/configs/mpc85xx_defconfig             |   1 +
>  arch/powerpc/configs/mpc85xx_smp_defconfig         |   1 +
>  arch/powerpc/include/asm/epapr_hcalls.h            |   6 +
>  arch/powerpc/include/asm/mpic.h                    |   7 +
>  arch/powerpc/include/asm/perf_event_fsl_emb.h      |   2 +-
>  arch/powerpc/include/asm/ppc-opcode.h              |  47 ++++
>  arch/powerpc/include/asm/reg_fsl_emb.h             |  24 +-
>  arch/powerpc/kernel/cpu_setup_fsl_booke.S          |   2 +-
>  arch/powerpc/kernel/cputable.c                     |   2 +-
>  arch/powerpc/kernel/epapr_paravirt.c               |  28 ++-
>  arch/powerpc/kernel/setup_32.c                     |   4 +-
>  arch/powerpc/kernel/setup_64.c                     |   3 +
>  arch/powerpc/kernel/swsusp_booke.S                 |   8 +
>  arch/powerpc/kernel/traps.c                        |   3 +
>  arch/powerpc/kvm/emulate.c                         |  45 +---
>  arch/powerpc/oprofile/op_model_fsl_emb.c           |  30 +++
>  arch/powerpc/perf/Makefile                         |   2 +-
>  arch/powerpc/perf/core-fsl-emb.c                   |  30 +++
>  arch/powerpc/perf/e6500-pmu.c                      | 121 +++++++++
>  arch/powerpc/platforms/85xx/corenet_ds.c           |   6 -
>  arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |  22 ++
>  arch/powerpc/sysdev/fsl_msi.c                      | 137 +++++++---
>  arch/powerpc/sysdev/fsl_msi.h                      |  10 +-
>  arch/powerpc/sysdev/fsl_pci.c                      | 184 ++++++++++++--
>  arch/powerpc/sysdev/fsl_pci.h                      |   6 +
>  38 files changed, 1088 insertions(+), 155 deletions(-)
>  rename arch/powerpc/boot/dts/{b4qds.dts => b4qds.dtsi} (100%)
>  create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi
>  create mode 100644 arch/powerpc/boot/dts/p1020rdb-pd.dts
>  create mode 100644 arch/powerpc/perf/e6500-pmu.c
Kumar Gala Aug. 9, 2013, 2:43 p.m. UTC | #2
On Aug 9, 2013, at 1:03 AM, Benjamin Herrenschmidt wrote:

> On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
>> The following changes since commit 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b:
>> 
>>  Linux 3.11-rc2 (2013-07-21 12:05:29 -0700)
>> 
>> are available in the git repository at:
> 
> Next time, put a little blurb at the head of the pull request giving a
> rough highlight, like I do when I send a pull request to Linus.
> 
> Thanks !
> 
> Cheers,
> Ben.

Also, I think we should pull a few of the commits in here out and submit for 3.11

     powerpc/msi: Fix compile error on mpc83xx
     powerpc/fsl_msi: fix error return code in fsl_of_msi_probe()
     powerpc/pci: fix PCI-e check link issue

- k

> 
>>  git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git next
>> 
>> for you to fetch changes up to c8db32c8669f7de05b820ee4934926405af52188:
>> 
>>  powerpc/e500: Update compilation flags with core specific options (2013-08-07 18:49:44 -0500)
>> 
>> ----------------------------------------------------------------
>> Catalin Udma (2):
>>      powerpc/perf: increase the perf HW events to 6
>>      powerpc/e500: Update compilation flags with core specific options
>> 
>> Dongsheng Wang (1):
>>      powerpc/mpc85xx: invalidate TLB after hibernation resume
>> 
>> Haijun.Zhang (2):
>>      powerpc/85xx: add P1020RDB-PD platform support
>>      powerpc/85xx: add the P1020RDB-PD DTS support
>> 
>> Hongtao Jia (3):
>>      powerpc: Move opcode definitions from kvm/emulate.c to asm/ppc-opcode.h
>>      powerpc/85xx: Add machine check handler to fix PCIe erratum on mpc85xx
>>      powerpc/msi: Fix compile error on mpc83xx
>> 
>> Ian Campbell (1):
>>      powerpc/fsl-booke: Rename b4qds.dts -> b4qds.dtsi.
>> 
>> Kevin Hao (3):
>>      powerpc/mpc85xx: remove the unneeded pci init functions for corenet ds board
>>      powerpc/fsl-pci: fix the unreachable warning message
>>      powerpc/fsl-pci: enable SWIOTLB in function setup_pci_atmu
>> 
>> Laurentiu TUDOR (1):
>>      powerpc/85xx: Move ePAPR paravirt initialization earlier
>> 
>> Lijun Pan (2):
>>      powerpc/perf: correct typos in counter enumeration
>>      powerpc/perf: add 2 additional performance monitor counters for e6500 core
>> 
>> Minghuan Lian (3):
>>      powerpc/dts: update MSI bindings doc for MPIC v4.3
>>      powerpc/dts: add MPIC v4.3 dts node
>>      powerpc/fsl_msi: add MSIIR1 support for MPIC v4.3
>> 
>> Priyanka Jain (1):
>>      powerpc/perf: Add e6500 PMU driver
>> 
>> Wei Yongjun (1):
>>      powerpc/fsl_msi: fix error return code in fsl_of_msi_probe()
>> 
>> Yuanquan Chen (1):
>>      powerpc/pci: fix PCI-e check link issue
>> 
>> Zhenhua Luo (1):
>>      powerpc/fsl: Enable CONFIG_DEVTMPFS_MOUNT so /dev can be mounted correctly
>> 
>> .../devicetree/bindings/powerpc/fsl/msi-pic.txt    |  53 +++-
>> arch/powerpc/Makefile                              |  18 +-
>> arch/powerpc/boot/dts/b4420qds.dts                 |   2 +-
>> arch/powerpc/boot/dts/b4860qds.dts                 |   2 +-
>> arch/powerpc/boot/dts/{b4qds.dts => b4qds.dtsi}    |   0
>> arch/powerpc/boot/dts/fsl/b4si-post.dtsi           |   2 +-
>> arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi       | 149 +++++++++++
>> arch/powerpc/boot/dts/fsl/t4240si-post.dtsi        |   2 +-
>> arch/powerpc/boot/dts/p1020rdb-pd.dts              | 280 +++++++++++++++++++++
>> arch/powerpc/configs/85xx/p1023rds_defconfig       |   1 +
>> arch/powerpc/configs/corenet32_smp_defconfig       |   1 +
>> arch/powerpc/configs/corenet64_smp_defconfig       |   1 +
>> arch/powerpc/configs/mpc83xx_defconfig             |   1 +
>> arch/powerpc/configs/mpc85xx_defconfig             |   1 +
>> arch/powerpc/configs/mpc85xx_smp_defconfig         |   1 +
>> arch/powerpc/include/asm/epapr_hcalls.h            |   6 +
>> arch/powerpc/include/asm/mpic.h                    |   7 +
>> arch/powerpc/include/asm/perf_event_fsl_emb.h      |   2 +-
>> arch/powerpc/include/asm/ppc-opcode.h              |  47 ++++
>> arch/powerpc/include/asm/reg_fsl_emb.h             |  24 +-
>> arch/powerpc/kernel/cpu_setup_fsl_booke.S          |   2 +-
>> arch/powerpc/kernel/cputable.c                     |   2 +-
>> arch/powerpc/kernel/epapr_paravirt.c               |  28 ++-
>> arch/powerpc/kernel/setup_32.c                     |   4 +-
>> arch/powerpc/kernel/setup_64.c                     |   3 +
>> arch/powerpc/kernel/swsusp_booke.S                 |   8 +
>> arch/powerpc/kernel/traps.c                        |   3 +
>> arch/powerpc/kvm/emulate.c                         |  45 +---
>> arch/powerpc/oprofile/op_model_fsl_emb.c           |  30 +++
>> arch/powerpc/perf/Makefile                         |   2 +-
>> arch/powerpc/perf/core-fsl-emb.c                   |  30 +++
>> arch/powerpc/perf/e6500-pmu.c                      | 121 +++++++++
>> arch/powerpc/platforms/85xx/corenet_ds.c           |   6 -
>> arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |  22 ++
>> arch/powerpc/sysdev/fsl_msi.c                      | 137 +++++++---
>> arch/powerpc/sysdev/fsl_msi.h                      |  10 +-
>> arch/powerpc/sysdev/fsl_pci.c                      | 184 ++++++++++++--
>> arch/powerpc/sysdev/fsl_pci.h                      |   6 +
>> 38 files changed, 1088 insertions(+), 155 deletions(-)
>> rename arch/powerpc/boot/dts/{b4qds.dts => b4qds.dtsi} (100%)
>> create mode 100644 arch/powerpc/boot/dts/fsl/qoriq-mpic4.3.dtsi
>> create mode 100644 arch/powerpc/boot/dts/p1020rdb-pd.dts
>> create mode 100644 arch/powerpc/perf/e6500-pmu.c
>
Scott Wood Aug. 9, 2013, 4:30 p.m. UTC | #3
On Fri, 2013-08-09 at 09:43 -0500, Kumar Gala wrote:
> On Aug 9, 2013, at 1:03 AM, Benjamin Herrenschmidt wrote:
> 
> > On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
> >> The following changes since commit 3b2f64d00c46e1e4e9bd0bb9bb12619adac27a4b:
> >> 
> >>  Linux 3.11-rc2 (2013-07-21 12:05:29 -0700)
> >> 
> >> are available in the git repository at:
> > 
> > Next time, put a little blurb at the head of the pull request giving a
> > rough highlight, like I do when I send a pull request to Linus.
> > 
> > Thanks !
> > 
> > Cheers,
> > Ben.

Oh, sorry -- forgot.

Highlights include:
 - Setting compilation flags properly for the chosen e500 target --
among other things, on 64-bit e500 builds this will prevent the
assembler from replacing lwsync with sync, which caused a significant
slowdown on certain workloads.
 - e6500 perf support
 - MPIC MSI support for t4240/b4860-era chips
 - p1020rdb-pd board support

> Also, I think we should pull a few of the commits in here out and submit for 3.11
> 
>      powerpc/msi: Fix compile error on mpc83xx

This is poorly worded -- there is no compilation error unless you apply
a subsequent patch without this one.  A better subject would have been
"powerpc/mpic: allow fsl_mpic_primary_get_version without CONFIG_MPIC".

>      powerpc/fsl_msi: fix error return code in fsl_of_msi_probe()

This one doesn't seem that critical...

>      powerpc/pci: fix PCI-e check link issue

I agree on this one.

-Scott
Benjamin Herrenschmidt Aug. 14, 2013, 4:18 a.m. UTC | #4
On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
>       powerpc/e500: Update compilation flags with core specific
> options

This breaks the build for my FSL test configs. For some reason gcc 4.7.3
doesn't know about -mcpu=e5500

Additionally, on 64-bit, that means one can no longer make a kernel that
does both A2 and e5500...

I'm reverting that crap patch, please make such optimizations CONFIG_*
options like power5...7

Cheers,
Ben.
Scott Wood Aug. 14, 2013, 5:02 p.m. UTC | #5
On Wed, 2013-08-14 at 14:18 +1000, Benjamin Herrenschmidt wrote:
> On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
> >       powerpc/e500: Update compilation flags with core specific
> > options
> 
> This breaks the build for my FSL test configs. For some reason gcc 4.7.3
> doesn't know about -mcpu=e5500

Ugh.  I guess that's what I get for using toolchains provided internally
rather than building them myself -- though it doesn't help that the GCC
people love finding new ways to break building GCC without libc (why
doesn't --without-headers automatically disable any component that
requires libc headers?), and usually respond to bug reports with "go run
crosstool and leave us alone".  It looks like e5500 support is in 4.8.1,
but I can't actually get it to build (libdecnumber wants to
#include_next <stdlib.h> and can't be disabled -- arm64 toolchain built
fine with the similar configure options).  I don't know about earlier
versions.

> Additionally, on 64-bit, that means one can no longer make a kernel that
> does both A2 and e5500...

Other than the toolchain issue, I'm not sure how this is worse than it
was before, when such a kernel would have had -Wa,-me500 forced.

What -mcpu value should be used in such a combined kernel?

> I'm reverting that crap patch, please make such optimizations CONFIG_*
> options like power5...7

Speaking of crap patches, those config options don't limit themselves to
book3s and thus we're now getting CONFIG_GENERIC_CPU (and thus
-mtune=power7) on e5500 builds.

-Scott
Benjamin Herrenschmidt Aug. 14, 2013, 9:01 p.m. UTC | #6
On Wed, 2013-08-14 at 12:02 -0500, Scott Wood wrote:
> On Wed, 2013-08-14 at 14:18 +1000, Benjamin Herrenschmidt wrote:
> > On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
> > >       powerpc/e500: Update compilation flags with core specific
> > > options
> > 
> > This breaks the build for my FSL test configs. For some reason gcc 4.7.3
> > doesn't know about -mcpu=e5500
> 
> Ugh.  I guess that's what I get for using toolchains provided internally
> rather than building them myself

:-)

I recommend you use one of tony's on kernel.org, that way you have
something that matches what other people use :-)

>  -- though it doesn't help that the GCC
> people love finding new ways to break building GCC without libc (why
> doesn't --without-headers automatically disable any component that
> requires libc headers?)

Hehe, yeah.

> , and usually respond to bug reports with "go run
> crosstool and leave us alone".  It looks like e5500 support is in 4.8.1,
> but I can't actually get it to build (libdecnumber wants to
> #include_next <stdlib.h> and can't be disabled -- arm64 toolchain built
> fine with the similar configure options).  I don't know about earlier
> versions.

In any case, there are mechanisms in Kbuild to check if the option
exist, so that should be used here. Look at the other ones.

> > Additionally, on 64-bit, that means one can no longer make a kernel that
> > does both A2 and e5500...
> 
> Other than the toolchain issue, I'm not sure how this is worse than it
> was before, when such a kernel would have had -Wa,-me500 forced.

Probably similarly bad though it did work ... but if you are touching
it, may as well do it right...

> What -mcpu value should be used in such a combined kernel?

Good question. We lack a generic booke option. What about powerpc64 ?

A default like that is fine as long as tricky asm uses the macros for
that and the *optional* -mcpu=<xxx> option is available (and you can put
it in defconfig).

It might be worth asking gcc to add something like -march=<arch version>
or something like that though.

> > I'm reverting that crap patch, please make such optimizations CONFIG_*
> > options like power5...7
> 
> Speaking of crap patches, those config options don't limit themselves to
> book3s and thus we're now getting CONFIG_GENERIC_CPU (and thus
> -mtune=power7) on e5500 builds.

Indeed, another crap patch ... I didn't spot it because it didn't break
the build :-)

Feel free to submit a fix !

Cheers,
Ben.
Scott Wood Aug. 19, 2013, 10:56 p.m. UTC | #7
On Thu, 2013-08-15 at 07:01 +1000, Benjamin Herrenschmidt wrote:
> On Wed, 2013-08-14 at 12:02 -0500, Scott Wood wrote:
> > On Wed, 2013-08-14 at 14:18 +1000, Benjamin Herrenschmidt wrote:
> > > On Thu, 2013-08-08 at 17:45 -0500, Scott Wood wrote:
> > > >       powerpc/e500: Update compilation flags with core specific
> > > > options
> > > 
> > > This breaks the build for my FSL test configs. For some reason gcc 4.7.3
> > > doesn't know about -mcpu=e5500
> > 
> > Ugh.  I guess that's what I get for using toolchains provided internally
> > rather than building them myself
> 
> :-)
> 
> I recommend you use one of tony's on kernel.org, that way you have
> something that matches what other people use :-)

It looks like -mcpu=e500mc64 has been supported for a while.

> > > Additionally, on 64-bit, that means one can no longer make a kernel that
> > > does both A2 and e5500...
> > 
> > Other than the toolchain issue, I'm not sure how this is worse than it
> > was before, when such a kernel would have had -Wa,-me500 forced.
> 
> Probably similarly bad though it did work ... but if you are touching
> it, may as well do it right...

There are worms inside that can...

> > What -mcpu value should be used in such a combined kernel?
> 
> Good question. We lack a generic booke option. What about powerpc64 ?
> 
> A default like that is fine as long as tricky asm uses the macros for
> that and the *optional* -mcpu=<xxx> option is available (and you can put
> it in defconfig).
> 
> It might be worth asking gcc to add something like -march=<arch version>
> or something like that though.

If we use the generic CPU target then mftb won't get turned into mfspr
(I assume this is what you meant by "tricky asm").  Does mfspr work
everywhere, including from userspace?  Or do we need to patch?  What
about 403GCX which seems to need some special SPR (I could leave the
existing ifdef alone, but what about vdso)?

-Scott
Benjamin Herrenschmidt Aug. 19, 2013, 11:47 p.m. UTC | #8
On Mon, 2013-08-19 at 17:56 -0500, Scott Wood wrote:
> If we use the generic CPU target then mftb won't get turned into mfspr
> (I assume this is what you meant by "tricky asm").  Does mfspr work
> everywhere, including from userspace?  Or do we need to patch?  What
> about 403GCX which seems to need some special SPR (I could leave the
> existing ifdef alone, but what about vdso)?

I think mfspr works everywhere we care about but I might be mistaken :-)
I don't think anybody have tried booting a 403 in a looooong time. I
would be surprised if it still worked.

Cheers,
Ben.
Josh Boyer Aug. 19, 2013, 11:49 p.m. UTC | #9
On Mon, Aug 19, 2013 at 7:47 PM, Benjamin Herrenschmidt
<benh@kernel.crashing.org> wrote:
> On Mon, 2013-08-19 at 17:56 -0500, Scott Wood wrote:
>> If we use the generic CPU target then mftb won't get turned into mfspr
>> (I assume this is what you meant by "tricky asm").  Does mfspr work
>> everywhere, including from userspace?  Or do we need to patch?  What
>> about 403GCX which seems to need some special SPR (I could leave the
>> existing ifdef alone, but what about vdso)?
>
> I think mfspr works everywhere we care about but I might be mistaken :-)
> I don't think anybody have tried booting a 403 in a looooong time. I
> would be surprised if it still worked.

I think I have one buried somewhere in my garage.  I'm not digging it out.

josh
Benjamin Herrenschmidt Aug. 20, 2013, 12:49 a.m. UTC | #10
On Mon, 2013-08-19 at 19:49 -0400, Josh Boyer wrote:
> > I think mfspr works everywhere we care about but I might be mistaken :-)
> > I don't think anybody have tried booting a 403 in a looooong time. I
> > would be surprised if it still worked.
> 
> I think I have one buried somewhere in my garage.  I'm not digging it out.

Don't :-)

I'm thinking of removing the code... been wanting to do that for a while,
I'd be surprised if it still worked anyway. How much RAM do these things
have ? Probably not enough for a recent kernel...

Cheers,
Ben.