home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / sparc / include / asm / smp_64.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.3 KB  |  68 lines

  1. /* smp.h: Sparc64 specific SMP stuff.
  2.  *
  3.  * Copyright (C) 1996, 2008 David S. Miller (davem@davemloft.net)
  4.  */
  5.  
  6. #ifndef _SPARC64_SMP_H
  7. #define _SPARC64_SMP_H
  8.  
  9. #include <linux/threads.h>
  10. #include <asm/asi.h>
  11. #include <asm/starfire.h>
  12. #include <asm/spitfire.h>
  13.  
  14. #ifndef __ASSEMBLY__
  15.  
  16. #include <linux/cpumask.h>
  17. #include <linux/cache.h>
  18.  
  19. #endif /* !(__ASSEMBLY__) */
  20.  
  21. #ifdef CONFIG_SMP
  22.  
  23. #ifndef __ASSEMBLY__
  24.  
  25. /*
  26.  *    Private routines/data
  27.  */
  28.  
  29. #include <linux/bitops.h>
  30. #include <asm/atomic.h>
  31. #include <asm/percpu.h>
  32.  
  33. DECLARE_PER_CPU(cpumask_t, cpu_sibling_map);
  34. extern cpumask_t cpu_core_map[NR_CPUS];
  35. extern int sparc64_multi_core;
  36.  
  37. extern void arch_send_call_function_single_ipi(int cpu);
  38. extern void arch_send_call_function_ipi(cpumask_t mask);
  39.  
  40. /*
  41.  *    General functions that each host system must provide.
  42.  */
  43.  
  44. extern int hard_smp_processor_id(void);
  45. #define raw_smp_processor_id() (current_thread_info()->cpu)
  46.  
  47. extern void smp_fill_in_sib_core_maps(void);
  48. extern void cpu_play_dead(void);
  49.  
  50. extern void smp_fetch_global_regs(void);
  51.  
  52. #ifdef CONFIG_HOTPLUG_CPU
  53. extern int __cpu_disable(void);
  54. extern void __cpu_die(unsigned int cpu);
  55. #endif
  56.  
  57. #endif /* !(__ASSEMBLY__) */
  58.  
  59. #else
  60.  
  61. #define hard_smp_processor_id()        0
  62. #define smp_fill_in_sib_core_maps() do { } while (0)
  63. #define smp_fetch_global_regs() do { } while (0)
  64.  
  65. #endif /* !(CONFIG_SMP) */
  66.  
  67. #endif /* !(_SPARC64_SMP_H) */
  68.