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