Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp5209305pxv; Wed, 28 Jul 2021 05:55:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxgfpOzKFurX8NXJDEUxEgLVlsAb0cA9ODILJZkpyLvGQa1rz9ZxxOAECOeE9YQzoFV4B+R X-Received: by 2002:a17:906:7c8:: with SMTP id m8mr2068799ejc.72.1627476901046; Wed, 28 Jul 2021 05:55:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627476901; cv=none; d=google.com; s=arc-20160816; b=o1XF/VpEH1i+fZZ9chBSFrowM9Zv7cZzAcOnWmM9GbUu2iqBxx9GacmuKsRbnhbPur CLTKNK7964TwW/S+0CJsOGs6CkK61hYOo3xCbgmZpBRzJ0GdXlyRRDSBw2ECs1P0HKcu ukhod4B4pUIoWwQ+0DiJLyIEY1ONcSz7Ssfn1PD9DGXV9Pta8m0NXN3a0qAC/j3x84Dt dKs3Yu7QagzVCsKB1Bmlj8VqgUYvvIsdfcY7ZeU8Zdui1PKBUaVGEVx4DKhwUs6mhGuK HhGELFwLFsoCweLmoTfZKnGlSqLmWM3cL4+7ubohfFdBoxh0MSWf1sp8LlfamAXLzOCD GMFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=K6uHJGr+8Jyv4oMMAe2ui9uPEzZzF0rCs18F8PJ9qQk=; b=y57WeJYmEBbeO8ePnSQ2rz/2PIfMcL352cWTauj7VwYUCgk7c3wTwBnm8AwCYxEGoz gQiLsfPR6UUgKtmuBRlxepCFl6On7dFKdOn2jb1TiCGPJO8Un75rs3jlHvROiAsPleMd OKtxV3QnJ6S4wD5nfMtpS0iNs7T/4fubq+mCKBLY7mdgtzX8MkMPXvb1GBc/p8pRkN/m MDPpyUKrV24Em0HbTTCvvK8HZ+ocAwJly3D8Y2z+cvTEkHS4874ofLovLXUlJog8VnWQ h8Vzfm7e4h3T+FALUKuVPKC1Fpg3YXO51ePaRMm0MiGjB3B7VXOw9H8n1HLA8evH6pdW NUVg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="G/faYnN3"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b10si163821ejj.295.2021.07.28.05.54.37; Wed, 28 Jul 2021 05:55:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b="G/faYnN3"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236264AbhG1MxK (ORCPT + 99 others); Wed, 28 Jul 2021 08:53:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:49733 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236254AbhG1MxJ (ORCPT ); Wed, 28 Jul 2021 08:53:09 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D9C2E60FC4; Wed, 28 Jul 2021 12:53:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627476788; bh=uVs06J6Sp0nm7rKdLCNuLO/owrULe5dkBXVfD8Ww5vE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=G/faYnN3UaBN3B4xIHIKWqE5hItl6PNO4fcX6B9/fhP2vRecEWniGPj/DGuP74hnz NNJBFupVHrEVdCyQ19KJM0OlpQBGpgiROFQ5/6H9uvN+tFmu08+87Icn6uoQNiqjPa vC4rrZheFMLK8yy5LDm3HZT5APN5gQrutrVbMLDT4RI0aKxjgiwxx19zGYUtUy4UTj oimAgvdikHrUJSR0QIUaouf2fbu3c8vPX3OKZKeQVLWIojcQ5c/qITQReGJgTi94mP DEMqs6HRqk3llsf2nKmASpsGOm7Ltgl+Yz/2jVJ00iGzkkwcorRHDi/Vg71IEY/AH+ g4KcFpr+9BA9A== Date: Wed, 28 Jul 2021 15:52:58 +0300 From: Mike Rapoport To: Alex Ghiti Cc: Kenneth Lee , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra , Kenneth Lee , Kefeng Wang , Vitaly Wool , Guo Ren , Jisheng Zhang , Nick Kossifidis , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, guohanjun@huawei.com, wangzhou1@hisilicon.com Subject: Re: [PATCH] riscv: fix the global name pfn_base confliction error Message-ID: References: <20210728064318.375747-1-nek.in.cn@gmail.com> <0e81c8d2-468a-9afd-bce3-0e8211baa065@ghiti.fr> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <0e81c8d2-468a-9afd-bce3-0e8211baa065@ghiti.fr> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jul 28, 2021 at 09:19:16AM +0200, Alex Ghiti wrote: > Hi Kenneth, > > Le 28/07/2021 ? 08:43, Kenneth Lee a ?crit?: > > From: Kenneth Lee > > > > RISCV use a global variable pfn_base for page/pfn translation. But this > > is a common name and will be used elsewhere. In those case, > > the page-pfn macro which refer this name will refer to the local/input > > variable of those function (such as in vfio_pin_pages_remote). This make > > everything wrong. > > > > This patch change the name from pfn_base to riscv_global_pfn_base to fix > > this problem > > What about removing this variable entirely and using > PFN_DOWN(kernel_map.phys_addr) directly in ARCH_PFN_OFFSET definition? That > would remove code from mm/init.c, which is nice :) That would be nice, but such change would also change the generated code. Probably nothing important, but someone would have to at least check what size and bloat-o-meter say. > Thanks, > > Alex > > > > > Signed-off-by: Kenneth Lee > > --- > > arch/riscv/include/asm/page.h | 4 ++-- > > arch/riscv/mm/init.c | 6 +++--- > > 2 files changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/arch/riscv/include/asm/page.h b/arch/riscv/include/asm/page.h > > index cca8764aed83..8711e415f37c 100644 > > --- a/arch/riscv/include/asm/page.h > > +++ b/arch/riscv/include/asm/page.h > > @@ -79,8 +79,8 @@ typedef struct page *pgtable_t; > > #endif > > #ifdef CONFIG_MMU > > -extern unsigned long pfn_base; > > -#define ARCH_PFN_OFFSET (pfn_base) > > +extern unsigned long riscv_global_pfn_base; > > +#define ARCH_PFN_OFFSET (riscv_global_pfn_base) > > #else > > #define ARCH_PFN_OFFSET (PAGE_OFFSET >> PAGE_SHIFT) > > #endif /* CONFIG_MMU */ > > diff --git a/arch/riscv/mm/init.c b/arch/riscv/mm/init.c > > index a14bf3910eec..2ce4e9a46ca0 100644 > > --- a/arch/riscv/mm/init.c > > +++ b/arch/riscv/mm/init.c > > @@ -228,8 +228,8 @@ static struct pt_alloc_ops _pt_ops __initdata; > > #define pt_ops _pt_ops > > #endif > > -unsigned long pfn_base __ro_after_init; > > -EXPORT_SYMBOL(pfn_base); > > +unsigned long riscv_global_pfn_base __ro_after_init; > > +EXPORT_SYMBOL(riscv_global_pfn_base); > > pgd_t swapper_pg_dir[PTRS_PER_PGD] __page_aligned_bss; > > pgd_t trampoline_pg_dir[PTRS_PER_PGD] __page_aligned_bss; > > @@ -572,7 +572,7 @@ asmlinkage void __init setup_vm(uintptr_t dtb_pa) > > kernel_map.va_kernel_pa_offset = kernel_map.virt_addr - kernel_map.phys_addr; > > #endif > > - pfn_base = PFN_DOWN(kernel_map.phys_addr); > > + riscv_global_pfn_base = PFN_DOWN(kernel_map.phys_addr); > > /* > > * Enforce boot alignment requirements of RV32 and > > -- Sincerely yours, Mike.