1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_MMU_H
3 #define __ASM_MMU_H
4 
5 #include <linux/atomic.h>
6 #include <linux/spinlock.h>
7 #include <linux/wait.h>
8 
9 typedef struct {
10 	union {
11 		u64 asid[NR_CPUS];
12 		atomic64_t mmid;
13 	};
14 
15 	void *vdso;
16 
17 	/* lock to be held whilst modifying fp_bd_emupage_allocmap */
18 	spinlock_t bd_emupage_lock;
19 	/* bitmap tracking allocation of fp_bd_emupage */
20 	unsigned long *bd_emupage_allocmap;
21 	/* wait queue for threads requiring an emuframe */
22 	wait_queue_head_t bd_emupage_queue;
23 } mm_context_t;
24 
25 #endif /* __ASM_MMU_H */
26