xref: /openbmc/linux/arch/mips/include/asm/mmu.h (revision c8790d65)
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 {
10c8790d65SPaul Burton 	union {
11ff4dd232SPaul Burton 		u64 asid[NR_CPUS];
12c8790d65SPaul Burton 		atomic64_t mmid;
13c8790d65SPaul Burton 	};
14c8790d65SPaul 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