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 <linux/spinlock.h> 19#include <asm/atomic.h> 20#include <asm/current.h> 21 22#define raw_smp_processor_id() (current_thread_info()->cpu) 23 24/* I've no idea what the real meaning of this is */ 25#define PROC_CHANGE_PENALTY 20 26 27#define NO_PROC_ID (-1) 28 29struct smp_fn_call_struct { 30 spinlock_t lock; 31 atomic_t finished; 32 void (*fn)(void *); 33 void *data; 34}; 35 36extern struct smp_fn_call_struct smp_fn_call; 37 38#define SMP_MSG_RESCHEDULE 0x0001 39 40#endif /* CONFIG_SMP */ 41 42#endif /* __ASM_SH_SMP_H */ 43