aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2026-04-11 14:19:39 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2026-04-22 18:09:53 +0000
commit84fc57a369dfac882cb9e9333635aaa11978948f (patch)
treea0a5452dd6ca1ae87fea9abd2c6aa7eb07e1d50c /sys
parente692f36a678d4fad6054161e554eb5ec544fffa8 (diff)
Diffstat (limited to 'sys')
-rw-r--r--sys/compat/linuxkpi/common/include/linux/highmem.h22
-rw-r--r--sys/compat/linuxkpi/common/include/linux/mm.h1
2 files changed, 23 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/include/linux/highmem.h b/sys/compat/linuxkpi/common/include/linux/highmem.h
index dc1c4fe2f299..294b2666031b 100644
--- a/sys/compat/linuxkpi/common/include/linux/highmem.h
+++ b/sys/compat/linuxkpi/common/include/linux/highmem.h
@@ -100,6 +100,19 @@ kmap_local_page(struct page *page)
}
static inline void *
+kmap_local_folio(struct folio *folio, size_t offset)
+{
+ struct page *page;
+ char *vaddr;
+
+ page = &folio->page;
+ vaddr = kmap_local_page(page);
+ vaddr += offset;
+
+ return (vaddr);
+}
+
+static inline void *
kmap_local_page_prot(struct page *page, pgprot_t prot)
{
@@ -168,4 +181,13 @@ memcpy_to_page(struct page *page, size_t offset, const char *from, size_t len)
kunmap_local(to);
}
+static inline void
+memcpy_to_folio(struct folio *folio, size_t offset, const char *from, size_t len)
+{
+ struct page *page;
+
+ page = &folio->page;
+ memcpy_to_page(page, offset, from, len);
+}
+
#endif /* _LINUXKPI_LINUX_HIGHMEM_H_ */
diff --git a/sys/compat/linuxkpi/common/include/linux/mm.h b/sys/compat/linuxkpi/common/include/linux/mm.h
index 156b00a0c0f0..a639c0947031 100644
--- a/sys/compat/linuxkpi/common/include/linux/mm.h
+++ b/sys/compat/linuxkpi/common/include/linux/mm.h
@@ -264,6 +264,7 @@ vma_pages(struct vm_area_struct *vma)
}
#define offset_in_page(off) ((unsigned long)(off) & (PAGE_SIZE - 1))
+#define offset_in_folio(folio, p) ((unsigned long)(p) & (folio_size(folio) - 1))
static inline void
set_page_dirty(struct page *page)