diff --git a/boot_control/Android.bp b/boot_control/Android.bp
index f6a6ced..b2e68df 100644
--- a/boot_control/Android.bp
+++ b/boot_control/Android.bp
@@ -28,6 +28,7 @@
     ],
 
     shared_libs: [
+        "android.hardware.boot@1.1",
         "libbase",
         "liblog",
     ],
diff --git a/boot_control/include/libboot_control/libboot_control.h b/boot_control/include/libboot_control/libboot_control.h
index 6582d02..34a9aff 100644
--- a/boot_control/include/libboot_control/libboot_control.h
+++ b/boot_control/include/libboot_control/libboot_control.h
@@ -18,11 +18,15 @@
 
 #include <string>
 
+#include <android/hardware/boot/1.1/IBootControl.h>
+
 namespace android {
 namespace bootable {
 
 // Helper library to implement the IBootControl HAL using the misc partition.
 class BootControl {
+  using MergeStatus = ::android::hardware::boot::V1_1::MergeStatus;
+
  public:
   bool Init();
   unsigned int GetNumberSlots();
@@ -34,6 +38,10 @@
   bool IsSlotBootable(unsigned int slot);
   const char* GetSuffix(unsigned int slot);
   bool IsSlotMarkedSuccessful(unsigned int slot);
+  bool SetSnapshotMergeStatus(MergeStatus status);
+  MergeStatus GetSnapshotMergeStatus();
+
+  bool IsValidSlot(unsigned int slot);
 
   const std::string& misc_device() const {
     return misc_device_;
diff --git a/boot_control/libboot_control.cpp b/boot_control/libboot_control.cpp
index 89cf878..e3bff9f 100644
--- a/boot_control/libboot_control.cpp
+++ b/boot_control/libboot_control.cpp
@@ -34,6 +34,8 @@
 namespace android {
 namespace bootable {
 
+using ::android::hardware::boot::V1_1::MergeStatus;
+
 // The number of boot attempts that should be made from a new slot before
 // rolling back to the previous slot.
 constexpr unsigned int kDefaultBootAttempts = 7;
@@ -327,6 +329,25 @@
   return bootctrl.slot_info[slot].successful_boot && bootctrl.slot_info[slot].tries_remaining;
 }
 
+bool BootControl::IsValidSlot(unsigned int slot) {
+  return slot < kMaxNumSlots && slot < num_slots_;
+}
+
+bool BootControl::SetSnapshotMergeStatus(MergeStatus status) {
+  bootloader_control bootctrl;
+  if (!LoadBootloaderControl(misc_device_, &bootctrl)) return false;
+
+  bootctrl.merge_status = (unsigned int)status;
+  return UpdateAndSaveBootloaderControl(misc_device_, &bootctrl);
+}
+
+MergeStatus BootControl::GetSnapshotMergeStatus() {
+  bootloader_control bootctrl;
+  if (!LoadBootloaderControl(misc_device_, &bootctrl)) return MergeStatus::UNKNOWN;
+
+  return (MergeStatus)bootctrl.merge_status;
+}
+
 const char* BootControl::GetSuffix(unsigned int slot) {
   if (slot >= kMaxNumSlots || slot >= num_slots_) {
     return nullptr;
diff --git a/bootloader_message/include/bootloader_message/bootloader_message.h b/bootloader_message/include/bootloader_message/bootloader_message.h
index 5c0a450..b787830 100644
--- a/bootloader_message/include/bootloader_message/bootloader_message.h
+++ b/bootloader_message/include/bootloader_message/bootloader_message.h
@@ -163,8 +163,10 @@
     uint8_t nb_slot : 3;
     // Number of times left attempting to boot recovery.
     uint8_t recovery_tries_remaining : 3;
+    // Status of any pending snapshot merge of dynamic partitions.
+    uint8_t merge_status : 3;
     // Ensure 4-bytes alignment for slot_info field.
-    uint8_t reserved0[2];
+    uint8_t reserved0[1];
     // Per-slot information.  Up to 4 slots.
     struct slot_metadata slot_info[4];
     // Reserved for further use.
