diff options
-rwxr-xr-x | bootstat/boot_reason_test.sh | 4 | ||||
-rw-r--r-- | bootstat/bootstat.cpp | 13 |
2 files changed, 14 insertions, 3 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() { | |||
445 | *hw_reset* ) var="hard,hw_reset" ;; | 445 | *hw_reset* ) var="hard,hw_reset" ;; |
446 | *usb* ) var="cold,charger" ;; | 446 | *usb* ) var="cold,charger" ;; |
447 | *rtc* ) var="cold,rtc" ;; | 447 | *rtc* ) var="cold,rtc" ;; |
448 | *2sec_reboot* ) var="cold,rtc,2sec" ;; | ||
449 | *wdt_by_pass_pwk* ) var="warm" ;; | ||
450 | wdt ) var="reboot" ;; | ||
451 | *tool_by_pass_pwk* ) var="reboot,tool" ;; | ||
448 | *bootloader* ) var="bootloader" ;; | 452 | *bootloader* ) var="bootloader" ;; |
449 | * ) var="reboot" ;; | 453 | * ) var="reboot" ;; |
450 | esac | 454 | esac |
diff --git a/bootstat/bootstat.cpp b/bootstat/bootstat.cpp index 3250b3e34..529d0c942 100644 --- a/bootstat/bootstat.cpp +++ b/bootstat/bootstat.cpp | |||
@@ -201,7 +201,7 @@ const std::map<std::string, int32_t> kBootReasonMap = { | |||
201 | {"cold", 56}, | 201 | {"cold", 56}, |
202 | {"hard", 57}, | 202 | {"hard", 57}, |
203 | {"warm", 58}, | 203 | {"warm", 58}, |
204 | // {"recovery", 59}, // Duplicate of enum 3 above. Immediate reuse possible. | 204 | {"reboot,kernel_power_off_charging__reboot_system", 59}, // Can not happen |
205 | {"thermal-shutdown", 60}, | 205 | {"thermal-shutdown", 60}, |
206 | {"shutdown,thermal", 61}, | 206 | {"shutdown,thermal", 61}, |
207 | {"shutdown,battery", 62}, | 207 | {"shutdown,battery", 62}, |
@@ -228,7 +228,7 @@ const std::map<std::string, int32_t> kBootReasonMap = { | |||
228 | {"2sec_reboot", 83}, | 228 | {"2sec_reboot", 83}, |
229 | {"reboot,by_key", 84}, | 229 | {"reboot,by_key", 84}, |
230 | {"reboot,longkey", 85}, | 230 | {"reboot,longkey", 85}, |
231 | {"reboot,2sec", 86}, | 231 | {"reboot,2sec", 86}, // Deprecate in two years, replaced with cold,rtc,2sec |
232 | {"shutdown,thermal,battery", 87}, | 232 | {"shutdown,thermal,battery", 87}, |
233 | {"reboot,its_just_so_hard", 88}, // produced by boot_reason_test | 233 | {"reboot,its_just_so_hard", 88}, // produced by boot_reason_test |
234 | {"reboot,Its Just So Hard", 89}, // produced by boot_reason_test | 234 | {"reboot,Its Just So Hard", 89}, // produced by boot_reason_test |
@@ -790,7 +790,10 @@ std::string BootReasonStrToReason(const std::string& boot_reason) { | |||
790 | {"hard,hw_reset", "hw_reset"}, | 790 | {"hard,hw_reset", "hw_reset"}, |
791 | {"cold,charger", "usb"}, | 791 | {"cold,charger", "usb"}, |
792 | {"cold,rtc", "rtc"}, | 792 | {"cold,rtc", "rtc"}, |
793 | {"reboot,2sec", "2sec_reboot"}, | 793 | {"cold,rtc,2sec", "2sec_reboot"}, |
794 | {"!warm", "wdt_by_pass_pwk"}, // change flavour of blunt | ||
795 | {"!reboot", "^wdt$"}, // change flavour of blunt | ||
796 | {"reboot,tool", "tool_by_pass_pwk"}, | ||
794 | {"bootloader", ""}, | 797 | {"bootloader", ""}, |
795 | }; | 798 | }; |
796 | 799 | ||
@@ -850,6 +853,10 @@ std::string BootReasonStrToReason(const std::string& boot_reason) { | |||
850 | ret = "reboot," + subReason; // legitimize unknown reasons | 853 | ret = "reboot," + subReason; // legitimize unknown reasons |
851 | } | 854 | } |
852 | } | 855 | } |
856 | // Some bootloaders shutdown results record in last kernel message. | ||
857 | if (!strcmp(ret.c_str(), "reboot,kernel_power_off_charging__reboot_system")) { | ||
858 | ret = "shutdown"; | ||
859 | } | ||
853 | } | 860 | } |
854 | 861 | ||
855 | // Check for kernel panics, allowed to override reboot command. | 862 | // Check for kernel panics, allowed to override reboot command. |