smp-up.c 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (C) 2006, 07 by Ralf Baechle (ralf@linux-mips.org)
  7. *
  8. * Symmetric Uniprocessor (TM) Support
  9. */
  10. #include <linux/kernel.h>
  11. #include <linux/sched.h>
  12. /*
  13. * Send inter-processor interrupt
  14. */
  15. static void up_send_ipi_single(int cpu, unsigned int action)
  16. {
  17. panic(KERN_ERR "%s called", __func__);
  18. }
  19. static inline void up_send_ipi_mask(const struct cpumask *mask,
  20. unsigned int action)
  21. {
  22. panic(KERN_ERR "%s called", __func__);
  23. }
  24. /*
  25. * After we've done initial boot, this function is called to allow the
  26. * board code to clean up state, if needed
  27. */
  28. static void __cpuinit up_init_secondary(void)
  29. {
  30. }
  31. static void __cpuinit up_smp_finish(void)
  32. {
  33. }
  34. /* Hook for after all CPUs are online */
  35. static void up_cpus_done(void)
  36. {
  37. }
  38. /*
  39. * Firmware CPU startup hook
  40. */
  41. static void __cpuinit up_boot_secondary(int cpu, struct task_struct *idle)
  42. {
  43. }
  44. static void __init up_smp_setup(void)
  45. {
  46. }
  47. static void __init up_prepare_cpus(unsigned int max_cpus)
  48. {
  49. }
  50. #ifdef CONFIG_HOTPLUG_CPU
  51. static int up_cpu_disable(void)
  52. {
  53. return -ENOSYS;
  54. }
  55. static void up_cpu_die(unsigned int cpu)
  56. {
  57. BUG();
  58. }
  59. #endif
  60. struct plat_smp_ops up_smp_ops = {
  61. .send_ipi_single = up_send_ipi_single,
  62. .send_ipi_mask = up_send_ipi_mask,
  63. .init_secondary = up_init_secondary,
  64. .smp_finish = up_smp_finish,
  65. .cpus_done = up_cpus_done,
  66. .boot_secondary = up_boot_secondary,
  67. .smp_setup = up_smp_setup,
  68. .prepare_cpus = up_prepare_cpus,
  69. #ifdef CONFIG_HOTPLUG_CPU
  70. .cpu_disable = up_cpu_disable,
  71. .cpu_die = up_cpu_die,
  72. #endif
  73. };