From 186f67625c70478f1c04b99cea2f700a453a4d0e Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Fri, 16 Mar 2018 11:00:26 -0700 Subject: [PATCH] bootstat: refine boot reasons Received some clarity as to some of the boot reasons. List of boot reasons and new translations to Canonical boot reason: - "power_key" -> "cold,powerkey" (existing) - "usb" -> "cold,charger" (existing) - "rtc" -> "cold,rtc" (existing) - "wdt" -> "reboot" (changed) - "wdt_by_pass_pwk" -> "warm" (changed) - "tool_by_pass_pwd" -> "reboot,tool" (changed) - "2sec_reboot" -> "cold,rtc,2sec" (changed) - "unknown" -> "reboot,unknown" (existing) - "kernel_panic" (existing) - "reboot" (existing) - "watchdog" (existing) Add the new string to enums for the new Boot Reason. Test: boot_reason_test.sh (on affected device) Bug: 74595769 Bug: 63736262 Change-Id: Iecedc3b1f7c47f26d0c77b1f316f745c6d2c1256 --- bootstat/boot_reason_test.sh | 4 ++++ bootstat/bootstat.cpp | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/bootstat/boot_reason_test.sh b/bootstat/boot_reason_test.sh index 01b894842..8ed92a680 100755 --- a/bootstat/boot_reason_test.sh +++ b/bootstat/boot_reason_test.sh @@ -445,6 +445,10 @@ validate_reason() { *hw_reset* ) var="hard,hw_reset" ;; *usb* ) var="cold,charger" ;; *rtc* ) var="cold,rtc" ;; + *2sec_reboot* ) var="cold,rtc,2sec" ;; + *wdt_by_pass_pwk* ) var="warm" ;; + wdt ) var="reboot" ;; + *tool_by_pass_pwk* ) var="reboot,tool" ;; *bootloader* ) var="bootloader" ;; * ) var="reboot" ;; esac diff --git a/bootstat/bootstat.cpp b/bootstat/bootstat.cpp index fb0423a6e..529d0c942 100644 --- a/bootstat/bootstat.cpp +++ b/bootstat/bootstat.cpp @@ -228,7 +228,7 @@ const std::map kBootReasonMap = { {"2sec_reboot", 83}, {"reboot,by_key", 84}, {"reboot,longkey", 85}, - {"reboot,2sec", 86}, + {"reboot,2sec", 86}, // Deprecate in two years, replaced with cold,rtc,2sec {"shutdown,thermal,battery", 87}, {"reboot,its_just_so_hard", 88}, // produced by boot_reason_test {"reboot,Its Just So Hard", 89}, // produced by boot_reason_test @@ -790,7 +790,10 @@ std::string BootReasonStrToReason(const std::string& boot_reason) { {"hard,hw_reset", "hw_reset"}, {"cold,charger", "usb"}, {"cold,rtc", "rtc"}, - {"reboot,2sec", "2sec_reboot"}, + {"cold,rtc,2sec", "2sec_reboot"}, + {"!warm", "wdt_by_pass_pwk"}, // change flavour of blunt + {"!reboot", "^wdt$"}, // change flavour of blunt + {"reboot,tool", "tool_by_pass_pwk"}, {"bootloader", ""}, };