/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com) */ #ifndef __ARCH_UM_MMU_H #define __ARCH_UM_MMU_H #include "linux/types.h" #include #include #include typedef struct mm_context { struct mm_id id; struct mutex turnstile; struct list_head list; /* Address range in need of a TLB sync */ spinlock_t sync_tlb_lock; unsigned long sync_tlb_range_from; unsigned long sync_tlb_range_to; } mm_context_t; #define INIT_MM_CONTEXT(mm) \ .context = { \ .turnstile = __MUTEX_INITIALIZER(mm.context.turnstile), \ .sync_tlb_lock = __SPIN_LOCK_INITIALIZER(mm.context.sync_tlb_lock), \ } #endif