aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
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 @@
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
12struct 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
21extern 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 {
33extern void force_flush_all(void); 33extern void force_flush_all(void);
34extern void fix_range_common(struct mm_struct *mm, unsigned long start_addr, 34extern 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 **));
39extern int flush_tlb_kernel_range_common(unsigned long start, 39extern 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
12typedef union mm_context { 13typedef 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
22extern void __switch_mm(struct mm_id * mm_idp);
23
24/* Avoid tangled inclusion with asm/ldt.h */
25extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm);
26extern void free_ldt(struct mm_context *mm);
27
16#endif 28#endif