linux/mm/init-mm.c
<<
>>
Prefs
   1#include <linux/mm_types.h>
   2#include <linux/rbtree.h>
   3#include <linux/rwsem.h>
   4#include <linux/spinlock.h>
   5#include <linux/list.h>
   6#include <linux/cpumask.h>
   7
   8#include <asm/atomic.h>
   9#include <asm/pgtable.h>
  10#include <asm/mmu.h>
  11
  12#ifndef INIT_MM_CONTEXT
  13#define INIT_MM_CONTEXT(name)
  14#endif
  15
  16struct mm_struct init_mm = {
  17        .mm_rb          = RB_ROOT,
  18        .pgd            = swapper_pg_dir,
  19        .mm_users       = ATOMIC_INIT(2),
  20        .mm_count       = ATOMIC_INIT(1),
  21        .mmap_sem       = __RWSEM_INITIALIZER(init_mm.mmap_sem),
  22        .page_table_lock =  __SPIN_LOCK_UNLOCKED(init_mm.page_table_lock),
  23        .mmlist         = LIST_HEAD_INIT(init_mm.mmlist),
  24        .cpu_vm_mask    = CPU_MASK_ALL,
  25        INIT_MM_CONTEXT(init_mm)
  26};
  27