diff options
author | Oliver O'Halloran <oohall@gmail.com> | 2019-04-16 11:57:01 +1000 |
---|---|---|
committer | oohal <oohal@users.noreply.github.com> | 2019-05-09 17:04:30 +1000 |
commit | effc8a898634a5182a5ddf38309bf3c744763106 (patch) | |
tree | 982e42aff7ad8d10e4d0791d32af03ac4776bd43 | |
parent | 0cbc866dae11e3df2666d36063cf33418939ff69 (diff) | |
download | skiboot-effc8a898634a5182a5ddf38309bf3c744763106.zip skiboot-effc8a898634a5182a5ddf38309bf3c744763106.tar.gz skiboot-effc8a898634a5182a5ddf38309bf3c744763106.tar.bz2 |
hw/xscom: Enable sw xstop by default on p9
[ Upstream commit af5a3ee925d11f4e4e5276ccd5c6ec20b2d2df9f ]
This was disabled at some point during bringup to make life easier for
the lab folks trying to debug NVLink issues. This hack really should
have never made it out into the wild though, so we now have the
following situation occuring in the field:
1) A bad happens
2) The host kernel recieves an unrecoverable HMI and calls into OPAL to
request a platform reboot.
3) OPAL rejects the reboot attempt and returns to the kernel with
OPAL_PARAMETER.
4) Kernel panics and attempts to kexec into a kdump kernel.
A side effect of the HMI seems to be CPUs becoming stuck which results
in the initialisation of the kdump kernel taking a extremely long time
(6+ hours). It's also been observed that after performing a dump the
kdump kernel then crashes itself because OPAL has ended up in a bad
state as a side effect of the HMI.
All up, it's not very good so re-enable the software checkstop by
default. If people still want to turn it off they can using the nvram
override.
Cc: skiboot-stable@lists.ozlabs.org
Cc: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Acked-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
-rw-r--r-- | hw/xscom.c | 26 |
1 files changed, 2 insertions, 24 deletions
@@ -829,30 +829,8 @@ int64_t xscom_trigger_xstop(void) int rc = OPAL_UNSUPPORTED; bool xstop_disabled = false; - /* - * Workaround until we iron out all checkstop issues at present. - * - * For p9: - * By default do not trigger sw checkstop unless explicitly enabled - * through nvram option 'opal-sw-xstop=enable'. - * - * For p8: - * Keep it enabled by default unless explicitly disabled. - * - * NOTE: Once all checkstop issues are resolved/stabilized reverse - * the logic to enable sw checkstop by default on p9. - */ - switch (proc_gen) { - case proc_gen_p8: - if (nvram_query_eq("opal-sw-xstop", "disable")) - xstop_disabled = true; - break; - case proc_gen_p9: - default: - if (!nvram_query_eq("opal-sw-xstop", "enable")) - xstop_disabled = true; - break; - } + if (nvram_query_eq("opal-sw-xstop", "disable")) + xstop_disabled = true; if (xstop_disabled) { prlog(PR_NOTICE, "Software initiated checkstop disabled.\n"); |