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
This commit is contained in:
Mark Salyzyn 2018-03-16 11:00:26 -07:00
parent 1519925149
commit 186f67625c
2 changed files with 9 additions and 2 deletions

View File

@ -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

View File

@ -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
@ -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", ""},
};