blob: b1a7e47d10277689535add4b4027fe092655f2d0 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Jeff Dikeae2587e2007-10-16 01:26:57 -07002 * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 * Licensed under the GPL
4 */
5
6#ifndef __ARCH_UM_MMU_H
7#define __ARCH_UM_MMU_H
8
Jeff Dike6c738ff2007-10-16 01:27:06 -07009#include "mm_id.h"
Al Viroefb21cc2008-08-18 01:26:38 -040010#include "ldt.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -070011
Jeff Dike6c738ff2007-10-16 01:27:06 -070012typedef struct mm_context {
13 struct mm_id id;
Jeff Dike6c738ff2007-10-16 01:27:06 -070014 struct uml_ldt ldt;
Jeff Dikeac2a6592008-02-08 04:22:11 -080015 struct page **stub_pages;
Linus Torvalds1da177e2005-04-16 15:20:36 -070016} mm_context_t;
17
Jeff Dike6c738ff2007-10-16 01:27:06 -070018extern void __switch_mm(struct mm_id * mm_idp);
19
20/* Avoid tangled inclusion with asm/ldt.h */
21extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm);
22extern void free_ldt(struct mm_context *mm);
23
Linus Torvalds1da177e2005-04-16 15:20:36 -070024#endif