diff options
author | Jean-Sébastien Pédron <dumbbell@FreeBSD.org> | 2023-01-20 17:52:39 +0000 |
---|---|---|
committer | Jean-Sébastien Pédron <dumbbell@FreeBSD.org> | 2023-02-16 11:55:17 +0000 |
commit | a6ffaf995b44553b65c8493af38d627d21bfb47d (patch) | |
tree | 70573cc4cc81dfefcc9886a9667c3541c88ac44c | |
parent | 46a8154651aab6abb03cba09e80882139ed466aa (diff) | |
download | src-a6ffaf995b44553b65c8493af38d627d21bfb47d.tar.gz src-a6ffaf995b44553b65c8493af38d627d21bfb47d.zip |
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
(cherry picked from commit 9dafbd0c69a6aade69b23a649548b6c7133f1091)
-rw-r--r-- | sys/compat/linuxkpi/common/include/linux/highmem.h | 17 |
1 files changed, 17 insertions, 0 deletions
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) { + 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_ */ |