^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #ifndef __ARCH_UM_MMU_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #define __ARCH_UM_MMU_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #include <mm_id.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #include <asm/mm_context.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) typedef struct mm_context {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) struct mm_id id;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) struct uml_arch_mm_context arch;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) struct page *stub_pages[2];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) } mm_context_t;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) extern void __switch_mm(struct mm_id * mm_idp);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) /* Avoid tangled inclusion with asm/ldt.h */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) extern long init_new_ldt(struct mm_context *to_mm, struct mm_context *from_mm);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) extern void free_ldt(struct mm_context *mm);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) #endif