[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