aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
authorJeff Dike <jdike@addtoit.com>2007-10-16 01:27:06 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-10-16 09:43:06 -0700
commit6c738ffa9fea6869f5d51882dfefbba746e432b1 (patch)
treee9b30ccd149f73676422ea5519d6572a3f8e2819 /arch/um/include
parentuml: get rid of do_longjmp (diff)
downloadlinux-dev-6c738ffa9fea6869f5d51882dfefbba746e432b1.tar.xz
linux-dev-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.h23
-rw-r--r--arch/um/include/tlb.h2
-rw-r--r--arch/um/include/um_mmu.h18
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