Merge branch 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied...
[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 prot;
18                         int fd;
19                         __u64 offset;
20                 } mmap;
21                 struct {
22                         unsigned long addr;
23                         unsigned long len;
24                 } munmap;
25                 struct {
26                         unsigned long addr;
27                         unsigned long len;
28                         unsigned int prot;
29                 } mprotect;
30         } u;
31 };
32
33 extern void force_flush_all(void);
34 extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr,
35                              unsigned long end_addr, int force,
36                              int (*do_ops)(union mm_context *,
37                                            struct host_vm_op *, int, int,
38                                            void **));
39 extern int flush_tlb_kernel_range_common(unsigned long start,
40                                          unsigned long end);
41
42 #endif