• Benjamin Herrenschmidt's avatar
    powerpc/powernv: Add OPAL takeover from PowerVM · 27f44888
    Benjamin Herrenschmidt authored
    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: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    27f44888
opal-takeover.S 2.62 KB