diff options
author | Nathan Fontenot <nfont@austin.ibm.com> | 2008-02-06 15:37:31 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-02-06 19:40:19 -0500 |
commit | c3e8506c54f7263e71289e9e66533236d09f2fb7 (patch) | |
tree | b2f067efe5e93a8acd35e876cf906697e4d0b7c6 /arch/powerpc/platforms/pseries/kexec.c | |
parent | a52572ddcd3d16cc5ccc9679bcbb7256d0ddad84 (diff) |
[POWERPC] Split xics_teardown_cpu()
This splits off the kexec path bits of the xics_teardown_cpu() routine
into its own xics_kexec_teardown_cpu() routine. With the previous
combined routine the CPPR for a cpu that is being removed may have its
CPPR reset in the plpar_eoi() call (which explicitly sets the CPPR to
a non-zero value). Splitting of the kexec bits of the code prevents
this from happening in the cpu remove path.
Once again, this does not cause the cpu remove from the kernel to
fail, but it does cause cpu dlpar operations to not be able to return
the cpu to the hypervisor.
Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/pseries/kexec.c')
-rw-r--r-- | arch/powerpc/platforms/pseries/kexec.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/kexec.c b/arch/powerpc/platforms/pseries/kexec.c index 412a5e7aff2d..e9dd5fe081c9 100644 --- a/arch/powerpc/platforms/pseries/kexec.c +++ b/arch/powerpc/platforms/pseries/kexec.c | |||
@@ -54,7 +54,7 @@ void __init setup_kexec_cpu_down_mpic(void) | |||
54 | static void pseries_kexec_cpu_down_xics(int crash_shutdown, int secondary) | 54 | static void pseries_kexec_cpu_down_xics(int crash_shutdown, int secondary) |
55 | { | 55 | { |
56 | pseries_kexec_cpu_down(crash_shutdown, secondary); | 56 | pseries_kexec_cpu_down(crash_shutdown, secondary); |
57 | xics_teardown_cpu(secondary); | 57 | xics_kexec_teardown_cpu(secondary); |
58 | } | 58 | } |
59 | 59 | ||
60 | void __init setup_kexec_cpu_down_xics(void) | 60 | void __init setup_kexec_cpu_down_xics(void) |