[kernel] bluescreen only on panic in platform_halt()

we don't want to generate a kernel crash log on other reasons than a panic

ZX-2476

TESTED=assert(false) in devmgr's main() no longer generates a crash report

Change-Id: I4eb91be4230d163369731183262c5210af01dbea
diff --git a/kernel/platform/generic-arm/platform.cpp b/kernel/platform/generic-arm/platform.cpp
index e593b8f..a078be2 100644
--- a/kernel/platform/generic-arm/platform.cpp
+++ b/kernel/platform/generic-arm/platform.cpp
@@ -471,12 +471,11 @@
         power_shutdown();
     }
 
-#if WITH_LIB_DEBUGLOG
-    thread_print_current_backtrace();
-    dlog_bluescreen_halt();
-#endif
-
     if (reason == HALT_REASON_SW_PANIC) {
+#if WITH_LIB_DEBUGLOG
+        thread_print_current_backtrace();
+        dlog_bluescreen_halt();
+#endif
         if (!halt_on_panic) {
             power_reboot(REBOOT_NORMAL);
             printf("reboot failed\n");
diff --git a/kernel/platform/pc/power.cpp b/kernel/platform/pc/power.cpp
index f379b28..e2a2de5 100644
--- a/kernel/platform/pc/power.cpp
+++ b/kernel/platform/pc/power.cpp
@@ -117,10 +117,12 @@
         break;
     }
 
+    if (reason == HALT_REASON_SW_PANIC) {
 #if WITH_LIB_DEBUGLOG
-    thread_print_current_backtrace();
-    dlog_bluescreen_halt();
+        thread_print_current_backtrace();
+        dlog_bluescreen_halt();
 #endif
+    }
 
     if (!halt_on_panic) {
         printf("Rebooting...\n");