Loading bootstat/boot_reason_test.sh +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading bootstat/bootstat.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ const std::map<std::string, int32_t> kBootReasonMap = { {"cold", 56}, {"hard", 57}, {"warm", 58}, // {"recovery", 59}, // Duplicate of enum 3 above. Immediate reuse possible. {"reboot,kernel_power_off_charging__reboot_system", 59}, // Can not happen {"thermal-shutdown", 60}, {"shutdown,thermal", 61}, {"shutdown,battery", 62}, Loading @@ -228,7 +228,7 @@ const std::map<std::string, int32_t> 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 Loading Loading @@ -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", ""}, }; Loading Loading @@ -850,6 +853,10 @@ std::string BootReasonStrToReason(const std::string& boot_reason) { ret = "reboot," + subReason; // legitimize unknown reasons } } // Some bootloaders shutdown results record in last kernel message. if (!strcmp(ret.c_str(), "reboot,kernel_power_off_charging__reboot_system")) { ret = "shutdown"; } } // Check for kernel panics, allowed to override reboot command. Loading Loading
bootstat/boot_reason_test.sh +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
bootstat/bootstat.cpp +10 −3 Original line number Diff line number Diff line Loading @@ -201,7 +201,7 @@ const std::map<std::string, int32_t> kBootReasonMap = { {"cold", 56}, {"hard", 57}, {"warm", 58}, // {"recovery", 59}, // Duplicate of enum 3 above. Immediate reuse possible. {"reboot,kernel_power_off_charging__reboot_system", 59}, // Can not happen {"thermal-shutdown", 60}, {"shutdown,thermal", 61}, {"shutdown,battery", 62}, Loading @@ -228,7 +228,7 @@ const std::map<std::string, int32_t> 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 Loading Loading @@ -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", ""}, }; Loading Loading @@ -850,6 +853,10 @@ std::string BootReasonStrToReason(const std::string& boot_reason) { ret = "reboot," + subReason; // legitimize unknown reasons } } // Some bootloaders shutdown results record in last kernel message. if (!strcmp(ret.c_str(), "reboot,kernel_power_off_charging__reboot_system")) { ret = "shutdown"; } } // Check for kernel panics, allowed to override reboot command. Loading