summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/rollback.c40
-rw-r--r--include/config.h3
2 files changed, 24 insertions, 19 deletions
diff --git a/common/rollback.c b/common/rollback.c
index fedc899135..31775402d6 100644
--- a/common/rollback.c
+++ b/common/rollback.c
@@ -119,6 +119,7 @@ int rollback_lock(void)
return ret;
}
+#ifdef CONFIG_ROLLBACK_UPDATE
int rollback_update(int32_t next_min_version)
{
struct rollback_data data;
@@ -163,6 +164,26 @@ int rollback_update(int32_t next_min_version)
return EC_SUCCESS;
}
+static int command_rollback_update(int argc, char **argv)
+{
+ int32_t min_version;
+ char *e;
+
+ if (argc < 2)
+ return EC_ERROR_PARAM_COUNT;
+
+ min_version = strtoi(argv[1], &e, 0);
+
+ if (*e || min_version < 0)
+ return EC_ERROR_PARAM1;
+
+ return rollback_update(min_version);
+}
+DECLARE_CONSOLE_COMMAND(rollbackupdate, command_rollback_update,
+ "min_version",
+ "Update rollback info");
+#endif /* CONFIG_ROLLBACK_UPDATE */
+
static int command_rollback_info(int argc, char **argv)
{
int region, ret, min_region;
@@ -196,22 +217,3 @@ static int command_rollback_info(int argc, char **argv)
DECLARE_SAFE_CONSOLE_COMMAND(rollbackinfo, command_rollback_info,
NULL,
"Print rollback info");
-
-static int command_rollback_update(int argc, char **argv)
-{
- int32_t min_version;
- char *e;
-
- if (argc < 2)
- return EC_ERROR_PARAM_COUNT;
-
- min_version = strtoi(argv[1], &e, 0);
-
- if (*e || min_version < 0)
- return EC_ERROR_PARAM1;
-
- return rollback_update(min_version);
-}
-DECLARE_CONSOLE_COMMAND(rollbackupdate, command_rollback_update,
- "min_version",
- "Update rollback info");
diff --git a/include/config.h b/include/config.h
index aec133e624..5922da3714 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1142,6 +1142,9 @@
#undef CONFIG_ROLLBACK_OFF
#undef CONFIG_ROLLBACK_SIZE
+/* If defined, we can update rollback information (RW can unset this). */
+#define CONFIG_ROLLBACK_UPDATE
+
/*
* Current rollback version. Meaningless for RO (but provides the minimum value
* that will be written to the rollback protection at flash time).