init_task.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * linux/arch/unicore32/kernel/init_task.c
  3. *
  4. * Code specific to PKUnity SoC and UniCore ISA
  5. *
  6. * Copyright (C) 2001-2010 GUAN Xue-tao
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. #include <linux/mm.h>
  13. #include <linux/module.h>
  14. #include <linux/fs.h>
  15. #include <linux/sched.h>
  16. #include <linux/init.h>
  17. #include <linux/init_task.h>
  18. #include <linux/mqueue.h>
  19. #include <linux/uaccess.h>
  20. #include <asm/pgtable.h>
  21. static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
  22. static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
  23. /*
  24. * Initial thread structure.
  25. *
  26. * We need to make sure that this is 8192-byte aligned due to the
  27. * way process stacks are handled. This is done by making sure
  28. * the linker maps this in the .text segment right after head.S,
  29. * and making head.S ensure the proper alignment.
  30. *
  31. * The things we do for performance..
  32. */
  33. union thread_union init_thread_union __init_task_data = {
  34. INIT_THREAD_INFO(init_task) };
  35. /*
  36. * Initial task structure.
  37. *
  38. * All other task structs will be allocated on slabs in fork.c
  39. */
  40. struct task_struct init_task = INIT_TASK(init_task);
  41. EXPORT_SYMBOL(init_task);