• Alexey Kardashevskiy's avatar
    KVM: PPC: Book3S HV: Avoid lockdep debugging in TCE realmode handlers · 2001825e
    Alexey Kardashevskiy authored
    The kvmppc_tce_to_ua() helper is called from real and virtual modes
    and it works fine as long as CONFIG_DEBUG_LOCKDEP is not enabled.
    However if the lockdep debugging is on, the lockdep will most likely break
    in kvm_memslots() because of srcu_dereference_check() so we need to use
    PPC-own kvm_memslots_raw() which uses realmode safe
    rcu_dereference_raw_notrace().
    
    This creates a realmode copy of kvmppc_tce_to_ua() which replaces
    kvm_memslots() with kvm_memslots_raw().
    
    Since kvmppc_rm_tce_to_ua() becomes static and can only be used inside
    HV KVM, this moves it earlier under CONFIG_KVM_BOOK3S_HV_POSSIBLE.
    
    This moves truly virtual-mode kvmppc_tce_to_ua() to where it belongs and
    drops the prmap parameter which was never used in the virtual mode.
    
    Fixes: d3695aa4 ("KVM: PPC: Add support for multiple-TCE hcalls", 2016-02-15)
    Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
    2001825e
book3s_64_vio_hv.c 16.5 KB