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 pgtable_list; 9 struct list_head gmap_list; 10 unsigned long asce_bits; 11 unsigned long asce_limit; 12 unsigned long vdso_base; 13 /* Cloned contexts will be created with extended page tables. */ 14 unsigned int alloc_pgste:1; 15 /* The mmu context has extended page tables. */ 16 unsigned int has_pgste:1; 17 } mm_context_t; 18 19 #define INIT_MM_CONTEXT(name) \ 20 .context.list_lock = __SPIN_LOCK_UNLOCKED(name.context.list_lock), \ 21 .context.pgtable_list = LIST_HEAD_INIT(name.context.pgtable_list), \ 22 .context.gmap_list = LIST_HEAD_INIT(name.context.gmap_list), 23 24 #endif 25