1/* 2 * Copyright 2007-2009 Analog Devices Inc. 3 * Philippe Gerum <rpm@xenomai.org> 4 * 5 * Licensed under the GPL-2 or later. 6 */ 7 8#ifndef __ASM_BLACKFIN_SMP_H 9#define __ASM_BLACKFIN_SMP_H 10 11#include <linux/kernel.h> 12#include <linux/threads.h> 13#include <linux/cpumask.h> 14#include <linux/cache.h> 15#include <asm/blackfin.h> 16#include <mach/smp.h> 17 18#define raw_smp_processor_id() blackfin_core_id() 19 20extern char coreb_trampoline_start, coreb_trampoline_end; 21 22struct corelock_slot { 23 int lock; 24}; 25extern struct corelock_slot corelock; 26 27#ifdef __ARCH_SYNC_CORE_ICACHE 28extern unsigned long icache_invld_count[NR_CPUS]; 29#endif 30#ifdef __ARCH_SYNC_CORE_DCACHE 31extern unsigned long dcache_invld_count[NR_CPUS]; 32#endif 33 34void smp_icache_flush_range_others(unsigned long start, 35 unsigned long end); 36#ifdef CONFIG_HOTPLUG_CPU 37void coreb_sleep(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2); 38void cpu_die(void); 39void platform_cpu_die(void); 40int __cpu_disable(void); 41int __cpu_die(unsigned int cpu); 42#endif 43 44#endif /* !__ASM_BLACKFIN_SMP_H */ 45