1/* 2 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 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" 10#include "mm_id.h" 11#include "asm/ldt.h" 12 13typedef 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; 20} mm_context_t; 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 28#endif 29