]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: PPC: Book3s: PR: Enable default TCE hypercalls
authorAlexey Kardashevskiy <aik@ozlabs.ru>
Fri, 6 May 2022 07:37:37 +0000 (17:37 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 18 May 2022 14:44:15 +0000 (00:44 +1000)
When KVM_CAP_PPC_ENABLE_HCALL was introduced, H_GET_TCE and H_PUT_TCE
were already implemented and enabled by default; however H_GET_TCE
was missed out on PR KVM (probably because the handler was in
the real mode code at the time).

This enables H_GET_TCE by default. While at this, this wraps
the checks in ifdef CONFIG_SPAPR_TCE_IOMMU just like HV KVM.

Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220506073737.3823347-1-aik@ozlabs.ru
arch/powerpc/kvm/book3s_pr_papr.c

index dc4f51ac84bc6012a068eb4c9793e344a86b9221..a1f2978b2a8654ff2daddc6834a66e5166d41229 100644 (file)
@@ -433,9 +433,12 @@ int kvmppc_hcall_impl_pr(unsigned long cmd)
        case H_REMOVE:
        case H_PROTECT:
        case H_BULK_REMOVE:
+#ifdef CONFIG_SPAPR_TCE_IOMMU
+       case H_GET_TCE:
        case H_PUT_TCE:
        case H_PUT_TCE_INDIRECT:
        case H_STUFF_TCE:
+#endif
        case H_CEDE:
        case H_LOGICAL_CI_LOAD:
        case H_LOGICAL_CI_STORE:
@@ -464,7 +467,10 @@ static unsigned int default_hcall_list[] = {
        H_REMOVE,
        H_PROTECT,
        H_BULK_REMOVE,
+#ifdef CONFIG_SPAPR_TCE_IOMMU
+       H_GET_TCE,
        H_PUT_TCE,
+#endif
        H_CEDE,
        H_SET_MODE,
 #ifdef CONFIG_KVM_XICS