18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) 48c2ecf20Sopenharmony_ci */ 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci#ifndef __ARCH_UM_MMU_H 78c2ecf20Sopenharmony_ci#define __ARCH_UM_MMU_H 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include <mm_id.h> 108c2ecf20Sopenharmony_ci#include <asm/mm_context.h> 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_citypedef struct mm_context { 138c2ecf20Sopenharmony_ci struct mm_id id; 148c2ecf20Sopenharmony_ci struct uml_arch_mm_context arch; 158c2ecf20Sopenharmony_ci struct page *stub_pages[2]; 168c2ecf20Sopenharmony_ci} mm_context_t; 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciextern void __switch_mm(struct mm_id * mm_idp); 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci/* Avoid tangled inclusion with asm/ldt.h */ 218c2ecf20Sopenharmony_ciextern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm); 228c2ecf20Sopenharmony_ciextern void free_ldt(struct mm_context *mm); 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci#endif 25