diff options
Diffstat (limited to 'arch/powerpc/platforms/pseries')
-rw-r--r-- | arch/powerpc/platforms/pseries/ras.c | 5 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/ras.h | 9 | ||||
-rw-r--r-- | arch/powerpc/platforms/pseries/setup.c | 4 |
3 files changed, 14 insertions, 4 deletions
diff --git a/arch/powerpc/platforms/pseries/ras.c b/arch/powerpc/platforms/pseries/ras.c index 49b305f9c152..b046bcf7443d 100644 --- a/arch/powerpc/platforms/pseries/ras.c +++ b/arch/powerpc/platforms/pseries/ras.c | |||
@@ -51,6 +51,8 @@ | |||
51 | #include <asm/udbg.h> | 51 | #include <asm/udbg.h> |
52 | #include <asm/firmware.h> | 52 | #include <asm/firmware.h> |
53 | 53 | ||
54 | #include "ras.h" | ||
55 | |||
54 | static unsigned char ras_log_buf[RTAS_ERROR_LOG_MAX]; | 56 | static unsigned char ras_log_buf[RTAS_ERROR_LOG_MAX]; |
55 | static DEFINE_SPINLOCK(ras_log_buf_lock); | 57 | static DEFINE_SPINLOCK(ras_log_buf_lock); |
56 | 58 | ||
@@ -278,7 +280,7 @@ static void fwnmi_release_errinfo(void) | |||
278 | printk("FWNMI: nmi-interlock failed: %d\n", ret); | 280 | printk("FWNMI: nmi-interlock failed: %d\n", ret); |
279 | } | 281 | } |
280 | 282 | ||
281 | void pSeries_system_reset_exception(struct pt_regs *regs) | 283 | int pSeries_system_reset_exception(struct pt_regs *regs) |
282 | { | 284 | { |
283 | if (fwnmi_active) { | 285 | if (fwnmi_active) { |
284 | struct rtas_error_log *errhdr = fwnmi_get_errinfo(regs); | 286 | struct rtas_error_log *errhdr = fwnmi_get_errinfo(regs); |
@@ -287,6 +289,7 @@ void pSeries_system_reset_exception(struct pt_regs *regs) | |||
287 | } | 289 | } |
288 | fwnmi_release_errinfo(); | 290 | fwnmi_release_errinfo(); |
289 | } | 291 | } |
292 | return 0; /* need to perform reset */ | ||
290 | } | 293 | } |
291 | 294 | ||
292 | /* | 295 | /* |
diff --git a/arch/powerpc/platforms/pseries/ras.h b/arch/powerpc/platforms/pseries/ras.h new file mode 100644 index 000000000000..0e66b0da55e2 --- /dev/null +++ b/arch/powerpc/platforms/pseries/ras.h | |||
@@ -0,0 +1,9 @@ | |||
1 | #ifndef _PSERIES_RAS_H | ||
2 | #define _PSERIES_RAS_H | ||
3 | |||
4 | struct pt_regs; | ||
5 | |||
6 | extern int pSeries_system_reset_exception(struct pt_regs *regs); | ||
7 | extern int pSeries_machine_check_exception(struct pt_regs *regs); | ||
8 | |||
9 | #endif /* _PSERIES_RAS_H */ | ||
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c index 38b631ceaec9..8903cf63236a 100644 --- a/arch/powerpc/platforms/pseries/setup.c +++ b/arch/powerpc/platforms/pseries/setup.c | |||
@@ -69,6 +69,7 @@ | |||
69 | #include <asm/smp.h> | 69 | #include <asm/smp.h> |
70 | 70 | ||
71 | #include "plpar_wrappers.h" | 71 | #include "plpar_wrappers.h" |
72 | #include "ras.h" | ||
72 | 73 | ||
73 | #ifdef DEBUG | 74 | #ifdef DEBUG |
74 | #define DBG(fmt...) udbg_printf(fmt) | 75 | #define DBG(fmt...) udbg_printf(fmt) |
@@ -80,9 +81,6 @@ extern void find_udbg_vterm(void); | |||
80 | 81 | ||
81 | int fwnmi_active; /* TRUE if an FWNMI handler is present */ | 82 | int fwnmi_active; /* TRUE if an FWNMI handler is present */ |
82 | 83 | ||
83 | extern void pSeries_system_reset_exception(struct pt_regs *regs); | ||
84 | extern int pSeries_machine_check_exception(struct pt_regs *regs); | ||
85 | |||
86 | static void pseries_shared_idle(void); | 84 | static void pseries_shared_idle(void); |
87 | static void pseries_dedicated_idle(void); | 85 | static void pseries_dedicated_idle(void); |
88 | 86 | ||