1. 10 4月, 2015 2 次提交
  2. 07 4月, 2015 2 次提交
  3. 01 4月, 2015 1 次提交
    • Y
      powerpc/mpc85xx: call k(un)map_atomic rather than k(un)map · 88b7936d
      Yanjiang Jin 提交于
      The k(un)map function may be called in atomic context in the
      function map_and_flush(), so use k(un)map_atomic to replace it,
      else we would get the below warning during kdump:
      
      BUG: sleeping function called from invalid context at include/linux/highmem.h:58
      in_atomic(): 1, irqs_disabled(): 1, pid: 736, name: sh
      INFO: lockdep is turned off.
      irq event stamp: 0
      hardirqs last  enabled at (0): [<          (null)>]           (null)
      hardirqs last disabled at (0): [<c000000000066d1c>] .copy_process.part.44+0x50c/0x1360
      softirqs last  enabled at (0): [<c000000000066d1c>] .copy_process.part.44+0x50c/0x1360
      softirqs last disabled at (0): [<          (null)>]           (null)
      CPU: 1 PID: 736 Comm: sh Tainted: G      D W    3.10.62-ltsi-WR6.0.0.0_standard #2
      Call Trace:
      [c0000000f47cf120] [c00000000000b150] .show_stack+0x170/0x290 (unreliable)
      [c0000000f47cf210] [c000000000b71334] .dump_stack+0x28/0x3c
      [c0000000f47cf280] [c0000000000bb5d8] .__might_sleep+0x1a8/0x270
      [c0000000f47cf310] [c0000000000440cc] .map_and_flush+0x4c/0xc0
      [c0000000f47cf390] [c0000000000441cc] .mpc85xx_smp_machine_kexec+0x8c/0xec0
      [c0000000f47cf420] [c00000000002ae00] .machine_kexec+0x60/0x90
      [c0000000f47cf4b0] [c00000000010957c] .crash_kexec+0x8c/0x100
      [c0000000f47cf6a0] [c000000000015df8] .die+0x348/0x450
      [c0000000f47cf740] [c00000000002f3a0] .bad_page_fault+0xe0/0x130
      [c0000000f47cf7c0] [c00000000001f3e4] storage_fault_common+0x40/0x44
      Signed-off-by: NYanjiang Jin <yanjiang.jin@windriver.com>
      [scottwood@freescale.com: fix subject line]
      Signed-off-by: NScott Wood <scottwood@freescale.com>
      88b7936d
  4. 31 3月, 2015 4 次提交
  5. 28 3月, 2015 2 次提交
    • M
      powerpc: Add a proper syscall for switching endianness · 529d235a
      Michael Ellerman 提交于
      We currently have a "special" syscall for switching endianness. This is
      syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall
      exception entry.
      
      That has a few problems, firstly the syscall number is outside of the
      usual range, which confuses various tools. For example strace doesn't
      recognise the syscall at all.
      
      Secondly it's handled explicitly as a special case in the syscall
      exception entry, which is complicated enough without it.
      
      As a first step toward removing the special syscall, we need to add a
      regular syscall that implements the same functionality.
      
      The logic is simple, it simply toggles the MSR_LE bit in the userspace
      MSR. This is the same as the special syscall, with the caveat that the
      special syscall clobbers fewer registers.
      
      This version clobbers r9-r12, XER, CTR, and CR0-1,5-7.
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      529d235a
    • T
      powerpc/pseries: Simplify check for suspendability during suspend/migration · c03e7374
      Tyrel Datwyler 提交于
      During suspend/migration operation we must wait for the VASI state reported
      by the hypervisor to become Suspending prior to making the ibm,suspend-me
      RTAS call. Calling routines to rtas_ibm_supend_me() pass a vasi_state variable
      that exposes the VASI state to the caller. This is unnecessary as the caller
      only really cares about the following three conditions; if there is an error
      we should bailout, success indicating we have suspended and woken back up so
      proceed to device tree update, or we are not suspendable yet so try calling
      rtas_ibm_suspend_me again shortly.
      
      This patch removes the extraneous vasi_state variable and simply uses the
      return code to communicate how to proceed. We either succeed, fail, or get
      -EAGAIN in which case we sleep for a second before trying to call
      rtas_ibm_suspend_me again. The behaviour of ppc_rtas() remains the same,
      but migrate_store() now returns the propogated error code on failure.
      Previously -1 was returned from migrate_store() in the  failure case which
      equates to -EPERM and was clearly wrong.
      Signed-off-by: NTyrel Datwyler <tyreld@linux.vnet.ibm.com>
      Cc: Nathan Fontenont <nfont@linux.vnet.ibm.com>
      Cc: Cyril Bur <cyrilbur@gmail.com>
      Signed-off-by: NMichael Ellerman <mpe@ellerman.id.au>
      c03e7374
  6. 26 3月, 2015 1 次提交
  7. 25 3月, 2015 5 次提交
  8. 24 3月, 2015 9 次提交
  9. 23 3月, 2015 4 次提交
  10. 17 3月, 2015 10 次提交