Re: git: 9dafbd0c69a6 - main - linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()`

From: Jessica Clarke <jrtc27_at_freebsd.org>
Date: Mon, 30 Jan 2023 22:31:29 UTC
On 30 Jan 2023, at 22:17, Jean-Sébastien Pédron <dumbbell@FreeBSD.org> wrote:
> 
> The branch main has been updated by dumbbell (ports committer):
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=9dafbd0c69a6aade69b23a649548b6c7133f1091
> 
> commit 9dafbd0c69a6aade69b23a649548b6c7133f1091
> Author:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
> AuthorDate: 2023-01-20 17:52:39 +0000
> Commit:     Jean-Sébastien Pédron <dumbbell@FreeBSD.org>
> CommitDate: 2023-01-30 22:09:22 +0000
> 
>    linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()`
> 
>    They are synonymous to `kmap_atomic_prot()` and `kunmap_atomic()`
>    respectively.
> 
>    While here, fix several style(9) issues.
> 
>    Reviewed by:    manu
>    Approved by:    manu
>    Differential Revision:  https://reviews.freebsd.org/D38155
> ---
> sys/compat/linuxkpi/common/include/linux/highmem.h | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
> 
> diff --git a/sys/compat/linuxkpi/common/include/linux/highmem.h b/sys/compat/linuxkpi/common/include/linux/highmem.h
> index 53efbec06385..0056b590f239 100644
> --- a/sys/compat/linuxkpi/common/include/linux/highmem.h
> +++ b/sys/compat/linuxkpi/common/include/linux/highmem.h
> @@ -50,6 +50,7 @@
> static inline vm_page_t
> kmap_to_page(void *addr)
> {
> +

These aren’t style(9) issues, this requirement was dropped a while ago
and new code shouldn’t include these blank lines.

Jess

> 	return (virt_to_page(addr));
> }
> 
> @@ -88,9 +89,17 @@ kmap_atomic_prot(vm_page_t page, pgprot_t prot)
> static inline void *
> kmap_atomic(vm_page_t page)
> {
> +
> 	return (kmap_atomic_prot(page, VM_PROT_ALL));
> }
> 
> +static inline void *
> +kmap_local_page_prot(vm_page_t page, pgprot_t prot)
> +{
> +
> +	return (kmap_atomic_prot(page, prot));
> +}
> +
> static inline void
> kunmap(vm_page_t page)
> {
> @@ -111,8 +120,16 @@ kunmap(vm_page_t page)
> static inline void
> kunmap_atomic(void *vaddr)
> {
> +
> 	if (!PMAP_HAS_DMAP)
> 		kunmap(virt_to_page(vaddr));
> }
> 
> +static inline void
> +kunmap_local(void *addr)
> +{
> +
> +	kunmap_atomic(addr);
> +}
> +
> #endif	/* _LINUXKPI_LINUX_HIGHMEM_H_ */