1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2384740dcSRalf Baechle #ifndef __ASM_MMU_H 3384740dcSRalf Baechle #define __ASM_MMU_H 4384740dcSRalf Baechle 59791554bSPaul Burton #include <linux/atomic.h> 6432c6bacSPaul Burton #include <linux/spinlock.h> 7432c6bacSPaul Burton #include <linux/wait.h> 89791554bSPaul Burton 9c52d0d30SDavid Daney typedef struct { 10*c8790d65SPaul Burton union { 11ff4dd232SPaul Burton u64 asid[NR_CPUS]; 12*c8790d65SPaul Burton atomic64_t mmid; 13*c8790d65SPaul Burton }; 14*c8790d65SPaul Burton 15c52d0d30SDavid Daney void *vdso; 16432c6bacSPaul Burton 17432c6bacSPaul Burton /* lock to be held whilst modifying fp_bd_emupage_allocmap */ 18432c6bacSPaul Burton spinlock_t bd_emupage_lock; 19432c6bacSPaul Burton /* bitmap tracking allocation of fp_bd_emupage */ 20432c6bacSPaul Burton unsigned long *bd_emupage_allocmap; 21432c6bacSPaul Burton /* wait queue for threads requiring an emuframe */ 22432c6bacSPaul Burton wait_queue_head_t bd_emupage_queue; 23c52d0d30SDavid Daney } mm_context_t; 24384740dcSRalf Baechle 25384740dcSRalf Baechle #endif /* __ASM_MMU_H */ 26