diff options
author | Jeff Dike <jdike@addtoit.com> | 2007-10-16 01:27:06 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 09:43:06 -0700 |
commit | 6c738ffa9fea6869f5d51882dfefbba746e432b1 (patch) | |
tree | e9b30ccd149f73676422ea5519d6572a3f8e2819 /arch/um/include | |
parent | fab95c55e3b94e219044dc7a558632d08c198771 (diff) | |
download | kernel-common-6c738ffa9fea6869f5d51882dfefbba746e432b1.tar.gz kernel-common-6c738ffa9fea6869f5d51882dfefbba746e432b1.tar.bz2 kernel-common-6c738ffa9fea6869f5d51882dfefbba746e432b1.zip |
uml: fold mmu_context_skas into mm_context
This patch folds mmu_context_skas into struct mm_context, changing all users
of these structures as needed.
Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
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 |