mmu.h 643 B

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