]> git.ipfire.org Git - thirdparty/linux.git/blobdiff - include/linux/vmalloc.h
mm/vmalloc: track which page-table levels were modified
[thirdparty/linux.git] / include / linux / vmalloc.h
index 3332926295d47f9bd483f7efc7fc26869b77cf4b..0efc35dc5b258d80f79e3d258be0b93046428395 100644 (file)
@@ -133,6 +133,22 @@ extern int remap_vmalloc_range(struct vm_area_struct *vma, void *addr,
 void vmalloc_sync_mappings(void);
 void vmalloc_sync_unmappings(void);
 
+/*
+ * Architectures can set this mask to a combination of PGTBL_P?D_MODIFIED values
+ * and let generic vmalloc and ioremap code know when arch_sync_kernel_mappings()
+ * needs to be called.
+ */
+#ifndef ARCH_PAGE_TABLE_SYNC_MASK
+#define ARCH_PAGE_TABLE_SYNC_MASK 0
+#endif
+
+/*
+ * There is no default implementation for arch_sync_kernel_mappings(). It is
+ * relied upon the compiler to optimize calls out if ARCH_PAGE_TABLE_SYNC_MASK
+ * is 0.
+ */
+void arch_sync_kernel_mappings(unsigned long start, unsigned long end);
+
 /*
  *     Lowlevel-APIs (not for driver use!)
  */