David Gibson | 007e8f5 | 2005-10-28 15:35:50 +1000 | [diff] [blame] | 1 | /* |
| 2 | * arch/powerpc/platforms/pseries/xics.h |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | * |
| 4 | * Copyright 2000 IBM Corporation. |
| 5 | * |
| 6 | * This program is free software; you can redistribute it and/or |
| 7 | * modify it under the terms of the GNU General Public License |
| 8 | * as published by the Free Software Foundation; either version |
| 9 | * 2 of the License, or (at your option) any later version. |
| 10 | */ |
| 11 | |
David Gibson | 007e8f5 | 2005-10-28 15:35:50 +1000 | [diff] [blame] | 12 | #ifndef _POWERPC_KERNEL_XICS_H |
| 13 | #define _POWERPC_KERNEL_XICS_H |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 14 | |
| 15 | #include <linux/cache.h> |
| 16 | |
Benjamin Herrenschmidt | b9e5b4e | 2006-07-03 19:32:51 +1000 | [diff] [blame] | 17 | extern void xics_init_IRQ(void); |
| 18 | extern void xics_setup_cpu(void); |
Nathan Fontenot | c3e8506 | 2008-02-07 07:37:31 +1100 | [diff] [blame] | 19 | extern void xics_teardown_cpu(void); |
| 20 | extern void xics_kexec_teardown_cpu(int secondary); |
Benjamin Herrenschmidt | b9e5b4e | 2006-07-03 19:32:51 +1000 | [diff] [blame] | 21 | extern void xics_cause_IPI(int cpu); |
| 22 | extern void xics_request_IPIs(void); |
| 23 | extern void xics_migrate_irqs_away(void); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | struct xics_ipi_struct { |
| 26 | volatile unsigned long value; |
| 27 | } ____cacheline_aligned; |
| 28 | |
| 29 | extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned; |
| 30 | |
David Gibson | 007e8f5 | 2005-10-28 15:35:50 +1000 | [diff] [blame] | 31 | #endif /* _POWERPC_KERNEL_XICS_H */ |