From patchwork Mon Feb 11 12:12:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Kardashevskiy X-Patchwork-Id: 219587 X-Patchwork-Delegate: paulus@samba.org Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 0FD682C03BB for ; Mon, 11 Feb 2013 23:13:52 +1100 (EST) Received: from mail-ia0-x22b.google.com (mail-ia0-x22b.google.com [IPv6:2607:f8b0:4001:c02::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (not verified)) by ozlabs.org (Postfix) with ESMTPS id 62FFB2C02C2 for ; Mon, 11 Feb 2013 23:13:23 +1100 (EST) Received: by mail-ia0-f171.google.com with SMTP id z13so6337094iaz.16 for ; Mon, 11 Feb 2013 04:13:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:x-gm-message-state; bh=fmioM4iN4CF7aBmDGXL0xIRLc2ca74wJ/4LyrPd8Jy0=; b=IMzpwuc+uyrcwr14lEUGo8MuczHbEhKtkgLXmUiDMDmUa40aNw4DPwCDnIgARnptZT VkufFahlg8/Csy2DY6aGNyrfTdrc2eZcKpB1pSS83JD/awjF6ga8Fakuhh73SGsupHMN ZKtw6KF+OYdPe4pc4A2Bx/Hm4GjvWJSZNfQOsTQmYsDIX/1NZniJ1wLTGA+IT4rFSIxt FjijLQXhkKrsl4bYntGOTHZBXWz0ibRsB6kTdEsJgNoD6gJHW8QI9z8FWHvK+RWGbckN ygHuNSD2Qii6SByTvL/XCjXgdDW2LGAzKdOpkK7eTHaOt7rVmDsyfLklJ99frAR2JYES qDRQ== X-Received: by 10.50.187.169 with SMTP id ft9mr11829788igc.25.1360584799900; Mon, 11 Feb 2013 04:13:19 -0800 (PST) Received: from ka1.ozlabs.ibm.com (ibmaus65.lnk.telstra.net. [165.228.126.9]) by mx.google.com with ESMTPS id kf2sm27923653igc.0.2013.02.11.04.13.05 (version=TLSv1.2 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 11 Feb 2013 04:13:09 -0800 (PST) From: aik@ozlabs.ru To: Benjamin Herrenschmidt Subject: [PATCH 1/4] powerpc: lookup_linux_pte has been made public Date: Mon, 11 Feb 2013 23:12:40 +1100 Message-Id: <5118e055.22ca320a.1f08.ffffe2e5@mx.google.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1360584763-21988-1-git-send-email-a> References: <1360584763-21988-1-git-send-email-a> X-Gm-Message-State: ALoCoQkvwBSYGoGLyBlqq+DvpY87TzZo7ly8iuZymNmu6UnR7DcwSyVrSWZu8h59Zf+SG+e8B2cP Cc: kvm@vger.kernel.org, Alexey Kardashevskiy , Alexander Graf , kvm-ppc@vger.kernel.org, linux-kernel@vger.kernel.org, Paul Mackerras , linuxppc-dev@lists.ozlabs.org, David Gibson X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Alexey Kardashevskiy The lookup_linux_pte() function returns a linux PTE which is required to convert KVM guest physical address into host real address in real mode. This convertion will be used by upcoming support of H_PUT_TCE_INDIRECT as TCE list address comes from the guest directly so it is a guest physical. Signed-off-by: Alexey Kardashevskiy Cc: David Gibson --- arch/powerpc/include/asm/pgtable-ppc64.h | 3 +++ arch/powerpc/kvm/book3s_hv_rm_mmu.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/pgtable-ppc64.h b/arch/powerpc/include/asm/pgtable-ppc64.h index 0182c20..ddcc898 100644 --- a/arch/powerpc/include/asm/pgtable-ppc64.h +++ b/arch/powerpc/include/asm/pgtable-ppc64.h @@ -377,6 +377,9 @@ static inline pte_t *find_linux_pte_or_hugepte(pgd_t *pgdir, unsigned long ea, } #endif /* !CONFIG_HUGETLB_PAGE */ +pte_t lookup_linux_pte(pgd_t *pgdir, unsigned long hva, + int writing, unsigned long *pte_sizep); + #endif /* __ASSEMBLY__ */ #endif /* _ASM_POWERPC_PGTABLE_PPC64_H_ */ diff --git a/arch/powerpc/kvm/book3s_hv_rm_mmu.c b/arch/powerpc/kvm/book3s_hv_rm_mmu.c index 19c93ba..6a042d0 100644 --- a/arch/powerpc/kvm/book3s_hv_rm_mmu.c +++ b/arch/powerpc/kvm/book3s_hv_rm_mmu.c @@ -145,8 +145,8 @@ static void remove_revmap_chain(struct kvm *kvm, long pte_index, unlock_rmap(rmap); } -static pte_t lookup_linux_pte(pgd_t *pgdir, unsigned long hva, - int writing, unsigned long *pte_sizep) +pte_t lookup_linux_pte(pgd_t *pgdir, unsigned long hva, + int writing, unsigned long *pte_sizep) { pte_t *ptep; unsigned long ps = *pte_sizep;