1 #ifndef __MMU_H 2 #define __MMU_H 3 4 typedef struct { 5 atomic_t attach_count; 6 unsigned int flush_mm; 7 spinlock_t list_lock; 8 struct list_head crst_list; 9 struct list_head pgtable_list; 10 unsigned long asce_bits; 11 unsigned long asce_limit; 12 unsigned long vdso_base; 13 int noexec; 14 int has_pgste; /* The mmu context has extended page tables */ 15 int alloc_pgste; /* cloned contexts will have extended page tables */ 16 } mm_context_t; 17 18 #define INIT_MM_CONTEXT(name) \ 19 .context.list_lock = __SPIN_LOCK_UNLOCKED(name.context.list_lock), \ 20 .context.crst_list = LIST_HEAD_INIT(name.context.crst_list), \ 21 .context.pgtable_list = LIST_HEAD_INIT(name.context.pgtable_list), 22 23 #endif 24