Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/um/include/asm/mmu.h
50159 views
1
/* SPDX-License-Identifier: GPL-2.0 */
2
/*
3
* Copyright (C) 2002 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
4
*/
5
6
#ifndef __ARCH_UM_MMU_H
7
#define __ARCH_UM_MMU_H
8
9
#include "linux/types.h"
10
#include <linux/mutex.h>
11
#include <linux/spinlock.h>
12
#include <mm_id.h>
13
14
typedef struct mm_context {
15
struct mm_id id;
16
struct mutex turnstile;
17
18
struct list_head list;
19
20
/* Address range in need of a TLB sync */
21
spinlock_t sync_tlb_lock;
22
unsigned long sync_tlb_range_from;
23
unsigned long sync_tlb_range_to;
24
} mm_context_t;
25
26
#define INIT_MM_CONTEXT(mm) \
27
.context = { \
28
.turnstile = __MUTEX_INITIALIZER(mm.context.turnstile), \
29
.sync_tlb_lock = __SPIN_LOCK_INITIALIZER(mm.context.sync_tlb_lock), \
30
}
31
32
#endif
33
34