diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index 85f5b29..5024edc 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -2335,6 +2335,39 @@
 	}
 }
 
+int read_rollback_index(uint32_t loc, uint64_t *roll_back_index)
+{
+        if (!devinfo_present) {
+                dprintf(CRITICAL, "DeviceInfo not initalized \n");
+                return -EINVAL;
+        }
+        if (loc >= ARRAY_SIZE(device.rollback_index)) {
+                dprintf(CRITICAL, "%s() Loc out of range index: %d, array len: %d\n",
+                                __func__, loc, ARRAY_SIZE(device.rollback_index));
+                ASSERT(0);
+        }
+
+        *roll_back_index = device.rollback_index[loc];
+        return 0;
+}
+
+int write_rollback_index(uint32_t loc, uint64_t roll_back_index)
+{
+        if (!devinfo_present) {
+                dprintf(CRITICAL, "DeviceInfo not initalized \n");
+                return -EINVAL;
+        }
+        if (loc >= ARRAY_SIZE(device.rollback_index)) {
+                dprintf(CRITICAL, "%s() Loc out of range index: %d, array len: %d\n",
+                                __func__, loc, ARRAY_SIZE(device.rollback_index));
+                ASSERT(0);
+        }
+
+        device.rollback_index[loc] = roll_back_index;
+        write_device_info(&device);
+        return 0;
+}
+
 void read_device_info(device_info *dev)
 {
 	if(target_is_emmc_boot())
diff --git a/include/platform.h b/include/platform.h
index f7a14cb..f6f739f 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -95,4 +95,6 @@
 int LoadImage(char *Pname, void **ImgBuf, uint32_t *ImgSzActual);
 void boot_verifier_init();
 uint32_t get_page_size();
+int read_rollback_index(uint32_t loc, uint64_t *roll_back_index);
+int write_rollback_index(uint32_t loc, uint64_t roll_back_index);
 #endif
