git: 9dafbd0c69a6 - main - linuxkpi: Add `kmap_local_page_prot()` and `kunmap_local()`
Date: Mon, 30 Jan 2023 22:17:40 UTC
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)
{
+
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_ */