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*ff4dd232SPaul Burton u64 asid[NR_CPUS]; 11c52d0d30SDavid Daney void *vdso; 129791554bSPaul Burton atomic_t fp_mode_switching; 13432c6bacSPaul Burton 14432c6bacSPaul Burton /* lock to be held whilst modifying fp_bd_emupage_allocmap */ 15432c6bacSPaul Burton spinlock_t bd_emupage_lock; 16432c6bacSPaul Burton /* bitmap tracking allocation of fp_bd_emupage */ 17432c6bacSPaul Burton unsigned long *bd_emupage_allocmap; 18432c6bacSPaul Burton /* wait queue for threads requiring an emuframe */ 19432c6bacSPaul Burton wait_queue_head_t bd_emupage_queue; 20c52d0d30SDavid Daney } mm_context_t; 21384740dcSRalf Baechle 22384740dcSRalf Baechle #endif /* __ASM_MMU_H */ 23