summaryrefslogtreecommitdiff
path: root/bootctrl/LegacyBootControl.h
diff options
context:
space:
mode:
authorDavid Anderson <dvander@google.com>2019-09-16 17:20:03 -0700
committerDavid Anderson <dvander@google.com>2019-10-16 17:01:25 -0700
commitb93d670bb9a892c31ee6b1751395af6cc363306c (patch)
treebbd740ce967132fca29207626bc560bf963e87cb /bootctrl/LegacyBootControl.h
parentc4b7b9f13f9168885650e3f8fb22e73f11f5c597 (diff)
Implement IBootControl 1.1.
Store the new state for IBootControl 1.1 in the misc partition, using the reserved section of bootloader_message_ab. The code to read/write this partition is from the bootloader_message library. We don't embed libboot_control directly because the 1.0 HAL methods are implemented using GPT, not misc. Note that the new 1.1 methods are implemented in a shared file. This is for future implementations of the HAL that may not rely on the legacy GPT library, but will use the same misc storage. Bug: 141131816 Test: vts Change-Id: I455c202cdd6a21261a2ed1f17dec6efd2ae8116e
Diffstat (limited to 'bootctrl/LegacyBootControl.h')
-rw-r--r--bootctrl/LegacyBootControl.h19
1 files changed, 8 insertions, 11 deletions
diff --git a/bootctrl/LegacyBootControl.h b/bootctrl/LegacyBootControl.h
index d50e789..64bc797 100644
--- a/bootctrl/LegacyBootControl.h
+++ b/bootctrl/LegacyBootControl.h
@@ -13,25 +13,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-#ifndef ANDROID_HARDWARE_BOOT_V1_0_BOOTCONTROL_H
-#define ANDROID_HARDWARE_BOOT_V1_0_BOOTCONTROL_H
-#include <android/hardware/boot/1.0/IBootControl.h>
-#include <hidl/Status.h>
+#pragma once
#include <hidl/MQDescriptor.h>
+#include <hidl/Status.h>
+
+#include "BootControlShared.h"
+
namespace android {
namespace hardware {
namespace boot {
-namespace V1_0 {
+namespace V1_1 {
namespace implementation {
-using ::android::sp;
using ::android::hardware::Return;
using ::android::hardware::boot::V1_0::BoolResult;
-using ::android::hardware::boot::V1_0::IBootControl;
-struct BootControl : public IBootControl {
+struct BootControl : public BootControlShared {
BootControl(boot_control_module_t *module);
// Methods from ::android::hardware::boot::V1_0::IBootControl follow.
Return<uint32_t> getNumberSlots() override;
@@ -50,9 +49,7 @@ struct BootControl : public IBootControl {
extern "C" IBootControl *HIDL_FETCH_IBootControl(const char *name);
} // namespace implementation
-} // namespace V1_0
+} // namespace V1_1
} // namespace boot
} // namespace hardware
} // namespace android
-
-#endif // ANDROID_HARDWARE_BOOT_V1_0_BOOTCONTROL_H