Merge git://git.skbuff.net/gitroot/yoshfuji/linux-2.6.14+advapi-fix/
[linux-drm-fsl-dcu.git] / arch / um / include / tlb.h
1 /* 
2  * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
3  * Licensed under the GPL
4  */
5
6 #ifndef __TLB_H__
7 #define __TLB_H__
8
9 #include "um_mmu.h"
10
11 struct host_vm_op {
12         enum { NONE, MMAP, MUNMAP, MPROTECT } type;
13         union {
14                 struct {
15                         unsigned long addr;
16                         unsigned long len;
17                         unsigned int r:1;
18                         unsigned int w:1;
19                         unsigned int x:1;
20                         int fd;
21                         __u64 offset;
22                 } mmap;
23                 struct {
24                         unsigned long addr;
25                         unsigned long len;
26                 } munmap;
27                 struct {
28                         unsigned long addr;
29                         unsigned long len;
30                         unsigned int r:1;
31                         unsigned int w:1;
32                         unsigned int x:1;
33                 } mprotect;
34         } u;
35 };
36
37 extern void force_flush_all(void);
38 extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr,
39                              unsigned long end_addr, int force,
40                              int (*do_ops)(union mm_context *,
41                                            struct host_vm_op *, int, int,
42                                            void **));
43 extern int flush_tlb_kernel_range_common(unsigned long start,
44                                          unsigned long end);
45
46 #endif