1. 07 12月, 2011 1 次提交
  2. 20 9月, 2011 5 次提交
    • B
      powerpc/powernv: Machine check and other system interrupts · ed79ba9e
      Benjamin Herrenschmidt 提交于
      OPAL can handle various interrupt for us such as Machine Checks (it
      performs all sorts of recovery tasks and passes back control to us with
      informations about the error), Hardware Management Interrupts and Softpatch
      interrupts.
      
      This wires up the mechanisms and prints out specific informations returned
      by HAL when a machine check occurs.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ed79ba9e
    • B
      powerpc/powernv: Add RTC and NVRAM support plus RTAS fallbacks · 628daa8d
      Benjamin Herrenschmidt 提交于
      Implements OPAL RTC and NVRAM support and wire all that up to
      the powernv platform.
      
      We use RTAS for RTC as a fallback if available. Using RTAS for nvram
      is not supported yet, pending some rework/cleanup and generalization
      of the pSeries & CHRP code. We also use RTAS fallbacks for power off
      and reboot
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      628daa8d
    • B
      powerpc/powernv: Support for OPAL console · daea1175
      Benjamin Herrenschmidt 提交于
      This adds a udbg and an hvc console backend for supporting a console
      using the OPAL console interfaces.
      
      On OPAL v1 we have hvc0 mapped to whatever console the system was
      configured for (network or hvsi serial port) via the service
      processor.
      
      On OPAL v2 we have hvcN mapped to the Nth console provided by OPAL
      which generally corresponds to:
      
      	hvc0 : network console (raw protocol)
      	hvc1 : serial port S1 (hvsi)
      	hvc2 : serial port S2 (hvsi)
      
      Note: At this point, early debug console only works with OPAL v1
      and shouldn't be enabled in a normal kernel.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      daea1175
    • B
      powerpc/powernv: Basic support for OPAL · 14a43e69
      Benjamin Herrenschmidt 提交于
      Add definition of OPAL interfaces along with  the wrappers to call
      into OPAL runtime and the early device-tree parsing hook to locate
      the OPAL runtime firmware.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      14a43e69
    • B
      powerpc/powernv: Add OPAL takeover from PowerVM · 27f44888
      Benjamin Herrenschmidt 提交于
      On machines supporting the OPAL firmware version 1, the system
      is initially booted under pHyp. We then use a special hypercall
      to verify if OPAL is available and if it is, we then trigger
      a "takeover" which disables pHyp and loads the OPAL runtime
      firmware, giving control to the kernel in hypervisor mode.
      
      This patch add the necessary code to detect that the OPAL takeover
      capability is present when running under PowerVM (aka pHyp) and
      perform said takeover to get hypervisor control of the processor.
      
      To perform the takeover, we must first use RTAS (within Open
      Firmware runtime environment) to start all processors & threads,
      in order to give control to OPAL on all of them. We then call
      the takeover hypercall on everybody, OPAL will re-enter the kernel
      main entry point passing it a flat device-tree.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      27f44888