diff options
Diffstat (limited to 'arch/um/include')
-rw-r--r-- | arch/um/include/skas/mmu-skas.h | 23 | ||||
-rw-r--r-- | arch/um/include/tlb.h | 2 | ||||
-rw-r--r-- | arch/um/include/um_mmu.h | 18 |
3 files changed, 16 insertions, 27 deletions
diff --git a/arch/um/include/skas/mmu-skas.h b/arch/um/include/skas/mmu-skas.h deleted file mode 100644 index 838dfd75e2aa..000000000000 --- a/arch/um/include/skas/mmu-skas.h +++ /dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) | ||
3 | * Licensed under the GPL | ||
4 | */ | ||
5 | |||
6 | #ifndef __SKAS_MMU_H | ||
7 | #define __SKAS_MMU_H | ||
8 | |||
9 | #include "mm_id.h" | ||
10 | #include "asm/ldt.h" | ||
11 | |||
12 | struct mmu_context_skas { | ||
13 | struct mm_id id; | ||
14 | unsigned long last_page_table; | ||
15 | #ifdef CONFIG_3_LEVEL_PGTABLES | ||
16 | unsigned long last_pmd; | ||
17 | #endif | ||
18 | uml_ldt_t ldt; | ||
19 | }; | ||
20 | |||
21 | extern void __switch_mm(struct mm_id * mm_idp); | ||
22 | |||
23 | #endif | ||
diff --git a/arch/um/include/tlb.h b/arch/um/include/tlb.h index bcd1a4afb842..46cf0057a1c5 100644 --- a/arch/um/include/tlb.h +++ b/arch/um/include/tlb.h | |||
@@ -33,7 +33,7 @@ struct host_vm_op { | |||
33 | extern void force_flush_all(void); | 33 | extern void force_flush_all(void); |
34 | extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr, | 34 | extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr, |
35 | unsigned long end_addr, int force, | 35 | unsigned long end_addr, int force, |
36 | int (*do_ops)(union mm_context *, | 36 | int (*do_ops)(struct mm_context *, |
37 | struct host_vm_op *, int, int, | 37 | struct host_vm_op *, int, int, |
38 | void **)); | 38 | void **)); |
39 | extern int flush_tlb_kernel_range_common(unsigned long start, | 39 | extern int flush_tlb_kernel_range_common(unsigned long start, |
diff --git a/arch/um/include/um_mmu.h b/arch/um/include/um_mmu.h index 668da8426ef4..8855d8df512f 100644 --- a/arch/um/include/um_mmu.h +++ b/arch/um/include/um_mmu.h | |||
@@ -7,10 +7,22 @@ | |||
7 | #define __ARCH_UM_MMU_H | 7 | #define __ARCH_UM_MMU_H |
8 | 8 | ||
9 | #include "uml-config.h" | 9 | #include "uml-config.h" |
10 | #include "mmu-skas.h" | 10 | #include "mm_id.h" |
11 | #include "asm/ldt.h" | ||
11 | 12 | ||
12 | typedef union mm_context { | 13 | typedef struct mm_context { |
13 | struct mmu_context_skas skas; | 14 | struct mm_id id; |
15 | unsigned long last_page_table; | ||
16 | #ifdef CONFIG_3_LEVEL_PGTABLES | ||
17 | unsigned long last_pmd; | ||
18 | #endif | ||
19 | struct uml_ldt ldt; | ||
14 | } mm_context_t; | 20 | } mm_context_t; |
15 | 21 | ||
22 | extern void __switch_mm(struct mm_id * mm_idp); | ||
23 | |||
24 | /* Avoid tangled inclusion with asm/ldt.h */ | ||
25 | extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm); | ||
26 | extern void free_ldt(struct mm_context *mm); | ||
27 | |||
16 | #endif | 28 | #endif |