xref: /linux/arch/arm/include/asm/mmu.h (revision c4ee0af3fa0dc65f690fc908f02b8355f9576ea0)
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 } mm_context_t;
15 
16 #ifdef CONFIG_CPU_HAS_ASID
17 #define ASID_BITS	8
18 #define ASID_MASK	((~0ULL) << ASID_BITS)
19 #define ASID(mm)	((unsigned int)((mm)->context.id.counter & ~ASID_MASK))
20 #else
21 #define ASID(mm)	(0)
22 #endif
23 
24 #else
25 
26 /*
27  * From nommu.h:
28  *  Copyright (C) 2002, David McCullough <davidm@snapgear.com>
29  *  modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com>
30  */
31 typedef struct {
32 	unsigned long	end_brk;
33 } mm_context_t;
34 
35 #endif
36 
37 #endif
38