summaryrefslogtreecommitdiffstats
path: root/boot_control/libboot_control.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* bootloader_message: Add a magic header to the Virtual A/B message block.David Anderson2019-11-211-1/+3
| | | | | | | | | This adds a sanity check in addition to the version number in case misc contains random bits. Bug: 139156011 Test: manual test Change-Id: Ie4f3731d2b1795340881c88e0c4eec9cd4432653
* bootloader_message: Add helpers for handling IBootControl MergeStatus.David Anderson2019-11-091-9/+71
| | | | | | | | | | | | | | | | Move merge_status from bootloader_control_ab, which is in vendor space, to a new generic AOSP struct in system space. This will allow more devices to share the same HAL implementation. This patch also changes libboot_control to compensate for merge_status moving out of vendor space. The reference HAL library now also provides separate helper functions for managing the merge status, so devices using a custom boot control HAL can still take advantage of the new misc implementation. Bug: 139156011 Test: manual test Change-Id: I5cd824e25f9d07aad1476301def5cdc3f506b029
* bootable: leak less memoryGeorge Burgess IV2019-10-231-1/+2
| | | | | | | | | | | `misc_device_` is a std::string, so it allocates and manages its own memory. Hence, the strdup here is immediately leaked. Caught by the static analyzer Bug: None Test: TreeHugger Change-Id: Iffb1ff60f6087e470a0979d202150567272e8b1c
* Add IBootControl 1.1 support to libboot_control.David Anderson2019-09-051-0/+21
| | | | | | Bug: 138861550 Test: vts Change-Id: Id4a2963d6ab657d8ab076b7013492a691462b287
* Improve error messaging when bootcontrol HAL fails to load.David Anderson2019-09-051-2/+8
| | | | | | Bug: N/A Test: manual test Change-Id: I6bf849dba4ae66353c44875ece30917283557327
* boot_control: Don't allow current_slot_ to be -1.David Anderson2019-09-051-0/+4
| | | | | | | | | | | If the HAL is run on a non-A/B device, it does not fail gracefully; it will segfault because the current_slot is -1 and methods do not protect against this. Instead, have Init() fail if we can't determine the current slot. Bug: 130078382 Test: vts tests Change-Id: I2d3094518a842b1a764427d2da9d46781a9f26da
* Refactor boot_control into a separate library.David Anderson2019-08-301-0/+328
This extracts the implementation of boot_control into a new library, libboot_control. The bootctrl.default module now wraps this library. This refactoring will allow us to re-use the same implementation in HIDL. Bug: 138861550 Test: mm bootctrl.default Change-Id: Ic0558da3c2d8e6f5ebec63a497825c24b51623b7