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