Merge "Add Quiescent Reboot Target"

This commit is contained in:
Hongguang Chen 2021-08-16 18:12:17 +00:00 committed by Gerrit Code Review
commit f156552ef1

View file

@ -1035,6 +1035,20 @@ void HandlePowerctlMessage(const std::string& command) {
return;
}
}
} else if (reboot_target == "quiescent") {
bootloader_message boot = {};
if (std::string err; !read_bootloader_message(&boot, &err)) {
LOG(ERROR) << "Failed to read bootloader message: " << err;
}
// Update the boot command field if it's empty, and preserve
// the other arguments in the bootloader message.
if (!CommandIsPresent(&boot)) {
strlcpy(boot.command, "boot-quiescent", sizeof(boot.command));
if (std::string err; !write_bootloader_message(boot, &err)) {
LOG(ERROR) << "Failed to set bootloader message: " << err;
return;
}
}
} else if (reboot_target == "sideload" || reboot_target == "sideload-auto-reboot" ||
reboot_target == "fastboot") {
std::string arg = reboot_target == "sideload-auto-reboot" ? "sideload_auto_reboot"