source: trunk/packages/xen-3.1/xen-3.1/xen/include/asm-powerpc/smp.h @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 1.9 KB
Line 
1/*
2 * This program is free software; you can redistribute it and/or modify
3 * it under the terms of the GNU General Public License as published by
4 * the Free Software Foundation; either version 2 of the License, or
5 * (at your option) any later version.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10 * GNU General Public License for more details.
11 *
12 * You should have received a copy of the GNU General Public License
13 * along with this program; if not, write to the Free Software
14 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
15 *
16 * Copyright (C) IBM Corp. 2005
17 *
18 * Authors: Hollis Blanchard <hollisb@us.ibm.com>
19 */
20
21#ifndef _ASM_SMP_H
22#define _ASM_SMP_H
23
24#include <xen/types.h>
25#include <xen/cpumask.h>
26#include <xen/init.h>
27#include <asm/current.h>
28
29/* crap to make x86 "common code" happy */
30#define BAD_APICID 0xFFu
31extern u8 x86_cpu_to_apicid[];
32
33
34extern int smp_num_siblings;
35
36/* revisit when we support SMP */
37#define raw_smp_processor_id() (parea->whoami)
38#define get_hard_smp_processor_id(i) (global_cpu_table[i]->hard_id)
39#define hard_smp_processor_id() (parea->hard_id)
40extern cpumask_t cpu_sibling_map[];
41extern cpumask_t cpu_core_map[];
42extern void __devinit smp_generic_take_timebase(void);
43extern void __devinit smp_generic_give_timebase(void);
44
45#define SA_INTERRUPT    0x20000000u
46typedef int irqreturn_t;
47extern int request_irq(unsigned int irq,
48    irqreturn_t (*handler)(int, void *, struct cpu_user_regs *),
49    unsigned long irqflags, const char * devname, void *dev_id);
50void smp_message_recv(int msg, struct cpu_user_regs *regs);
51void smp_call_function_interrupt(struct cpu_user_regs *regs);
52void smp_event_check_interrupt(void);
53void send_IPI_mask(cpumask_t mask, int vector);
54
55#undef DEBUG_IPI
56#ifdef DEBUG_IPI
57void ipi_torture_test(void);
58#endif
59
60#endif
Note: See TracBrowser for help on using the repository browser.