blob: 0740be7d5d4ac02a67206bf165825c497565910f [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002#ifndef __ASM_MMU_H
3#define __ASM_MMU_H
4
Paul Burton97915542015-01-08 12:17:37 +00005#include <linux/atomic.h>
Paul Burton432c6ba2016-07-08 11:06:19 +01006#include <linux/spinlock.h>
7#include <linux/wait.h>
Paul Burton97915542015-01-08 12:17:37 +00008
David Daneyc52d0d32010-02-18 16:13:04 -08009typedef struct {
10 unsigned long asid[NR_CPUS];
11 void *vdso;
Paul Burton97915542015-01-08 12:17:37 +000012 atomic_t fp_mode_switching;
Paul Burton432c6ba2016-07-08 11:06:19 +010013
14 /* lock to be held whilst modifying fp_bd_emupage_allocmap */
15 spinlock_t bd_emupage_lock;
16 /* bitmap tracking allocation of fp_bd_emupage */
17 unsigned long *bd_emupage_allocmap;
18 /* wait queue for threads requiring an emuframe */
19 wait_queue_head_t bd_emupage_queue;
David Daneyc52d0d32010-02-18 16:13:04 -080020} mm_context_t;
Linus Torvalds1da177e2005-04-16 15:20:36 -070021
22#endif /* __ASM_MMU_H */