[PATCH v5 0/6] arm64: Cleanup ioremap() and support ioremap_prot()
Kefeng Wang
wangkefeng.wang at huawei.com
Mon Jun 13 20:21:07 PDT 2022
Hi Catalin, could you help to pick up it, thanks.
On 2022/6/7 20:50, Kefeng Wang wrote:
> 1. Enhance generic ioremap to make it more useful.
> 2. Let's arm64 use GENERIC_IOREMAP to cleanup code.
> 3. Support HAVE_IOREMAP_PROT on arm64, which enable generic_access_phys(),
> it is useful when debug(eg, gdb) via access_process_vm device memory
> infrastructure.
>
> v5:
> - break long lines(> 80 cols), per Christoph Hellwig
> - move is_vmalloc_addr() check from arm64 into generic ioremap, per
> Christoph Hellwig
> - make arm64's ioremap_cache as an inline function, per Christoph
> - keep changes simple, make ioremap/iounmap_allowed return bool, per
> Baoquan He
> - simplify use 'void *' instead of 'void __iomem *' in iounmap, then
> drop __force annotation
>
> v4:
> - update based on v5.19-rc1
> - add generic arch_ioremap/arch_iounmap define, per Andrew Monrton
> - simply return an int for arch_ioremap and rename arch_ioremap/arch_iounmap
> to a better name, ioremap_allowed/iounmap_allowed, per Arnd Bergmann
> - add __force annotation to slince sparse warning in vunmap()
>
> Note,
> 1) after the renaming, the arm's change(patch1) is not the necessary
> dependence for the following changes, but as a cleanup, still post
> it here, hope it go in via the arm64 tree with reset of the series
> directly if no object.
> 2) the changes in this version only influence on patch4/5, so retain
> the ack/review.
>
> v3:
> - add cleanup patch to kill ARM's unused arch_iounmap(the naming will be
> used in GENERIC_IOREMAP) and add comments for arch_ioremap/arch_iounmap
> hooks, per Anshuman Khandual
> - collect ack/review
>
> v2:
> - s/addr/phys_addr in ioremap_prot, suggested by Andrew Morton
> - rename arch_ioremap/iounmap_check to arch_ioremap/iounmap
> and change return value, per Christoph Hellwig and Andrew Morton
> - and use 'ifndef arch_ioremap' instead of weak function, per Arnd Bergmann
> - collect ack/review
>
> Kefeng Wang (6):
> ARM: mm: kill unused runtime hook arch_iounmap()
> mm: ioremap: Use more sensibly name in ioremap_prot()
> mm: ioremap: Setup phys_addr of struct vm_struct
> mm: ioremap: Add ioremap/iounmap_allowed()
> arm64: mm: Convert to GENERIC_IOREMAP
> arm64: Add HAVE_IOREMAP_PROT support
>
> .../features/vm/ioremap_prot/arch-support.txt | 2 +-
> arch/arm/include/asm/io.h | 4 +-
> arch/arm/mm/ioremap.c | 9 +-
> arch/arm/mm/nommu.c | 9 +-
> arch/arm64/Kconfig | 2 +
> arch/arm64/include/asm/io.h | 24 +++--
> arch/arm64/include/asm/pgtable.h | 10 +++
> arch/arm64/kernel/acpi.c | 2 +-
> arch/arm64/mm/hugetlbpage.c | 10 ---
> arch/arm64/mm/ioremap.c | 90 ++-----------------
> include/asm-generic/io.h | 29 +++++-
> mm/ioremap.c | 26 ++++--
> 12 files changed, 90 insertions(+), 127 deletions(-)
>
More information about the linux-arm-kernel
mailing list