Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
Jeff Dike | ae2587e | 2007-10-16 01:26:57 -0700 | [diff] [blame] | 2 | * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | * Licensed under the GPL |
| 4 | */ |
| 5 | |
| 6 | #ifndef __ARCH_UM_MMU_H |
| 7 | #define __ARCH_UM_MMU_H |
| 8 | |
| 9 | #include "uml-config.h" |
Jeff Dike | 6c738ff | 2007-10-16 01:27:06 -0700 | [diff] [blame] | 10 | #include "mm_id.h" |
| 11 | #include "asm/ldt.h" |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 12 | |
Jeff Dike | 6c738ff | 2007-10-16 01:27:06 -0700 | [diff] [blame] | 13 | typedef struct mm_context { |
| 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; |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | } mm_context_t; |
| 21 | |
Jeff Dike | 6c738ff | 2007-10-16 01:27:06 -0700 | [diff] [blame] | 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 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 28 | #endif |