diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-06-19 14:33:16 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-06-21 01:01:29 -0400 |
commit | acf7d76827a577059636e949079021e6af6dd702 (patch) | |
tree | 283e94488c79e75dd3df9a376e1e8a27a69e26ec /arch/powerpc/platforms/cell/setup.c | |
parent | ef82a306b46dbedaecbb154b24d05dfab937df35 (diff) |
[POWERPC] cell: add RAS support
This is a first version of support for the Cell BE "Reliability,
Availability and Serviceability" features.
It doesn't yet handle some of the RAS interrupts (the ones described in
iic_is/iic_irr), I'm still working on a proper way to expose these. They
are essentially a cascaded controller by themselves (sic !) though I may
just handle them locally to the iic driver. I need also to sync with
David Erb on the way he hooked in the performance monitor interrupt.
So that's all for 2.6.17 and I'll do more work on that with my rework of
the powerpc interrupt layer that I'm hacking on at the moment.
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/cell/setup.c')
-rw-r--r-- | arch/powerpc/platforms/cell/setup.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c index fd3e5609e3e0..eb8ab9bbf744 100644 --- a/arch/powerpc/platforms/cell/setup.c +++ b/arch/powerpc/platforms/cell/setup.c | |||
@@ -52,7 +52,9 @@ | |||
52 | 52 | ||
53 | #include "interrupt.h" | 53 | #include "interrupt.h" |
54 | #include "iommu.h" | 54 | #include "iommu.h" |
55 | #include "cbe_regs.h" | ||
55 | #include "pervasive.h" | 56 | #include "pervasive.h" |
57 | #include "ras.h" | ||
56 | 58 | ||
57 | #ifdef DEBUG | 59 | #ifdef DEBUG |
58 | #define DBG(fmt...) udbg_printf(fmt) | 60 | #define DBG(fmt...) udbg_printf(fmt) |
@@ -82,6 +84,12 @@ static void __init cell_setup_arch(void) | |||
82 | ppc_md.init_IRQ = iic_init_IRQ; | 84 | ppc_md.init_IRQ = iic_init_IRQ; |
83 | ppc_md.get_irq = iic_get_irq; | 85 | ppc_md.get_irq = iic_get_irq; |
84 | 86 | ||
87 | cbe_regs_init(); | ||
88 | |||
89 | #ifdef CONFIG_CBE_RAS | ||
90 | cbe_ras_init(); | ||
91 | #endif | ||
92 | |||
85 | #ifdef CONFIG_SMP | 93 | #ifdef CONFIG_SMP |
86 | smp_init_cell(); | 94 | smp_init_cell(); |
87 | #endif | 95 | #endif |
@@ -98,7 +106,7 @@ static void __init cell_setup_arch(void) | |||
98 | init_pci_config_tokens(); | 106 | init_pci_config_tokens(); |
99 | find_and_init_phbs(); | 107 | find_and_init_phbs(); |
100 | spider_init_IRQ(); | 108 | spider_init_IRQ(); |
101 | cell_pervasive_init(); | 109 | cbe_pervasive_init(); |
102 | #ifdef CONFIG_DUMMY_CONSOLE | 110 | #ifdef CONFIG_DUMMY_CONSOLE |
103 | conswitchp = &dummy_con; | 111 | conswitchp = &dummy_con; |
104 | #endif | 112 | #endif |