1#ifndef __ARM_MMU_H
2#define __ARM_MMU_H
3
4#ifdef CONFIG_MMU
5
6typedef 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 */
34typedef struct {
35	unsigned long	end_brk;
36} mm_context_t;
37
38#endif
39
40#endif
41