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 @@ -/* - * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) - * Licensed under the GPL - */ - -#ifndef __SKAS_MMU_H -#define __SKAS_MMU_H - -#include "mm_id.h" -#include "asm/ldt.h" - -struct mmu_context_skas { - struct mm_id id; - unsigned long last_page_table; -#ifdef CONFIG_3_LEVEL_PGTABLES - unsigned long last_pmd; -#endif - uml_ldt_t ldt; -}; - -extern void __switch_mm(struct mm_id * mm_idp); - -#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 { 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 *, + int (*do_ops)(struct mm_context *, struct host_vm_op *, int, int, void **)); 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 @@ #define __ARCH_UM_MMU_H #include "uml-config.h" -#include "mmu-skas.h" +#include "mm_id.h" +#include "asm/ldt.h" -typedef union mm_context { - struct mmu_context_skas skas; +typedef struct mm_context { + struct mm_id id; + unsigned long last_page_table; +#ifdef CONFIG_3_LEVEL_PGTABLES + unsigned long last_pmd; +#endif + struct uml_ldt ldt; } mm_context_t; +extern void __switch_mm(struct mm_id * mm_idp); + +/* Avoid tangled inclusion with asm/ldt.h */ +extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm); +extern void free_ldt(struct mm_context *mm); + #endif |