1. 17 Dec, 2015 4 commits
    • Michael Ellerman's avatar
      powerpc/rtas: Add rtas_call_unlocked() · 209eb4e5
      Michael Ellerman authored
      Most users of RTAS (Run-Time Abstraction Services) use rtas_call(),
      which deals with locking as well as endian handling.
      
      However we have two users outside of rtas.c that can't use rtas_call()
      because they have different locking requirements.
      
      The hotplug CPU code can't take the RTAS lock because the CPU would go
      offline with the lock held and no other CPUs would be able to call RTAS
      until the CPU came back online.
      
      The xmon code doesn't want to take the lock because it would risk dead
      locking when we are trying to recover from a crash.
      
      Both sites required multiple patches when we added little endian
      support, proving that programmers can't do endian right.
      
      Although that ship has sailed, we can still clean the code up by
      providing an unlocked version of rtas_call() which avoids the need to
      open code the logic elsewhere.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      209eb4e5
    • Stewart Smith's avatar
      powerpc/powernv: remove FW_FEATURE_OPALv3 and just use FW_FEATURE_OPAL · e4d54f71
      Stewart Smith authored
      Long ago, only in the lab, there was OPALv1 and OPALv2. Now there is
      just OPALv3, with nobody ever expecting anything on pre-OPALv3 to
      be cared about or supported by mainline kernels.
      
      So, let's remove FW_FEATURE_OPALv3 and instead use FW_FEATURE_OPAL
      exclusively.
      Signed-off-by: default avatarStewart Smith <stewart@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      e4d54f71
    • Stewart Smith's avatar
      powerpc/powernv: Remove OPALv2 firmware define and references · 7261aafc
      Stewart Smith authored
      OPALv2 only ever existed in the lab and didn't escape to the world.
      All OPAL systems in the wild are OPALv3.
      
      The probability of there being an OPALv2 system still powered on
      anywhere inside IBM is approximately zero, let alone anyone
      expecting to run mainline kernels.
      
      So, start to remove references to OPALv2.
      Signed-off-by: default avatarStewart Smith <stewart@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      7261aafc
    • Stewart Smith's avatar
      powerpc/powernv: panic() on OPAL < V3 · 786842b6
      Stewart Smith authored
      The OpenPower Abstraction Layer firmware went through a couple
      of iterations in the lab before being released. What we now know
      as OPAL advertises itself as OPALv3.
      
      OPALv2 and OPALv1 never made it outside the lab, and the possibility
      of anyone at all ever building a mainline kernel today and expecting
      it to boot on such hardware is zero.
      Signed-off-by: default avatarStewart Smith <stewart@linux.vnet.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      786842b6
  2. 16 Dec, 2015 6 commits
  3. 14 Dec, 2015 30 commits