mmu.h 691 B

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