xref: /linux/arch/arm/include/asm/mmu.h (revision 6724af486903df57338c14424e02599e371cf563)
1 #ifndef __ARM_MMU_H
2 #define __ARM_MMU_H
3 
4 #ifdef CONFIG_MMU
5 
6 typedef struct {
7 #ifdef CONFIG_CPU_HAS_ASID
8 	atomic64_t	id;
9 #else
10 	int		switch_pending;
11 #endif
12 	unsigned int	vmalloc_seq;
13 	unsigned long	sigpage;
14 #ifdef CONFIG_VDSO
15 	unsigned long	vdso;
16 #endif
17 } mm_context_t;
18 
19 #ifdef CONFIG_CPU_HAS_ASID
20 #define ASID_BITS	8
21 #define ASID_MASK	((~0ULL) << ASID_BITS)
22 #define ASID(mm)	((unsigned int)((mm)->context.id.counter & ~ASID_MASK))
23 #else
24 #define ASID(mm)	(0)
25 #endif
26 
27 #else
28 
29 /*
30  * From nommu.h:
31  *  Copyright (C) 2002, David McCullough <davidm@snapgear.com>
32  *  modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com>
33  */
34 typedef struct {
35 	unsigned long	end_brk;
36 } mm_context_t;
37 
38 #endif
39 
40 #endif
41