init_task.c
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. #include <linux/mm.h>
  2. #include <linux/sched.h>
  3. #include <asm/pgtable.h>
  4. #include <asm/uaccess.h>
  5. #include <asm/processor.h>
  6. static struct fs_struct init_fs = INIT_FS;
  7. static struct files_struct init_files = INIT_FILES;
  8. static struct signal_struct init_signals = INIT_SIGNALS;
  9. struct mm_struct init_mm = INIT_MM(init_mm);
  10. /* .text section in head.S is aligned at 2 page boundry and this gets linked
  11.  * right after that so that the init_task_union is aligned properly as well.
  12.  * We really don't need this special alignment like the Intel does, but
  13.  * I do it anyways for completeness.
  14.  */
  15. __asm__ (".text");
  16. union task_union init_task_union = { INIT_TASK(init_task_union.task) };
  17. /*
  18.  * This is to make the init_task+stack of the right size for >8k pagesize.
  19.  * The definition of task_union in sched.h makes it 16k wide.
  20.  */
  21. #if PAGE_SHIFT != 13
  22. char init_task_stack[THREAD_SIZE - INIT_TASK_SIZE] = { 0 };
  23. #endif