diff options
author | Tianjie <xunchang@google.com> | 2020-11-30 14:38:35 -0800 |
---|---|---|
committer | Tianjie <xunchang@google.com> | 2020-12-03 23:00:08 -0800 |
commit | 253b46db055de909aae18cbfc1dcf943b26c607e (patch) | |
tree | 4dd9feadfba8cce51e1da84a08ebb62aa167cef1 /bootctrl/LegacyBootControl.cpp | |
parent | af4135035abb5b2f1d16639bfb718dd75b1ca048 (diff) |
Update to bootcontrol 1.2 for Pixel
bootcontrol 1.2 adds a new function to get the active boot slot
on the next boot. This is useful for resume on reboot to verify
the device state to boot into; and set the corresponding vbmeta
digest accordingly.
Bug: 173808057
Test: Vts tests for bootcontrol
Change-Id: Ie2c933e4a80b9722b4c4865f33d3996c1601cdf6
Diffstat (limited to 'bootctrl/LegacyBootControl.cpp')
-rw-r--r-- | bootctrl/LegacyBootControl.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/bootctrl/LegacyBootControl.cpp b/bootctrl/LegacyBootControl.cpp index 83254e9..1287c8e 100644 --- a/bootctrl/LegacyBootControl.cpp +++ b/bootctrl/LegacyBootControl.cpp @@ -28,7 +28,7 @@ extern const hw_module_t HAL_MODULE_INFO_SYM; namespace android { namespace hardware { namespace boot { -namespace V1_1 { +namespace V1_2 { namespace implementation { using ::android::hardware::boot::V1_0::CommandResult; @@ -97,6 +97,17 @@ Return<void> BootControl::getSuffix(uint32_t slot, getSuffix_cb _hidl_cb) { return Void(); } +// Methods from ::android::hardware::boot::V1_2::IBootControl follow. +Return<uint32_t> BootControl::getActiveBootSlot() { + auto get_active_slot = mModule->getActiveBootSlot; + if (!get_active_slot) { + ALOGE("Failed to find the implementation of getActiveBootSlot in boot" + " control HAL."); + return 0; + } + return get_active_slot(mModule); +} + IBootControl *HIDL_FETCH_IBootControl(const char * /* hal */) { int ret = 0; boot_control_module_t *module = NULL; @@ -116,7 +127,7 @@ IBootControl *HIDL_FETCH_IBootControl(const char * /* hal */) { } } // namespace implementation -} // namespace V1_1 +} // namespace V1_2 } // namespace boot } // namespace hardware } // namespace android |