Skip to content
  1. Jan 13, 2014
    • Benjamin Herrenschmidt's avatar
      powerpc: Check return value of instance-to-package OF call · 10348f59
      Benjamin Herrenschmidt authored
      On PA-Semi firmware, the instance-to-package callback doesn't seem
      to be implemented. We didn't check for error, however, thus
      subsequently passed the -1 value returned into stdout_node to
      thins like prom_getprop etc...
      
      Thus caused the firmware to load values around 0 (physical) internally
      as node structures. It somewhat "worked" as long as we had a NULL in the
      right place (address 8) at the beginning of the kernel, we didn't "see"
      the bug. But commit 5c0484e2
      
      
      "powerpc: Endian safe trampoline" changed the kernel entry point causing
      that old bug to now cause a crash early during boot.
      
      This fixes booting on PA-Semi board by properly checking the return
      value from instance-to-package.
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Tested-by: default avatarOlof Johansson <olof@lixom.net>
      ---
      10348f59
  2. Dec 30, 2013
  3. Dec 21, 2013
  4. Dec 19, 2013
    • Gerhard Sittig's avatar
      powerpc/512x: dts: remove misplaced IRQ spec from 'soc' node (5125) · bbca4d39
      Gerhard Sittig authored
      
      
      the 'soc' node in the MPC5125 "tower" board .dts has an '#interrupt-cells'
      property although this node is not an interrupt controller
      
      remove this erroneously placed property because starting with v3.13-rc1
      lookup and resolution of 'interrupts' specs for peripherals gets misled
      (tries to use the 'soc' as the interrupt parent which fails), emits
      'no irq domain found' WARN() messages and breaks the boot process
      
      [ best viewed with 'git diff -U5' to have DT node names in the context ]
      
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: devicetree@vger.kernel.org
      Signed-off-by: default avatarGerhard Sittig <gsi@denx.de>
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      bbca4d39
  5. Dec 13, 2013
  6. Dec 10, 2013
  7. Dec 07, 2013
    • Gerhard Sittig's avatar
      powerpc/512x: dts: remove misplaced IRQ spec from 'soc' node · c65ec135
      Gerhard Sittig authored
      the 'soc' node in the common .dtsi for MPC5121 has an '#interrupt-cells'
      property although this node is not an interrupt controller
      
      remove this erroneously placed property because starting with v3.13-rc1
      lookup and resolution of 'interrupts' specs for peripherals gets misled,
      emits 'no irq domain found' WARN() messages and breaks the boot process
      
        irq: no irq domain found for /soc@80000000 !
        ------------[ cut here ]------------
        WARNING: at drivers/of/platform.c:171
        Modules linked in:
        CPU: 0 PID: 1 Comm: swapper Tainted: G        W    3.13.0-rc1-00001-g8a66234 #8
        task: df823bb0 ti: df834000 task.ti: df834000
        NIP: c02b5190 LR: c02b5180 CTR: c01cf4e0
        REGS: df835c50 TRAP: 0700   Tainted: G        W     (3.13.0-rc1-00001-g8a66234)
        MSR: 00029032 <EE,ME,IR,DR,RI>  CR: 229a9d42  XER: 20000000
      
        GPR00: c02b5180 df835d00 df823bb0 00000000 00000000 df835b18 ffffffff 00000308
        GPR08: c0479cc0 c0480000 c0479cc0 00000308 00000308 00000000 c00040fc 00000000
        GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 df850880
        GPR24: df84d670 00000000 00000001 df8561a0 dffffccc df85089c 00000020 00000001
        NIP [c02b5190] of_device_alloc+0xf4/0x1a0
        LR [c02b5180] of_device_alloc+0xe4/0x1a0
        Call Trace:
        [df835d00] [c02b5180] of_device_alloc+0xe4/0x1a0 (unreliable)
        [df835d50] [c02b5278] of_platform_device_create_pdata+0x3c/0xc8
        [df835d70] [c02b53fc] of_platform_bus_create+0xf8/0x170
        [df835dc0] [c02b5448] of_platform_bus_create+0x144/0x170
        [df835e10] [c02b55a8] of_platform_bus_probe+0x98/0xe8
        [df835e30] [c0437508] mpc512x_init+0x28/0x1c4
        [df835e70
      
      ] [c0435de8] ppc_init+0x4c/0x60
        [df835e80] [c0003b28] do_one_initcall+0x150/0x1a4
        [df835ef0] [c0432048] kernel_init_freeable+0x114/0x1c0
        [df835f30] [c0004114] kernel_init+0x18/0x124
        [df835f40] [c000e910] ret_from_kernel_thread+0x5c/0x64
        Instruction dump:
        409effd4 57c9103a 57de2834 7c89f050 7f83e378 7c972214 7f45d378 48001f55
        7c63d278 7c630034 5463d97e 687a0001 <0f1a0000> 2f990000 387b0010 939b0098
        ---[ end trace 2257f10e5a20cbdd ]---
      
        ...
        irq: no irq domain found for /soc@80000000 !
        fsl-diu-fb 80002100.display: could not get DIU IRQ
        fsl-diu-fb: probe of 80002100.display failed with error -22
        irq: no irq domain found for /soc@80000000 !
        mpc512x_dma 80014000.dma: Error mapping IRQ!
        mpc512x_dma: probe of 80014000.dma failed with error -22
        ...
        irq: no irq domain found for /soc@80000000 !
        fs_enet: probe of 80002800.ethernet failed with error -22
        ...
        irq: no irq domain found for /soc@80000000 !
        mpc5121-rtc 80000a00.rtc: mpc5121_rtc_probe: could not request irq: 0
        mpc5121-rtc: probe of 80000a00.rtc failed with error -22
        ...
      
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: linuxppc-dev@lists.ozlabs.org
      Cc: devicetree@vger.kernel.org
      Signed-off-by: default avatarGerhard Sittig <gsi@denx.de>
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      c65ec135
  8. Nov 27, 2013
  9. Nov 25, 2013
    • Chen Gang's avatar
      arch/powerpc/kernel: Use %12.12s instead of %12s to avoid memory overflow · e0513d9e
      Chen Gang authored
      
      
      for tmp_part->header.name:
          it is "Terminating null required only for names < 12 chars".
          so need to limit the %.12s for it in printk
      
        additional info:
      
          %12s  limit the width, not for the original string output length
                if name length is more than 12, it still can be fully displayed.
                if name length is less than 12, the ' ' will be filled before name.
      
          %.12s truly limit the original string output length (precision)
      
      Signed-off-by: default avatarChen Gang <gang.chen@asianux.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e0513d9e
    • Michael Neuling's avatar
      powerpc/signals: Improved mark VSX not saved with small contexts fix · ec67ad82
      Michael Neuling authored
      In a recent patch:
        commit c13f20ac
      
      
        Author: Michael Neuling <mikey@neuling.org>
        powerpc/signals: Mark VSX not saved with small contexts
      
      We fixed an issue but an improved solution was later discussed after the patch
      was merged.
      
      Firstly, this patch doesn't handle the 64bit signals case, which could also hit
      this issue (but has never been reported).
      
      Secondly, the original patch isn't clear what MSR VSX should be set to.  The
      new approach below always clears the MSR VSX bit (to indicate no VSX is in the
      context) and sets it only in the specific case where VSX is available (ie. when
      VSX has been used and the signal context passed has space to provide the
      state).
      
      This reverts the original patch and replaces it with the improved solution.  It
      also adds a 64 bit version.
      
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ec67ad82
    • Hari Bathini's avatar
      powerpc/kdump: Adding symbols in vmcoreinfo to facilitate dump filtering · 8ff81271
      Hari Bathini authored
      
      
      When CONFIG_SPARSEMEM_VMEMMAP option is used in kernel, makedumpfile fails
      to filter vmcore dump as it fails to do vmemmap translations. So far
      dump filtering on ppc64 never had to deal with vmemmap addresses seperately
      as vmemmap regions where mapped in zone normal. But with the inclusion of
      CONFIG_SPARSEMEM_VMEMMAP config option in kernel, this vmemmap address
      translation support becomes necessary for dump filtering. For vmemmap adress
      translation, few kernel symbols are needed by dump filtering tool. This patch
      adds those symbols to vmcoreinfo, which a dump filtering tool can use for
      filtering the kernel dump. Tested this changes successfully with makedumpfile
      tool that supports vmemmap to physical address translation outside zone normal.
      
      [ Removed unneeded #ifdef as suggested by Michael Ellerman --BenH ]
      
      Signed-off-by: default avatarHari Bathini <hbathini@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      8ff81271
    • Anton Blanchard's avatar
      powerpc: allyesconfig should not select CONFIG_CPU_LITTLE_ENDIAN · 962bc221
      Anton Blanchard authored
      
      
      Stephen reported a failure in an allyesconfig build.
      CONFIG_CPU_LITTLE_ENDIAN=y gets set but his toolchain is not
      new enough to support little endian. We really want to
      default to a big endian build; Ben suggested using a choice
      which defaults to CPU_BIG_ENDIAN.
      
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      962bc221
    • Michael Neuling's avatar
      powerpc: Fix error when cross building TAGS & cscope · 924dd50b
      Michael Neuling authored
      Currently if I cross build TAGS or cscope from x86 I get this:
        % make ARCH=powerpc TAGS
        gcc-4.8.real: error: unrecognized command line option ‘-mbig-endian’
        GEN     TAGS
        %
      
      I'm not setting CROSS_COMPILE= as logically I shouldn't need to and I
      haven't needed to in the past when building TAGS or cscope.  Also, the
      above completess correct as the error is not fatal to the build.
      
      This was caused by:
          commit d72b0801
      
      
          Author: Ian Munsie <imunsie@au1.ibm.com>
          powerpc: Add ability to build little endian kernels
      
      The below fixes this by testing for the -mbig-endian option before
      adding it.
      
      I've not done the same thing in the little endian case as if
      -mlittle-endian doesn't exist, we probably want to fail quickly as you
      probably have an old big endian compiler.
      
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      924dd50b
    • Benjamin Herrenschmidt's avatar
      Merge remote-tracking branch 'scott/master' into merge · 02ce6e87
      Benjamin Herrenschmidt authored
      Scott wrote:
      
      <<
      The corenet64 patch fixes a regression introduced in 3.13-rc1 (commit
      ef1313de, "powerpc: Add VMX optimised xor
      for RAID5").
      
      The 8xx patch fixes a regression introduced in 3.12 (commit
      beb2dc0a, "powerpc: Convert some
      mftb/mftbu into mfspr").
      
      The other two patches are fixes for minor, long standing bugs.
      >>
      02ce6e87
  10. Nov 23, 2013