Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / arch / um / include / tlb.h
index ba230d8..8efc1e0 100644 (file)
@@ -6,18 +6,41 @@
 #ifndef __TLB_H__
 #define __TLB_H__
 
-extern void mprotect_kernel_vm(int w);
+#include "um_mmu.h"
+
+struct host_vm_op {
+       enum { NONE, MMAP, MUNMAP, MPROTECT } type;
+       union {
+               struct {
+                       unsigned long addr;
+                       unsigned long len;
+                       unsigned int r:1;
+                       unsigned int w:1;
+                       unsigned int x:1;
+                       int fd;
+                       __u64 offset;
+               } mmap;
+               struct {
+                       unsigned long addr;
+                       unsigned long len;
+               } munmap;
+               struct {
+                       unsigned long addr;
+                       unsigned long len;
+                       unsigned int r:1;
+                       unsigned int w:1;
+                       unsigned int x:1;
+               } mprotect;
+       } u;
+};
+
 extern void force_flush_all(void);
+extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr,
+                             unsigned long end_addr, int force,
+                            int (*do_ops)(union mm_context *,
+                                          struct host_vm_op *, int, int,
+                                          void **));
+extern int flush_tlb_kernel_range_common(unsigned long start,
+                                        unsigned long end);
 
 #endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */