From 53241d7be35fba23079504468090d770d4116831 Mon Sep 17 00:00:00 2001
From: Artem Senichev <a.senichev@yadro.com>
Date: Tue, 28 Jul 2020 17:38:17 +0300
Subject: [PATCH] Stop and send SRESET for one thread only

Fixes bugs preventing the host from creating a crash dump.

Stopping all threads leads to errors in skiboot:
[  163.237293219,3] Could not stop thread 0:0:1: Thread is quiesced already.
If the kernel has xmon support, exiting the debugger causes the kernel
to hang:
[  235.694220] watchdog: CPU 97 TB:187362511366, last heartbeat TB:159120095297 (55160ms ago)
[  235.694276] watchdog: CPU 101 Hard LOCKUP

Sending SRESET to all threads causes kernel panic:
[   50.495727] Kernel panic - not syncing: Unrecoverable nested System Reset

Signed-off-by: Artem Senichev <a.senichev@yadro.com>
---
 nmi_interface.cpp | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/nmi_interface.cpp b/nmi_interface.cpp
index fcce451..d022d7e 100644
--- a/nmi_interface.cpp
+++ b/nmi_interface.cpp
@@ -38,7 +38,7 @@ void NMI::nMI()
     using InternalFailure =
         sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
 
-    struct pdbg_target* target;
+    struct pdbg_target* target = nullptr;
 
     pdbg_for_each_class_target("thread", target)
     {
@@ -51,11 +51,19 @@ void NMI::nMI()
             report<InternalFailure>();
             return;
         }
+        break;
     }
 
-    if (thread_sreset_all() < 0)
+    if (!target)
     {
-        log<level::ERR>("Failed to sreset all threads");
+        log<level::ERR>("Thread not found");
+        report<InternalFailure>();
+        return;
+    }
+
+    if (thread_sreset(target) < 0)
+    {
+        log<level::ERR>("Failed to sreset thread");
         report<InternalFailure>();
     }
 }
-- 
2.27.0

