home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-sh / smp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  983 b   |  48 lines

  1. /*
  2.  * include/asm-sh/smp.h
  3.  *
  4.  * Copyright (C) 2002, 2003  Paul Mundt
  5.  *
  6.  * This file is subject to the terms and conditions of the GNU General Public
  7.  * License.  See the file "COPYING" in the main directory of this archive for
  8.  * more details.
  9.  */
  10. #ifndef __ASM_SH_SMP_H
  11. #define __ASM_SH_SMP_H
  12.  
  13. #include <linux/bitops.h>
  14. #include <linux/cpumask.h>
  15.  
  16. #ifdef CONFIG_SMP
  17.  
  18. #include <asm/spinlock.h>
  19. #include <asm/atomic.h>
  20. #include <asm/current.h>
  21.  
  22. extern cpumask_t cpu_online_map;
  23. extern cpumask_t cpu_possible_map;
  24.  
  25. #define cpu_online(cpu)        cpu_isset(cpu, cpu_online_map)
  26.  
  27. #define raw_smp_processor_id()    (current_thread_info()->cpu)
  28.  
  29. /* I've no idea what the real meaning of this is */
  30. #define PROC_CHANGE_PENALTY    20
  31.  
  32. #define NO_PROC_ID    (-1)
  33.  
  34. struct smp_fn_call_struct {
  35.     spinlock_t lock;
  36.     atomic_t   finished;
  37.     void (*fn)(void *);
  38.     void *data;
  39. };
  40.  
  41. extern struct smp_fn_call_struct smp_fn_call;
  42.  
  43. #define SMP_MSG_RESCHEDULE    0x0001
  44.  
  45. #endif /* CONFIG_SMP */
  46.  
  47. #endif /* __ASM_SH_SMP_H */
  48.