@@ -688,6 +688,21 @@ Remove device @var{id}.
ETEXI
{
+ .name = "set-bootindex",
+ .args_type = "id:s,bootindex:l,suffix:s?",
+ .params = "device bootindex [suffix]",
+ .help = "set bootindex of a device(e.g. set-bootindex disk0 1 '/disk@0')",
+ .mhandler.cmd = hmp_set_bootindex,
+ },
+
+STEXI
+@item set-bootindex @var{id} @var{bootindex}
+@findex set-bootindex
+
+Set bootindex of a device.
+ETEXI
+
+ {
.name = "cpu",
.args_type = "index:i",
.params = "index",
@@ -1714,3 +1714,16 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
monitor_printf(mon, "\n");
}
+
+void hmp_set_bootindex(Monitor *mon, const QDict *qdict)
+{
+ Error *err = NULL;
+
+ const char *id = qdict_get_str(qdict, "id");
+ int64_t bootindex = qdict_get_int(qdict, "bootindex");
+ bool has_suffix = qdict_haskey(qdict, "suffix");
+ const char *suffix = qdict_get_try_str(qdict, "suffix");
+
+ qmp_set_bootindex(id, bootindex, has_suffix, suffix, &err);
+ hmp_handle_error(mon, &err);
+}
@@ -94,6 +94,7 @@ void hmp_cpu_add(Monitor *mon, const QDict *qdict);
void hmp_object_add(Monitor *mon, const QDict *qdict);
void hmp_object_del(Monitor *mon, const QDict *qdict);
void hmp_info_memdev(Monitor *mon, const QDict *qdict);
+void hmp_set_bootindex(Monitor *mon, const QDict *qdict);
void object_add_completion(ReadLineState *rs, int nb_args, const char *str);
void object_del_completion(ReadLineState *rs, int nb_args, const char *str);
void device_add_completion(ReadLineState *rs, int nb_args, const char *str);