• Ian Munsie's avatar
    powerpc: Disable relocation on exceptions whenever PR KVM is active · a413f474
    Ian Munsie authored
    For PR KVM we allow userspace to map 0xc000000000000000. Because
    transitioning from userspace to the guest kernel may use the relocated
    exception vectors we have to disable relocation on exceptions whenever
    PR KVM is active as we cannot trust that address.
    
    This issue does not apply to HV KVM, since changing from a guest to the
    hypervisor will never use the relocated exception vectors.
    
    Currently the hypervisor interface only allows us to toggle relocation
    on exceptions on a partition wide scope, so we need to globally disable
    relocation on exceptions when the first PR KVM instance is started and
    only re-enable them when all PR KVM instances have been destroyed.
    
    It's a bit heavy handed, but until the hypervisor gives us a lightweight
    way to toggle relocation on exceptions on a single thread it's only real
    option.
    Signed-off-by: default avatarIan Munsie <imunsie@au1.ibm.com>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    a413f474
book3s_pr.c 34 KB