aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2023-01-20 17:52:39 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2023-02-16 11:55:17 +0000
commita6ffaf995b44553b65c8493af38d627d21bfb47d (patch)
tree70573cc4cc81dfefcc9886a9667c3541c88ac44c
parent46a8154651aab6abb03cba09e80882139ed466aa (diff)
downloadsrc-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.h17
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_ */