remarkable-linux/arch/powerpc
Benjamin Herrenschmidt 27f4488872 powerpc/powernv: Add OPAL takeover from PowerVM
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: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-09-20 16:09:47 +10:00
..
boot powerpc: Add skeleton PowerNV platform 2011-09-20 15:53:25 +10:00
configs Merge remote-tracking branch 'origin/master' into next 2011-09-20 15:52:38 +10:00
include/asm powerpc/powernv: Add OPAL takeover from PowerVM 2011-09-20 16:09:47 +10:00
kernel powerpc/powernv: Add OPAL takeover from PowerVM 2011-09-20 16:09:47 +10:00
kvm powerpc/kvm: Fix build errors with older toolchains 2011-08-05 14:47:56 +10:00
lib Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-05-20 13:28:01 -07:00
math-emu powerpc/85xx: Fix SPE float to integer conversion failure 2011-03-15 13:48:15 -05:00
mm powerpc: Fix deadlock in icswx code 2011-09-20 15:53:23 +10:00
net net: filter: BPF 'JIT' compiler for PPC64 2011-07-21 12:38:32 -07:00
oprofile powerpc/oprofile: Handle events that raise an exception without overflowing 2011-05-26 13:38:57 +10:00
platforms powerpc/powernv: Add OPAL takeover from PowerVM 2011-09-20 16:09:47 +10:00
sysdev powerpc/xics: Add __init to marker icp_native_init() 2011-09-20 09:20:02 +10:00
xmon powerpc: Remove call sites of MSG_ALL_BUT_SELF 2011-05-19 14:30:46 +10:00
Kconfig powerpc/powernv: Add CPU hotplug support 2011-09-20 16:09:45 +10:00
Kconfig.debug powerpc/udbg: Fix Kconfig entry for avoiding 44x early debug with KVM 2011-09-20 15:53:24 +10:00
Makefile Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2011-07-25 22:59:39 -07:00
relocs_check.pl powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00