blob: f575ff91f2a01796951c90090542b18344e6998b [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
9#include "uml-config.h"
Jeff Dike6c738ff2007-10-16 01:27:06 -070010#include "mm_id.h"
11#include "asm/ldt.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -070012
Jeff Dike6c738ff2007-10-16 01:27:06 -070013typedef struct mm_context {
14 struct mm_id id;
Jeff Dike6c738ff2007-10-16 01:27:06 -070015 struct uml_ldt ldt;
Jeff Dikeac2a6592008-02-08 04:22:11 -080016 struct page **stub_pages;
Linus Torvalds1da177e2005-04-16 15:20:36 -070017} mm_context_t;
18
Jeff Dike6c738ff2007-10-16 01:27:06 -070019extern void __switch_mm(struct mm_id * mm_idp);
20
21/* Avoid tangled inclusion with asm/ldt.h */
22extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm);
23extern void free_ldt(struct mm_context *mm);
24
Linus Torvalds1da177e2005-04-16 15:20:36 -070025#endif