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