Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v2.6.16-rc6 48 lines 1.0 kB view raw
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/config.h> 14#include <linux/bitops.h> 15#include <linux/cpumask.h> 16 17#ifdef CONFIG_SMP 18 19#include <asm/spinlock.h> 20#include <asm/atomic.h> 21#include <asm/current.h> 22 23extern cpumask_t cpu_online_map; 24extern cpumask_t cpu_possible_map; 25 26#define cpu_online(cpu) cpu_isset(cpu, cpu_online_map) 27 28#define raw_smp_processor_id() (current_thread_info()->cpu) 29 30/* I've no idea what the real meaning of this is */ 31#define PROC_CHANGE_PENALTY 20 32 33#define NO_PROC_ID (-1) 34 35struct smp_fn_call_struct { 36 spinlock_t lock; 37 atomic_t finished; 38 void (*fn)(void *); 39 void *data; 40}; 41 42extern struct smp_fn_call_struct smp_fn_call; 43 44#define SMP_MSG_RESCHEDULE 0x0001 45 46#endif /* CONFIG_SMP */ 47 48#endif /* __ASM_SH_SMP_H */