blob: 346c60589be6e3a0fd802ff8554c004bb24d982d [file] [log] [blame]
Robin Getz96f10502009-09-24 14:11:24 +00001/*
2 * Copyright 2007-2008 Analog Devices Inc.
3 *
4 * Licensed under the GPL-2 or later.
5 */
6
Graf Yangc51b4482009-01-07 23:14:39 +08007#ifndef _MACH_BF561_SMP
8#define _MACH_BF561_SMP
9
Graf Yang75734e62009-09-21 11:51:31 +000010/* This header has to stand alone to avoid circular deps */
11
Graf Yangc51b4482009-01-07 23:14:39 +080012struct task_struct;
13
14void platform_init_cpus(void);
15
16void platform_prepare_cpus(unsigned int max_cpus);
17
18int platform_boot_secondary(unsigned int cpu, struct task_struct *idle);
19
20void platform_secondary_init(unsigned int cpu);
21
Yi Li73a40062009-12-17 08:20:32 +000022void platform_request_ipi(int irq, /*irq_handler_t*/ void *handler);
Graf Yangc51b4482009-01-07 23:14:39 +080023
Yi Li73a40062009-12-17 08:20:32 +000024void platform_send_ipi(cpumask_t callmap, int irq);
Graf Yangc51b4482009-01-07 23:14:39 +080025
Yi Li73a40062009-12-17 08:20:32 +000026void platform_send_ipi_cpu(unsigned int cpu, int irq);
Graf Yangc51b4482009-01-07 23:14:39 +080027
Yi Li73a40062009-12-17 08:20:32 +000028void platform_clear_ipi(unsigned int cpu, int irq);
Graf Yangc51b4482009-01-07 23:14:39 +080029
Yi Li0d152c22009-12-28 10:21:49 +000030void bfin_local_timer_setup(void);
31
Graf Yangc51b4482009-01-07 23:14:39 +080032#endif /* !_MACH_BF561_SMP */