summaryrefslogtreecommitdiff
path: root/include/linux/vcache.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/vcache.h')
-rw-r--r--include/linux/vcache.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/linux/vcache.h b/include/linux/vcache.h
new file mode 100644
index 000000000000..d5756643332c
--- /dev/null
+++ b/include/linux/vcache.h
@@ -0,0 +1,26 @@
+/*
+ * virtual => physical mapping cache support.
+ */
+#ifndef _LINUX_VCACHE_H
+#define _LINUX_VCACHE_H
+
+typedef struct vcache_s {
+ unsigned long address;
+ struct mm_struct *mm;
+ struct list_head hash_entry;
+ void (*callback)(struct vcache_s *data, struct page *new_page);
+} vcache_t;
+
+extern spinlock_t vcache_lock;
+
+extern void __attach_vcache(vcache_t *vcache,
+ unsigned long address,
+ struct mm_struct *mm,
+ void (*callback)(struct vcache_s *data, struct page *new_page));
+
+extern void detach_vcache(vcache_t *vcache);
+
+extern void invalidate_vcache(unsigned long address, struct mm_struct *mm,
+ struct page *new_page);
+
+#endif