[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <09b7afdf-fb5c-486d-cc95-e1c9c0994cbb@huawei.com>
Date: Thu, 28 Apr 2022 09:40:37 +0800
From: Kefeng Wang <wangkefeng.wang@...wei.com>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
<linux-arm-kernel@...ts.infradead.org>,
<linux-kernel@...r.kernel.org>, <linux-mm@...ck.org>
Subject: Re: [PATCH 1/4] mm: ioremap: Setup phys_addr of struct vm_struct
On 2022/4/28 1:10, Andrew Morton wrote:
> On Wed, 27 Apr 2022 20:14:10 +0800 Kefeng Wang <wangkefeng.wang@...wei.com> wrote:
>
>> Show physical address in /proc/vmallocinfo.
>>
>> Signed-off-by: Kefeng Wang <wangkefeng.wang@...wei.com>
>> ---
>> mm/ioremap.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/mm/ioremap.c b/mm/ioremap.c
>> index 5fe598ecd9b7..522ef899c35f 100644
>> --- a/mm/ioremap.c
>> +++ b/mm/ioremap.c
>> @@ -32,6 +32,7 @@ void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long prot)
>> if (!area)
>> return NULL;
>> vaddr = (unsigned long)area->addr;
>> + area->phys_addr = addr;
>>
>> if (ioremap_page_range(vaddr, vaddr + size, addr, __pgprot(prot))) {
>> free_vm_area(area);
> Acked-by: Andrew Morton <akpm@...ux-foundation.org>
>
> I checked a bunch of arch-specific implementations of ioremap_prot()
> and they're already doing this. As far as I can tell, only csky and
> riscv actually use this file (CONFIG_GENERIC_IOREMAP=y). But you're
> ARM(?) so I'm wondering how come you're patching it?
Hi Andrew,
I found this via reading code when debug some other issue, meanwhile, there
are some code duplication of ioremap between arm64 and generic ioremap, so
1) bugfix: fix the above issue and test on riscv
2) cleanup: convert arm64 to use GENERIC_IOREMAP,
3) feature: after that, enable HAVE_IOREMAP_PROT on arm64
>
> Someone should do s/addr/phys_addr/ in this function, like the rest of
> the world (sensibly) does.
I will make it in next version.
>
>
> .
Powered by blists - more mailing lists