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